/** * 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&ids=" . $row['id_soft'] . "'><img src='images/edit.gif' border='0'></a>\n\t\t\t\t<a href='admin/downs.php?op=review&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> "; /** * 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&id=" . $row['id_soft'] . "'><img src='images/edit.gif' border='0'></a>"; } $useroptions .= "</div>"; $xoopsTpl->assign('user_options', $useroptions); } }
$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";
{ global $xoopsModuleConfig, $id; if ($xoopsModuleConfig['shotlink']) { return $img . '" target="_blank'; } else { return 'shots.php?id=' . $id . '&shot=' . $shot . '&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> > "; 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> > '; $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}&key={$key}&pag={$i}&sort={$order}'>{$i}</a> "; } $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&key=$key'); if ($num > 0) { return 1; } else { return 0; } }