Наследование: extends Gpf_Object, implements IteratorAggregate, implements Gpf_Rpc_Serializable
Пример #1
0
 /**
  * @param array $requestArray
  * @return StdClass
  */
 function decode($requestArray)
 {
     $param = new stdClass();
     $reservedParams = array(Gpf_Rpc_Params::CLASS_NAME, Gpf_Rpc_Params::METHOD_NAME, Gpf_Rpc_Params::SESSION_ID, Gpf_Rpc_Server::FORM_REQUEST, Gpf_Rpc_Server::FORM_RESPONSE);
     $recordset = new Gpf_Data_RecordSet();
     $recordset->setHeader(array("name", "value"));
     foreach ($requestArray as $name => $value) {
         if (in_array($name, $reservedParams)) {
             continue;
         }
         if (get_magic_quotes_gpc()) {
             $value = stripslashes($value);
         }
         $record = $recordset->createRecord();
         $record->set("name", $name);
         $record->set("value", $value);
         $recordset->add($record);
     }
     $param->fields = $recordset->toObject();
     foreach ($reservedParams as $paramName) {
         if (array_key_exists($paramName, $requestArray)) {
             $param->{$paramName} = $requestArray[$paramName];
         }
     }
     return $param;
 }
 public function addValue($code, $value)
 {
     $record = $this->recordSet->createRecord();
     $record->set(self::CODE, $code);
     $record->set(self::VALUE, $value);
     $this->recordSet->addRecord($record);
 }
