$valid_id[] = $aid; } $art_id = $valid_id; break; } $message = art_constant("MD_ACTIONDONE"); } if ($op == "rate") { if ($xoopsUserIsAdmin) { $art_id_valid = $art_id; } else { $criteria = new Criteria("art_id", "(" . implode(",", $art_id) . ")", "IN"); $arts = $article_handler->getAll($criteria, array("cat_id"), false); $art_id_valid = array(); foreach ($arts as $aid => $art) { if (art_isModerator($art["cat_id"])) { $art_id_valid[] = $aid; } } } if ($art_id_valid) { $rate_handler =& xoops_getmodulehandler("rate", $GLOBALS["artdirname"]); $rate_handler->deleteByArticle($art_id_valid); $article_handler->updateAll("art_rating", 0, new Criteria("art_id", "(" . implode(",", $art_id_valid) . ")", "IN"), true); $article_handler->updateAll("art_rates", 0, new Criteria("art_id", "(" . implode(",", $art_id_valid) . ")", "IN"), true); } $message = art_constant("MD_ACTIONDONE"); } /* }elseif(art_isAdministrator()){ for($i=0;$i<$count_artid;$i++){
} $categories_id = array($category_id); } $tags = array("cat_title"); if (!empty($uid)) { $tags[] = "cat_moderator"; } if (!($categories_obj = $category_handler->getAllByPermission("access", $tags))) { redirect_header("index.php", 2, art_constant("MD_NOACCESS")); } $categories_id = empty($categories_id) ? array_keys($categories_obj) : $categories_id; /* * Instantiate user object */ if (!empty($category_obj)) { $xoopsuser_is_admin = art_isAdministrator() || art_isModerator($category_obj); } else { $xoopsuser_is_admin = art_isAdministrator(); } $xoopsuser_is_author = false; if (!empty($uid)) { if (!empty($xoopsUser) && $uid == $xoopsUser->getVar("uid")) { $author_obj =& $xoopsUser; $xoopsuser_is_author = true; } else { $member_handler =& xoops_gethandler("member"); $author_obj =& $member_handler->getUser($uid); } if (empty($author_obj) || !$author_obj->isActive()) { redirect_header(XOOPS_URL . "/modules/" . $GLOBALS["artdirname"] . "/index.php", 2, art_constant("MD_INVALID")); exit;
$topic_id = intval(empty($_GET["topic"]) ? @$args["topic"] : $_GET["topic"]); $start = intval(empty($_GET["start"]) ? @$args["start"] : $_GET["start"]); $topic_handler =& xoops_getmodulehandler("topic", $GLOBALS["artdirname"]); $topic_obj =& $topic_handler->get($topic_id); /* * Global Xoops Entity could be used by blocks or other add-ons * Designed by Skalpa for Xoops 2.3+ */ $xoopsEntity =& $topic_obj; $category_handler =& xoops_getmodulehandler("category", $GLOBALS["artdirname"]); $category_obj =& $category_handler->get($topic_obj->getVar("cat_id")); if (!$category_handler->getPermission($category_obj, "access")) { redirect_header(XOOPS_URL . "/modules/" . $GLOBALS["artdirname"] . "/index.php", 2, art_constant("MD_NOACCESS")); } // Disable cache for category moderators since we don't have proper cache handling way for them if (art_isModerator($category_obj)) { $xoopsConfig["module_cache"][$xoopsModule->getVar("mid")] = 0; } $xoopsOption["xoops_pagetitle"] = $xoopsModule->getVar("name") . " - " . $topic_obj->getVar("top_title"); $template = $topic_obj->getVar("top_template"); $xoopsOption["template_main"] = art_getTemplate("topic", $template); $xoopsOption["xoops_module_header"] = art_getModuleHeader($template); include_once XOOPS_ROOT_PATH . "/header.php"; include XOOPS_ROOT_PATH . "/modules/" . $xoopsModule->getVar("dirname") . "/include/vars.php"; $article_handler =& xoops_getmodulehandler("article", $GLOBALS["artdirname"]); $articles_object = $topic_handler->getArticles($topic_obj, $xoopsModuleConfig["articles_perpage"], $start); $articles = array(); $uids = array(); foreach (array_keys($articles_object) as $id) { $uids[$articles_object[$id]->getVar("uid")] = 1; }
if (!empty($article_id)) { $args_REQUEST_URI[] = "article=" . $article_id; } if (!empty($page)) { $args_REQUEST_URI[] = "page=" . $page; } if (!empty($category_id)) { $args_REQUEST_URI[] = "category=" . $category_id; } $_SERVER["REQUEST_URI"] = substr($_SERVER["REQUEST_URI"], 0, strpos($_SERVER["REQUEST_URI"], "/modules/" . $GLOBALS["artdirname"] . "/view.article.php")) . "/modules/" . $GLOBALS["artdirname"] . "/view.article.php" . (empty($args_REQUEST_URI) ? "" : "?" . implode("&", $args_REQUEST_URI)); } $xoopsOption["xoops_pagetitle"] = $xoopsModule->getVar("name") . " - " . $article_obj->getVar("art_title"); $template = $article_obj->getVar("art_template"); $xoopsOption["template_main"] = art_getTemplate("article", $template); // Disable cache for author and category moderator since we don't have proper cache handling way for them if ($isAuthor || art_isModerator($category_obj)) { $xoopsConfig["module_cache"][$xoopsModule->getVar("mid")] = 0; } $xoopsOption["xoops_module_header"] = art_getModuleHeader($template) . "\r\n <link rel=\"alternate\" type=\"application/rss+xml\" title=\"" . $xoopsModule->getVar("name") . " article rss\" href=\"" . XOOPS_URL . "/modules/" . $GLOBALS["artdirname"] . "/xml.php" . URL_DELIMITER . "rss/" . $article_id . "/c" . $category_id . "\" />\r\n <link rel=\"alternate\" type=\"application/rss+xml\" title=\"" . $xoopsModule->getVar("name") . " article rdf\" href=\"" . XOOPS_URL . "/modules/" . $GLOBALS["artdirname"] . "/xml.php" . URL_DELIMITER . "rdf/" . $article_id . "/c" . $category_id . "\" />\r\n <link rel=\"alternate\" type=\"application/atom+xml\" title=\"" . $xoopsModule->getVar("name") . " article atom\" href=\"" . XOOPS_URL . "/modules/" . $GLOBALS["artdirname"] . "/xml.php" . URL_DELIMITER . "atom/" . $article_id . "/c" . $category_id . "\" />\r\n "; // To enable image auto-resize by js //$xoopsOption["xoops_module_header"] .= '<script src="' . XOOPS_URL . '/Frameworks/textsanitizer/xoops.js" type="text/javascript"></script>'; include XOOPS_ROOT_PATH . "/header.php"; include XOOPS_ROOT_PATH . "/modules/" . $xoopsModule->getVar("dirname") . "/include/vars.php"; // Topics $topic_handler =& xoops_getmodulehandler("topic", $GLOBALS["artdirname"]); $criteria = new CriteriaCompo(new Criteria("t.top_expire", time(), ">")); $topics_obj =& $topic_handler->getByArticle($article_id, $criteria); $topics = array(); foreach ($topics_obj as $id => $topic) { $topics[] = array("id" => $id, "title" => $topic->getVar("top_title")); }