/**
  * Creates taxonomy vocabulary by name
  * @param $name
  * @return TaxonomyVocabulary
  * @throws ErrorException
  */
 public static function create($name)
 {
     $title = Inflector::titleize($name, true);
     $slug = Inflector::slug($name);
     $model = new self(['name' => $slug, 'title' => $title, 'status_id' => self::STATUS_ENABLED]);
     if ($model->save()) {
         return $model;
     } else {
         throw new ErrorException(implode(' ', $model->getFirstErrors()));
     }
 }
Example #2
0
 /**
  * Загружает информацию по каналу с внешнего источника и сохраняет в базу
  * @param string $name
  * @return bool
  */
 public static function ImportChannel($name = '')
 {
     if ($name == '') {
         return ['res' => 'err', 'msg' => 'Name can not be empty'];
     }
     //$url = 'https://api.twitch.tv/kraken/channels/test_channel';
     $url = self::API_URL . DIRECTORY_SEPARATOR . self::GET_CHANNEL_PATH . DIRECTORY_SEPARATOR . $name;
     //echo'<pre>';print_r($url);echo'</pre>';//die;
     $raw_data = json_decode(DCurlHelper::getData($url), 1);
     //echo'<pre>';print_r($raw_data);echo'</pre>';die;
     if ($raw_data['status'] == 404) {
         return ['res' => 'err', 'msg' => $raw_data['message']];
     }
     if ($raw_data['mature'] === false) {
         $raw_data['mature'] = 0;
     }
     if ($raw_data['partner'] === false) {
         $raw_data['partner'] = 0;
     }
     $model = new self();
     $model->attributes = $raw_data;
     $model->id = $raw_data['_id'];
     //echo'<pre>';print_r($model->attributes);echo'</pre>';//die;
     //echo'<pre>';var_dump($model->validate());echo'</pre>';//die;
     if ($model->validate()) {
         $model->save();
     } else {
         foreach ($model->getFirstErrors() as $item) {
             return ['res' => 'err', 'msg' => $item];
             break;
         }
         /*
         //echo'<pre>';print_r($model->errors);echo'</pre>';die;
         echo'<pre>';print_r($model->getFirstErrors());echo'</pre>';die;
         echo'<pre>';print_r($model);echo'</pre>';die;
         return ['res'=>'err', 'msg' => $raw_data['message']];
         */
     }
     return ['res' => 'ok', 'msg' => 'Saved'];
 }