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; }