public function renderContent()
 {
     $user_id = Yii::app()->user->id;
     $sql = "SELECT DISTINCT users.id\n                       FROM users\n                       INNER JOIN messages\n                               ON (messages.to_user_id = {$user_id} OR messages.from_user_id = {$user_id})\n                       ORDER BY messages.date_create";
     $users_ids = Yii::app()->db->createCommand($sql)->queryAll();
     $users_ids = ArrayHelper::extract($users_ids, 'id');
     $this->render('MessageDialogsSidebar', array('users' => User::model()->findAllByPk($users_ids)));
 }
Esempio n. 2
0
 public static function getList()
 {
     $languages = Yii::app()->cache->get('languages');
     if (!$languages) {
         $languages = ArrayHelper::extract(Language::model()->findAll(), 'id', 'name');
         Yii::app()->cache->set('languages', $languages);
     }
     return $languages;
 }
Esempio n. 3
0
 public function init()
 {
     $class = 'application.components.activeRecordBehaviors.MetaTagBehavior';
     $behaviors = $this->model->behaviors();
     $classes = ArrayHelper::extract($behaviors, 'class');
     if (!in_array($class, $classes)) {
         throw new CException("Модель должна иметь поведение: {$class}");
     }
     parent::init();
 }
Esempio n. 4
0
 public static function getList()
 {
     $messages = Yii::app()->cache->get('languages_messages');
     if ($messages === false) {
         $sql = "SELECT message FROM " . self::tableName();
         $res = Yii::app()->db->createCommand($sql)->queryAll();
         $messages = ArrayHelper::extract($res, 'message');
         Yii::app()->cache->set('languages_messages', $messages);
     }
     return $messages;
 }
Esempio n. 5
0
 public static function getModels($params = array())
 {
     $result = array();
     $modules_dirs = scandir(MODULES_PATH);
     foreach ($modules_dirs as $module_dir) {
         if ($module_dir[0] == '.') {
             continue;
         }
         $module_class = ucfirst($module_dir) . 'Module';
         if (array_key_exists('active', $params)) {
             $active_attr = new ReflectionProperty($module_class, 'active');
             if ($active_attr->getValue() !== $params['active']) {
                 continue;
             }
         }
         $models_dir = MODULES_PATH . $module_dir . '/models';
         if (!file_exists($models_dir)) {
             continue;
         }
         $models_files = scandir($models_dir);
         foreach ($models_files as $model_file) {
             if ($model_file[0] == '.') {
                 continue;
             }
             $model_class = str_replace('.php', null, $model_file);
             $model = ActiveRecordModel::model($model_class);
             if (isset($params['meta_tags'])) {
                 $behaviors = $model->behaviors();
                 $behaviors = ArrayHelper::extract($behaviors, 'class');
                 if (!in_array('application.components.activeRecordBehaviors.MetaTagBehavior', $behaviors)) {
                     continue;
                 }
             }
             $result[$model_class] = $model->name();
         }
     }
     return $result;
 }
Esempio n. 6
0
 public function getErrorsStr()
 {
     return implode("\n", ArrayHelper::extract($this->getErrorsArray(), 'error'));
 }
Esempio n. 7
0
 /**
  * @static
  *
  * @param Array $objects объекты или массивы
  * @param String $keyAttribute атрибут который будет выступать в роли ключа
  *
  * @return array
  */
 public static function markObjects($array, $keyAttribute)
 {
     return array_combine(ArrayHelper::extract($array, $keyAttribute), $array);
 }
<?php

if (!$this->model->isNewRecord) {
    $translations = LanguageTranslation::model()->findAll('id = ' . $this->model->id);
    $translations = ArrayHelper::extract($translations, 'language', 'translation');
}
$elements = array('message' => array('type' => 'textarea'));
$languages = Language::getList();
foreach ($languages as $id => $language) {
    if (Yii::app()->language == $id) {
        continue;
    }
    $value = null;
    if (isset($translations) && isset($translations[$id])) {
        $this->model->translations[$id] = $translations[$id];
    }
    $elements["translations[{$id}]"] = array('type' => 'textarea', 'label' => $language, 'value' => $value);
}
return array('activeForm' => array('id' => 'language-translation-form'), 'elements' => $elements, 'buttons' => array('submit' => array('type' => 'submit', 'value' => 'Сохранить')));
Esempio n. 9
0
 public static function getOutcomingFriendsIds($user_id, $is_confirmed = 0)
 {
     $sql = "SELECT user_b_id\n                       FROM " . self::model()->tableName() . "\n                       WHERE user_a_id = {$user_id} AND\n                       is_confirmed = {$is_confirmed}";
     $friends_ids = Yii::app()->db->createCommand($sql)->queryAll();
     return ArrayHelper::extract($friends_ids, 'user_b_id');
 }