Beispiel #1
0
 public function beforeValidate()
 {
     if (parent::beforeValidate()) {
         if ($this->scenario === 'update') {
             $this->alias = YText::translit($this->title);
         } else {
             if (!$this->alias) {
                 $this->alias = YText::translit($this->title);
             }
         }
         if (!$this->description) {
             $this->description = $this->short_text;
         }
         return true;
     }
     return false;
 }
Beispiel #2
0
        echo $product->id;
        ?>
/thumb/<?php 
        echo isset($product->onePicture->picture) ? $product->onePicture->picture : '';
        ?>
)"></div>
                        </div>
                     
                        <div class="jumbotron-contents">
                            <h4><?php 
        echo $product->name;
        ?>
</h4>
                            <p class="product_description">
                                <?php 
        echo YText::characterLimiter(strip_tags($product->description), 50);
        ?>
                            </p>

                            <div class="text-center">
                               <a class="btn btn-primary" href="<?php 
        echo $product->getUrl();
        ?>
"> <?php 
        echo Yii::t('site', 'Detail view');
        ?>
</a>
                            </div>
                        </div>
                    
                </div>
Beispiel #3
0
<div class="col-md-24 col-xs-24 single_item " >
    <div class="col-md-4 col-sm-6 text-center">
        <a class="story-img" href="#"><img src="<?php 
echo "/images/news/{$data->picture}";
?>
"  class="img-responsive"></a>
    </div>
    <div class="col-md-20 col-sm-18">
        <h3><?php 
echo $data->title;
?>
</h3>
        <div class="row">
            <div class="col-xs-24">
                <p><?php 
echo YText::characterLimiter(strip_tags($data->text), 400);
?>
</p>
                <p class="lead"> <a href="<?php 
echo $data->getUrl();
?>
" class="btn btn-primary"><?php 
echo Yii::t('site', 'Detail view');
?>
</a></p>
                <ul class="list-inline"><li><?php 
echo date('d/m/Y', $data->created_at);
?>
</li></ul>
            </div>
            <div class="col-xs-6"></div>
Beispiel #4
0
echo $data->id;
?>
/thumb/<?php 
echo isset($data->onePicture->picture) ? $data->onePicture->picture : '';
?>
)"></div>
    </div>
    <div class="col-md-16 col-sm-14">
        <h3><?php 
echo $data->name;
?>
</h3>
        <div class="row">
            <div class="col-xs-24">
                <p><?php 
echo YText::characterLimiter(strip_tags($data->description), 360);
?>
</p>
                <p class="lead pull-right"> <a href="<?php 
echo $data->getUrl();
?>
" class="btn btn-primary"><?php 
echo Yii::t('site', 'Detail view');
?>
</a></p>
            </div>
        </div>
    </div>
    <div class="clearfix"></div>
