/** * * @service banner_stats read * @param $data */ public function loadFullStatistics(Gpf_Rpc_Params $params) { $data = new Gpf_Rpc_Data($params); $select = new Gpf_SqlBuilder_SelectBuilder(); $select->from->add(Pap_Db_Table_Banners::getName()); $select->select->add("COUNT(".Pap_Db_Table_Banners::ID.")", "count"); $select->select->add(Pap_Db_Table_Banners::TYPE, 'type'); $select->groupBy->add(Pap_Db_Table_Banners::TYPE); Gpf_Plugins_Engine::extensionPoint('AffiliateNetwork.modifyWhere', new Gpf_Common_SelectBuilderCompoundRecord($select, new Gpf_Data_Record(array(), array()))); $result = $select->getAllRowsIndexedBy('type'); $bannerTypes = explode(',', $data->getParam('bannerTypes')); $bannersCount = 0; foreach ($bannerTypes as $bannerType) { $bannerTypeCount = 0; try { $bannerTypeCount = $result->getRecord($bannerType)->get('count'); } catch (Gpf_Data_RecordSetNoRowException $e) { } $data->setValue($bannerType, "$bannerTypeCount"); $bannersCount += $bannerTypeCount; } $data->setValue("bannersCount", "$bannersCount"); return $data; }
public function loadAttributes($userId) { $select = new Gpf_SqlBuilder_SelectBuilder(); $select->select->add(self::NAME); $select->select->add(self::VALUE); $select->from->add(self::getName(), 'ua'); $select->where->add(self::ACCOUNT_USER_ID, '=', $userId); $this->attributes = $select->getAllRowsIndexedBy('name'); }
/** * Get recordset of active languages in this account * * @return Gpf_Data_IndexedRecordSet */ public function getActiveLanguagesNoRpc() { $sql = new Gpf_SqlBuilder_SelectBuilder(); $sql->select->add(Gpf_Db_Table_Languages::CODE); $sql->select->add(Gpf_Db_Table_Languages::ENGLISH_NAME); $sql->select->add(Gpf_Db_Table_Languages::NAME); $sql->select->add(Gpf_Db_Table_Languages::IS_DEFAULT); $sql->from->add(Gpf_Db_Table_Languages::getName()); $sql->where->add(Gpf_Db_Table_Accounts::ID, '=', Gpf_Application::getInstance()->getAccountId()); $sql->where->add(Gpf_Db_Table_Languages::ACTIVE, '=', Gpf::YES); $sql->orderBy->add(Gpf_Db_Table_Languages::NAME); return $sql->getAllRowsIndexedBy(Gpf_Db_Table_Languages::CODE); }