示例#1
0
 public function initFromSavedForm(SavedForm $record)
 {
     foreach ($record->getBricks() as $brick) {
         $brick->insertBrick($this);
     }
     $this->addSubmit('_submit_', array('value' => ___('Save Profile')));
 }
示例#2
0
 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;
 }