Example #1
0
 function get($reference_object = null, $reference_id = null)
 {
     //there's nothing to do if we don't have a reference object
     if ($reference_object == null || $reference_id == null) {
         return false;
     }
     $reference_table = $reference_object . "s";
     $name_field = $this->name_field($reference_object);
     $sql = "SELECT messages.*, CONCAT(users.first_name, ' ', users.last_name) AS user_name, {$reference_table}.{$name_field} AS entity_name\n                FROM messages\n                LEFT JOIN users ON messages.user_id = users.id\n                LEFT JOIN {$reference_table} ON messages.reference_id = {$reference_table}.id\n                WHERE reference_object = '{$reference_object}' AND reference_id = '{$reference_id}'";
     $sql = $this->modify_sql_for_user_type($sql);
     $messages = parent::get($sql);
     User::set_profile_images($messages);
     return $messages;
 }
Example #2
0
 function get($criteria = null)
 {
     //todo:make sure the user has access, filter by type, there are probably some activity items clients cant see?
     $sql = "SELECT activity.*,\n                       CONCAT(users.first_name, ' ', users.last_name) AS user_name,\n                       projects.name AS project_name\n                FROM activity\n                LEFT JOIN users on activity.user_id = users.id\n                LEFT JOIN projects on activity.project_id = projects.id";
     $sql = isset($criteria) ? "{$sql} {$criteria}" : $sql;
     //todo: does this make sense for activity? Both clients and admins can access all activity for a project. Plus it looks like it would build invalid sql with two where statements (see projectdetails class)
     $sql = $this->modify_sql_for_user_type($sql, $criteria);
     $sql .= " ORDER BY activity_date DESC LIMIT 100";
     $activity = parent::get($sql);
     User::set_profile_images($activity);
     return $activity;
 }