function b_news_randomnews_show($options) { include_once XOOPS_ROOT_PATH . '/modules/news/include/functions.php'; $myts =& MyTextSanitizer::getInstance(); $block = array(); $block['sort'] = $options[0]; $tmpstory = new NewsStory(); $restricted = news_getmoduleoption('restrictindex'); $dateformat = news_getmoduleoption('dateformat'); $infotips = news_getmoduleoption('infotips'); if ($dateformat == '') { $dateformat = 's'; } if ($options[4] == 0) { $stories = $tmpstory->getRandomNews($options[1], 0, $restricted, 0, 1, $options[0]); } else { $topics = array_slice($options, 4); $stories = $tmpstory->getRandomNews($options[1], 0, $restricted, $topics, 1, $options[0]); } unset($tmpstory); if (count($stories) == 0) { return ''; } foreach ($stories as $story) { $news = array(); $title = $story->title(); if (strlen($title) > $options[2]) { $title = xoops_substr($title, 0, $options[2] + 3); } $news['title'] = $title; $news['id'] = $story->storyid(); $news['date'] = formatTimestamp($story->published(), $dateformat); $news['hits'] = $story->counter(); $news['rating'] = $story->rating(); $news['votes'] = $story->votes(); $news['author'] = sprintf("%s %s", _POSTEDBY, $story->uname()); $news['topic_title'] = $story->topic_title(); $news['topic_color'] = '#' . $myts->displayTarea($story->topic_color); if ($options[3] > 0) { $html = $story->nohtml() == 1 ? 0 : 1; $news['teaser'] = news_truncate_tagsafe($myts->displayTarea($story->hometext, $html), $options[3] + 3); $news['infotips'] = ''; } else { $news['teaser'] = ''; if ($infotips > 0) { $news['infotips'] = ' title="' . news_make_infotips($story->hometext()) . '"'; } else { $news['infotips'] = ''; } } $block['stories'][] = $news; } $block['lang_read_more'] = _MB_READMORE; return $block; }
/** * Dispay a block where news moderators can show news that need to be moderated. */ function b_news_topics_moderate() { include_once XOOPS_ROOT_PATH . '/modules/news/class/class.newsstory.php'; include_once XOOPS_ROOT_PATH . '/modules/news/include/functions.php'; $block = array(); $dateformat = news_getmoduleoption('dateformat'); $infotips = news_getmoduleoption('infotips'); $storyarray = NewsStory::getAllSubmitted(0, true, news_getmoduleoption('restrictindex')); if (count($storyarray) > 0) { $block['lang_story_title'] = _MB_TITLE; $block['lang_story_date'] = _MB_POSTED; $block['lang_story_author'] = _MB_POSTER; $block['lang_story_action'] = _MB_ACTION; $block['lang_story_topic'] = _MB_TOPIC; $myts =& MyTextSanitizer::getInstance(); foreach ($storyarray as $newstory) { $title = $newstory->title(); $htmltitle = ''; if ($infotips > 0) { $story['infotips'] = news_make_infotips($newstory->hometext()); $htmltitle = ' title="' . $story['infotips'] . '"'; } if (!isset($title) || $title == '') { $linktitle = "<a href='" . XOOPS_URL . "/modules/news/index.php?op=edit&storyid=" . $newstory->storyid() . "' target='_blank'" . $htmltitle . ">" . _AD_NOSUBJECT . "</a>"; } else { $linktitle = "<a href='" . XOOPS_URL . "/modules/news/submit.php?op=edit&storyid=" . $newstory->storyid() . "' target='_blank'" . $htmltitle . ">" . $title . "</a>"; } $story = array(); $story['title'] = $linktitle; $story['date'] = formatTimestamp($newstory->created(), $dateformat); $story['author'] = "<a href='" . XOOPS_URL . "/userinfo.php?uid=" . $newstory->uid() . "'>" . $newstory->uname() . "</a>"; $story['action'] = "<a href='" . XOOPS_URL . "/modules/news/admin/index.php?op=edit&storyid=" . $newstory->storyid() . "'>" . _EDIT . "</a> - <a href='" . XOOPS_URL . "/modules/news/admin/index.php?op=delete&storyid=" . $newstory->storyid() . "'>" . _MB_DELETE . "</a>"; $story['topic_title'] = $newstory->topic_title(); $story['topic_color'] = '#' . $myts->displayTarea($newstory->topic_color); $block['stories'][] =& $story; unset($story); } } return $block; }
function b_news_bigstory_show() { include_once XOOPS_ROOT_PATH . '/modules/news/include/functions.php'; include_once XOOPS_ROOT_PATH . '/modules/news/class/class.newsstory.php'; $myts =& MyTextSanitizer::getInstance(); $restricted = news_getmoduleoption('restrictindex'); $dateformat = news_getmoduleoption('dateformat'); $infotips = news_getmoduleoption('infotips'); $block = array(); $onestory = new NewsStory(); $stories = $onestory->getBigStory(1, 0, $restricted, 0, 1, true, 'counter'); if (count($stories) == 0) { $block['message'] = _MB_NEWS_NOTYET; } else { foreach ($stories as $key => $story) { $htmltitle = ''; if ($infotips > 0) { $block['infotips'] = news_make_infotips($story->hometext()); $htmltitle = ' title="' . $block['infotips'] . '"'; } $block['htmltitle'] = $htmltitle; $block['message'] = _MB_NEWS_TMRSI; $block['story_title'] = $story->title('Show'); $block['story_id'] = $story->storyid(); $block['story_date'] = formatTimestamp($story->published(), $dateformat); $block['story_hits'] = $story->counter(); $block['story_rating'] = $story->rating(); $block['story_votes'] = $story->votes(); $block['story_author'] = $story->uname(); $block['story_text'] = $story->hometext(); $block['story_topic_title'] = $story->topic_title(); $block['story_topic_color'] = '#' . $myts->displayTarea($story->topic_color); } } return $block; }
/** * Notes about the spotlight : * If you have restricted topics on index page (in fact if the program must completly respect the permissions) and if * the news you have selected to be viewed in the spotlight can't be viewed by someone then the spotlight is not visible ! * This is available in the classical and in the tabbed view. * But if you have uncheck the option "Restrict topics on index page", then the news will be visible but users without * permissions will be rejected when they will try to read news content. * * Also, if you have selected a tabbed view and wanted to use the Spotlight but did not choosed a story, then the block * will switch to the "most recent news" mode (the visible news will be searched according to the permissions) */ function b_news_top_show($options) { global $xoopsConfig; include_once XOOPS_ROOT_PATH . '/modules/news/include/functions.php'; $myts =& MyTextSanitizer::getInstance(); $block = array(); $displayname = news_getmoduleoption('displayname'); $tabskin = news_getmoduleoption('tabskin'); if (file_exists(XOOPS_ROOT_PATH . '/modules/news/language/' . $xoopsConfig['language'] . '/main.php')) { include_once XOOPS_ROOT_PATH . '/modules/news/language/' . $xoopsConfig['language'] . '/main.php'; } else { include_once XOOPS_ROOT_PATH . '/modules/news/language/english/main.php'; } $block['displayview'] = $options[8]; $block['tabskin'] = $tabskin; $block['imagesurl'] = XOOPS_URL . '/modules/news/images/'; $restricted = news_getmoduleoption('restrictindex'); $dateformat = news_getmoduleoption('dateformat'); $infotips = news_getmoduleoption('infotips'); $newsrating = news_getmoduleoption('ratenews'); if ($dateformat == '') { $dateformat = 's'; } $perm_verified = false; $news_visible = true; // Is the spotlight visible ? if ($options[4] == 1 && $restricted && $options[5] == 0) { $perm_verified = true; $permittedtopics = news_MygetItemIds(); $permstory = new NewsStory($options[6]); if (!in_array($permstory->topicid(), $permittedtopics)) { $usespotlight = false; $news_visible = false; $topicstitles = array(); } $options[4] == 0; } // Try to see what tabs are visibles (if we are in restricted view of course) if ($options[8] == 2 && $restricted && $options[14] != 0) { $topics2 = array(); $permittedtopics = news_MygetItemIds(); $topics = array_slice($options, 14); foreach ($topics as $onetopic) { if (in_array($onetopic, $permittedtopics)) { $topics2[] = $onetopic; } } $before = array_slice($options, 0, 14); $options = array_merge($before, $topics2); } if ($options[8] == 2) { // Tabbed view ******************************************************************************************** $defcolors[1] = array('#F90', '#FFFFFF', '#F90', '#C60', '#999'); // Bar Style $defcolors[2] = array('#F90', '#FFFFFF', '#F90', '#AAA', '#666'); // Beveled $defcolors[3] = array('#F90', '#FFFFFF', '', '#789', '#789'); // Classic $defcolors[4] = array('#F90', '#FFFFFF', '', '', ''); // Folders $defcolors[5] = array('#F90', '#FFFFFF', '#CCC', 'inherit', '#999'); // MacOs $defcolors[6] = array('#F90', '#FFFFFF', '#FFF', '#DDD', '#999'); // Plain $defcolors[7] = array('#F90', '#FFFFFF', '', '', ''); // Rounded $defcolors[8] = array('#F90', '#FFFFFF', '#F90', '#930', '#C60'); // ZDnet $myurl = $_SERVER['PHP_SELF']; if (substr($myurl, strlen($myurl) - 1, 1) == '/') { $myurl .= 'index.php'; } $myurl .= '?'; foreach ($_GET as $key => $value) { if ($key != 'NewsTab') { $myurl .= $key . '=' . $value . '&'; } } $block['url'] = $myurl; $tabscount = 0; $usespotlight = false; if (isset($_GET['NewsTab'])) { $_SESSION['NewsTab'] = intval($_GET['NewsTab']); $currenttab = intval($_GET['NewsTab']); } elseif (isset($_SESSION['NewsTab'])) { $currenttab = intval($_SESSION['NewsTab']); } else { $currenttab = 0; } $tmpstory = new NewsStory(); $topic = new NewsTopic(); $topicstitles = array(); if ($options[4] == 1) { // Spotlight enabled $topicstitles[0] = _MB_NEWS_SPOTLIGHT_TITLE; $tabscount++; $usespotlight = true; } if ($options[5] == 0 && $restricted) { // Use a specific news and we are in restricted mode if (!$perm_verified) { $permittedtopics = news_MygetItemIds(); $permstory = new NewsStory($options[6]); if (!in_array($permstory->topicid(), $permittedtopics)) { $usespotlight = false; $topicstitles = array(); } //unset($permstory); } else { if (!$news_visible) { $usespotlight = false; $topicstitles = array(); } } } $block['use_spotlight'] = $usespotlight; if (isset($options[14]) && $options[14] != 0) { // Topic to use $topics = array_slice($options, 14); $tabscount += count($topics); $topicstitles = $topic->getTopicTitleFromId($topics, $topicstitles); } $tabs = array(); if ($usespotlight) { $tabs[] = array('id' => 0, 'title' => _MB_NEWS_SPOTLIGHT_TITLE); } if (count($topics) > 0) { foreach ($topics as $onetopic) { if (isset($topicstitles[$onetopic])) { $tabs[] = array('id' => $onetopic, 'title' => $topicstitles[$onetopic]['title'], 'picture' => $topicstitles[$onetopic]['picture']); } } } $block['tabs'] = $tabs; $block['current_is_spotlight'] = false; $block['current_tab'] = $currenttab; $block['use_rating'] = $newsrating; if ($currenttab == 0 && $usespotlight) { // Spotlight or not ? $block['current_is_spotlight'] = true; if ($options[5] == 0 && $options[6] == 0) { // If the story to use was no selected then we switch to the "recent news" mode. $options[5] = 1; } if ($options[5] == 0) { // Use a specific news if (!isset($permstory)) { $tmpstory->NewsStory($options[6]); } else { $tmpstory = $permstory; } } else { // Use the most recent news $stories = array(); $stories = $tmpstory->getAllPublished(1, 0, $restricted, 0, 1, true, $options[0]); if (count($stories) > 0) { $firststory = $stories[0]; $tmpstory->NewsStory($firststory->storyid()); } else { $block['use_spotlight'] = false; } } $spotlight = array(); $spotlight['title'] = $tmpstory->title(); if ($options[7] != '') { $spotlight['image'] = sprintf("<a href='%s'>%s</a>", XOOPS_URL . '/modules/news/article.php?storyid=' . $tmpstory->storyid(), $myts->displayTarea($options[7], $tmpstory->nohtml)); } $spotlight['text'] = $tmpstory->hometext(); // Added 16 february 2007 ***************************************** $story_user = null; $story_user = new XoopsUser($tmpstory->uid()); if (is_object($story_user)) { $spotlight['avatar'] = XOOPS_UPLOAD_URL . '/' . $story_user->getVar('user_avatar'); } // **************************************************************** $spotlight['id'] = $tmpstory->storyid(); $spotlight['date'] = formatTimestamp($tmpstory->published(), $dateformat); $spotlight['hits'] = $tmpstory->counter(); $spotlight['rating'] = number_format($tmpstory->rating(), 2); $spotlight['votes'] = $tmpstory->votes(); if (strlen(xoops_trim($tmpstory->bodytext())) > 0) { $spotlight['read_more'] = true; } else { $spotlight['read_more'] = false; } $spotlight['readmore'] = sprintf("<a href='%s'>%s</a>", XOOPS_URL . '/modules/news/article.php?storyid=' . $tmpstory->storyid(), _MB_READMORE); $spotlight['title_with_link'] = sprintf("<a href='%s'>%s</a>", XOOPS_URL . '/modules/news/article.php?storyid=' . $tmpstory->storyid(), $tmpstory->title()); if ($tmpstory->votes() == 1) { $spotlight['number_votes'] = _NW_ONEVOTE; } else { $spotlight['number_votes'] = sprintf(_NW_NUMVOTES, $tmpstory->votes()); } $spotlight['votes_with_text'] = sprintf(_NW_NUMVOTES, $tmpstory->votes()); $spotlight['topicid'] = $tmpstory->topicid(); $spotlight['topic_title'] = $tmpstory->topic_title(); // Added, topic's image and description $spotlight['topic_image'] = XOOPS_URL . '/modules/news/images/topics/' . $tmpstory->topic_imgurl(); $spotlight['topic_description'] = $myts->displayTarea($tmpstory->topic_description, 1); if ($displayname != 3) { $spotlight['author'] = sprintf("%s %s", _POSTEDBY, $tmpstory->uname()); $spotlight['author_with_link'] = sprintf("%s <a href='%s'>%s</a>", _POSTEDBY, XOOPS_URL . '/userinfo.php?uid=' . $tmpstory->uid(), $tmpstory->uname()); } else { $spotlight['author'] = ''; $spotlight['author_with_link'] = ''; } $spotlight['author_id'] = $tmpstory->uid(); // Create the summary table under the spotlight text if (isset($options[14]) && $options[14] == 0) { // Use all topics $stories = $tmpstory->getAllPublished($options[1], 0, $restricted, 0, 1, true, $options[0]); } else { // Use some topics $topics = array_slice($options, 14); $stories = $tmpstory->getAllPublished($options[1], 0, $restricted, $topics, 1, true, $options[0]); } if (count($stories) > 0) { foreach ($stories as $key => $story) { $news = array(); $title = $story->title(); if (strlen($title) > $options[2]) { $title = xoops_substr($title, 0, $options[2] + 3); } $news['title'] = $title; $news['id'] = $story->storyid(); $news['date'] = formatTimestamp($story->published(), $dateformat); $news['hits'] = $story->counter(); $news['rating'] = number_format($story->rating(), 2); $news['votes'] = $story->votes(); $news['topicid'] = $story->topicid(); $news['topic_title'] = $story->topic_title(); $news['topic_color'] = '#' . $myts->displayTarea($story->topic_color); if ($displayname != 3) { $news['author'] = sprintf("%s %s", _POSTEDBY, $story->uname()); } else { $news['author'] = ''; } if ($options[3] > 0) { $html = $story->nohtml() == 1 ? 0 : 1; $news['teaser'] = news_truncate_tagsafe($myts->displayTarea($story->hometext(), $html), $options[3] + 3); } else { $news['teaser'] = ''; } if ($infotips > 0) { $news['infotips'] = ' title="' . news_make_infotips($story->hometext()) . '"'; } else { $news['infotips'] = ''; } $news['title_with_link'] = sprintf("<a href='%s'%s>%s</a>", XOOPS_URL . '/modules/news/article.php?storyid=' . $story->storyid(), $news['infotips'], $title); $spotlight['news'][] = $news; } } $block['spotlight'] = $spotlight; } else { if ($tabscount > 0) { $topics = array_slice($options, 14); $thetopic = $currenttab; $stories = $tmpstory->getAllPublished($options[1], 0, $restricted, $thetopic, 1, true, $options[0]); $topic->getTopic($thetopic); // Added, topic's image and description $block['topic_image'] = XOOPS_URL . '/modules/news/images/topics/' . $topic->topic_imgurl(); $block['topic_description'] = $topic->topic_description(); $smallheader = array(); $stats = $topic->getTopicMiniStats($thetopic); $smallheader[] = sprintf("<a href='%s'>%s</a>", XOOPS_URL . '/modules/news/index.php?storytopic=' . $thetopic, _MB_READMORE); $smallheader[] = sprintf("%u %s", $stats['count'], _NW_ARTICLES); $smallheader[] = sprintf("%u %s", $stats['reads'], _READS); if (count($stories) > 0) { foreach ($stories as $key => $story) { $news = array(); $title = $story->title(); if (strlen($title) > $options[2]) { $title = news_truncate_tagsafe($title, $options[2] + 3); } if ($options[7] != '') { $news['image'] = sprintf("<a href='%s'>%s</a>", XOOPS_URL . '/modules/news/article.php?storyid=' . $story->storyid(), $myts->displayTarea($options[7], $story->nohtml)); } if ($options[3] > 0) { $html = $story->nohtml() == 1 ? 0 : 1; $news['text'] = news_truncate_tagsafe($myts->displayTarea($story->hometext(), $html), $options[3] + 3); } else { $news['text'] = ''; } if ($story->votes() == 1) { $news['number_votes'] = _NW_ONEVOTE; } else { $news['number_votes'] = sprintf(_NW_NUMVOTES, $story->votes()); } if ($infotips > 0) { $news['infotips'] = ' title="' . news_make_infotips($story->hometext()) . '"'; } else { $news['infotips'] = ''; } $news['title'] = sprintf("<a href='%s' %s>%s</a>", XOOPS_URL . '/modules/news/article.php?storyid=' . $story->storyid(), $news['infotips'], $title); $news['id'] = $story->storyid(); $news['date'] = formatTimestamp($story->published(), $dateformat); $news['hits'] = $story->counter(); $news['rating'] = number_format($story->rating(), 2); $news['votes'] = $story->votes(); $news['topicid'] = $story->topicid(); $news['topic_title'] = $story->topic_title(); $news['topic_color'] = '#' . $myts->displayTarea($story->topic_color); if ($displayname != 3) { $news['author'] = sprintf("%s %s", _POSTEDBY, $story->uname()); } else { $news['author'] = ''; } $news['title_with_link'] = sprintf("<a href='%s'%s>%s</a>", XOOPS_URL . '/modules/news/article.php?storyid=' . $story->storyid(), $news['infotips'], $title); $block['news'][] = $news; } $block['smallheader'] = $smallheader; } } } $block['lang_on'] = _ON; // on $block['lang_reads'] = _READS; // reads // Default values $block['color1'] = $defcolors[$tabskin][0]; $block['color2'] = $defcolors[$tabskin][1]; $block['color3'] = $defcolors[$tabskin][2]; $block['color4'] = $defcolors[$tabskin][3]; $block['color5'] = $defcolors[$tabskin][4]; if (xoops_trim($options[9]) != '') { $block['color1'] = $options[9]; } if (xoops_trim($options[10]) != '') { $block['color2'] = $options[10]; } if (xoops_trim($options[11]) != '') { $block['color3'] = $options[11]; } if (xoops_trim($options[12]) != '') { $block['color4'] = $options[12]; } if (xoops_trim($options[13]) != '') { $block['color5'] = $options[13]; } } else { // ************************ Classical view ************************************************************************************************************** $tmpstory = new NewsStory(); if (isset($options[14]) && $options[14] == 0) { $stories = $tmpstory->getAllPublished($options[1], 0, $restricted, 0, 1, true, $options[0]); } else { $topics = array_slice($options, 14); $stories = $tmpstory->getAllPublished($options[1], 0, $restricted, $topics, 1, true, $options[0]); } if (!count($stories)) { return ''; } $topic = new NewsTopic(); foreach ($stories as $key => $story) { $news = array(); $title = $story->title(); if (strlen($title) > $options[2]) { $title = xoops_substr($title, 0, $options[2] + 3); } //if spotlight is enabled and this is either the first article or the selected one if ($options[5] == 0 && $options[4] == 1 && ($options[6] > 0 && $options[6] == $story->storyid() || $options[6] == 0 && $key == 0)) { $spotlight = array(); $visible = true; if ($restricted) { $permittedtopics = news_MygetItemIds(); if (!in_array($story->topicid(), $permittedtopics)) { $visible = false; } } if ($visible) { $spotlight['title'] = $title; if ($options[7] != '') { $spotlight['image'] = sprintf("<a href='%s'>%s</a>", XOOPS_URL . '/modules/news/article.php?storyid=' . $story->storyid(), $myts->displayTarea($options[7], $story->nohtml)); } // Added 16 february 2007 ***************************************** $story_user = null; $story_user = new XoopsUser($story->uid()); if (is_object($story_user)) { $spotlight['avatar'] = XOOPS_UPLOAD_URL . '/' . $story_user->getVar('user_avatar'); } // **************************************************************** $spotlight['text'] = $story->hometext(); $spotlight['id'] = $story->storyid(); $spotlight['date'] = formatTimestamp($story->published(), $dateformat); $spotlight['hits'] = $story->counter(); $spotlight['rating'] = $story->rating(); $spotlight['votes'] = $story->votes(); $spotlight['topicid'] = $story->topicid(); $spotlight['topic_title'] = $story->topic_title(); $spotlight['topic_color'] = '#' . $myts->displayTarea($story->topic_color); // Added, topic's image and description $spotlight['topic_image'] = XOOPS_URL . '/modules/news/images/topics/' . $story->topic_imgurl(); $spotlight['topic_description'] = $myts->displayTarea($story->topic_description, 1); if (strlen(xoops_trim($story->bodytext())) > 0) { $spotlight['read_more'] = true; } else { $spotlight['read_more'] = false; } if ($displayname != 3) { $spotlight['author'] = sprintf("%s %s", _POSTEDBY, $story->uname()); } else { $spotlight['author'] = ''; } } $block['spotlight'] = $spotlight; } else { $news['title'] = $title; $news['id'] = $story->storyid(); $news['date'] = formatTimestamp($story->published(), $dateformat); $news['hits'] = $story->counter(); $news['rating'] = $story->rating(); $news['votes'] = $story->votes(); $news['topicid'] = $story->topicid(); $news['topic_title'] = $story->topic_title(); $news['topic_color'] = '#' . $myts->displayTarea($story->topic_color); if ($displayname != 3) { $news['author'] = sprintf("%s %s", _POSTEDBY, $story->uname()); } else { $news['author'] = ''; } if ($options[3] > 0) { $html = $story->nohtml() == 1 ? 0 : 1; $news['teaser'] = news_truncate_tagsafe($myts->displayTarea($story->hometext(), $html), $options[3] + 3); $news['infotips'] = ''; } else { $news['teaser'] = ''; if ($infotips > 0) { $news['infotips'] = ' title="' . news_make_infotips($story->hometext()) . '"'; } else { $news['infotips'] = ''; } } $block['stories'][] = $news; } } // If spotlight article was not in the fetched stories if (!isset($spotlight) && $options[4]) { $block['use_spotlight'] = true; $visible = true; if ($options[5] == 0 && $restricted) { // Use a specific news and we are in restricted mode $permittedtopics = news_MygetItemIds(); $permstory = new NewsStory($options[6]); if (!in_array($permstory->topicid(), $permittedtopics)) { $visible = false; } unset($permstory); } if ($options[5] == 0) { // Use a specific news if ($visible) { $spotlightArticle = new NewsStory($options[6]); } else { $block['use_spotlight'] = false; } } else { // Use the most recent news $stories = array(); $stories = $tmpstory->getAllPublished(1, 0, $restricted, 0, 1, true, $options[0]); if (count($stories) > 0) { $firststory = $stories[0]; $spotlightArticle = new NewsStory($firststory->storyid()); } else { $block['use_spotlight'] = false; } } if ($block['use_spotlight'] == true) { $spotlight = array(); $spotlight['title'] = xoops_substr($spotlightArticle->title(), 0, $options[2] - 1); if ($options[7] != '') { $spotlight['image'] = sprintf("<a href='%s'>%s</a>", XOOPS_URL . '/modules/news/article.php?storyid=' . $spotlightArticle->storyid(), $myts->displayTarea($options[7], $spotlightArticle->nohtml)); } // Added 16 february 2007 ***************************************** $story_user = null; $story_user = new XoopsUser($spotlightArticle->uid()); if (is_object($story_user)) { $spotlight['avatar'] = XOOPS_UPLOAD_URL . '/' . $story_user->getVar('user_avatar'); } // **************************************************************** $spotlight['topicid'] = $spotlightArticle->topicid(); $spotlight['topic_title'] = $spotlightArticle->topic_title(); $spotlight['topic_color'] = '#' . $myts->displayTarea($spotlightArticle->topic_color); $spotlight['text'] = $spotlightArticle->hometext(); $spotlight['id'] = $spotlightArticle->storyid(); $spotlight['date'] = formatTimestamp($spotlightArticle->published(), $dateformat); $spotlight['hits'] = $spotlightArticle->counter(); $spotlight['rating'] = $spotlightArticle->rating(); $spotlight['votes'] = $spotlightArticle->votes(); // Added, topic's image and description $spotlight['topic_image'] = XOOPS_URL . '/modules/news/images/topics/' . $spotlightArticle->topic_imgurl(); $spotlight['topic_description'] = $myts->displayTarea($spotlightArticle->topic_description, 1); if ($displayname != 3) { $spotlight['author'] = sprintf("%s %s", _POSTEDBY, $spotlightArticle->uname()); } else { $spotlight['author'] = ''; } if (strlen(xoops_trim($spotlightArticle->bodytext())) > 0) { $spotlight['read_more'] = true; } else { $spotlight['read_more'] = false; } $block['spotlight'] = $spotlight; } } } if (isset($permstory)) { unset($permstory); } $block['lang_read_more'] = $myts->htmlSpecialChars(_MB_READMORE); // Read More... $block['lang_orderby'] = $myts->htmlSpecialChars(_MB_NEWS_ORDER); // "Order By" $block['lang_orderby_date'] = $myts->htmlSpecialChars(_MB_NEWS_DATE); // Published date $block['lang_orderby_hits'] = $myts->htmlSpecialChars(_MB_NEWS_HITS); // Number of Hits $block['lang_orderby_rating'] = $myts->htmlSpecialChars(_MB_NEWS_RATE); // Rating $block['sort'] = $options[0]; // "published" or "counter" or "rating" return $block; }
$xoopsTpl->assign('lang_views', _NW_VIEWS); // must adjust the selected time to server timestamp $timeoffset = $useroffset - $xoopsConfig['server_TZ']; $monthstart = mktime(0 - $timeoffset, 0, 0, $frommonth, 1, $fromyear); $monthend = mktime(23 - $timeoffset, 59, 59, $frommonth + 1, 0, $fromyear); $monthend = $monthend > time() ? time() : $monthend; $count = 0; $news = new NewsStory(); $storyarray = $news->getArchive($monthstart, $monthend, $restricted); $count = count($storyarray); if (is_array($storyarray) && $count > 0) { foreach ($storyarray as $article) { $story = array(); $htmltitle = ''; if ($infotips > 0) { $story['infotips'] = news_make_infotips($article->hometext()); $htmltitle = ' title="' . $story['infotips'] . '"'; } $story['title'] = "<a href='" . XOOPS_URL . '/modules/news/index.php?storytopic=' . $article->topicid() . "'>" . $article->topic_title() . "</a>: <a href='" . XOOPS_URL . "/modules/news/article.php?storyid=" . $article->storyid() . "'" . $htmltitle . ">" . $article->title() . "</a>"; $story['counter'] = $article->counter(); $story['date'] = formatTimestamp($article->published(), $dateformat, $useroffset); $story['print_link'] = XOOPS_URL . '/modules/news/print.php?storyid=' . $article->storyid(); $story['mail_link'] = 'mailto:?subject=' . sprintf(_NW_INTARTICLE, $xoopsConfig['sitename']) . '&body=' . sprintf(_NW_INTARTFOUND, $xoopsConfig['sitename']) . ': ' . XOOPS_URL . '/modules/' . $xoopsModule->dirname() . '/article.php?storyid=' . $article->storyid(); $xoopsTpl->append('stories', $story); } } $xoopsTpl->assign('lang_printer', _NW_PRINTERFRIENDLY); $xoopsTpl->assign('lang_sendstory', _NW_SENDSTORY); $xoopsTpl->assign('lang_storytotal', sprintf(_NW_THEREAREINTOTAL, $count)); } else { $xoopsTpl->assign('show_articles', false);
/** * Function used to prepare an article to be showned */ function prepare2show($filescount) { include_once XOOPS_ROOT_PATH . '/modules/news/include/functions.php'; global $xoopsUser, $xoopsConfig, $xoopsModuleConfig; $myts =& MyTextSanitizer::getInstance(); $infotips = news_getmoduleoption('infotips'); $story = array(); $story['id'] = $this->storyid(); $story['poster'] = $this->uname(); $story['author_name'] = $this->uname(); $story['author_uid'] = $this->uid(); if ($story['poster'] != false) { $story['poster'] = "<a href='" . XOOPS_URL . "/userinfo.php?uid=" . $this->uid() . "'>" . $story['poster'] . "</a>"; } else { if ($xoopsModuleConfig['displayname'] != 3) { $story['poster'] = $xoopsConfig['anonymous']; } } if ($xoopsModuleConfig['ratenews']) { $story['rating'] = number_format($this->rating(), 2); if ($this->votes == 1) { $story['votes'] = _NW_ONEVOTE; } else { $story['votes'] = sprintf(_NW_NUMVOTES, $this->votes); } } $story['posttimestamp'] = $this->published(); $story['posttime'] = formatTimestamp($story['posttimestamp'], news_getmoduleoption('dateformat')); $story['topic_description'] = $myts->displayTarea($this->topic_description); $auto_summary = ''; $tmp = ''; $auto_summary = $this->auto_summary($this->bodytext(), $tmp); $story['text'] = $this->hometext(); $story['text'] = str_replace('[summary]', $auto_summary, $story['text']); $introcount = strlen($story['text']); $fullcount = strlen($this->bodytext()); $totalcount = $introcount + $fullcount; $morelink = ''; if ($fullcount > 1) { $morelink .= '<a href="' . XOOPS_URL . '/modules/news/article.php?storyid=' . $this->storyid() . ''; $morelink .= '">' . _NW_READMORE . '</a>'; $morelink .= ' | ' . sprintf(_NW_BYTESMORE, $totalcount); if (XOOPS_COMMENT_APPROVENONE != $xoopsModuleConfig['com_rule']) { $morelink .= ' | '; } } if (XOOPS_COMMENT_APPROVENONE != $xoopsModuleConfig['com_rule']) { $ccount = $this->comments(); $morelink .= '<a href="' . XOOPS_URL . '/modules/news/article.php?storyid=' . $this->storyid() . ''; $morelink2 = '<a href="' . XOOPS_URL . '/modules/news/article.php?storyid=' . $this->storyid() . ''; if ($ccount == 0) { $morelink .= '">' . _NW_COMMENTS . '</a>'; } else { if ($fullcount < 1) { if ($ccount == 1) { $morelink .= '">' . _NW_READMORE . '</a> | ' . $morelink2 . '">' . _NW_ONECOMMENT . '</a>'; } else { $morelink .= '">' . _NW_READMORE . '</a> | ' . $morelink2 . '">'; $morelink .= sprintf(_NW_NUMCOMMENTS, $ccount); $morelink .= '</a>'; } } else { if ($ccount == 1) { $morelink .= '">' . _NW_ONECOMMENT . '</a>'; } else { $morelink .= '">'; $morelink .= sprintf(_NW_NUMCOMMENTS, $ccount); $morelink .= '</a>'; } } } } $story['morelink'] = $morelink; $story['adminlink'] = ''; $approveprivilege = 0; if (news_is_admin_group()) { $approveprivilege = 1; } if ($xoopsModuleConfig['authoredit'] == 1 && (is_object($xoopsUser) && $xoopsUser->getVar('uid') == $this->uid())) { $approveprivilege = 1; } if ($approveprivilege) { $story['adminlink'] = $this->adminlink(); } $story['mail_link'] = 'mailto:?subject=' . sprintf(_NW_INTARTICLE, $xoopsConfig['sitename']) . '&body=' . sprintf(_NW_INTARTFOUND, $xoopsConfig['sitename']) . ': ' . XOOPS_URL . '/modules/news/article.php?storyid=' . $this->storyid(); $story['imglink'] = ''; $story['align'] = ''; if ($this->topicdisplay()) { $story['imglink'] = $this->imglink(); $story['align'] = $this->topicalign(); } if ($infotips > 0) { $story['infotips'] = ' title="' . news_make_infotips($this->hometext()) . '"'; } else { $story['infotips'] = ''; } $story['title'] = "<a href='" . XOOPS_URL . "/modules/news/article.php?storyid=" . $this->storyid() . "'" . $story['infotips'] . ">" . $this->title() . "</a>"; $story['hits'] = $this->counter(); if ($filescount > 0) { $story['files_attached'] = true; $story['attached_link'] = "<a href='" . XOOPS_URL . '/modules/news/article.php?storyid=' . $this->storyid() . "' title='" . _NW_ATTACHEDLIB . "'><img src='" . XOOPS_URL . '/modules/news/images/attach.gif' . "' title='" . _NW_ATTACHEDLIB . "'></a>"; } else { $story['files_attached'] = false; $story['attached_link'] = ''; } return $story; }
*/ if (news_getmoduleoption('showsummarytable')) { $xoopsTpl->assign('showsummary', true); $xoopsTpl->assign('lang_other_story', _NW_OTHER_ARTICLES); $count = 0; $tmparticle = new NewsStory(); $infotips = news_getmoduleoption('infotips'); $sarray = $tmparticle->getAllPublished($cfg['article_summary_items_count'], 0, $xoopsModuleConfig['restrictindex']); if (count($sarray) > 0) { foreach ($sarray as $onearticle) { $count++; $htmltitle = ''; $tooltips = ''; $htmltitle = ''; if ($infotips > 0) { $tooltips = news_make_infotips($onearticle->hometext()); $htmltitle = ' title="' . $tooltips . '"'; } $xoopsTpl->append('summary', array('story_id' => $onearticle->storyid(), 'htmltitle' => $htmltitle, 'infotips' => $tooltips, 'story_title' => $onearticle->title(), 'story_hits' => $onearticle->counter(), 'story_published' => formatTimestamp($onearticle->published, $dateformat))); } } $xoopsTpl->assign('summary_count', $count); unset($tmparticle); } else { $xoopsTpl->assign('showsummary', false); } /** * Show a link to go to the previous article and to the next article * * According to a module's option "showprevnextlink" ("Show Previous and Next link ?") * you can display, at the bottom of each article, two links used to navigate thru stories.
if ($articlescount > 0) { foreach ($articlelist as $article) { if ($oldtopic != $article['topicid']) { if (count($articlestpl) > 0) { $topic_link = sprintf("<a href='%s'>%s</a>", XOOPS_URL . '/modules/news/index.php?storytopic=' . $oldtopic, $oldtopictitle); $xoopsTpl->append('topics', array('topic_id' => $oldtopic, 'topic_count_articles' => sprintf(_AM_NEWS_TOTAL, $count_articles), 'topic_count_reads' => $count_reads, 'topic_color' => $oldtopiccolor, 'topic_title' => $oldtopictitle, 'topic_link' => $topic_link, 'news' => $articlestpl)); } $oldtopic = $article['topicid']; $oldtopictitle = $article['topic_title']; $oldtopiccolor = '#' . $myts->displayTarea($article['topic_color']); $articlestpl = array(); $count_articles = $count_reads = 0; } $htmltitle = ''; if ($infotips > 0) { $htmltitle = ' title="' . news_make_infotips($article['hometext']) . '"'; } $count_articles++; $count_reads += $article['counter']; $articlestpl[] = array('id' => $article['storyid'], 'hometext' => $article['hometext'], 'title' => $article['title'], 'hits' => $article['counter'], 'created' => formatTimestamp($article['created'], $dateformat), 'article_link' => sprintf("<a href='%s'%s>%s</a>", XOOPS_URL . '/modules/news/article.php?storyid=' . $article['storyid'], $htmltitle, $article['title']), 'published' => formatTimestamp($article['published'], $dateformat), 'rating' => $article['rating']); } } $topic_link = sprintf("<a href='%s'>%s</a>", XOOPS_URL . '/modules/news/index.php?storytopic=' . $oldtopic, $oldtopictitle); $xoopsTpl->append('topics', array('topic_id' => $oldtopic, 'topic_title' => $oldtopictitle, 'topic_link' => $topic_link, 'news' => $articlestpl)); $xoopsTpl->assign('xoops_pagetitle', _MI_NEWSBYTHISAUTHOR . ' - ' . $authname . ' - ' . $myts->htmlSpecialChars($xoopsModule->name())); $xoopsTpl->assign('advertisement', news_getmoduleoption('advertisement')); /** * Create the meta datas */ news_CreateMetaDatas(); $meta_description = _MI_NEWSBYTHISAUTHOR . ' - ' . $authname . ' - ' . $myts->htmlSpecialChars($xoopsModule->name());