public function run() {
    	$time1 = microtime();
    	Pap3Compatibility_Migration_OutputWriter::logOnce("Deleting migrated data from existing PAP4 tables<br/>");

    	try {
    		$this->deleteTable(Pap_Db_Table_Campaigns::getName());
    		$this->deleteTable(Pap_Db_Table_CommissionGroups::getName());
    		$this->deleteTable(Pap_Db_Table_CommissionTypes::getName());
    		$this->deleteTable(Pap_Db_Table_Commissions::getName());
    		$this->deleteTable(Pap_Db_Table_UserInCommissionGroup::getName());
    		
    		$this->deleteTable(Gpf_Db_Table_FormFields::getName());
    		$this->deleteTable(Gpf_Db_Table_FieldGroups::getName());
    		
    		$this->deleteTable(Pap_Db_Table_Transactions::getName());
    		$this->deleteTable(Pap_Db_Table_Clicks::getName());
    		$this->deleteTable(Pap_Db_Table_RawClicks::getName());
    		$this->deleteTable(Pap_Db_Table_Impressions::getName());

    		$this->deleteTable(Pap_Db_Table_Banners::getName());
    		
    		$this->deleteTable(Gpf_Db_Table_FieldGroups::getName());
    		$this->deleteTable(Pap_Db_Table_PayoutsHistory::getName());
    		$this->deleteTable(Pap_Db_Table_Payouts::getName());
    		
    		$this->deleteTable(Gpf_Db_Table_Currencies::getName());
    		$this->deleteTable(Gpf_Db_Table_MailAccounts::getName());
    		
    	} catch(Exception $e) {
    		Pap3Compatibility_Migration_OutputWriter::log("&nbsp;&nbsp;Errror: ".$e->getMessage()."<br/>");
    	}

    	$time2 = microtime();
		Pap3Compatibility_Migration_OutputWriter::logDone($time1, $time2);
    }
 /**
  * @return Gpf_Db_Table_FormFields
  */
 public static function getInstance()
 {
     if (self::$instance === null) {
         self::$instance = new self();
     }
     return self::$instance;
 }
 /**
  * @return Gpf_Data_RecordSet
  */
 public function loadFields(){
     $select = new Gpf_SqlBuilder_SelectBuilder();
     $select->select->add(Gpf_Db_Table_FormFields::ID);
     $select->select->add(Gpf_Db_Table_FormFields::CODE);
     $select->select->add(Gpf_Db_Table_FormFields::NAME);
     $select->select->add(Gpf_Db_Table_FormFields::TYPE);
     $select->select->add(Gpf_Db_Table_FormFields::STATUS);
     $select->select->add(Gpf_Db_Table_FormFields::AVAILABLEVALUES);
     $select->from->add(Gpf_Db_Table_FormFields::getName());
     $select->where->add(Gpf_Db_Table_FormFields::FORMID, '=', $this->getFormId());
     return $select->getAllRows();
 }
	protected function buildData(Gpf_Data_RecordSet $fields, Gpf_Rpc_Params $params) {
		$select = new Gpf_SqlBuilder_SelectBuilder();        
        $select->select->add("name", "payoutFieldName", "ff");
        $select->select->add(Pap_Db_Table_UserPayoutOptions::VALUE, Pap_Db_Table_UserPayoutOptions::VALUE, "upo");
        $select->select->add(Pap_Db_Table_UserPayoutOptions::FORMFIELDID, Pap_Db_Table_UserPayoutOptions::FORMFIELDID, "upo");
        $select->from->add(Pap_Db_Table_Users::getName(), "pu");
        $select->from->addInnerJoin(Gpf_Db_Table_FormFields::getName(), "ff", "(ff.formid = CONCAT('payout_option_', pu.payoutoptionid))");
        $select->from->addInnerJoin(Pap_Db_Table_UserPayoutOptions::getName(), "upo", "(pu.userid = upo.userid AND ff.formfieldid = upo.formfieldid)");
        $select->where->add("pu.userid", "=", $params->get('userid'));       
        
        $i = 1;
		foreach ($select->getAllRowsIterator() as $payoutField) {
			$fields->add(array($payoutField->get(Pap_Db_Table_UserPayoutOptions::FORMFIELDID), 
								'data' . $i, 
								$this->_($payoutField->get('payoutFieldName')), 'T', 'M', null, ''));
			$this->fieldValues['data' . $i++] = $payoutField->get(Pap_Db_Table_UserPayoutOptions::VALUE);			
		}
	}
	/**
	 * @return array<Pap_Db_UserPayoutOption>
	 */
	public function getValues($formName, $userId) {
		$select = new Gpf_SqlBuilder_SelectBuilder();
		
		$select->select->add('ff.'.Gpf_Db_Table_FormFields::ID, Gpf_Db_Table_FormFields::ID);
		$select->select->add('ff.'.Gpf_Db_Table_FormFields::CODE, Gpf_Db_Table_FormFields::CODE);
		$select->select->add('upo.'.self::VALUE, self::VALUE);
		$select->select->add('upo.'.self::USERID, self::USERID);
		
		$select->from->add(Gpf_Db_Table_FormFields::getName(), 'ff');
		$select->from->addInnerJoin(self::getName(), 'upo', 'upo.formfieldid=ff.formfieldid');
		
		$select->where->add('upo.'.self::USERID, '=', $userId);
		$select->where->add('ff.'.Gpf_Db_Table_FormFields::FORMID, '=', $formName);
		
		$values = array();
		foreach ($select->getAllRowsIterator() as $row) {
		    $payoutOption = new Pap_Db_UserPayoutOption();
		    $payoutOption->fillFromRecord($row);
		    $values[$row->get('code')] = $payoutOption;
		}
		return $values;
	}
    /**
     * returns array of user fields
     *
     * @return unknown
     */
    public function getUserFields($type = array('M', 'O', 'R'), $mainFields = null) {
        if (is_array(self::$userFields)) {
            return self::$userFields;
        }
        $ffTable = Gpf_Db_Table_FormFields::getInstance();
        $formFields = $ffTable->getFieldsNoRpc("affiliateForm", $type, $mainFields);

        self::$userFields = array();
        self::$userFields['firstname'] = $this->_('First Name');
        self::$userFields['lastname'] = $this->_('Last Name');
        self::$userFields['username'] = $this->_('Username');
        self::$userFields['password'] = $this->_('Password');
        self::$userFields['ip'] = $this->_('IP');
        self::$userFields['photo'] = $this->_('Photo');

        foreach($formFields as $record) {
            $code = $record->get('code');
            $name = $record->get('name');
            self::$userFields[$code] = $name;
        }

        return self::$userFields;
    }
	private static function getUserFields() {
		if (is_null(self::$userFields)) {
			self::$userFields = Gpf_Db_Table_FormFields::getInstance()->getFieldsNoRpc('affiliateForm', array('M', 'O', 'R'));
		}
		return self::$userFields;
	}
