Api
Version
mediamosa-30Class
mediamosa_rest_call_asset_metadata_property_tagcountCode
File: /sites/all/modules/mediamosa/modules/asset/metadata/property/mediamosa_asset_metadata_property.rest.class.inc
<?php
/**
* URI: /tagcount
*
* Count the tags per tag per prop_id.
*
* FIXME: Why this weird rest call? ITS DB HEAVY. Maybe do group by on val_char_lft.
*
* 1.x: media_management_asset_tagcount
*/
class mediamosa_rest_call_asset_metadata_property_tagcount extends mediamosa_rest_call {
// ------------------------------------------------------------------ Consts.
// Rest vars;
const PROP_ID = 'prop_id';
// ------------------------------------------------------------------ Get Var Setup.
public function get_var_setup() {
$a_var_setup = array(
mediamosa_rest_call::VARS => array(
self::PROP_ID => array(
self::VAR_TYPE => mediamosa_sdk::TYPE_INT,
self::VAR_IS_REQUIRED => self::VAR_IS_REQUIRED_YES,
self::DESCRIPTION => 'The prop ID of which the count must be calculated..',
),
),
);
// Include the limit, offset.
$a_var_setup = self::get_var_setup_range($a_var_setup);
// Enrich with required REST vars.
return self::get_var_setup_default($a_var_setup);
}
// ------------------------------------------------------------------ Do Call.
public function do_call() {
$mediamosa = mediamosa::get();
// Get the app_id.
$app_ids = $this->get_param_value_app();
$app_id = reset($app_ids);
// Range.
$limit = $this->get_param_value_limit();
$offset = $this->get_param_value_offset();
// Prop ID.
$prop_id = $this->get_param_value(self::PROP_ID);
// Get the count.
$result = mediamosa_asset_metadata::tagcount($app_id, $prop_id, $offset, $limit);
// Set the result.
$a_item = array();
foreach ($result as $a_row) {
$a_item['count'] = $a_row['tagcount'];
$a_item['tag'] = $a_row[mediamosa_asset_metadata_db::VAL_CHAR];
$mediamosa->add_item($a_item);
}
}
}