Пример #3
0
    /**
     * @service channel write
     *
     * @param $fields
     * @return Gpf_Rpc_Action
     */
    public function saveFields(Gpf_Rpc_Params $params) {
        $action = new Gpf_Rpc_Action($params);
        $action->setErrorMessage($this->_('Failed to save %s field(s)'));
        $action->setInfoMessage($this->_('%s field(s) successfully saved'));
        
        $fields = new Gpf_Data_RecordSet();
        $fields->loadFromArray($action->getParam("fields"));
        
        $channels = Pap_Db_Table_Channels::getUserChannels(Gpf_Session::getAuthUser()->getPapUserId());
        
        foreach ($fields as $field) {
        	$isUnique = true;
        	foreach ($channels as $channel) {
        		if ($field->get('value') == $channel->get(Pap_Db_Table_Channels::VALUE)) {
        			$isUnique = false;
        			break;
        		}
        	}
        	if ($isUnique) {
        		$this->saveField($field);
        	} else {
        		$action->setErrorMessage($this->_("Failed to save %s field(s). Data with value '".$field->get('value').
        		  "' already exist. Data must be unique."));
        		$action->addError();
        		return $action;
        	}
        }

        $action->addOk();

        return $action;
    }
    protected function saveFieldsRpc(Gpf_Rpc_Params $params) {
        $action = new Gpf_Rpc_Action($params);
        $action->setErrorMessage($this->_('Failed to save %s field(s) in %s(s)', '%s', $this->getDbRowObjectName()));
        $action->setInfoMessage($this->_('%s field(s) in %s(s) successfully saved', '%s', $this->getDbRowObjectName()));

        $fields = new Gpf_Data_RecordSet();
        $fields->loadFromArray($action->getParam("fields"));


        foreach ($fields as $field) {
            $dbRow = $this->createDbRowObject();
            $dbRow->setPrimaryKeyValue($field->get(Gpf_Db_Table_FormFields::ID));
            $dbRow->load();
            $dbRow->setName($field->get(Gpf_Db_Table_FormFields::NAME));
            $dbRow->setStatus($field->get(Gpf_Db_Table_FormFields::STATUS));
            $dbRow->setType($field->get(Gpf_Db_Table_FormFields::TYPE));
            if ($field->get(Gpf_Db_Table_FormFields::AVAILABLEVALUES) != null) {
                $dbRow->setAvailableValues($field->get(Gpf_Db_Table_FormFields::AVAILABLEVALUES));
            }
            $dbRow->save();
            $action->addOk();
        }

        return $action;
    }
    /**
     * @service campaign read
     * @return Gpf_Data_RecordSet
     */
    public function getActionTypes(Gpf_Rpc_Params $params) {
        $actionTypesHeader = array(Pap_Db_Table_CommissionTypes::TYPE, Pap_Db_Table_CommissionTypes::NAME, Pap_Db_Table_CommissionTypes::ID, 'campaignName');

        $data = new Gpf_Rpc_Data($params);
        $filters = $data->getFilters();

        $statsParams = new Pap_Stats_Params();
        $statsParams->setCampaignId($filters->getFilterValue('campaignid'));
        $statsParams->setBannerId($filters->getFilterValue('bannerid'));

        $transactionTypeStats = new Pap_Stats_TransactionTypeStats($statsParams);
        $transactionTypes = $transactionTypeStats->getTypes();

        $actionTypesRecordSet = new Gpf_Data_RecordSet();
        $actionTypesRecordSet->setHeader($actionTypesHeader);

        $this->initActionCampaignNames();

        foreach ($transactionTypes as $transactionType) {
            if ($transactionType->getType() != Pap_Common_Constants::TYPE_SALE && $transactionType->getType() !=Pap_Common_Constants::TYPE_ACTION && $transactionType->getType() != Pap_Common_Constants::TYPE_RECURRING) {
                continue;
            }
            $actionTypesRecordSet->add(new Gpf_Data_Record($actionTypesHeader, array($transactionType->getType(), $transactionType->getName(), $transactionType->getCommissionTypeId(), $this->getActionCampaignName($transactionType->getCommissionTypeId()))));
        }
        return $actionTypesRecordSet;
    }
    public function getNumberOfSubaffiliates($userid = null) {
        $result = new Gpf_Data_RecordSet();
        $selectBuilder = new Gpf_SqlBuilder_SelectBuilder();
        $selectBuilder->select->add('COUNT(u.userid)', 'amount');

        $selectBuilder->from->add(Pap_Db_Table_Users::getName(), "u");
        $selectBuilder->from->addInnerJoin(Gpf_Db_Table_Users::getName(), "gu", "u.accountuserid = gu.accountuserid");
        $selectBuilder->from->addInnerJoin(Gpf_Db_Table_AuthUsers::getName(), "au", "gu.authid = au.authid");

        $selectBuilder->where->add('u.deleted', '=', Gpf::NO);
        if ($userid === null) {
            $selectBuilder->where->add('u.parentuserid', '=', Gpf_Session::getAuthUser()->getPapUserId());
        } else {
            $selectBuilder->where->add('u.parentuserid', '=', $userid);
        }
        $selectBuilder->where->add('gu.rstatus', '<>', 'D');
        if ($this->params->isDateFromDefined()) {
            $selectBuilder->where->add('u.' . Pap_Stats_Table::DATEINSERTED, '>=', $this->params->getDateFrom()->toDateTime());
        }
        if ($this->params->isDateToDefined()) {
            $selectBuilder->where->add('u.' . Pap_Stats_Table::DATEINSERTED, '<=', $this->params->getDateTo()->toDateTime());
        }
        $selectBuilder->limit->set(0, 1);

        $result->load($selectBuilder);

        if($result->getSize() == 0) {
            return 0;
        }

        foreach($result as $record) {
            return $record->get('amount');
        }
    }
 /**
  * Save role privileges
  *
  * @service role write
  * @param Gpf_Rpc_Params $params
  * @return Gpf_Rpc_Form
  */
 public function saveRolePrivileges(Gpf_Rpc_Params $params)
 {
     $form = new Gpf_Rpc_Form($params);
     $role = new Gpf_Db_Role();
     $role->setId($form->getFieldValue('roleid'));
     $role->load();
     if (!strlen($role->getAccountId())) {
         $form->setErrorMessage($this->_('It is not possible to changes privileges for default role %s', $role->getName()));
         return $form;
     }
     //delete all privileges for selected role
     Gpf_Db_Table_RolePrivileges::getInstance()->deleteAllPrivileges($role->getId());
     //insert all privileges again to database
     $objects = new Gpf_Data_RecordSet();
     $objects->loadFromArray($form->getFieldValue('objects'));
     foreach ($objects as $record) {
         $rights = explode(',', $record->get('privileges'));
         foreach ($rights as $right) {
             $privilege = new Gpf_Db_RolePrivilege();
             $privilege->setObject($record->get('object'));
             $privilege->setRoleId($role->getId());
             $privilege->setPrivilege($right);
             $privilege->insert();
         }
     }
     $form->setInfoMessage($this->_('Changes saved'));
     return $form;
 }
 /**
  * @service mail_template write
  * @param $fields
  * @return Gpf_Rpc_Form
  */
 public function save(Gpf_Rpc_Params $params)
 {
     $form = new Gpf_Rpc_Form($params);
     try {
         $mailTemplate = $this->loadMailTemplate($form->getFieldValue('templateid'));
     } catch (Gpf_Exception $e) {
         $form->setErrorMessage($this->_('Failed to load mail template with error: %s', $e->getMessage()));
         return $form;
     }
     try {
         $className = $mailTemplate->get(Gpf_Db_Table_MailTemplates::CLASS_NAME);
         $objTemplate = new $className();
         $templateVariables = new Gpf_Data_RecordSet();
         $templateVariables->setHeader(array('id', 'value'));
         foreach ($objTemplate->getTemplateVariables() as $code => $name) {
             $record = $templateVariables->createRecord();
             $record->set('id', $code);
             $record->set('value', $form->getFieldValue('var_' . $code));
             $templateVariables->add($record);
         }
         $objTemplate->setCachedVariableValues($templateVariables);
         $objTemplate->addRecipient($form->getFieldValue('recipient'));
         $objTemplate->sendNow();
     } catch (Gpf_Exception $e) {
         $form->setErrorMessage($this->_('Failed to send test mail with error: %s', $e->getMessage()));
         return $form;
     }
     $form->setInfoMessage($this->_('Test mail was successfully queued'));
     return $form;
 }
