loadFromArray() public method

public loadFromArray ( $rows )
 /**
  * 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;
 }
    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 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;
    }
    /**
     * @service commission_group 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) in %s(s)', '%s', $this->_('commission group')));
        $action->setInfoMessage($this->_('%s field(s) in %s(s) successfully saved', '%s', $this->_('commission group')));

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

        foreach ($fields as $field) {
        	$this->saveCommissionGroup($field->get('id'), $userId, $field->get("value"));
            $action->addOk();
        }

        return $action;
    }
	/**
	 * @service affiliate_tracking_code write_own
	 * @param $ids
	 * @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) 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->loadAffTrackingCode($field);
			$dbRow->setStatus(Pap_Common_Constants::STATUS_PENDING);
			$dbRow->set($field->get("name"), $field->get("value"));
			$dbRow->save();
			$action->addOk();
		}

		return $action;
	}
 /**
  * @service gadget write
  * @return Gpf_Rpc_Action
  */
 public function saveGadgets(Gpf_Rpc_Params $params)
 {
     $action = new Gpf_Rpc_Action($params);
     $action->setInfoMessage($this->_('Gadgets saved'));
     $gadgets = new Gpf_Data_RecordSet();
     $gadgets->loadFromArray($action->getParam('gadgets'));
     foreach ($gadgets as $gadgetRecord) {
         $gadget = new Gpf_Db_Gadget();
         $gadget->setPrimaryKeyValue($gadgetRecord->get("gadgetid"));
         try {
             $gadget->load();
         } catch (Gpf_Db_NoRowException $e) {
         }
         $gadget->fillFromRecord($gadgetRecord);
         $gadget->set('accountuserid', Gpf_Session::getAuthUser()->getAccountUserId());
         $gadget->save();
     }
     $action->addOk();
     return $action;
 }
    /**
     * @service
     *
     * @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) 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('id'));
            $dbRow->load();
            $dbRow->set($field->get("name"), $field->get("value"));
            $dbRow->save();
            $action->addOk();
        }

        return $action;
    }
    protected function saveView(Gpf_Db_View $view, Gpf_Rpc_Form $form) {
        $view->set('accountuserid', $this->getUserId());
        $view->set('viewtype', $form->getFieldValue('gridcode'));
        $view->save();
        $view->load();
        
        $viewId = $view->get(Gpf_Db_Table_Views::ID);
        $viewColumns = Gpf_Db_Table_ViewColumns::getInstance();
        $viewColumns->deleteAll($viewId);
        $rorder = 0;
        $columns = new Gpf_Data_RecordSet();
        $columns->loadFromArray($form->getFieldValue('columns'));

        foreach ($columns as $column) {
            $viewColumn = new Gpf_Db_ViewColumn();
            $viewColumn->set('viewid', $viewId);
            $viewColumn->set('name', $column->get('id'));
            $viewColumn->set('sorted', $column->get('sorted'));
            $viewColumn->set('width', $column->get('width'));
            $viewColumn->set('rorder', $rorder++);
            $viewColumn->save();
        }
        $form->setInfoMessage($this->_('View %s saved',$form->getFieldValue('name')));
        $form->setField('Id',$view->getId());
        $activeViewsTable = Gpf_Db_Table_ActiveViews::getInstance();
        $activeViewsTable->saveActiveView($view->get("viewtype"), $viewId);
    }
    private function saveFilterPresets(Gpf_Rpc_Form $form, $filterId) {
        $filterConditionsTable = Gpf_Db_Table_FilterConditions::getInstance();
        $filterConditionsTable->deleteAll($filterId);

        $presets = new Gpf_Data_RecordSet();
        $presets->loadFromArray($form->getFieldValue("presets"));

        foreach ($presets as $preset) {
            $filterCondition = new Gpf_Db_FilterCondition();
            $filterCondition->setFilterId($filterId);
            $filterCondition->fillFromRecord($preset);
            $filterCondition->save();
        }
    }
    /**
     * @service campaign write
     *
     * @param $fields
     * @return Gpf_Rpc_Action
     */
    public function saveFields(Gpf_Rpc_Params $params) {
        $action = new Gpf_Rpc_Action($params);
        $fields = new Gpf_Data_RecordSet();
        $fields->loadFromArray($action->getParam("fields"));

        $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()));

        foreach ($fields as $field) {
            $dbRow = $this->createDbRowObject();
            $dbRow->setPrimaryKeyValue($field->get('id'));
            $dbRow->load();

            if ($dbRow->getIsDefault() && $field->get("name") == "rstatus" && $field->get("value") != Pap_Db_Campaign::CAMPAIGN_STATUS_ACTIVE) {
                $action->setErrorMessage($this->_('You cannot deactivate default campaign'));
                $action->addError();
                continue;
            }

            $dbRow->set($field->get("name"), $field->get("value"));
            $dbRow->save();
            $action->addOk();
        }

        return $action;
    }
