function getUserShows()
{
    global $db, $user;
    $stm = $db->prepare('
				SELECT 
					s.*, 
					us.last_season, us.last_episode, us.enabled, us.favourite
				FROM user_shows as us
				JOIN `show` as s
				USING(show_id)
				WHERE us.user_id = ? AND 0 = ?
			');
    $stmEpisodes = $db->prepare('SELECT season,episode,title,airdate FROM episode WHERE show_id = ?');
    $res = doOutput($stm, $stmEpisodes, 0, $user, 'local');
    if (isset($res['show_id'])) {
        $res = array($res);
    }
    return $res;
}
Beispiel #2
0
        break;
    case "vote-skip-action":
        doOutput(getVoteSkipAction(), "vote-skip-action");
        break;
    case "upload-file":
        doUploadFile();
        break;
    case "download-file":
        doOutput(doDownloadFilelist(), "download-file");
        break;
    case "download-file-do":
        if (!isset($_GET["id"])) {
            doError("No id specified");
        }
        doDownloadFileDo($_GET["id"]);
        break;
    case "download-playlist":
        if (!isset($_GET["name"])) {
            doError("No name specified");
        }
        doDownloadPlaylistDo($_GET["name"]);
        break;
    case "remove-my-vote":
        if (!isset($_GET["id"])) {
            doError("No id specified");
        }
        doOutput(doRemoveMyVote($_SERVER['REMOTE_ADDR'], $_GET["id"]), "remove-my-vote");
        break;
    default:
        doError("No valid action specified");
}
function get_feed_main()
{
    $requestCode = safeGetPostData('provider');
    $local_category = safeGetPostData('local_category');
    $remote_category = safeGetPostData('remote_category');
    $file_name = safeGetPostData('file_name');
    $feedIdentifier = safeGetPostData('feed_identifier');
    $saved_feed_id = safeGetPostData('feed_id');
    $feed_list = safeGetPostData('feed_ids');
    //For Aggregate Feed Provider
    $output = new stdClass();
    $output->url = '';
    if (strlen($requestCode) * strlen($local_category) == 0) {
        $output->errors = 'Error: error in AJAX request. Insufficient data or categories supplied.';
        doOutput($output);
        return;
    }
    if (strlen($remote_category) == 0) {
        $output->errors = 'Error: Insufficient data. Please fill in "' . $requestCode . ' category"';
        doOutput($output);
        return;
    }
    // Check if form was posted and select task accordingly
    $dir = PFeedFolder::uploadRoot();
    if (!is_writable($dir)) {
        $output->errors = "Error: {$dir} should be writeable";
        doOutput($output);
        return;
    }
    $dir = PFeedFolder::uploadFolder();
    if (!is_dir($dir)) {
        mkdir($dir);
    }
    if (!is_writable($dir)) {
        $output->errors = "Error: {$dir} should be writeable";
        doOutput($output);
        return;
    }
    $providerFile = 'feeds/' . strtolower($requestCode) . '/feed.php';
    if (!file_exists(dirname(__FILE__) . '/../../' . $providerFile)) {
        if (!class_exists('P' . $requestCode . 'Feed')) {
            $output->errors = 'Error: Provider file not found.';
            doOutput($output);
            return;
        }
    }
    $providerFileFull = dirname(__FILE__) . '/../../' . $providerFile;
    if (file_exists($providerFileFull)) {
        require_once $providerFileFull;
    }
    //Load form data
    $file_name = sanitize_title_with_dashes($file_name);
    if ($file_name == '') {
        $file_name = 'feed' . rand(10, 1000);
    }
    $saved_feed = null;
    if (strlen($saved_feed_id) > 0 && $saved_feed_id > -1) {
        require_once dirname(__FILE__) . '/../../data/savedfeed.php';
        $saved_feed = new PSavedFeed($saved_feed_id);
    }
    $providerClass = 'P' . $requestCode . 'Feed';
    $x = new $providerClass();
    $x->feed_list = $feed_list;
    //For Aggregate Provider only
    if (strlen($feedIdentifier) > 0) {
        $x->activityLogger = new PFeedActivityLog($feedIdentifier);
    }
    $x->getFeedData($local_category, $remote_category, $file_name, $saved_feed);
    if ($x->success) {
        $output->url = PFeedFolder::uploadURL() . $x->providerName . '/' . $file_name . '.' . $x->fileformat;
    }
    $output->errors = $x->getErrorMessages();
    doOutput($output);
}