Пример #9
0
 public function toObject()
 {
     $object = new stdClass();
     $object->rows = $this->rows->toObject();
     $object->from = $this->from;
     $object->to = $this->to;
     $object->count = $this->count;
     return $object;
 }
Пример #10
0
 private function setData(Gpf_Data_RecordSet $recordSet, $totalCount = null)
 {
     $this->cachedData = $recordSet;
     if ($totalCount == null) {
         $this->size = $this->cachedData->getSize();
         return;
     }
     $this->size = $totalCount;
 }
Пример #11
0
 /**
  *
  * @return Gpf_Data_RecordSet
  */
 private function getAvailableLanguages()
 {
     $languages = new Gpf_Data_RecordSet();
     $languages->setHeader(array('id', 'name'));
     foreach (new Gpf_Lang_InstallLanguages() as $language) {
         $languages->add(array($language->getCode(), $language->getExtendedName()));
     }
     return $languages;
 }
 /**
  * @service banner_format_setting read
  * @return Gpf_Data_RecordSet
  */
 public function loadWrapperNames(Gpf_Rpc_Params $params) {
     $row = new Pap_Db_BannerWrapper();
     $collection = $row->loadCollection();
     $result = new Gpf_Data_RecordSet();
     $result->setHeader(array('id', 'name'));
     foreach ($collection as $row){
         $result->add(array($row->getId(), $row->getName()));
     }
     return $result;
 }
