/** * Función para realizar búsquedas */ function qpages_search($qa, $andor, $limit, $offset, $userid) { global $xoopsUser, $mc; include_once XOOPS_ROOT_PATH . '/modules/qpages/class/qppage.class.php'; $mc = RMUtilities::module_config('qpages'); $db = XoopsDatabaseFactory::getDatabaseConnection(); $sql = "SELECT * FROM " . $db->prefix("qpages_pages"); $adds = ''; if (is_array($qa) && ($count = count($qa))) { $adds = ''; for ($i = 0; $i < $count; $i++) { $adds .= $adds == '' ? "(titulo LIKE '%{$qa[$i]}%' OR titulo_amigo LIKE '%{$qa[$i]}%')" : " {$andor} (titulo LIKE '%{$qa[$i]}%' OR titulo_amigo LIKE '%{$qa[$i]}%')"; } } $sql .= $adds != '' ? " WHERE {$adds}" : ''; if ($userid > 0) { $sql .= ($adds != '' ? " AND " : " WHERE ") . "uid='{$userid}'"; } $sql .= " ORDER BY modificado DESC"; $i = 0; $result = $db->query($sql); $ret = array(); while ($row = $db->fetchArray($result)) { $page = new QPPage(); $page->assignVars($row); $ret[$i]['image'] = "images/page.png"; $ret[$i]['link'] = $mc['links'] == 0 ? 'page.php?page=' . $page->getFriendTitle() : $page->getFriendTitle() . '/'; $ret[$i]['title'] = $page->getTitle(); $ret[$i]['time'] = $page->getDate(); $ret[$i]['uid'] = $page->uid(); $ret[$i]['desc'] = $page->getDescription(); $i++; } return $ret; }
/** * Muestra los envíos existentes */ function showPages($acceso = -1) { global $mc, $xoopsModule, $xoopsSecurity; $keyw = rmc_server_var($_REQUEST, 'keyw', ''); $acceso = rmc_server_var($_REQUEST, 'acceso', -1); $cat = rmc_server_var($_REQUEST, 'cat', ''); $db = XoopsDatabaseFactory::getDatabaseConnection(); $sql = "SELECT COUNT(*) FROM " . $db->prefix("qpages_pages"); if ($acceso >= 0) { $sql .= " WHERE acceso={$acceso}"; } if (trim($keyw) != '') { $sql .= ($acceso >= 0 ? " AND " : " WHERE ") . "titulo LIKE '%{$keyw}%'"; } if (isset($cat) && $cat > 0) { $sql .= ($acceso >= 0 || $keyw != '' ? " AND " : " WHERE ") . "cat='{$cat}'"; } /** * Paginacion de Resultados */ $page = rmc_server_var($_REQUEST, 'page', 1); $page = $page <= 0 ? 1 : $page; $limit = 15; list($num) = $db->fetchRow($db->query($sql)); $tpages = ceil($num / $limit); $page = $page > $tpages ? $tpages : $page; $start = $num <= 0 ? 0 : ($page - 1) * $limit; $nav = new RMPageNav($num, $limit, $page, 5); $nav->target_url('pages.php?cat=' . $cat . '&page={PAGE_NUM}'); $sql .= " ORDER BY id_page DESC LIMIT {$start},{$limit}"; $sql = str_replace("SELECT COUNT(*)", "SELECT *", $sql); $result = $db->query($sql); $pages = array(); while ($row = $db->fetchArray($result)) { $p = new QPPage(); $p->assignVars($row); # Enlaces para las categorías $catego = new QPCategory($p->getCategory()); $pages[] = array('id' => $p->getID(), 'titulo' => $p->getTitle(), 'catego' => $catego->getName(), 'fecha' => formatTimeStamp($p->getDate(), 's'), 'link' => $p->getPermaLink(), 'estado' => $p->getAccess(), 'modificada' => $p->getModDate() == 0 ? '--' : formatTimestamp($p->getModDate(), 'c'), 'lecturas' => $p->getReads(), 'order' => $p->order(), 'type' => $p->type(), 'desc' => $p->getDescription()); } /** * Cargamos las categorias */ $categos = array(); qpArrayCategos($categos); $categories = array(); foreach ($categos as $k) { $categories[] = array('id' => $k['id_cat'], 'nombre' => $k['nombre'], 'saltos' => $k['saltos']); } RMTemplate::get()->add_style('admin.css', 'qpages'); RMTemplate::get()->add_script('../include/js/qpages.js'); RMTemplate::get()->add_script(RMCURL . '/include/js/jquery.checkboxes.js'); RMTemplate::get()->assign('xoops_pagetitle', __('Pages Management', 'qpages')); xoops_cp_location('<a href="./">' . $xoopsModule->name() . '</a> » ' . ($acceso < 0 ? __('All Pages', 'qpages') : ($acceso == 0 ? __('Draft pages', 'qpages') : __('Published pages', 'qpages')))); xoops_cp_header(); include RMTemplate::get()->get_template("admin/qp_pages.php", 'module', 'qpages'); xoops_cp_footer(); }