/** * 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())); } }
/** * Загружает информацию по каналу с внешнего источника и сохраняет в базу * @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']; }