/** * Создание автораа * @return string */ public function actionCreate() { $model = new SongText(); if ($model->load(Yii::$app->request->post())) { $model->title = Yii::$app->request->post('SongText')['title']; $model->text = Yii::$app->request->post('SongText')['text']; $model->link = Yii::$app->request->post('SongText')['link']; if (Source::find()->where(['title' => Yii::$app->request->post('SongText')['source_title']])->one()) { $model->source_id = Source::find()->where(['title' => Yii::$app->request->post('SongText')['source_title']])->one()->id; } else { $model->source_id = 2; } $model->save(false); $texts = SongText::find(); $dataProvider = new ActiveDataProvider(['query' => $texts]); return $this->redirect(Url::toRoute('songtext/index')); } else { return $this->render('_form', ['model' => $model]); } }
function actionGetMusicLinksAlbom($new_artist) { $dir = '/home/romanych/Музыка/Thoughts_and_klassik/best_alboms/' . $new_artist; //return var_dump($dir); try { $alboms = scandir($dir); } catch (\ErrorException $e) { return $e->getMessage(); } if (is_array($alboms)) { $alboms = array_diff($alboms, array('.', '..')); if ($alboms) { foreach ($alboms as $albom) { // return var_dump($albom); $source = new Source(); $source->title = $albom; if (Author::find()->where('name like "%' . addslashes($new_artist) . '%"')->one()) { $source->author_id = Author::find()->where("name like '%" . addslashes($new_artist) . "%'")->one()->id; } else { return 'author error'; } $source->status = 1; $source->cat_id = 34; if (!$source->save(false)) { return 'source error'; } else { echo $source->title . ' made' . PHP_EOL; } $path = $dir . '/' . $albom; if (is_dir($path)) { $songs = scandir($path); $songs = array_diff($songs, array('.', '..')); foreach ($songs as $song) { $song_obj = new SongText(); try { $song_obj->source_id = $source->id; } catch (\ErrorException $e) { echo $e->getMessage(); continue; } $song_path = $path . '/' . $song; if (is_dir($song_path)) { $sub_songs = scandir($song_path); $sub_songs = array_diff($sub_songs, array('.', '..')); foreach ($sub_songs as $sub_song) { if (preg_match('/(.+).mp3$/', $sub_song, $match)) { $song_obj->title = $sub_song; } $song_obj->link = substr($path . '/' . $song . '/' . $sub_song, 48); } } else { if (preg_match('/(.+).mp3$/', $song, $match)) { $song_obj->title = $song; $song_obj->link = substr($path . '/' . $song, 48); } } $song_obj->save(false); } } else { echo $path . '-----no---dir--------------'; } } } } }