Пример #13
0
 /**
  * returns data for chart
  *
  * @service trend_stats read
  * @param $fields
  * @return Gpf_Rpc_Chart
  */
 public function loadDataTypes(Gpf_Rpc_Params $params) {
     $this->initCampaignId($params);
     $this->initDataTypes();
     $recordSet = new Gpf_Data_RecordSet();
     $recordSet->setHeader(array("id", "value"));
     foreach ($this->dataTypes as $dataType) {
         $recordSet->add(array($dataType->getId(), $dataType->getName()));
     }
     return $recordSet;
 }
 /**
  * Load list of template variables for custom template
  *
  * @service mail_template read
  * @param Gpf_Rpc_Params $params
  */
 public function getTemplateVariables(Gpf_Rpc_Params $params)
 {
     $recordSet = new Gpf_Data_RecordSet();
     $recordSet->setHeader(array('code', 'name'));
     //TODO - treba prerobit cez extension point ... v pap newsletter feature budu premenne definovane cez Pap_Mail_UserMail
     $objTemplate = new Pap_Mail_UserMail();
     foreach ($objTemplate->getTemplateVariables() as $code => $name) {
         $recordSet->add(array($code, $name));
     }
     return $recordSet;
 }
 private function fillFromUser(Gpf_Rpc_Form $form, Pap_Affiliates_User $user) {
     $userData = new Gpf_Data_RecordSet();
     $userData->setHeader(array('userid', 'username','firstname', 'lastname'));
     $data = $userData->createRecord();
     $data->add('userid', $user->getId());
     $data->add('username', $user->getUserName());
     $data->add('firstname', $user->getFirstName());
     $data->add('lastname', $user->getLastName());
     $userData->add($data);
     $form->setField('userid', null, $userData->toObject());
 }
Пример #16
0
 /**
  * @param string $roleId
  * @return Gpf_Data_RecordSet
  */
 public function getAllPrivileges($roleId)
 {
     $select = new Gpf_SqlBuilder_SelectBuilder();
     $select->select->add(self::ID, 'id');
     $select->select->add(self::OBJECT, 'object');
     $select->select->add(self::PRIVILEGE, 'privilege');
     $select->from->add(self::getName());
     $select->where->add(self::ROLE_ID, "=", $roleId);
     $privileges = new Gpf_Data_RecordSet();
     $privileges->load($select);
     return $privileges;
 }
    private function getCampaignRecordSetForAffiliate() {
        $selectBuilder = $this->createSelectBuilder();
        $selectBuilder->select->add('c.'.Pap_Db_Table_Campaigns::STATUS, 'rstatus');
        $selectBuilder->select->add('c.'.Pap_Db_Table_Campaigns::TYPE, 'rtype');
        Gpf_Plugins_Engine::extensionPoint('Pap_Common_Campaign_CampaignForAffiliateRichListBox.getCampaignRecordSetForAffiliate', 
        new Pap_Affiliates_Promo_SelectBuilderCompoundFilter($selectBuilder));

        $result = new Gpf_Data_RecordSet();
        $result->load($selectBuilder);
        
        return $result;
    }
Пример #18
0
 private function loadSubfilesFiles($fileUrl, Gpf_Data_RecordSet $result, $directories = false)
 {
     foreach (new Gpf_Io_DirectoryIterator($fileUrl, '', false, $directories) as $fullFileName => $file) {
         $file = new Gpf_Io_File($fullFileName);
         if ($file->isDirectory()) {
             $filesData = $this->getFilesData($fullFileName);
             $result->add(array($fullFileName, $filesData['count'], $file->getName(), $filesData['size'], self::TYPE_DIRECTORY));
             continue;
         }
         $result->add(array($fullFileName, 0, $file->getName(), $file->getSize(), self::TYPE_FILE));
     }
 }