示例#8
0
 private function initPayoutOptionFields() {
     if (!array_key_exists($this->payoutOption->getFormId(), self::$cachedPayoutOptionFields)) {
         self::$cachedPayoutOptionFields[$this->payoutOption->getFormId()] =
         Gpf_Db_Table_FormFields::getInstance()->getFieldsNoRpc($this->payoutOption->getFormId());
     }
     $this->payoutOptionFields = self::$cachedPayoutOptionFields[$this->payoutOption->getFormId()];
 }
    protected function savePayoutFields(Gpf_Rpc_Form $form) {
        $this->user = $this->createDbRowObject();
        $this->user->setPrimaryKeyValue($form->getFieldValue("Id"));
        try {
            $this->user->load();
        } catch (Gpf_DbEngine_NoRow $e) {
            throw new Exception($this->getDbRowObjectName().$this->_(" does not exist"));
        }

        $payoutOptionId = $form->getFieldValue(Pap_Db_Table_Users::PAYOUTOPTION_ID);
        $formFields = Gpf_Db_Table_FormFields::getInstance();
        $formName = self::PAYOUT_OPTION . $payoutOptionId;
        $payoutOptionFields = $formFields->getFieldsNoRpc($formName);

        foreach ($payoutOptionFields as $field) {
            $payoutOptionUserValue = new Pap_Db_UserPayoutOption();
            $payoutOptionUserValue->setUserId($this->user->getId());
            $payoutOptionUserValue->setFormFieldId($field->get("id"));
            $payoutOptionUserValue->setValue($form->getFieldValue($field->get("code")));
            $payoutOptionUserValue->save();
        }

        $form->setInfoMessage($this->_("Payout settings saved"));
        return $form;
    }
    /**
     * @service affiliate read
     * @param Gpf_Rpc_Params $params
     */
    public function getCustomFilterFields(Gpf_Rpc_Params $params) {
        $filterFields = new Gpf_View_CustomFilterFields();
        $filterFields->addStringField("userid", $this->_("Id"));
        $filterFields->addStringField("firstname", $this->_("Firstname"));
        $filterFields->addStringField("lastname", $this->_("Lastname"));
        $filterFields->addStringField("username", $this->_("Username"));
        $filterFields->addDateField("dateinserted", $this->_("Date joined"));
        $filterFields->addStringField("parentuserid", $this->_("Parent ID"));
        $filterFields->addStringField("parentusername", $this->_("Parent username"));
        $filterFields->addStringField("parentfirstname", $this->_("Parent first name"));
        $filterFields->addStringField("parentlastname", $this->_("Parent last name"));
        $filterFields->addStringField("minimumpayout", $this->_("Min. payout"));
        $filterFields->addStringField("payoutmethod", $this->_("Payout method"));
        $filterFields->addStringField("ip", $this->_("IP address"));
        $filterFields->addNumberField("loginsnr", $this->_("Number of logins"));
        $filterFields->addDateField("lastlogin", $this->_("Last Login"));

        $formFields = Gpf_Db_Table_FormFields::getInstance();
        $fields = $formFields->getFieldsNoRpc("affiliateForm", array(Gpf_Db_FormField::STATUS_MANDATORY,
        Gpf_Db_FormField::STATUS_OPTIONAL,
        Gpf_Db_FormField::STATUS_HIDDEN,
        Gpf_Db_FormField::STATUS_READ_ONLY));
        foreach ($fields as $field) {
            $type = $field->get('type');
            if ($type == Gpf_Db_FormField::TYPE_NUMBER) {
                $filterFields->addNumberField($field->get('code'), $this->_localize($field->get('name')));
            } else {
                $filterFields->addStringField($field->get('code'), $this->_localize($field->get('name')));
            }
        }

        $this->addStatCustomFilterFields($filterFields);

        return $filterFields->getRecordSet();
    }
 protected function buildFrom() {
     $this->_selectBuilder->from->add(Gpf_Db_Table_FormFields::getName());
 }
 /**
  * Loads list of fields for merchant dynamic form panel
  *
  * @anonym
  * @service
  */
 public function getFields(Gpf_Rpc_Params $params) {
     $merchantForm = new Pap_Merchants_Config_MerchantFormDefinition();
     $merchantForm->check();
     
     $formFields = Gpf_Db_Table_FormFields::getInstance();
     return $formFields->getFields($params);
 }
 private function getPayoutOptions() {
     $selectBuilder = new Gpf_SqlBuilder_SelectBuilder();
     $selectBuilder->select->add(Pap_Db_Table_UserPayoutOptions::USERID, Pap_Db_Table_UserPayoutOptions::USERID, 'po');
     $selectBuilder->select->add(Gpf_Db_Table_FormFields::CODE, 'name', 'ff');
     $selectBuilder->select->add(Pap_Db_Table_UserPayoutOptions::VALUE, Pap_Db_Table_UserPayoutOptions::VALUE, 'po');
     $selectBuilder->from->add(Pap_Db_Table_UserPayoutOptions::getName(), 'po');
     $selectBuilder->from->addInnerJoin(Gpf_Db_Table_FormFields::getName(), 'ff',
         'po.'.Pap_Db_Table_UserPayoutOptions::FORMFIELDID.'=ff.'.Gpf_Db_Table_FormFields::ID);
      
     return $selectBuilder;
 }
    protected function addRow(Gpf_Rpc_Form $form, Gpf_DbEngine_RowBase $row) {
        parent::addRow($form, $row);

        $payoutOptionId = $form->getFieldValue(Pap_Db_Table_Users::PAYOUTOPTION_ID);
        if ($payoutOptionId != null && $payoutOptionId != "") {
            $formFields = Gpf_Db_Table_FormFields::getInstance();
            $formName = self::PAYOUT_OPTION . $payoutOptionId;
            $payoutOptionFields = $formFields->getFieldsNoRpc($formName);

            foreach ($payoutOptionFields as $field) {
                try {
                    $payoutOptionUserValue = new Pap_Db_UserPayoutOption();
                    $payoutOptionUserValue->setUserId($row->getId());
                    $payoutOptionUserValue->setFormFieldId($field->get("id"));
                    $payoutOptionUserValue->setValue($form->getFieldValue($field->get("code")));
                    $payoutOptionUserValue->save();
                } catch (Exception $e) {
                }
            }
        }

        $attribute = new Gpf_Db_UserAttribute();
        $attribute->setName('quickLaunchSetting');
        $attribute->set(Gpf_Db_Table_UserAttributes::VALUE, 'showDesktop');
        $attribute->setAccountUserId($row->getAccountUserId());
        $attribute->save();

        self::setAffiliateLanguage($form, $row->getAccountUserId());
    }
	/**
	 * @param Gpf_Data_Row $row
	 * @return Gpf_SqlBuilder_SelectBuilder
	 */
	private function buildUserPayoutOptions(Gpf_Data_Row $row) {
		$select = new Gpf_SqlBuilder_SelectBuilder();
		$select->select->add("userid", Pap_Db_Table_UserPayoutOptions::USERID, "pu");
		$select->select->add("name", "payoutFieldName", "ff");
		$select->select->add(Pap_Db_Table_UserPayoutOptions::VALUE, Pap_Db_Table_UserPayoutOptions::VALUE, "upo");
		$select->select->add(Pap_Db_Table_UserPayoutOptions::FORMFIELDID, Pap_Db_Table_UserPayoutOptions::FORMFIELDID, "upo");
		$select->from->add(Pap_Db_Table_Users::getName(), "pu");
		$select->from->addInnerJoin(Gpf_Db_Table_FormFields::getName(), "ff", "(ff.formid = CONCAT('payout_option_', pu.payoutoptionid))");
		$select->from->addInnerJoin(Pap_Db_Table_UserPayoutOptions::getName(), "upo", "(pu.userid = upo.userid AND ff.formfieldid = upo.formfieldid)");
		$select->where->add("pu.userid", "=", $row->get('userid'));
		return $select;
	}
