check_feature('feature_articles'); if (isset($_REQUEST["remove"])) { $artperms = Perms::get([ 'type' => 'article', 'object' => $_REQUEST['remove'] ]); if ($artperms->remove_article != 'y') { $smarty->assign('errortype', 401); $smarty->assign('msg', tra("You do not have permission to remove articles")); $smarty->display("error.tpl"); die; } $access->check_authenticity(); $artlib->remove_article($_REQUEST["remove"]); } // This script can receive the threshold // for the information as the number of // days to get in the log 1,3,4,etc // it will default to 1 recovering information for today if (empty($_REQUEST["sort_mode"])) { $sort_mode = $prefs['art_sort_mode']; } else { $sort_mode = $_REQUEST["sort_mode"]; } $smarty->assign_by_ref('sort_mode', $sort_mode); // If offset is set use it if not then use offset =0 // use the maxRecords php variable to set the limit // if sortMode is not set then use lastModif_desc if (! isset($_REQUEST["offset"])) { $offset = 0; } else { $offset = $_REQUEST["offset"]; } $smarty->assign_by_ref('offset', $offset); if (isset($_REQUEST['date_min']) || isset($_REQUEST['date_max'])) { $date_min = isset($_REQUEST['date_min']) ? $_REQUEST['date_min'] : 0; $date_max = isset($_REQUEST['date_max']) ? $_REQUEST['date_max'] : $tikilib->now; } elseif (isset($_SESSION["thedate"])) { $date_min = 0; if ($_SESSION["thedate"] < $tikilib->now) { $date_max = $_SESSION["thedate"]; } else { if ($tiki_p_admin == 'y' || $tiki_p_admin_cms == 'y') { $date_max = $_SESSION["thedate"]; } else { $date_max = $tikilib->now; } } } else { $date_min = 0; $date_max = $tikilib->now; } //Keep track of month of last viewed article for article months_links module foldable display $_SESSION['cms_last_viewed_month'] = TikiLib::date_format("%Y-%m", $date_max); $min_rating = isset($_REQUEST['min_rating']) ? $_REQUEST['min_rating'] : ''; $max_rating = isset($_REQUEST['max_rating']) ? $_REQUEST['max_rating'] : ''; if (isset($_REQUEST["find"])) { $find = $_REQUEST["find"]; } else { $find = ''; } $smarty->assign_by_ref('find', $find); if (isset($_REQUEST["type"])) { $type = $_REQUEST["type"]; } else { $type = ''; } if (isset($_REQUEST["topic"])) { $topic = $_REQUEST["topic"]; } else { $topic = ''; } if (isset($_REQUEST['topicName'])) { $topicName = $_REQUEST['topicName']; } else { $topicName = ''; } if (isset($_REQUEST["categId"])) { $categId = $_REQUEST["categId"]; } else { $categId = ''; } $smarty->assign_by_ref('categId', $categId); if (! isset($_REQUEST['lang'])) { $_REQUEST['lang'] = ''; } // Get a list of last changes to the Wiki database $listpages = $artlib->list_articles($offset, $prefs['maxArticles'], $sort_mode, $find, $date_min, $date_max, $user, $type, $topic, 'y', $topicName, $categId, '', '', $_REQUEST['lang'], $min_rating, $max_rating, false, 'y'); if ($prefs['feature_multilingual'] == 'y') { $multilinguallib = TikiLib::lib('multilingual'); $listpages['data'] = $multilinguallib->selectLangList('article', $listpages['data']); foreach ($listpages['data'] as &$article) { $article['translations'] = $multilinguallib->getTranslations('article', $article['articleId'], $article["title"], $article['lang']); } } $smarty->assign('useLinktoURL', 'n'); $topics = $artlib->list_topics(); $smarty->assign_by_ref('topics', $topics); $temp_max = count($listpages["data"]); for ($i = 0; $i < $temp_max; $i++) { $listpages["data"][$i]["parsed_heading"] = TikiLib::lib('parser')->parse_data( $listpages["data"][$i]["heading"], [ 'min_one_paragraph' => true, 'is_html' => $artlib->is_html($listpages["data"][$i], true), ] ); $comments_prefix_var = 'article:'; $comments_object_var = $listpages["data"][$i]["articleId"]; $comments_objectId = $comments_prefix_var . $comments_object_var; $listpages["data"][$i]["comments_cant"] = TikiLib::lib('comments')->count_comments($comments_objectId); if ($prefs['feature_freetags'] == 'y') { // And get the Tags for the posts $listpages["data"][$i]["freetags"] = $freetaglib->get_tags_on_object($listpages["data"][$i]["articleId"], "article"); } } if (! empty($topicName) && ! strstr($topicName, '!') && ! strstr($topicName, '+')) { $smarty->assign_by_ref('topic', $topicName); } elseif (! empty($topic) && is_numeric($topic)) { if (! empty($listpages['data'][0]['topicName'])) { $smarty->assign_by_ref('topic', $listpages['data'][0]['topicName']); } else { $topic_info = $artlib->get_topic($topic); if (isset($topic_info['name'])) { $smarty->assign_by_ref('topic', $topic_info['name']); } } } if (! empty($type) && ! strstr($type, '!') && ! strstr($type, '+')) { $smarty->assign_by_ref('type', $type); } $smarty->assign('maxArticles', $prefs['maxArticles']); // If there're more records then assign next_offset $smarty->assign_by_ref('listpages', $listpages["data"]); $smarty->assign_by_ref('cant', $listpages["cant"]); if ($prefs['feature_user_watches'] == 'y') { if ($user && isset($_REQUEST['watch_action'])) { $access->check_authenticity(); if ($_REQUEST['watch_action'] == 'add') { $tikilib->add_user_watch($user, 'article_*', '*'); } else { $tikilib->remove_user_watch($user, 'article_*', '*', null); } } $smarty->assign('user_watching_articles', ($user && $tikilib->user_watches($user, 'article_*', '*')) ? 'y' : 'n'); } $headerLinks = 'y'; $smarty->assign('headerLinks', $headerLinks); include_once('tiki-section_options.php'); ask_ticket('view_article'); // Display the template $smarty->assign('mid', 'tiki-view_articles.tpl'); $smarty->display("tiki.tpl");