]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Added timelower and timeupper to get_annotations() and __get_annotations_calculate_x...
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Tue, 11 Aug 2009 01:19:09 +0000 (01:19 +0000)
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Tue, 11 Aug 2009 01:19:09 +0000 (01:19 +0000)
git-svn-id: https://code.elgg.org/elgg/trunk@3423 36083f99-b078-4883-b0ff-0f9b5a30f544

engine/lib/annotations.php

index 23109cbf60109cb43a74cbbf6ac3127d7e004159..15d66e39660bfeb2d22327e17aeed902fe21132f 100644 (file)
         * @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