/**
 * Obtiene la lista de categorías existentes
 * junto con sus subcategorías.
 * Necesita de rmdp_subcategos() para funcionar correctamente
 * Params
 *
 * @idc = Id de la categoría padre por la cual empezar
 */
function get_categos_list($idc = 0)
{
    global $xoopsDB, $xoopsTpl, $xoopsModuleConfig;
    $result = $xoopsDB->query("SELECT * FROM " . $xoopsDB->prefix("rmdp_categos") . " WHERE parent='{$idc}'");
    $num = $xoopsDB->getRowsNum($result);
    // Amplitud de la imágen (29/07/2005)
    $xoopsTpl->assign('catego_img_width', $xoopsModuleConfig['imgcategow']);
    $xoopsTpl->assign('catego_show_images', $xoopsModuleConfig['showimgcat']);
    while ($row = $xoopsDB->fetchArray($result)) {
        $new = rmdp_element_isnew($row['fecha'], $xoopsModuleConfig['categonew']);
        $xoopsTpl->append('categos', array('id' => $row['id_cat'], 'nombre' => $row['nombre'], 'img' => $row['img'], 'fecha' => $row['fecha'], 'isnew' => $new, 'subcats' => rmdp_subcategos($row['id_cat'])));
    }
    if ($num > 0) {
        return 1;
    } else {
        return 0;
    }
}
/**
 * Obtiene todos los datos de una descarga
 * Parámetros
 * @ids = Id de la descarga
 * @return = Datos de la descarga
 */