</div>
Beispiel #5
0
 public function actionLogin()
 {
     $service = Yii::app()->request->getQuery('service');
     if ($service !== null) {
         $authIdentity = Yii::app()->eauth->getIdentity($service);
         $authIdentity->redirectUrl = Yii::app()->user->returnUrl;
         $authIdentity->cancelUrl = $this->createAbsoluteUrl('/social/social/login');
         // если авторизовались через сервис
         if ($authIdentity->authenticate()) {
             $identity = new ServiceUserIdentity($authIdentity);
             // successful authentication
             if ($identity->authenticate()) {
                 //проверить нет ли уже этого пользователя
                 $socialLogin = new SocialLoginIdentity(Yii::app()->user->getState('service'), Yii::app()->user->getState('sid'));
                 if ($socialLogin->authenticate()) {
                     $this->cleanState();
                     Yii::app()->user->login($socialLogin);
                     Yii::app()->user->setFlash(YFlashMessages::NOTICE_MESSAGE, Yii::t('social', 'Вы успешно авторизовались!'));
                     //редирект с закрытием окна
                     $authIdentity->redirect(array(Yii::app()->getModule('user')->loginSuccess));
                 } else {
                     // попробуем создать учетную запись, если такой ник уже есть - редирект на форму регистрации
                     $nick_name = preg_replace('/[^A-Za-z0-9]/', '', YText::translit($authIdentity->getAttribute('nick')));
                     $user = User::model()->find('LOWER(nick_name) = :nick_name', array(':nick_name' => strtolower($nick_name)));
                     if ($user) {
                         Yii::app()->user->setFlash(YFlashMessages::NOTICE_MESSAGE, Yii::t('social', 'Пожалуйста, завершите регистрацию, имя пользователя "{nick_name}" к сожалению, уже занято...', array('{nick_name}' => $nick_name)));
                         $this->redirect(array('/social/social/registration'));
                     }
                     //если пользователь уже авторизован - привязка к текущему аккаунту
                     if (Yii::app()->user->isAuthenticated()) {
                         //создадим запись в Login
                         $login = new Login();
                         $login->setAttributes(array('user_id' => Yii::app()->user->getId(), 'identity_id' => Yii::app()->user->getState('sid'), 'type' => Yii::app()->user->getState('service')));
                         //@TODO как-то иначе обработать неудачу
                         if (!$login->save()) {
                             throw new CDbException(Yii::t('social', 'При создании учетной записи произошла ошибка!'));
                         }
                         Yii::app()->user->setFlash(YFlashMessages::NOTICE_MESSAGE, Yii::t('social', 'Аккаунт привязан!'));
                         $authIdentity->redirect(array(Yii::app()->getModule('user')->loginSuccess));
                     }
                     $transaction = Yii::app()->db->beginTransaction();
                     try {
                         $email = $authIdentity->getAttribute('email');
                         $account = new User();
                         $account->createAccount($nick_name, $email, null, null, User::STATUS_ACTIVE, empty($email) ? User::EMAIL_CONFIRM_NO : User::EMAIL_CONFIRM_YES, $authIdentity->getAttribute('first_name'), $authIdentity->getAttribute('last_name'));
                         if ($account && !$account->hasErrors()) {
                             //создадим запись в Login
                             $login = new Login();
                             $login->setAttributes(array('user_id' => $account->id, 'identity_id' => Yii::app()->user->getState('sid'), 'type' => Yii::app()->user->getState('service')));
                             if (!$login->save()) {
                                 throw new CDbException(Yii::t('social', 'При создании учетной записи произошла ошибка!'));
                             }
                         }
                         $transaction->commit();
                         // авторизуем нового пользователя
                         $socialLogin = new SocialLoginIdentity(Yii::app()->user->getState('service'), Yii::app()->user->getState('sid'));
                         if ($socialLogin->authenticate()) {
                             $this->cleanState();
                             Yii::app()->user->login($socialLogin);
                             Yii::app()->user->setFlash(YFlashMessages::NOTICE_MESSAGE, Yii::t('social', 'Вы успешно авторизовались!'));
                             $this->redirect(array(Yii::app()->getModule('user')->loginSuccess));
                         } else {
                             Yii::app()->user->setFlash(YFlashMessages::ERROR_MESSAGE, Yii::t('social', 'Учетная запись создана, но не удалось авторизоваться!'));
                             $this->cleanState();
                             $this->redirect(array('/user/account/login'));
                         }
                     } catch (Exception $e) {
                         $transaction->rollback();
                         Yii::log(Yii::t('social', "При авторизации через {servive} произошла ошибка!", array('{servive}' => Yii::app()->user->getState('service'))), CLogger::LEVEL_ERROR);
                         Yii::app()->user->setFlash(YFlashMessages::ERROR_MESSAGE, Yii::t('social', 'При создании учетной записи произошла ошибка {error}!', array('{error}' => $e->getMessage())));
                         $this->cleanState();
                         $this->redirect(array('/social/social/registration'));
                     }
                 }
                 // special redirect with closing popup window
                 $authIdentity->redirect();
             } else {
                 $authIdentity->cancel();
             }
             // close popup window and redirect to cancelUrl
         }
         // Something went wrong, redirect to login page
         $this->redirect(array('/social/social/login'));
     }
 }
Beispiel #6
0
 public function beforeValidate()
 {
     if (parent::beforeValidate()) {
         if ($this->scenario === 'update') {
             $this->slug = YText::translit($this->title);
         } else {
             if (!$this->slug) {
                 $this->slug = YText::translit($this->title);
             }
         }
         return true;
     }
     return false;
 }