Advertisement
Guest User

Untitled

a guest
Jan 16th, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.83 KB | None | 0 0
  1.  
  2.     /**
  3.      * Обработка и отображение списка разделов модуля
  4.      */
  5.     public function actionIndex()
  6.     {
  7.         $userId = Yii::app()->user->id;
  8.  
  9.         if (!$model = SysUserBio::model()->find('s_user = :userId', array(
  10.             ':userId' => $userId,
  11.         ))) {
  12.             $model         = new SysUserBio();
  13.             $model->s_user = $userId;
  14.         }
  15.  
  16.         if ($data = Yii::app()->request->getPost('SysUserBio', false)) {
  17.             $model->attributes = $data;
  18.             if ($model->save()) {
  19.                 $message = "Данные успешно сохранены!";
  20.                 if ($model->email && ($model->wasChanged('email') || !$model->isEmailConfirmed())) {
  21.                     // Отправлем письмо
  22.                     Yii::app()->mailer->send(
  23.                         $model->email,
  24.                         "Образовательный портал РГУПС. Подтверждение адреса электронной почты пользователя.",
  25.                         $this->renderPartial('//_mails/confirmation_mail', array(
  26.                             'fullname' => Yii::app()->user->personal->getSignName(false),
  27.                             'email'    => $model->email,
  28.                             'hash'     => $model->email_confirmation_hash,
  29.                         ), true)
  30.                     );
  31.                     $message = "На почту <strong>{$model->email}</strong> выслано письмо. Перейдите по ссылке в письме для подтверждения email-адреса!";
  32.                 }
  33.                 Yii::app()->user->setFlash("success", $message);
  34.             }
  35.         }
  36.  
  37.         $this->render('index', array(
  38.             'model' => $model,
  39.         ));
  40.     }
  41. --------------------------------------------------------------
  42.  
  43. <?php
  44. /* @var $this IndexController */
  45. /* @var $model SysUserBio */
  46.  
  47. $moduleName = $this->getModule()->moduleName;
  48.  
  49. $this->pageTitle = $moduleName . $this->titleSeparator . $this->pageTitle;
  50.  
  51. $this->breadcrumbs = array(
  52.     $moduleName,
  53. );
  54.  
  55. ?>
  56.  
  57. <h2><?php echo CHtml::encode($moduleName); ?></h2>
  58. <p class="muted">
  59.     Чтобы использовать адрес электронной почты для восстановления пароля,
  60.     email необходимо ввести и подтвердить.
  61. </p>
  62. <?php
  63. /** @var TbActiveForm $form */
  64. $form = $this->beginWidget('bootstrap.widgets.TbActiveForm', array(
  65.     'id'                     => 'profile-bio-form',
  66.     'type'                   => 'horizontal',
  67.     'enableClientValidation' => true,
  68. ));
  69.  
  70. if ($model->hasErrors('email')) {
  71.     $error = $model->getError('email');
  72. } elseif (!$model->email) {
  73.     $error = 'E-mail не задан!';
  74. } elseif (!$model->isEmailConfirmed()) {
  75.     $error = 'E-mail не подтвержден!';
  76. } else {
  77.     $error = false;
  78. }
  79.  
  80. ?>
  81. <div class="control-group<?= ($error) ? ' error' : ' success' ?>">
  82.     <?= CHtml::label($model->getAttributeLabel('email'), 'SysUserBio_email', array('class' => 'control-label')); ?>
  83.     <div class="controls">
  84.         <?= $form->textField($model, 'email', array(
  85.                 'class' => 'input-xlarge',
  86.         )); ?>
  87.         <span id="SysUserBio_email_em_"
  88.               class="help-inline"><?= $error ?: 'E-mail подтвержден' ?></span>
  89.     </div>
  90. </div>
  91. <div class="text-error"></div>
  92. <div class="control-group">
  93.     <div class="controls">
  94.         <?php $this->widget('bootstrap.widgets.TbButton', array(
  95.             'buttonType' => 'submit',
  96.             'type'       => 'primary',
  97.             'size'       => 'small',
  98.             'icon'       => 'ok',
  99.             'label'      => 'Сохранить',
  100.         )); ?>
  101.     </div>
  102. </div>
  103. <?php $this->endWidget(); ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement