Ejemplo n.º 1
0
 function getActionList(&$pListHash)
 {
     global $gBitUser, $gBitSystem;
     if (empty($pListHash['sort_mode'])) {
         $pListHash['sort_mode'] = 'created_asc';
     }
     LibertyContent::prepGetList($pListHash);
     $selectSql = '';
     $joinSql = '';
     $whereSql = '';
     $bindVars = array();
     array_push($bindVars, $this->mContentTypeGuid);
     $this->getServicesSql('content_list_sql_function', $selectSql, $joinSql, $whereSql, $bindVars, NULL, $pListHash);
     // this will set $find, $sort_mode, $max_records and $offset
     extract($pListHash);
     $sortModePrefix = 'lc.';
     $sort_mode = $sortModePrefix . $this->mDb->convertSortmode($pListHash['sort_mode']);
     $query = "\n\t\t\tSELECT sa.*, lc.*, \n\t\t\t\tacm.`action_c_key_id` AS `action_content_key`, \n\t\t\t\tacm.`action_c_detail_key_id` AS `action_content_detail_key`, \n\t\t\t\tlc.*, lch.`hits`, lcds.`data` AS `summary`, lc.`last_modified` AS sort_date,\n\t\t\t\tlf.storage_path AS `image_attachment_path` \n\t\t\t\t{$selectSql}\n\t\t\tFROM `" . BIT_DB_PREFIX . "diasalsa_actions` sa\n\t\t\t\tLEFT JOIN \t\t`" . BIT_DB_PREFIX . "diasalsa_action_content_map` acm ON acm.`content_id` = sa.`content_id`\n\t\t\t\tINNER JOIN \t\t`" . BIT_DB_PREFIX . "liberty_content` lc \t\tON lc.`content_id` \t\t   = sa.`content_id`\n\t\t\t\tINNER JOIN\t\t`" . BIT_DB_PREFIX . "users_users`\t\t\t uu ON uu.`user_id`\t\t\t   = lc.`user_id`\n\t\t\t\tLEFT OUTER JOIN `" . BIT_DB_PREFIX . "liberty_content_hits` lch ON lc.`content_id`         = lch.`content_id`\n\t\t\t\tLEFT OUTER JOIN `" . BIT_DB_PREFIX . "liberty_content_data` lcds ON (lc.`content_id` = lcds.`content_id` AND lcds.`data_type`='summary')\n\t\t\t\tLEFT OUTER JOIN `" . BIT_DB_PREFIX . "liberty_attachments`   la ON la.`content_id`         = lc.`content_id` AND la.`is_primary` = 'y'\n\t\t\t\tLEFT OUTER JOIN `" . BIT_DB_PREFIX . "liberty_files`         lf ON lf.`file_id`            = la.`foreign_id`\n\t\t\t\t{$joinSql}\n\t\t\tWHERE lc.`content_type_guid` = ? {$whereSql}\n\t\t\tORDER BY {$sort_mode}";
     $query_cant = "\n            SELECT COUNT(*)\n            FROM `" . BIT_DB_PREFIX . "diasalsa_actions` sa\n                INNER JOIN `" . BIT_DB_PREFIX . "liberty_content` lc ON( lc.`content_id` = sa.`content_id` ) {$joinSql}\n            WHERE lc.`content_type_guid` = ? {$whereSql}";
     $result = $this->mDb->query($query, $bindVars, $max_records, $offset);
     $ret = array();
     while ($res = $result->fetchRow()) {
         $res['thumbnail_url'] = SalsaAction::getImageThumbnails($res);
         $res['display_url'] = SalsaAction::getDisplayUrl(NULL, $res);
         $res['action_count'] = SalsaAction::getSendersCount($res);
         $ret[] = $res;
     }
     $pListHash["cant"] = $this->mDb->getOne($query_cant, $bindVars);
     // add all pagination info to pListHash
     LibertyContent::postGetList($pListHash);
     return $ret;
 }