Пример #19
0
    /**
     * Load list of template variables for custom template
     *
     * @service mail_template read
     * @param Gpf_Rpc_Params $params
     */
    public function getTemplateVariables(Gpf_Rpc_Params $params) {
        $recordSet = new Gpf_Data_RecordSet();
        $recordSet->setHeader(array('code', 'name'));

        $objTemplate = new Pap_Mail_UserMail();

        foreach ($objTemplate->getTemplateVariables() as $code => $name) {
            $recordSet->add(array($code, $name));
        }

        return $recordSet;
    }
 /**
  * Load list of template variables for template specified in input parameter templateId
  *
  * @service mail_template read
  * @param Gpf_Rpc_Params $params
  */
 public function getTemplateVariables(Gpf_Rpc_Params $params)
 {
     $dbRow = $this->loadMailTemplate($params->get("templateId"));
     $recordSet = new Gpf_Data_RecordSet();
     $recordSet->setHeader(array('code', 'name'));
     $className = $dbRow->get(Gpf_Db_Table_MailTemplates::CLASS_NAME);
     $objTemplate = new $className();
     foreach ($objTemplate->getTemplateVariables() as $code => $name) {
         $recordSet->add(array($code, $name));
     }
     return $recordSet;
 }
Пример #21
0
 /**
  * @param String $viewtype
  *
  * @return Gpf_Data_RecordSet
  */
 public function getAllWallpapers()
 {
     $result = new Gpf_Data_RecordSet();
     $selectBuilder = new Gpf_SqlBuilder_SelectBuilder();
     $selectBuilder->select->add(self::ID, 'id');
     $selectBuilder->select->add(self::NAME, 'name');
     $selectBuilder->select->add(self::URL, 'url');
     $selectBuilder->select->add(self::FILEID, 'fileid');
     $selectBuilder->from->add(self::getName());
     $selectBuilder->where->add(self::ACCOUNTUSERID, '=', Gpf_Session::getAuthUser()->getAccountUserId());
     $result->load($selectBuilder);
     return $result;
 }
Пример #22
0
 public function getAllIconsNoRpc()
 {
     $response = new Gpf_Data_RecordSet();
     $response->setHeader(array("iconName", "smallIcon", "middleIcon", "bigIcon"));
     foreach ($this->icons as $iconName => $imageFile) {
         try {
             $response->add(array($iconName, $this->getImageUrl($imageFile, "small"), $this->getImageUrl($imageFile, "middle"), $this->getImageUrl($imageFile, "big")));
         } catch (Exception $e) {
             //TODO: add default image !
         }
     }
     return $response;
 }
Пример #23
0
 /**
  * Gets template names for template name suggestion oracle
  *
  * @service template read
  * @param $search
  */
 public function getTemplateNames(Gpf_Rpc_Params $params)
 {
     $searchString = $params->get('search');
     $this->loadTemplates();
     $result = new Gpf_Data_RecordSet();
     $result->setHeader(array('id', 'name'));
     foreach ($this->templates as $templateName) {
         if ($searchString == "" || strstr($templateName, $searchString) !== false) {
             $result->add(array($templateName, $templateName . '.tpl'));
         }
     }
     return $result;
 }
Пример #24
0
 protected function afterExecute(Gpf_Data_RecordSet $inputResult)
 {
     $inputResult->addColumn('default', Gpf::NO);
     $defaultCountry = Gpf_Settings::get(Gpf_Settings_Gpf::DEFAULT_COUNTRY);
     foreach ($inputResult as $country) {
         if ($country->get(Gpf_Db_Table_Countries::COUNTRY_CODE) == $defaultCountry) {
             $country->set('country', $this->_localize($country->get('country')) . ' ' . $this->_('(default)'));
             $country->set('default', Gpf::YES);
             continue;
         }
         $country->set('country', $this->_localize($country->get('country')));
     }
     return $inputResult;
 }
    /**
     * @param String commissionTypeId
     *
     * @return Gpf_Data_RecordSet
     */
    public function getAllCommissionTypeAttributes($commissionTypeId) {
        $result = new Gpf_Data_RecordSet('id');

        $selectBuilder = new Gpf_SqlBuilder_SelectBuilder();
        $selectBuilder->select->add(self::ID, 'attributeid');
        $selectBuilder->select->add(self::COMMISSION_TYPE_ID, 'commtypeid');
        $selectBuilder->select->add(self::NAME, 'name');
        $selectBuilder->select->add(self::VALUE, 'value');
        $selectBuilder->from->add(self::getName());
        $selectBuilder->where->add(self::ID, '=', $commissionTypeId);

        $result->load($selectBuilder);
        return $result;
    }
