コード例 #1
0
    /**
     * Update User in DB
     * @param  boolean $includeEmptyFields  Should empty fields be included when saving?
     * @return boolean       Did the update succeed?
     */
    protected function _update($includeEmptyFields)
    {
        global $wpdb;

        $this->setModifiedDate(date('Y-m-d H:i:s'));
        $data = $this->toArray($includeEmptyFields);
        unset($data['id']);

        $format = array_fill(0, count($data), '%s');

        if($result = $this->_safeUpdate($wpdb->prefix . $this->_tableName, $data, $format, array('user_id' => $this->getId()), array('%d'), true)){
        	
        	if($this->emailChanged){
				$data = array(
					'ID'        => $this->getId(),
					'user_email' => $this->getEmailAddress(),
				);

				wp_update_user($data);

				$email = new \CPFCMembers\Email('email_templates/email_changed', array('User'=>$this));
				$email->send($this->getEmailAddress(), 'Verify Your New Email Address');

        	}
        	
        }
        
        return $result;
    }
コード例 #2
0
    /**
     * Verification Email Request process and redirect
     */
    protected function _verificationEmailRequest()
    {
        $templateData = \CPFCMembers\TemplateData::getInstance();
        $form = \CPFCMembers\VerificationEmailRequestForm::getInstance();
        $status = '';
        if (Input::isPost()) {
            $form->setValues(Input::post());
            $form->validate();

            if ($form->isValid()) {
                $User = \CPFCMembers\UserModel::loadByEmailAddress(Input::post('email_address'));

                if ($User->getRegistrationStatus() == 'verified') {
                    $status = 'USER_ALREADY_VERIFIED';
                    $form->setValues(array('email_address'=>''));
                } else {
                    $User->generateAndStoreVerificationCode();
                    if ($User->save(true)) {
                        $email = new \CPFCMembers\Email('email_templates/verification_email_request', array('User'=>$User));
                        $email->send($User->getEmailAddress(), 'Verification Email Request email');

                        $status = 'SUCCESS';
                    } else {
                        $status = 'USER_NOT_SAVED';
                    }
                }
            }
        } else {
            $form->setValues(Input::get());
        }

        $templateData->set('verificationEmailRequest', $status);
    }