/** * 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); } }
/** * 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; } }