示例#16
0
 function init()
 {
     $this->setTable(Gpf_Db_Table_FormFields::getInstance());
     parent::init();
 }
示例#17
0
    private function getCustomFields(Pap_Common_User $user) {
        $customFields = explode(',', Gpf_Settings::get(GetResponseSignup_Config::CUSTOM_DATA_FIELDS));

        $select = new Gpf_SqlBuilder_SelectBuilder();
        $select->select->add(Gpf_Db_Table_FormFields::NAME);
        $select->select->add(Gpf_Db_Table_FormFields::CODE);
        $select->from->add(Gpf_Db_Table_FormFields::getName());

        array_walk($customFields, create_function('&$val', '$val = trim(strtolower($val));'));
        $select->where->add(Gpf_Db_Table_FormFields::CODE, 'IN', $customFields);
        $select->where->add(Gpf_Db_Table_FormFields::FORMID, '=', Pap_Merchants_Config_AffiliateFormDefinition::FORMID);
        $customs = array();
        $x = $select->toString();
        foreach($select->getAllRows() as $row) {
            $customs[] = array(
                'name' => str_replace(' ', '_', Gpf_Lang::_localizeRuntime($row->get(Gpf_Db_Table_FormFields::NAME))),
                'content' => $user->getData(str_replace('data', '', $row->get(Gpf_Db_Table_FormFields::CODE)))
            );
        }
        return $customs;
    }
 private function savePayoutData($userID) {
 	$pap3PayoutSettings = $this->getPap3UserPayoutData($userID);
 	
 	try {
 		$payoutOptionId = $pap3PayoutSettings->getRecord('Aff_payout_type')->get('value');	
 	} catch (Gpf_Data_RecordSetNoRowException $e) {
 		return Gpf_DbEngine_Row::NULL;	
 	}
     
     $formFields = Gpf_Db_Table_FormFields::getInstance();
     $formName = Pap_Merchants_User_AffiliateForm::PAYOUT_OPTION . $payoutOptionId;
     $payoutOptionFields = $formFields->getFieldsNoRpc($formName);
     
     foreach ($payoutOptionFields as $field) {
         $payoutOptionUserValue = new Pap_Db_UserPayoutOption();
         $payoutOptionUserValue->setUserId($userID);
         $payoutOptionUserValue->setFormFieldId($field->get("id"));
         try {
         	$payoutOptionValue = $pap3PayoutSettings->getRecord('Aff_payoptionfield_' . 
         	   $this->getFieldCode($field->get("code"), $payoutOptionId))->get('value');
         } catch (Gpf_Exception $e) {
         	$payoutOptionValue = '';
         }
         $payoutOptionUserValue->setValue($payoutOptionValue);
         $payoutOptionUserValue->save();
     }
     
     return $payoutOptionId;
 }
 private function getUserFormFields() {
     $ffTable = Gpf_Db_Table_FormFields::getInstance();
     return $ffTable->getFieldsNoRpc("affiliateForm", array('M', 'O', 'R'));
 }
示例#20
0
	protected function renderSignupFieldsRequest() {
		$formFields = Gpf_Db_Table_FormFields::getInstance()->getFieldsNoRpc($this->getFormId(), array(Gpf_Db_FormField::STATUS_MANDATORY, Gpf_Db_FormField::STATUS_OPTIONAL));
		Gpf_Rpc_CachedResponse::add($formFields, 'Gpf_Db_Table_FormFields', 'getFields');
		foreach ($formFields as $field) {
			if ($field->get('type') == 'C') {
				$this->addCountriesRequest();
			}
		}
	}