Beispiel #11
0
 /**
  * @service quicklaunch write
  * @return Gpf_Rpc_Action
  */
 public function saveQuickLaunch(Gpf_Rpc_Params $params)
 {
     $items = new Gpf_Data_RecordSet();
     $items->loadFromArray($params->get('items'));
     $quickLaunchSetting = "";
     foreach ($items as $item) {
         $quickLaunchSetting .= $item->get(self::SCREEN_CODE) . ",";
     }
     $quickLaunchSetting = rtrim($quickLaunchSetting, ",");
     Gpf_Db_Table_UserAttributes::setSetting(Gpf_Settings_Gpf::QUICK_LAUNCH_SETTING_NAME, $quickLaunchSetting);
     $action = new Gpf_Rpc_Action(new Gpf_Rpc_Params());
     $action->setInfoMessage($this->_('Quick Launch saved'));
     $action->addOk();
     return $action;
 }
 /**
  * @service language write
  * @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'));
     $language = new Gpf_Db_Language();
     $language->setId($action->getParam(Gpf_Db_Table_Languages::ID));
     $language->load();
     $csvFile = new Gpf_Io_Csv_Reader(Gpf_Lang_CsvLanguage::getAccountCsvFileName($language->getCode()));
     $csvLanguage = new Gpf_Lang_CsvLanguage();
     $csvLanguage->loadFromCsvFile($csvFile);
     $fields = new Gpf_Data_RecordSet();
     $fields->loadFromArray($action->getParam("fields"));
     foreach ($fields as $field) {
         $translation = new Gpf_Lang_Parser_Translation();
         $translation->setSourceMessage($field->get('id'));
         if ($csvLanguage->existTranslation($translation)) {
             $existingTranslation = $csvLanguage->getTranslation($translation);
             if ($existingTranslation->getStatus() == Gpf_Lang_Parser_Translation::STATUS_NOT_TRANSLATED) {
                 $existingTranslation->setStatus(Gpf_Lang_Parser_Translation::STATUS_TRANSLATED);
                 $csvLanguage->incrementTranslatedCount();
             }
             $existingTranslation->set($field->get("name"), $this->sourceCodeSpecialChars($field->get("value")));
         }
         $action->addOk();
     }
     $csvLanguage->exportAccountCache();
     $language->setTranslatedPercentage($csvLanguage->getTranslationPercentage());
     $language->save();
     return $action;
 }
    /**
     * @service banner write
     * @param Gpf_Rpc_Params $params
     */
    public function saveFields(Gpf_Rpc_Params $params) {
        $result = parent::saveFields($params);

        $action = new Gpf_Rpc_Action($params);
        $fields = new Gpf_Data_RecordSet();
        $fields->loadFromArray($action->getParam("fields"));
        $field = $fields->get(0);


        $bannerInRotator = new Pap_Db_BannerInRotator();
        $bannerInRotator->setId($field->get('id'));
        $bannerInRotator->load();
        
        try {
            $this->removeRotatorFromCache($bannerInRotator->getParentBannerId());
        } catch (Gpf_Exception $e) {}
        return $result;
    }
    /**
     * @service direct_link write
     *
     * @param $fields
     */
    public function saveFields(Gpf_Rpc_Params $params) {
        $retval = parent::saveFields($params);

        Pap_Tracking_DirectLinksBase::getInstance()->regenerateDirectLinksFile();

        $fields = new Gpf_Data_RecordSet();
        $fields->loadFromArray($params->get("fields"));
        $changedUrls = array();
        foreach ($fields as $field) {
            $changedUrls[] = $field->get('id');
        }

        $this->sendNotificationEmail($changedUrls);

        return $retval;
    }