Exemplo n.º 1
0
 /**
  * @param string $field
  * @param array $rules
  * @return array
  */
 public static function process($field, $rules)
 {
     $languages = Language::find()->all();
     $fields = [];
     /** @var Language $language */
     foreach ($languages as $language) {
         $fields[] = $field . '__' . $language->symbol;
     }
     $fields = array_merge([$fields], $rules);
     return $fields;
 }
Exemplo n.º 2
0
 public function createCategory()
 {
     $cols['id'] = 'pk';
     foreach (Language::find()->all() as $lang) {
         $name = LanguageHelper::processForLang('name', $lang);
         $cols[$name] = "varchar(255) DEFAULT NULL";
     }
     $cols['ordering'] = 'int(11) DEFAULT NULL';
     $options = 'ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8';
     $query = $this->db->getQueryBuilder();
     $createTableSyntax = $query->createTable('core_category', $cols, $options);
     $this->db->createCommand($createTableSyntax)->execute();
 }
Exemplo n.º 3
0
 protected function createTable()
 {
     $cols['id'] = 'pk';
     $cols['created_at'] = 'datetime NOT NULL';
     foreach (Language::find()->all() as $lang) {
         $title = LanguageHelper::processForLang('title', $lang);
         $cols[$title] = "varchar(255) NOT NULL";
         $body = LanguageHelper::processForLang('body', $lang);
         $cols[$body] = "longtext";
     }
     $options = "ENGINE=InnoDB DEFAULT CHARSET=utf8;";
     $query = \Yii::$app->getDb()->queryBuilder;
     $createTableSyntax = $query->createTable('page', $cols, $options);
     $db = \Yii::$app->getDb();
     $db->createCommand($createTableSyntax)->execute();
 }
Exemplo n.º 4
0
 public static function langSwitcher()
 {
     $languages = Language::find()->all();
     $html = '<div class="pull-right langs">';
     $i = 0;
     /** @var Language $language */
     foreach ($languages as $language) {
         $currentLang = \Yii::$app->language;
         $currentClass = $currentLang == $language->symbol ? ' class="current"' : '';
         $lang = $language->symbol == 'en' ? 'gb' : $language->symbol;
         $langIco = $flag = Flags::widget(['flag' => $lang, 'type' => Flags::SHINY_16, 'useSprite' => false]);
         $html .= '<a href="#" data-src="' . $language->symbol . '"' . $currentClass . '>' . $langIco . '</a>';
         $i++;
     }
     $html .= '</div>';
     return $html;
 }
Exemplo n.º 5
0
 public function __construct(SlugCounterInterface $slugCounter)
 {
     $this->languages = Language::find()->all();
     $this->slugCounter = $slugCounter;
 }