示例#1
0
 public function savePlaylist($id, $idArr = NULL, $onDuplicate = true)
 {
     Trace::output($this->traceID, "savePlaylist");
     //----------------------------------------------------------
     //init var
     //----------------------------------------------------------
     $chk = array("bool" => true, "traceID" => "savePlaylist");
     //----------------------------------------------------------
     $idArr = GenFun::varCHK($idArr);
     //----------------------------------------------------------
     $chk = GetTable::go("playlist_videos", array("playlist_id" => $id, "disabled" => "{ignore} IS NULL"));
     //----------------------------------------------------------
     if ($chk['bool']) {
         for ($i = 0; $i < sizeof($chk['result']); $i++) {
             $idArr[] = $chk['result'][$i]['videos_id'];
         }
     }
     //----------------------------------------------------------
     if (!$chk['bool']) {
         return $chk;
     } else {
         $chk = GenFun::ifAllNumeric($idArr, false);
     }
     //----------------------------------------------------------
     if ($onDuplicate) {
         $chk = Update::go("playlist_videos", array('disabled' => "{function}NOW()"), array('disabled' => '{ignore} IS NULL', 'playlist_id' => $id), array("returnTable" => true));
     }
     //----------------------------------------------------------
     $setArr['playlist_id'] = $id;
     $setArr['videos_id'] = $idArr;
     //----------------------------------------------------------
     if ($chk['bool']) {
         $queryString = InsertINTO::go('playlist_videos', $setArr, array("returnQuery" => true));
     } else {
         return $chk;
     }
     //----------------------------------------------------------
     if ($onDuplicate) {
         $queryString .= " ON DUPLICATE KEY UPDATE playlist_videos.disabled = NULL";
     }
     //----------------------------------------------------------
     $chk = Result::go($queryString);
     //----------------------------------------------------------
     $queryString = "SELECT playlist.* FROM playlist WHERE playlist.id = {$id}";
     //----------------------------------------------------------
     $chk = Result::go($queryString);
     //----------------------------------------------------------
     $chk['result'] = $chk['result'][0];
     //----------------------------------------------------------
     if ($chk['bool']) {
         $chk['message'] = "Playlist has successfully been saved!!!";
     }
     //----------------------------------------------------------
     if ($chk['bool']) {
         $playlistVideos = $this->_getPlaylistVideos($chk['result']['hash']);
         if ($playlistVideos['bool']) {
             $chk['result']['videosInfo'] = $playlistVideos['result'];
         } else {
             return $playlistVideos;
         }
     }
     //----------------------------------------------------------
     if ($chk['bool']) {
         $this->resetQueries();
     }
     //----------------------------------------------------------
     return $chk;
 }