Пример #26
0
 /**
  * @param Gpf_Data_RecordSet $recordset
  * @return Gpf_Data_Record
  */
 public function toRecord(Gpf_Data_RecordSet $recordset)
 {
     $record = $recordset->createRecord();
     $record->set(self::CODE, $this->getCodeName());
     $record->set(self::NAME, $this->getName());
     $record->set(self::URL, $this->getUrl());
     $record->set(self::DESCRIPTION, $this->getDescription());
     $record->set(self::VERSION, $this->getVersion());
     $record->set(self::AUTHOR, $this->getAuthor());
     $record->set(self::AUTHOR_URL, $this->getAuthorUrl());
     $record->set(self::HELP, $this->getHelp());
     $record->set(self::ACTIVE, 'N');
     $record->set(self::CONFIG_CLASS_NAME, $this->getConfigurationClassName());
     return $record;
 }
Пример #27
0
 private function getAllRowsRecordSet(Gpf_Data_RecordSet $recordSet)
 {
     try {
         $sth = $this->execute();
     } catch (Gpf_DbEngine_NoRowException $e) {
         return $recordSet;
     }
     $row = $sth->fetchArray();
     $recordSet->setHeader(array_keys($row));
     $recordSet->add(array_values($row));
     while ($row = $sth->fetchRow()) {
         $recordSet->add($row);
     }
     return $recordSet;
 }
    /**
     * Load list of template variables for custom template
     *
     * @service mail_template read
     * @param Gpf_Rpc_Params $params
     */
    public function getTemplateVariables(Gpf_Rpc_Params $params) {
        $recordSet = new Gpf_Data_RecordSet();
        $recordSet->setHeader(array('code', 'name'));

        $objTemplate = new Pap_Mail_AffiliateUserMail();

        foreach ($objTemplate->getTemplateVariables() as $code => $name) {
            if($code == 'password' || $code == 'parent_password'){
                continue;  
            } 
            $recordSet->add(array($code, $name));
        }

        return $recordSet;
    }
	protected function buildData(Gpf_Data_RecordSet $fields, Gpf_Rpc_Params $params) {
		$selectBuilder = Pap_Db_Table_Commissions::getInstance()->getAllCommissionsInCampaignSelectBuilder($params->get('campaignid'), '');
		$selectBuilder->orderBy->add('c.' . Pap_Db_Table_Commissions::ID);
		$selectBuilder->orderBy->add('tier');
		$selectBuilder->orderBy->add('ct.' . Pap_Db_Table_CommissionTypes::PARENT_COMMISSIONTYPE_ID);
		$commissionGroupID = $this->getCommissionGroupId($params->get('campaignid'));

		foreach ($selectBuilder->getAllRowsIterator() as $commission) {
			if ($commission->get('commissiongroupid') != $commissionGroupID) {
				continue;
			}
			$fields->add($this->createRecordArray($commission));
			$this->addCommission($commission);
		}
	}
 protected function afterExecute(Gpf_Data_RecordSet $inputResult) {
     $outputResult = new Gpf_Data_RecordSet();
     
     $campaignFilter = $this->filters->getFilter('campaignid');
     if (count($campaignFilter)>0) {
         $filterValue = $campaignFilter[0]->getValue();
         $categories = $this->getCampaignCategories($filterValue);
     }
     
     foreach ($inputResult as $record) {
         if ($record->get('code')=='0') {
             continue;
         }
         $record->set('name', $this->_localize($record->get('name')));
         if (count($campaignFilter)>0) {
             $filterValue = $campaignFilter[0]->getValue();
             
             if (in_array($record->get('code'), $categories)) {
                 $record->add('selected', 'Y');
             } else {
                 $record->add('selected', 'N');
             }
         }
         $outputResult->add($record);
     }
     $outputResult->setHeader($inputResult->getHeader());
     $outputResult->getHeader()->add('selected');
     return $outputResult;
 }