/**
 * @package Newscoop
 * @subpackage Soundcloud plugin
 * @copyright 2011 Sourcefabric o.p.s.
 * @license http://www.gnu.org/licenses/gpl-3.0.txt
 */
function smarty_function_assign_soundcloud_tracks($p_params, &$p_smarty)
{
    $gimme = $p_smarty->get_template_vars('gimme');
    $article = empty($p_params['article']) ? $gimme->article->number : $p_params['article'];
    $length = empty($p_params['length']) ? 0 : (int) $p_params['length'];
    $order = empty($p_params['order']) ? 'asc' : $p_params['order'];
    $start = empty($p_params['start']) ? 0 : $p_params['start'];
    $current = empty($p_params['current']) ? 0 : $p_params['current'];
    $search = empty($p_params['search']) ? null : $p_params['search'];
    $api = empty($p_params['api']) ? false : true;
    $set = empty($p_params['set']) ? null : $p_params['set'];
    if (!$api) {
        $tracks = Soundcloud::getAssignments($article, $order, $start, $length);
    } else {
        require_once CS_PATH_PLUGINS . DIR_SEP . 'soundcloud' . DIR_SEP . 'classes' . DIR_SEP . 'soundcloud.api.php';
        $soundcloudAPI = new SoundcloudAPI();
        if ($set) {
            if ($set = $soundcloudAPI->setLoad($set)) {
                $tracks = $set['tracks'];
                if ($order == 'desc') {
                    $tracks = array_reverse($tracks);
                }
                for ($i = 0; $i < $start; $i++) {
                    array_shift($tracks);
                }
                if ($length) {
                    for ($i = sizeof($tracks); $i > $length; $i--) {
                        array_pop($tracks);
                    }
                }
            }
        } else {
            $tracks = $soundcloudAPI->trackSearch(array('order' => 'created_at', 'limit' => $length, 'offest' => $start, 'q' => $search));
        }
    }
    if (!empty($tracks)) {
        $soundcloud = new stdClass();
        $soundcloud->list = false;
        $soundcloud->track = empty($tracks[$current]) ? $tracks[0] : $tracks[$current];
        $soundcloud->total = sizeof($tracks);
        $soundcloud->tracks = $tracks;
        $p_smarty->assign('soundcloud', $soundcloud);
    } else {
        $p_smarty->assign('soundcloud', null);
    }
    return null;
}
Esempio n. 2
0
            $offset = $offset > $limit ? $offset - $limit : 0;
            break;
        case 'reload':
            break;
        default:
            $offset = 0;
    }
    $trackListParams['offset'] = $offset;
    $trackList = $soundcloud->trackSearch($trackListParams);
    if (empty($trackList)) {
        jsonOutput(null, array('title' => getGS('Search error'), 'text' => getGS('Tracks not found'), 'type' => 'error'));
        exit;
    }
    $attached = array();
    if ($article) {
        $attachments = Soundcloud::getAssignments($article);
        foreach ((array) $attachments as $value) {
            $attached[(string) $value['id']] = $value['id'];
        }
    }
    ob_start();
    require_once 'templates/tracklist.php';
    $content = ob_get_clean();
    jsonOutput($content, $message, $js, $otherParams);
    exit;
}
if ($action == 'edit') {
    if (!$g_user->hasPermission('plugin_soundcloud_update')) {
        jsonOutput(null, array('title' => getGS('Error'), 'text' => getGS('You do not have the right to update SoundCloud tracks.'), 'type' => 'error'));
        exit;
    }
Esempio n. 3
0
});
</script>

<div class="articlebox" title="Soundcloud">

<? if (($f_edit_mode == "edit") && $g_user->hasPermission('plugin_soundcloud_browser')): ?>
    <a id="soundcloud-iframe" custom="yes" class="iframe ui-state-default icon-button right-floated" href="<?php 
echo "/{$ADMIN}/soundcloud/attachement.php?article_id={$f_article_number}";
?>
"><span class="ui-icon ui-icon-plusthick"></span><? putGS('Attach') ?></a>
    <div class="clear"></div>
<? endif ?>


<ul class="block-list">
<? foreach (Soundcloud::getAssignments($f_article_number) as $trackData): ?>
<li id="soundcloud-<?php 
echo $trackData['id'];
?>
">
    <div><a class="text-link" target="soundcloud" href="<?php 
echo $trackData['permalink_url'];
echo $trackData['sharing'] == 'public' ? '' : '/' . $trackData['secret_token'];
?>
"><?php 
echo $trackData['title'];
?>
</a></div>
    <object height="81" width="100%"><param name="movie" value="http://player.soundcloud.com/player.swf?url=<?php 
echo urlencode($trackData['secret_uri']);
?>