/**
	 *
	 * @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');
 }
Пример #3
0
 /**
  * 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);
 }