function rmdp_load_downdata($ids)
{
    global $xoopsDB, $xoopsModuleConfig, $xoopsTpl, $myts, $xoopsConfig;
    global $cid, $xoopsUser, $xoopsUserIsAdmin;
    if ($ids <= 0) {
        return;
    }
    $tbls = $xoopsDB->prefix('rmdp_software');
    $result = $xoopsDB->query("SELECT * FROM {$tbls} WHERE id_soft='{$ids}'");
    $num = $xoopsDB->getRowsNum($result);
    if ($num <= 0) {
        return;
    }
    /**
     * Calulamos el indice del rating
     */
    $rate = rmdp_set_rating();
    $row = $xoopsDB->fetchArray($result);
    /**
     * formatemos la fecha en base a las preferencias
     * del módulo
     */
    $fecha = date($xoopsModuleConfig['dateformat'], $row['fecha']);
    /**
     * Comprobamos si la descarga es nueva
     * o si ha sido actualizada
     */
    $isnew = rmdp_element_isnew($row['fecha'], $xoopsModuleConfig['downnew']);
    $isupdate = rmdp_element_isnew($row['update'], $xoopsModuleConfig['update_days']);
    /**
     * Obtenmos el nombre del publicador
     */
    $uname = rmdp_get_username($row['submitter']);
    $cid = $row['reviews'];
    $xoopsTpl->assign('download', array('id' => $row['id_soft'], 'nombre' => $row['nombre'], 'fecha' => $fecha, 'isnew' => $isnew, 'isupdate' => $isupdate, 'licence' => rmdp_get_licencelink($row['licencia']), 'os' => rmdp_get_downos($row['id_soft']), 'shots' => rmdp_get_shotsnum($row['id_soft']), 'size' => rmdp_convert_size($row['size']), 'rating' => rmdp_calculate_rating($row['rating'], $rate), 'calificacion' => $row['calificacion'], 'descargas' => $row['descargas'], 'url' => $row['url'], 'homepage' => $row['urltitle'], 'uname' => $uname, 'submitter' => $row['submitter'], 'ispopular' => rmdp_is_popular($row['descargas']), 'desc' => $myts->MakeTareaData4Show($row['longdesc']), 'img' => $row['img'], 'editor' => rmdp_get_editor_review($row['id_soft'])));
    $xoopsTpl->assign('lng_downloads', _RMDP_DOWNLOADS);
    $xoopsTpl->assign('lng_web_site', _RMDP_WEB_SITE);
    $xoopsTpl->assign('lng_date', _RMDP_DATE);
    $xoopsTpl->assign('lng_isnew', _RMDP_NEW_DOWN);
    $xoopsTpl->assign('lng_isupdate', _RMDP_UPDATE_DOWN);
    $xoopsTpl->assign('lng_licence', _RMDP_LICENCE);
    $xoopsTpl->assign('lng_os', _RMDP_OS);
    $xoopsTpl->assign('lng_screenshot', _RMDP_SCREEN_SHOT);
    $xoopsTpl->assign('lng_sendby', _RMDP_SEND_BY);
    $xoopsTpl->assign('lng_viewshots', _RMDP_VIEW_SHOT);
    $xoopsTpl->assign('lng_rating', _RMDP_USER_RATING);
    $xoopsTpl->assign('lng_vote', _RMDP_VOTE);
    $xoopsTpl->assign('lng_our_rating', _RMDP_OUR_RATING);
    $xoopsTpl->assign('lng_filesize', _RMDP_SIZE);
    $xoopsTpl->assign('lng_usercomments', _RMDP_USER_COMMENTS);
    $xoopsTpl->assign('lng_editorcom', sprintf(_RMDP_EDITOR_COM, $xoopsConfig['sitename']));
    $xoopsTpl->assign('lng_publisher_desc', sprintf(_RMDP_PUBLISHER_DESC, $uname));
    if ($xoopsUser == '' && $xoopsModuleConfig['uservote']) {
        /**
         * El usuario anónimo puede votar
         */
        $xoopsTpl->assign('vote_form', rmdp_make_voteform($row['id_soft']));
    } elseif ($xoopsUser) {
        /**
         * Si el usuario esta registrado y no es el publicador
         * entonces mostramos las opciones de voto
         */
        if ($xoopsUser->getvar('uid') != $row['submitter']) {
            $xoopsTpl->assign('vote_form', rmdp_make_voteform($row['id_soft']));
        }
        /**
         * Si el usuario es el administrador mostramos
         * Opciones administrativas
         */
        if ($xoopsUserIsAdmin) {
            $adminoptions = "<div align='center'>\n\t\t\t\t<a href='admin/downs.php?op=mod&amp;ids=" . $row['id_soft'] . "'><img src='images/edit.gif' border='0'></a>\n\t\t\t\t<a href='admin/downs.php?op=review&amp;ids=" . $row['id_soft'] . "'><img src='images/review.gif' border='0'></a>\n\t\t\t\t</div>";
            $xoopsTpl->assign('admin_options', $adminoptions);
        }
        /**
         * Opcion para reportar un enlace roto
         **/
        $useroptions = "<br><div align='center'><a href='broken.php?id={$row['id_soft']}'><img src='images/report.gif' border='0' alt='" . _RMDP_REPORT_BROKEN . "'></a>&nbsp;&nbsp;";
        /**
         * Si el usuario es el publicador de la descarga
         * Mostramos opciones administrativas del usuario
         */
        if ($xoopsUser->getvar('uid') == $row['submitter']) {
            $xoopsTpl->assign('is_Submitter', true);
            $useroptions .= "<a href='mysends.php?op=modify&amp;id=" . $row['id_soft'] . "'><img src='images/edit.gif' border='0'></a>";
        }
        $useroptions .= "</div>";
        $xoopsTpl->assign('user_options', $useroptions);
    }
}
Exemple #3
0
        $order = 'calificacion';
        break;
    case 4:
        $order = 'descargas';
        break;
    case 5:
        $order = 'submitter';
        break;
    default:
        $order = 'nombre';
        break;
}
$have_results = rmdp_basic_search("id_cat='{$id}'", "categos.php?id=" . $id, $order . " " . $ad, sprintf(_RMDP_DOWNS_INCATEGO, $categoname));
$xoopsTpl->assign('have_results', $have_results);
rmdp_get_favorites(0);
rmdp_get_popular(0);
$xoopsTpl->assign('lng_favmsg', sprintf(_RMDP_FAVORITE_TEXT, $xoopsModuleConfig['favo_downs']));
// Cargamos la información de la categoría
$result = $xoopsDB->query("SELECT * FROM " . $xoopsDB->prefix('rmdp_categos') . " WHERE id_cat='{$id}'");
if ($result) {
    $row = $xoopsDB->fetchArray($result);
    $fecha = date($xoopsModuleConfig['dateformat'], $row['fecha']);
    $xoopsTpl->assign('catego', array('id' => $row['id_cat'], 'nombre' => $row['nombre'], 'img' => $row['img'], 'fecha' => $fecha, 'isnew' => rmdp_element_isnew($row['fecha'], $xoopsModuleConfig['categonew']), 'ad' => $asdes));
}
// Lenguaje
$xoopsTpl->assign('lang_download_now', _RMDP_DOWNLOAD_NOW);
$xoopsTpl->assign('lang_subcategos_in', sprintf(_RMDP_SUBCATEGOS_IN, $categoname));
$xoopsTpl->assign('lang_our_favorites', _RMDP_OUR_FAVORITES);
$xoopsTpl->assign('lang_popular_soft', _RMDP_POPULAR_SOFT);
$xoopsTpl->assign('view_shots', _RMDP_VIEW_SHOT);
include "footer.php";
Exemple #4
0
    {
        global $xoopsModuleConfig, $id;
        if ($xoopsModuleConfig['shotlink']) {
            return $img . '" target="_blank';
        } else {
            return 'shots.php?id=' . $id . '&amp;shot=' . $shot . '&amp;op=view';
        }
    }
    $xoopsOption['template_main'] = 'rmdp_shots.html';
    /**
     * Obtenemos las pantallas de una descarga
     **/
    $result = $xoopsDB->query("SELECT * FROM " . $xoopsDB->prefix('rmdp_shots') . " WHERE id_soft='{$id}'");
    while ($row = $xoopsDB->fetchArray($result)) {
        $fecha = date($xoopsModuleConfig['dateformat'], $row['fecha']);
        $isnew = rmdp_element_isnew($row['fecha'], $xoopsModuleConfig['shotnew']);
        $xoopsTpl->append('shots', array('id' => $row['id_shot'], 'small' => $row['small'], 'link' => rmdp_shot_link($row['id_shot'], $row['big']), 'desc' => $row['text'], 'fecha' => $fecha, 'isnew' => $isnew, 'hits' => $row['hits']));
    }
    $xoopsTpl->assign('img_width', $xoopsModuleConfig['imgshotsw']);
}
// Obtenemos las descargas patrocinadas
rmdp_get_sponsor();
rmdp_get_favorites(0);
rmdp_get_popular(0);
// Creamos la barra de localización
$location_bar = "<a href='" . XOOPS_URL . "/modules/rmdp/'>" . $xoopsModuleConfig['rmdptitle'] . "</a> &gt; ";
list($idc, $nombre) = $xoopsDB->fetchRow($xoopsDB->query("SELECT id_cat, nombre FROM " . $xoopsDB->prefix("rmdp_software") . " WHERE id_soft='{$id}'"));
$location_bar .= rmdp_get_location($idc);
$location_bar .= '<a href="down.php?id=' . $id . '">' . $nombre . '</a> &gt; ';
$location_bar .= '<a href="shots.php?id=' . $id . '">' . _RMDP_LOCATION_SHOT . '</a>';
$xoopsTpl->assign('location_bar', $location_bar);
/**
* Realiza una búsqueda en la bse de datos
**/
function rmdp_search_keyword($key, $cat = 0, $order = 'nombre')
{
    global $xoopsDB, $xoopsTpl, $xoopsModuleConfig, $myts;
    $tblsoft = $xoopsDB->prefix('rmdp_software');
    $limit = $xoopsModuleConfig['limit_result'];
    $upddays = $xoopsModuleConfig['update_days'];
    $newdays = $xoopsModuleConfig['downnew'];
    // Paginamos los productos Existentes
    $pag = $_GET['pag'];
    if ($pag > 0) {
        $pag -= 1;
    }
    $start = $pag * $limit;
    if ($cat > 0) {
        $sql = "SELECT COUNT(*) FROM {$tblsoft} WHERE (nombre LIKE '%{$key}%' OR longdesc LIKE '%{$key}%'\n\t\t\t\t\tOR archivo LIKE '%{$key}%'OR urltitle LIKE '%{$key}%') AND id_cat='{$cat}'";
    } else {
        $sql = "SELECT COUNT(*) FROM {$tblsoft} WHERE nombre LIKE '%{$key}%' OR longdesc LIKE '%{$key}%'\n\t\t\t\t\tOR archivo LIKE '%{$key}%' OR urltitle LIKE '%{$key}%'";
    }
    $result = $xoopsDB->query($sql);
    list($num) = $xoopsDB->fetchRow($result);
    $rtotal = $num;
    // Numero total de resultados
    $tpages = (int) ($num / $limit);
    $pactual = $pag + 1;
    if ($pactual > $tpages) {
        $rest = $pactual - $tpages;
        $pactual = $pactual - $rest + 1;
        $start = ($pactual - 1) * $limit;
    }
    if ($order == '') {
        $order = 'nombre';
    }
    if ($cat > 0) {
        $sql = "SELECT * FROM {$tblsoft} WHERE (nombre LIKE '%{$key}%' OR longdesc LIKE '%{$key}%'\n\t\t\t\tOR archivo LIKE '%{$key}%' OR urltitle LIKE '%{$key}%') AND id_cat='{$cat}' ORDER BY {$order} LIMIT {$start}, {$limit}";
    } else {
        $sql = "SELECT * FROM {$tblsoft} WHERE nombre LIKE '%{$key}%' OR longdesc LIKE '%{$key}%'\n\t\t\t\tOR archivo LIKE '%{$key}%' OR urltitle LIKE '%{$key}%' ORDER BY {$order} LIMIT {$start}, {$limit}";
    }
    $result = $xoopsDB->query($sql);
    $num2 = $xoopsDB->getRowsNum($result);
    // Configurar el total dse resultados
    $rate = rmdp_set_rating();
    // Establecemos los votos para ganar un punto de rating
    while ($row = $xoopsDB->fetchArray($result)) {
        $isnew = rmdp_element_isnew($row['fecha'], $newdays);
        $isupdate = rmdp_element_isnew($row['update'], $upddays);
        $desc = $myts->MakeTareaData4Show(substr($row['longdesc'], 0, 50));
        $desc = str_replace("<br />", ". ", $desc);
        $date = date($xoopsModuleConfig['dateformat'], $row['fecha']);
        $update = date($xoopsModuleConfig['dateformat'], $row['update']);
        $issponsor = rmdp_element_issponsor($row['id_soft']);
        if (rmdp_get_shotsnum($row['id_soft']) > 0) {
            $haveshots = true;
        } else {
            $haveshots = false;
        }
        $xoopsTpl->append('downloads', array('id' => $row['id_soft'], 'nombre' => $row['nombre'], 'desc' => $desc, 'version' => $row['version'], 'licence' => rmdp_get_licencename($row['licencia']), 'size' => rmdp_convert_size($row['size']), 'descargas' => $row['descargas'], 'rating' => rmdp_calculate_rating($row['rating'], $rate), 'calificacion' => $row['calificacion'], 'resaltar' => $row['resaltar'], 'fecha' => $date, 'isnew' => $isnew, 'update' => $update, 'isupdate' => $isupdate, 'issponsor' => $issponsor, 'votos' => sprintf(_RMDP_VOTES, $row['votos']), 'submitter' => $row['submitter'], 'uname' => rmdp_get_username($row['submitter']), 'os' => rmdp_get_downos($row['id_soft']), 'shots' => $haveshots));
    }
    if ($num % $limit > 0) {
        $tpages += 1;
    }
    $xoopsTpl->assign('lng_total_results', sprintf(_RMDP_TOTAL_RESULTS, $start + 1, ($pactual - 1) * $limit + $num2, $num));
    $nav = _RMDP_RESULT_PAGES;
    for ($i = 1; $i <= $tpages; $i++) {
        $nav .= "<a href='search.php?cat={$cat}&amp;key={$key}&amp;pag={$i}&amp;sort={$order}'>{$i}</a>&nbsp;";
    }
    $xoopsTpl->assign('nav_pages', $nav);
    $xoopsTpl->assign('resalte_bg', $xoopsModuleConfig['bgresalte']);
    $xoopsTpl->assign('results_title', $title);
    $xoopsTpl->assign('lng_resort_by', _RMDP_RESORT_BY);
    $xoopsTpl->assign('lng_nombre', _RMDP_ORDER_NAME);
    $xoopsTpl->assign('lng_fecha', _RMDP_ORDER_DATE);
    $xoopsTpl->assign('lng_rating', _RMDP_ORDER_RATING);
    $xoopsTpl->assign('lng_ourrating', _RMDP_ORDER_OURRATING);
    $xoopsTpl->assign('lng_downloads', _RMDP_ORDER_DOWNLOADS);
    $xoopsTpl->assign('lng_sendby', _RMDP_ORDER_SUBMITTER);
    $xoopsTpl->assign('lng_os', _RMDP_OS);
    $xoopsTpl->assign('lng_version', _RMDP_VERSION);
    $xoopsTpl->assign('lng_filesize', _RMDP_FILE_SIZE);
    $xoopsTpl->assign('lng_licence', _RMDP_LICENCE);
    $xoopsTpl->assign('lng_new', _RMDP_NEW_DOWN);
    $xoopsTpl->assign('lng_update', _RMDP_UPDATE_DOWN);
    $xoopsTpl->assign('lang_sponsored', _RMDP_SPONSORED);
    $xoopsTpl->assign('view_shots', _RMDP_VIEW_SHOT);
    $xoopsTpl->assign('rmdp_page', 'search.php?cat=$cat&amp;key=$key');
    if ($num > 0) {
        return 1;
    } else {
        return 0;
    }
}