示例#1
0
/**
* @desc Genera la información para mostrar la Sindicación
* @param int Limite de resultados
* @return Array
*/
function &dtrans_rssshow($limit)
{
    global $util, $mc;
    $db =& XoopsDatabaseFactory::getDatabaseConnection();
    include_once XOOPS_ROOT_PATH . '/modules/dtransport/class/dtsoftware.class.php';
    foreach ($_GET as $k => $v) {
        ${$k} = $v;
    }
    $feed = array();
    // Información General
    $ret = array();
    $mc =& $util->moduleConfig('dtransport');
    $sql = "SELECT * FROM " . $db->prefix("dtrans_software") . " WHERE approved='1'";
    switch ($show) {
        case 'pops':
            $feed['title'] = htmlspecialchars(_MI_DT_RSSPOP);
            $feed['link'] = XOOPS_URL . '/modules/dtransport';
            $feed['description'] = htmlspecialchars(_MI_DT_RSSPOPDESC);
            $sql .= " ORDER BY hits DESC";
            break;
        case 'rate':
            $feed['title'] = htmlspecialchars(_MI_DT_RSSRATE);
            $feed['link'] = XOOPS_URL . '/modules/dtransport';
            $feed['description'] = htmlspecialchars(_MI_DT_RSSRATEDESC);
            $sql .= " ORDER BY `rating`/`votes` DESC";
            break;
        default:
            $feed['title'] = htmlspecialchars(_MI_DT_RSSRECENT);
            $feed['link'] = XOOPS_URL . '/modules/dtransport';
            $feed['description'] = htmlspecialchars(_MI_DT_RSSRECENTDESC);
            $sql .= " ORDER BY created DESC, modified DESC";
            break;
    }
    $sql .= " LIMIT 0, 15";
    // Generamos los elementos
    $result = $db->query($sql);
    $items = array();
    $link = XOOPS_URL . '/modules/dtransport/';
    while ($row = $db->fetchArray($result)) {
        $item = new DTSoftware();
        $item->assignVars($row);
        $rtn = array();
        $rtn['title'] = htmlspecialchars($item->name());
        $ilink = $link . ($mc['urlmode'] ? "item/" . $item->nameId() . "/" : "item.php?id=" . $item->id());
        $rtn['link'] = htmlspecialchars($ilink, ENT_QUOTES);
        $rtn['description'] = $item->shortdesc();
        $rtn['date'] = formatTimestamp($item->created());
        $items[] = $rtn;
    }
    $ret = array('feed' => $feed, 'items' => $items);
    return $ret;
}