/** * Check if a category exists already * @param object MWCategory object * @return bool */ public function category_exists(MWCategory $cat) { $db = XoopsDatabaseFactory::getDatabaseConnection(); $sql = "SELECT COUNT(*) FROM " . $db->prefix("mw_categories") . " WHERE name='" . $cat->getVar('name', 'n') . "' OR\n\t\t\t\tshortname='" . $cat->getVar('shortname', 'n') . "'"; if (!$cat->isNew()) { $sql .= " AND id_cat<>" . $cat->id(); } list($num) = $db->fetchRow($db->query($sql)); if ($num > 0) { return true; } return false; }
load_mod_locale("mywords"); $show = rmc_server_var($_GET, 'show', 'all'); $xoopsModule = RMFunctions::load_module('mywords'); $config = RMSettings::module_settings('mywords'); include_once XOOPS_ROOT_PATH . '/modules/mywords/class/mwfunctions.php'; $rss_channel = array(); switch ($show) { case 'cat': include_once XOOPS_ROOT_PATH . '/modules/mywords/class/mwcategory.class.php'; $id = rmc_server_var($_GET, 'cat', 0); if ($id <= 0) { redirect_header('backend.php', 1, __('Sorry, specified category was not foud!', 'mywords')); die; } $cat = new MWCategory($id); if ($cat->isNew()) { redirect_header('backend.php', 1, __('Sorry, specified category was not foud!', 'mywords')); die; } $rss_channel['title'] = sprintf(__('Posts in %s - %s', 'mywords'), $cat->name, $xoopsConfig['sitename']); $rss_channel['link'] = $cat->permalink(); $rss_channel['description'] = htmlspecialchars($cat->getVar('description'), ENT_QUOTES); $rss_channel['lastbuild'] = formatTimestamp(time(), 'rss'); $rss_channel['webmaster'] = checkEmail($xoopsConfig['adminmail'], true); $rss_channel['editor'] = checkEmail($xoopsConfig['adminmail'], true); $rss_channel['category'] = $cat->getVar('name'); $rss_channel['generator'] = 'Common Utilities'; $rss_channel['language'] = RMCLANG; $posts = MWFunctions::get_posts_by_cat($id, 0, 10); $rss_items = array(); foreach ($posts as $post) {
/** * @desc Genera la información para mostrar la Sindicación * @param int Limite de resultados * @return Array */ function &mywords_rssshow($limit) { global $util, $mc; $db = XoopsDatabaseFactory::getDatabaseConnection(); include_once XOOPS_ROOT_PATH . '/modules/mywords/class/mwcategory.class.php'; include_once XOOPS_ROOT_PATH . '/modules/mywords/class/mwpost.class.php'; foreach ($_GET as $k => $v) { ${$k} = $v; } $feed = array(); // Información General $ret = array(); $mc =& $util->moduleConfig('mywords'); if ($show == 'all') { $feed['title'] = htmlspecialchars(_MI_MW_RSSNAME); $feed['link'] = XOOPS_URL . '/modules/mywords'; $feed['description'] = htmlspecialchars($util->filterTags($mc['rssdesc'])); $sql = "SELECT * FROM " . $db->prefix("mw_posts") . " WHERE aprovado='1' AND estado>'0' ORDER BY modificado DESC LIMIT 0,{$limit}"; } else { if ($id == '') { return; } $cat = new MWCategory($id); if ($cat->isNew()) { return; } $feed['title'] = sprintf(_MI_MW_RSSNAMECAT, $cat->getName()); $feed['link'] = $cat->getLink(); $feed['description'] = $cat->getDescription(); $sql = "SELECT b.* FROM " . $db->prefix("mw_catpost") . " a," . $db->prefix("mw_posts") . " b WHERE a.cat='" . $cat->getID() . "' AND b.id_post=a.post AND b.aprovado='1' AND b.estado>'0' ORDER BY b.modificado DESC LIMIT 0,{$limit}"; } // Generamos los elementos $result = $db->query($sql); $posts = array(); while ($row = $db->fetchArray($result)) { $post = new MWPost(); $post->assignVars($row); $rtn = array(); $rtn['title'] = $post->getTitle(); $rtn['link'] = $post->getPermaLink(); $rtn['description'] = xoops_utf8_encode(htmlspecialchars($post->getHomeText(), ENT_QUOTES)); $rtn['pubDate'] = formatTimestamp($post->getDate()); $posts[] = $rtn; } $ret = array('feed' => $feed, 'items' => $posts); return $ret; }
/** * Almacenamos la categoría en la base de datos */ function saveCatego($edit = 0) { global $xoopsSecurity, $db; if (!$xoopsSecurity->check()) { redirectMsg('categories.php', __('Sorry, session token expired!', 'mywords'), 1); die; } $query = ''; foreach ($_POST as $k => $v) { ${$k} = $v; if ($k == 'op' || $k == 'XOOPS_TOKEN_REQUEST') { continue; } $query .= $query == '' ? "{$k}=" . urlencode($v) : '&' . $k . '=' . urlencode($v); } $query = $edit ? '&op=edit' : ''; if ($edit) { if ($id <= 0) { redirectMsg('categories.php', __('You must specify a valid category', 'mywords'), 1); die; } $catego = new MWCategory($id); if ($catego->isNew()) { redirectMsg('categories.php', __('Specified category not exists!', 'mywords'), 1); die; } } else { $catego = new MWCategory(); } if ($name == '') { redirectMsg('categories.php?' . $query, __('Please specify a name for this category!', 'mywords'), 1); die; } $shortname = $shortname == '' ? TextCleaner::sweetstring($name) : $shortname; # Verificamos que no exista la categoría $result = $db->query("SELECT COUNT(*) FROM " . $db->prefix("mw_categories") . " WHERE parent='{$parent}'" . ($edit ? " AND id_cat<>{$id}" : '') . " AND (name='{$name}' OR shortname='{$shortname}')"); list($num) = $db->fetchRow($result); if ($num > 0) { redirectMsg('categories.php?' . $query, __('There is already a category with the same name!', 'mywords'), 1); die; } # Si todo esta bien guardamos la categoría $catego->setVar('name', $name); $catego->setVar('shortname', $shortname); $catego->setVar('description', $desc); $catego->setVar('parent', $parent); if (!$edit) { $catego->setVar('posts', 0); } $result = $catego->save(); if ($result) { redirectMsg('categories.php', __('Category created succesfully!', 'mywords'), 0); } else { redirectMsg('categories.php?' . $query, __('There was an error!', 'mywords') . "<br />" . $catego->errors(), 1); } }
# ID de la categoria padre foreach ($path as $k) { if ($k == '') { continue; } $sql = "SELECT id_cat FROM {$tbl1} WHERE shortname='{$k}' AND parent='{$idp}'"; $result = $db->query($sql); if ($db->getRowsNum($result) > 0) { list($idp) = $db->fetchRow($result); } } $category = $idp; } } $catego = new MWCategory($category); if ($catego->isNew()) { redirect_header(MWFunctions::get_url(), 2, __('Specified category could not be found', 'mywords')); die; } // Datos de la Categoría $xoopsTpl->assign('category', array('id' => $catego->id(), 'name' => $catego->getVar('name'))); $xoopsTpl->assign('lang_postsincat', sprintf(__('Posts in ‘%s’ Category', 'mywords'), $catego->getVar('name'))); $request = substr($request, 0, strpos($request, 'page') > 0 ? strpos($request, 'page') - 1 : strlen($request)); //$request = // Select all posts from relations table //$sql = "SELECT post FROM ".$db->prefix("mw_catpost")." WHERE cat='$category'"; //$result = $db->query($sql); /** * Paginacion de Resultados */ $limit = $mc['posts_limit'];