* @param int $offset\r
* @param string $order_by\r
*/\r
- function get_annotations($entity_guid = 0, $entity_type = "", $entity_subtype = "", $name = "", $value = "", $owner_guid = 0, $limit = 10, $offset = 0, $order_by = "asc")\r
+ function get_annotations($entity_guid = 0, $entity_type = "", $entity_subtype = "", $name = "", \r
+ $value = "", $owner_guid = 0, $limit = 10, $offset = 0, $order_by = "asc", $timelower = 0, $timeupper = 0)\r
{\r
global $CONFIG;\r
\r
+ $timelower = (int) $timelower;\r
+ $timeupper = (int) $timeupper;\r
+ \r
if (is_array($entity_guid)) {\r
if (sizeof($entity_guid) > 0) {\r
foreach($entity_guid as $key => $val) {\r
\r
if ($value != "")\r
$where[] = "a.value_id='$value'";\r
- \r
+ \r
+ if ($timelower)\r
+ $where[] = "a.time_created >= {$timelower}";\r
+ if ($timeupper)\r
+ $where[] = "a.time_created <= {$timeupper}";\r
+ \r
$query = "SELECT a.*, n.string as name, v.string as value from {$CONFIG->dbprefix}annotations a JOIN {$CONFIG->dbprefix}entities e on a.entity_guid = e.guid JOIN {$CONFIG->dbprefix}metastrings v on a.value_id=v.id JOIN {$CONFIG->dbprefix}metastrings n on a.name_id = n.id where ";\r
foreach ($where as $w)\r
$query .= " $w and ";\r
$query .= get_access_sql_suffix("a"); // Add access controls\r
$query .= " order by $order_by limit $offset,$limit"; // Add order and limit\r
+ \r
return get_data($query, "row_to_elggannotation");\r
\r
}\r
* @param string $entity_subtype\r
* @param string $name\r
*/\r
- function count_annotations($entity_guid = 0, $entity_type = "", $entity_subtype = "", $name = "", $value = "", $value_type = "", $owner_guid = 0)\r
+ function count_annotations($entity_guid = 0, $entity_type = "", $entity_subtype = "", $name = "", $value = "", $value_type = "", $owner_guid = 0, $timelower = 0, $timeupper = 0)\r
{\r
- return __get_annotations_calculate_x("count", $entity_guid, $entity_type, $entity_subtype, $name, $value, $value_type, $owner_guid);\r
+ return __get_annotations_calculate_x("count", $entity_guid, $entity_type, $entity_subtype, $name, $value, $value_type, $owner_guid, $timelower, $timeupper);\r
}\r
\r
/**\r
* @param $entity_subtype string\r
* @param $name string\r
*/\r
- function __get_annotations_calculate_x($sum = "avg", $entity_guid, $entity_type = "", $entity_subtype = "", $name = "", $value = "", $value_type = "", $owner_guid = 0)\r
+ function __get_annotations_calculate_x($sum = "avg", $entity_guid, $entity_type = "", $entity_subtype = "", $name = "", $value = "", $value_type = "", $owner_guid = 0, $timelower = 0, $timeupper = 0)\r
{\r
global $CONFIG;\r
\r
$sum = sanitise_string($sum);\r
$entity_guid = (int)$entity_guid;\r
$entity_type = sanitise_string($entity_type);\r
+ $timeupper = (int)$timeupper;\r
+ $timelower = (int)$timelower;\r
$entity_subtype = get_subtype_id($entity_type, $entity_subtype);\r
if ($name != '' AND !$name = get_metastring_id($name))\r
return 0;
$where[] = "a.value_type='$value_type'";
if ($owner_guid)
$where[] = "a.owner_guid='$owner_guid'";\r
+ if ($timelower)\r
+ $where[] = "a.time_created >= {$timelower}";\r
+ if ($timeupper)\r
+ $where[] = "a.time_created <= {$timeupper}";\r
\r
if ($sum != "count")\r
$where[] = "a.value_type='integer'"; // Limit on integer types\r