本文整理汇总了PHP中waContact::getSettings方法的典型用法代码示例。如果您正苦于以下问题:PHP waContact::getSettings方法的具体用法?PHP waContact::getSettings怎么用?PHP waContact::getSettings使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类waContact
的用法示例。
在下文中一共展示了waContact::getSettings方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
public function execute()
{
// Задаём лайаут для фронтенда
$this->setLayout(new guestbook2FrontendLayout());
// Получаем hash из GET параметров
$hash = waRequest::get('hash');
// Проверяем хэш
if (!$hash || strlen($hash) < 33) {
$this->redirect(wa()->getRouteUrl('/frontend'));
}
// Получаем contact_id из хэша
$contact_id = substr($hash, 16, -16);
$hash = substr($hash, 0, 16) . substr($hash, -16);
$contact = new waContact($contact_id);
// Проверяем валидность хэша
if ($contact->getSettings($this->getAppId(), 'confirm_hash') === $hash) {
// Удаляем хэш
$contact->delSettings($this->getAppId(), 'confirm_hash');
// Выставляем статус confirmed для email-адреса контакта
$contact['email'] = array('value' => $contact->get('email', 'default'), 'status' => 'confirmed');
// Сохраняем контакт
$contact->save();
} else {
// Если хэш неправильный, то просто редирект на главную страницу
$this->redirect(wa()->getRouteUrl('/frontend'));
}
}
示例2: confirmEmail
/**
* @param $confirmation_hash
* @param array $errors
* @return bool|waContact
*/
protected function confirmEmail($confirmation_hash, &$errors = array())
{
$email_id = substr(substr($confirmation_hash, 16), 0, -16);
$confirmation_hash = substr($confirmation_hash, 0, 16) . substr($confirmation_hash, -16);
$ce = new waContactEmailsModel();
$contact_email = $ce->getById($email_id);
$contact = new waContact($contact_email['contact_id']);
$user_confirm_hash = $contact->getSettings(wa()->getApp(), "email_confirmation_hash", false);
if ($user_confirm_hash && $confirmation_hash === $user_confirm_hash) {
// try auth new contact
try {
if (wa()->getAuth()->auth($contact)) {
$ce->updateById($email_id, array('status' => 'confirmed'));
$contact->delSettings(wa()->getApp(), "email_confirmation_hash");
}
} catch (waException $e) {
$errors = array('auth' => $e->getMessage());
}
return $contact;
}
return false;
}