public function initFromSavedForm(SavedForm $record) { foreach ($record->getBricks() as $brick) { $brick->insertBrick($this); } $this->addSubmit('_submit_', array('value' => ___('Save Profile'))); }
public function initFromSavedForm(SavedForm $record) { if ($record->title) { $this->defaultPageConfig['title'] = $record->title; } $bricks = array(); $loggedIn = Am_Di::getInstance()->auth->getUserId() > 0; $pastSeparator = null; foreach ($record->getBricks() as $brick) { if ($loggedIn && $brick->hideIfLoggedIn()) { continue; } // skip brick as user is logged-in if ($brick->getClass() == 'page-separator') { if ($bricks) { $this->addBrickedPage($bricks, $pastSeparator ? $pastSeparator->getCustomLabels() : null); $bricks = array(); } $pastSeparator = $brick; } else { $bricks[] = $brick; } } // last page if ($bricks) { $this->addBrickedPage($bricks, $pastSeparator ? $pastSeparator->getCustomLabels() : null); } }
protected function handleEmail(SavedForm $form, &$vars) { /* @var $user User */ $user = $this->user; $bricks = $form->getBricks(); foreach ($bricks as $brick) { if ($brick->getClass() == 'email' && $brick->getConfig('validate') && $vars['email'] != $user->email) { $code = $this->getDi()->app->generateRandomString(self::EMAIL_CODE_LEN); $data = array('security_code' => $code, 'email' => $vars['email']); $this->getDi()->store->setBlob(self::SECURITY_CODE_STORE_PREFIX . $this->user_id, serialize($data), sqlTime(Am_Di::getInstance()->time + self::SECURITY_CODE_EXPIRE * 3600)); $tpl = Am_Mail_Template::load('verify_email_profile', get_first($user->lang, Am_Di::getInstance()->app->getDefaultLocale(false)), true); $cur_email = $user->email; $user->email = $vars['email']; $tpl->setUser($user); $tpl->setCode($code); $tpl->setUrl($this->getDi()->config->get('root_surl') . '/profile/confirm-email?em=' . $user->pk() . ':' . $code); $tpl->send($user); $user->email = $cur_email; unset($vars['email']); return true; } } return false; }