public function actionView() { $id = (int) Yii::app()->request->getParam('id', 0); $playUrl = Yii::app()->request->getParam('url', null); $lyric = (int) Yii::app()->request->getParam('lyric', 0); $song = WapSongModel::model()->available()->findByPk($id); $isDeactive = false; if (!$song || $song->status == SongModel::DELETED) { $this->forward("/site/error", true); } elseif ($song->status == SongModel::DEACTIVE) { $isDeactive = true; } $artistId = SongArtistModel::model()->getArtistBySong($id, 'id'); if ($artistId) { $artistId = $artistId[0]; } else { $artistId = 0; } $genreId = SongGenreModel::model()->getCatBySong($song->id, false, true); if ($genreId) { $genreId = $genreId[0]; } else { $genreId = 0; } //--- Check quyền nghe bài hát này $userType = "GUEST"; if (Yii::app()->user->getState('msisdn')) { $userType = "MEMBER"; } if (!empty($this->userSub)) { if (isset($this->userSub->package) && !empty($this->userSub->package)) { $package = $this->userSub->package->code; } $package = strtoupper($package); $userType = "SUB_" . $package; } $per = ContentLimitModel::getPermision($song->id, "song", $userType, "WAP"); //---End check quyền nghe bài hát này $count = WapSongModel::model()->countSongsSameSinger($song->id, $artistId); $pager = new CPagination($count); $limit = Yii::app()->params['numberPerPage']; if ($this->layout == 'application.views.wap.layouts.main') { $limit = Yii::app()->params['numberSongPerPageWap']; } $pager->setPageSize($limit); $songArtist = WapSongModel::model()->getSongsSameSinger($song->id, $artistId, $pager->getOffset(), $pager->getLimit()); $callBackLink = Yii::app()->createUrl("song/artist", array('song_id' => $song->id, 'artist_id' => $artistId)); // check like $like = null; $favourite = Yii::app()->request->getParam('favourite', null); $user_id = Yii::app()->user->id; $phone = yii::app()->user->getState('msisdn'); $artist_name = Common::makeFriendlyUrl($song->artist_name); $back_url = Yii::app()->params['base_url'] . Yii::app()->createUrl('song/view', array('id' => $song->id, 'url_key' => Common::makeFriendlyUrl($song->name), 'artist' => $artist_name)); if (isset($favourite) && $favourite == 1) { //yeu thich video if (!empty($phone)) { $fav = WapFavouriteSongModel::model()->favouriteSong($id, $phone, $phone); } else { $this->redirect($this->createUrl("/account/login", array('back_url' => $back_url))); } } elseif (isset($favourite) && $favourite == 0) { if (!empty($user_id)) { $res = WapFavouriteSongModel::model()->deleteAll("song_id={$id} AND msisdn={$phone}"); } else { $this->redirect($this->createUrl("/account/login", array('back_url' => $back_url))); } } if ($phone) { $like = WapFavouriteSongModel::model()->findByAttributes(array('song_id' => $song->id, 'msisdn' => $phone)); } // Get Song Meta Data $Artist = ArtistModel::model()->findByPk($song->song_artist[0]->artist_id); $this->url = URLHelper::buildFriendlyURL("song", $song->id, $song->url_key); $this->itemName = $song->name; $this->artist = $Artist ? $Artist->name : 'Music'; $this->thumb = ArtistModel::model()->getAvatarUrl($song->song_artist[0]->artist_id, 's1'); $userSub = $this->userSub; $this->render('view', compact('song', 'songArtist', 'pager', 'callBackLink', 'artistId', 'genreId', 'like', 'per', 'lyric', 'playUrl', 'isDeactive')); }
public function actionDislike() { $this->layout = false; $type = htmlspecialchars(Yii::app()->request->getparam('type', 'song')); $id = (int) Yii::app()->request->getparam('id', 0); $phone = Formatter::formatPhone(Yii::app()->user->getState('msisdn')); if (empty($phone)) { echo 'phone_not_detect'; Yii::app()->end(); } $criteria = new CDbCriteria(); $criteria->condition = "phone=:phone"; $criteria->params = array(':phone' => $phone); switch ($type) { case 'video': $videoModelDel = WapFavouriteVideoModel::model()->deleteAll("video_id={$id} AND msisdn={$phone}"); if ($videoModelDel) { echo 'deleted success'; } else { echo 'deleted fail'; } break; case 'videoPlaylist': $videoModelDel = FavouriteVideoPlaylistModel::model()->deleteAll("video_playlist_id={$id} AND msisdn={$phone}"); if ($videoModelDel) { echo 'deleted success'; } else { echo 'deleted fail'; } break; case 'album': $albumModelDel = FavouriteAlbumModel::model()->deleteAll("album_id={$id} AND msisdn={$phone}"); if ($albumModelDel) { echo 'deleted success'; } else { echo 'deleted fail'; } break; default: //song $songModelDel = WapFavouriteSongModel::model()->deleteAll("song_id={$id} AND msisdn={$phone}"); if ($songModelDel) { echo 'deleted success'; } else { echo 'deleted fail'; } break; } Yii::app()->end(); }
public function actionList() { if (empty($this->userPhone)) { $this->redirect('/account/login'); Yii::app()->end(); } $limit = 5; $pageSize = 5; $listfavourite = array(); $offset = 0; $listfavourite['song'] = WapFavouriteSongModel::model()->findAllByPhone($this->userPhone, $pageSize, $offset); $listfavourite['album'] = WapFavouriteAlbumModel::model()->findAllByPhone($this->userPhone, $pageSize, $offset); $listfavourite['video'] = WapFavouriteVideoModel::model()->findAllByPhone($this->userPhone, $limit, $offset); $listfavourite['videoplaylist'] = FavouriteVideoPlaylistModel::model()->findAllByPhone($this->userPhone, $limit, $offset); $this->render('list', array('listfavourite' => $listfavourite)); }