/** * 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; }
/** * 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); }