]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
create_entity() now adds a default last_action set to the same as time_created. This...
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Thu, 20 May 2010 20:22:30 +0000 (20:22 +0000)
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Thu, 20 May 2010 20:22:30 +0000 (20:22 +0000)
Standardized update_entity_last_action() and moved it from river.php to entities.php.

git-svn-id: http://code.elgg.org/elgg/trunk@6117 36083f99-b078-4883-b0ff-0f9b5a30f544

engine/lib/entities.php
engine/lib/river.php

index 8e20ec269c3f44674c5404cf0c5f59835dc3606e..a18e1c612ec663db4e07a774394c1611d1da6aba 100644 (file)
@@ -106,6 +106,7 @@ abstract class ElggEntity implements
                $this->attributes['access_id'] = ACCESS_PRIVATE;
                $this->attributes['time_created'] = "";
                $this->attributes['time_updated'] = "";
+               $this->attributes['last_action'] = '';
                $this->attributes['enabled'] = "yes";
 
                // There now follows a bit of a hack
@@ -132,7 +133,7 @@ abstract class ElggEntity implements
         * method copies metadata but does not copy over annotations, or private settings.
         *
         * Note: metadata will have its owner and access id set when the entity is saved
-        * and it will be the same as that off the entity.
+        * and it will be the same as that of the entity.
         */
        public function __clone() {
 
@@ -335,8 +336,6 @@ abstract class ElggEntity implements
                        if ((int) $this->guid > 0) {
                                return create_metadata($this->getGUID(), $name, $value, $value_type, $this->getOwner(), $this->getAccessID(), $multiple);
                        } else {
-                               //$this->temp_metadata[$name] = $value;
-
                                if (($multiple) && (isset($this->temp_metadata[$name]))) {
                                        if (!is_array($this->temp_metadata[$name])) {
                                                $tmp = $this->temp_metadata[$name];
@@ -1630,8 +1629,8 @@ function create_entity($type, $subtype, $owner_guid, $access_id, $site_guid = 0,
        }
 
        return insert_data("INSERT into {$CONFIG->dbprefix}entities
-               (type, subtype, owner_guid, site_guid, container_guid, access_id, time_created, time_updated) values
-               ('$type',$subtype, $owner_guid, $site_guid, $container_guid, $access_id, $time, $time)");
+               (type, subtype, owner_guid, site_guid, container_guid, access_id, time_created, time_updated, last_action) values
+               ('$type',$subtype, $owner_guid, $site_guid, $container_guid, $access_id, $time, $time, $time)");
 }
 
 /**
@@ -3689,6 +3688,34 @@ function elgg_instanceof($entity, $type = NULL, $subtype = NULL) {
        return $return;
 }
 
+
+/**
+ * Update last_action on the given entity.
+ *
+ * @param int $guid Entity annotation|relationship action carried out on
+ * @param int $posted Timestamp of last action
+ **/
+function update_entity_last_action($guid, $posted = NULL){
+       global $CONFIG;
+       $guid = (int)$guid;
+
+       if (!$posted) {
+               $posted = time();
+       }
+
+       if ($guid){
+               //now add to the river updated table
+               $query = update_data("UPDATE {$CONFIG->dbprefix}entities SET last_action = {$posted} WHERE guid = {$guid}");
+               if ($query) {
+                       return TRUE;
+               } else {
+                       return FALSE;
+               }
+       } else {
+               return FALSE;
+       }
+}
+
 /**
  * Garbage collect stub and fragments from any broken delete/create calls
  *
index cbbe36ad41fa231d14c73a7fb78c459ea5bf108f..6e1f4414f356137622cdf6319e298511a02bad03 100644 (file)
@@ -59,7 +59,7 @@ function add_to_river($view,$action_type,$subject_guid,$object_guid,$access_id =
                " object_guid = {$object_guid}, " .
                " annotation_id = {$annotation_id}, " .
                " posted = {$posted} ");
-               
+
        //update the entities which had the action carried out on it
        if($insert_data){
                update_entity_last_action($object_guid, $posted);
@@ -159,8 +159,8 @@ function update_river_access_by_object($object_guid, $access_id) {
  *
  * @param int|array $subject_guid Acting entity to restrict to. Default: all
  * @param int|array $object_guid Entity being acted on to restrict to. Default: all
- * @param string $subject_relationship If set to a relationship type, this will use 
- *     $subject_guid as the starting point and set the subjects to be all users this 
+ * @param string $subject_relationship If set to a relationship type, this will use
+ *     $subject_guid as the starting point and set the subjects to be all users this
  *     entity has this relationship with (eg 'friend'). Default: blank
  * @param string $type The type of entity to restrict to. Default: all
  * @param string $subtype The subtype of entity to restrict to. Default: all
@@ -222,8 +222,8 @@ function get_river_items($subject_guid = 0, $object_guid = 0, $subject_relations
        } else {
                if (!is_array($subject_guid)) {
                        if ($entities = elgg_get_entities_from_relationship(array(
-                               'relationship' => $subject_relationship, 
-                               'relationship_guid' => $subject_guid, 
+                               'relationship' => $subject_relationship,
+                               'relationship_guid' => $subject_guid,
                                'limit' => 9999))
                        ) {
                                $guids = array();
@@ -263,7 +263,7 @@ function get_river_items($subject_guid = 0, $object_guid = 0, $subject_relations
 
        // Construct main SQL
        $sql = "select id,type,subtype,action_type,access_id,view,subject_guid,object_guid,annotation_id,posted" .
-                       " from {$CONFIG->dbprefix}river where {$whereclause} order by posted desc limit {$offset},{$limit}";
+                       " from {$CONFIG->dbprefix}river where {$whereclause} order by posted desc limit {$offset},{$limit}";
 
        // Get data
        return get_data($sql);
@@ -274,8 +274,8 @@ function get_river_items($subject_guid = 0, $object_guid = 0, $subject_relations
  *
  * @param int|array $subject_guid Acting entity to restrict to. Default: all
  * @param int|array $object_guid Entity being acted on to restrict to. Default: all
- * @param string $subject_relationship If set to a relationship type, this will use 
- *     $subject_guid as the starting point and set the subjects to be all users this 
+ * @param string $subject_relationship If set to a relationship type, this will use
+ *     $subject_guid as the starting point and set the subjects to be all users this
  *     entity has this relationship with (eg 'friend'). Default: blank
  * @param string $type The type of entity to restrict to. Default: all
  * @param string $subtype The subtype of entity to restrict to. Default: all
@@ -373,9 +373,9 @@ function elgg_get_river_items($subject_guid = 0, $object_guid = 0, $subject_rela
 
        // Construct main SQL
        $sql = "select er.*" .
-                       " from {$CONFIG->dbprefix}river er, {$CONFIG->dbprefix}entities e " .
-                       " where {$whereclause} AND er.object_guid = e.guid GROUP BY object_guid " .
-                       " ORDER BY e.last_action desc LIMIT {$offset},{$limit}";
+                       " from {$CONFIG->dbprefix}river er, {$CONFIG->dbprefix}entities e " .
+                       " where {$whereclause} AND er.object_guid = e.guid GROUP BY object_guid " .
+                       " ORDER BY e.last_action desc LIMIT {$offset},{$limit}";
 
        // Get data
        return get_data($sql);
@@ -416,8 +416,8 @@ function elgg_view_river_item($item) {
  *
  * @param int|array $subject_guid Acting entity to restrict to. Default: all
  * @param int|array $object_guid Entity being acted on to restrict to. Default: all
- * @param string $subject_relationship If set to a relationship type, this will use 
- *     $subject_guid as the starting point and set the subjects to be all users this 
+ * @param string $subject_relationship If set to a relationship type, this will use
+ *     $subject_guid as the starting point and set the subjects to be all users this
  *     entity has this relationship with (eg 'friend'). Default: blank
  * @param string $type The type of entity to restrict to. Default: all
  * @param string $subtype The subtype of entity to restrict to. Default: all
@@ -439,7 +439,7 @@ function elgg_view_river_items($subject_guid = 0, $object_guid = 0, $subject_rel
        }else{
                $riveritems = elgg_get_river_items($subject_guid,$object_guid,$subject_relationship,$type,$subtype,$action_type,($limit + 1),$offset,$posted_min,$posted_max);
        }
-       
+
        // Get river items, if they exist
        if ($riveritems) {
 
@@ -455,28 +455,6 @@ function elgg_view_river_items($subject_guid = 0, $object_guid = 0, $subject_rel
        return '';
 }
 
-/**
- * Update last_action on the given entity.
- *
- * @param int $guid Entity annotation|relationship action carried out on
- * @param int $posted Timestamp of last action
- **/
-function update_entity_last_action($guid, $posted){
-       global $CONFIG;
-       if(!$posted)
-               $posted = time();
-       $guid = (int)$guid;
-       if($guid){
-               //now add to the river updated table
-               $query = update_data("UPDATE {$CONFIG->dbprefix}entities SET last_action = {$posted} WHERE guid = {$guid}");
-               if($query)
-                       return true;
-               else
-                       return false;
-       }else{
-               return false;
-       }
-}
 /**
  * This function has been added here until we decide if it is going to roll into core or not
  * Add access restriction sql code to a given query.