コード例 #1
0
ファイル: print.php プロジェクト: amjadtbssm/website
function PrintPage($storyid)
{
    global $xoopsConfig, $xoopsModule;
    $story = new NewsStory($storyid);
    $datetime = formatTimestamp($story->published());
    echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">';
    echo '<html><head>';
    echo '<meta http-equiv="Content-Type" content="text/html; charset=' . _CHARSET . '" />';
    echo '<title>' . $xoopsConfig['sitename'] . '</title>';
    echo '<meta name="AUTHOR" content="' . $xoopsConfig['sitename'] . '" />';
    echo '<meta name="COPYRIGHT" content="Copyright (c) 2001 by ' . $xoopsConfig['sitename'] . '" />';
    echo '<meta name="DESCRIPTION" content="' . $xoopsConfig['slogan'] . '" />';
    echo '<meta name="GENERATOR" content="' . XOOPS_VERSION . '" />';
    echo '<body bgcolor="#ffffff" text="#000000" onload="window.print()">
    	<table border="0"><tr><td align="center">
    	<table border="0" width="640" cellpadding="0" cellspacing="1" bgcolor="#000000"><tr><td>
    	<table border="0" width="640" cellpadding="20" cellspacing="1" bgcolor="#ffffff"><tr><td align="center">
    	<img src="' . XOOPS_URL . '/images/logo.gif" border="0" alt="" /><br /><br />
    	<h3>' . $story->title() . '</h3>
    	<small><b>' . _NW_DATE . '</b>&nbsp;' . $datetime . ' | <b>' . _NW_TOPICC . '</b>&nbsp;' . $story->topic_title() . '</small><br /><br /></td></tr>';
    echo '<tr valign="top" style="font:12px;"><td>' . $story->hometext() . '<br />';
    $bodytext = $story->bodytext();
    $bodytext = str_replace("[pagebreak]", "<br style=\"page-break-after:always;\">", $bodytext);
    if ($bodytext != '') {
        echo $bodytext . '<br /><br />';
    }
    echo '</td></tr></table></td></tr></table>
	<br /><br />';
    printf(_NW_THISCOMESFROM, $xoopsConfig['sitename']);
    echo '<br /><a href="' . XOOPS_URL . '/">' . XOOPS_URL . '</a><br /><br />
    	' . _NW_URLFORSTORY . ' <!-- Tag below can be used to display Permalink image --><!--img src="' . XOOPS_URL . '/modules/' . $xoopsModule->dirname() . '/images/x.gif" /--><br />
    	<a href="' . XOOPS_URL . '/modules/' . $xoopsModule->dirname() . '/article.php?storyid=' . $story->storyid() . '">' . XOOPS_URL . '/article.php?storyid=' . $story->storyid() . '</a>
    	</td></tr></table>
    	</body>
    	</html>
    	';
}
コード例 #2
0
 function editPost()
 {
     if (!$this->_checkUser($this->params[1], $this->params[2])) {
         $this->response->add(new XoopsXmlRpcFault(104));
     } else {
         if (!($fields =& $this->_getPostFields($this->params[0]))) {
         } else {
             $missing = array();
             foreach ($fields as $tag => $detail) {
                 if (!isset($this->params[3][$tag])) {
                     $data = $this->_getTagCdata($this->params[3]['xoops_text'], $tag, true);
                     if (trim($data) == '') {
                         if ($detail['required']) {
                             $missing[] = $tag;
                         }
                     } else {
                         $post[$tag] = $data;
                     }
                 } else {
                     $post[$tag] = $this->params[3][$tag];
                 }
             }
             if (count($missing) > 0) {
                 $msg = '';
                 foreach ($missing as $m) {
                     $msg .= '<' . $m . '> ';
                 }
                 $this->response->add(new XoopsXmlRpcFault(109, $msg));
             } else {
                 // will be removed... don't worry if this looks bad
                 include_once XOOPS_ROOT_PATH . '/modules/news/class/class.newsstory.php';
                 $story = new NewsStory($this->params[0]);
                 $storyid = $story->storyid();
                 if (empty($storyid)) {
                     $this->response->add(new XoopsXmlRpcFault(106));
                 } elseif (!$this->_checkAdmin()) {
                     $this->response->add(new XoopsXmlRpcFault(111));
                 } else {
                     $story->setTitle(addslashes(trim($post['title'])));
                     if (isset($post['moretext'])) {
                         $story->setBodytext(addslashes(trim($post['moretext'])));
                     }
                     if (!isset($post['hometext'])) {
                         $story->setHometext(addslashes(trim($this->params[3]['xoops_text'])));
                     } else {
                         $story->setHometext(addslashes(trim($post['hometext'])));
                     }
                     if ($this->params[4]) {
                         $story->setApproved(true);
                         $story->setPublished(time());
                     }
                     $story->setTopicalign('R');
                     if (!$story->store()) {
                         $this->response->add(new XoopsXmlRpcFault(106));
                     } else {
                         $this->response->add(new XoopsXmlRpcBoolean(true));
                     }
                 }
             }
         }
     }
 }
コード例 #3
0
ファイル: news_top.php プロジェクト: trabisdementia/xuups
/**
 * 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;
}
コード例 #4
0
ファイル: backendt.php プロジェクト: BackupTheBerlios/soopa
        $tpl->assign('channel_desc', xoops_utf8_encode(htmlspecialchars($xoopsConfig['slogan'], ENT_QUOTES)));
        $tpl->assign('channel_lastbuild', formatTimestamp(time(), 'rss'));
        $tpl->assign('channel_webmaster', checkEmail($xoopsConfig['adminmail'], true));
        // Fed up with spam
        $tpl->assign('channel_editor', checkEmail($xoopsConfig['adminmail'], true));
        // Fed up with spam
        $tpl->assign('channel_category', 'News');
        $tpl->assign('channel_generator', 'XOOPS');
        $tpl->assign('channel_language', _LANGCODE);
        $tpl->assign('image_url', XOOPS_URL . '/images/logo.gif');
        $dimention = getimagesize(XOOPS_ROOT_PATH . '/images/logo.gif');
        if (empty($dimention[0])) {
            $width = 88;
        } else {
            $width = $dimention[0] > 144 ? 144 : $dimention[0];
        }
        if (empty($dimention[1])) {
            $height = 31;
        } else {
            $height = $dimention[1] > 400 ? 400 : $dimention[1];
        }
        $tpl->assign('image_width', $width);
        $tpl->assign('image_height', $height);
        $count = $sarray;
        foreach ($sarray as $story) {
            //$tpl->append('items', array('title' => xoops_utf8_encode(htmlspecialchars($story->title(), ENT_QUOTES)), 'link' => XOOPS_URL.'/modules/news/article.php?storyid='.$story->storyid(), 'guid' => XOOPS_URL.'/modules/news/article.php?storyid='.$story->storyid(), 'pubdate' => formatTimestamp($story->published(), 'rss'), 'description' => xoops_utf8_encode($myts->undoHtmlSpecialChars($story->hometext(), ENT_QUOTES))));
            $tpl->append('items', array('title' => xoops_utf8_encode(htmlspecialchars($story->title(), ENT_QUOTES)), 'link' => XOOPS_URL . '/modules/news/article.php?storyid=' . $story->storyid(), 'guid' => XOOPS_URL . '/modules/news/article.php?storyid=' . $story->storyid(), 'pubdate' => formatTimestamp($story->published(), 'rss'), 'description' => xoops_utf8_encode(htmlspecialchars($story->hometext(), ENT_QUOTES))));
        }
    }
}
$tpl->display('db:system_rss.html');
コード例 #5
0
ファイル: submit.php プロジェクト: amjadtbssm/website
 $story->setNotifyPub($notifypub);
 $story->setType('user');
 if ($xoopsModuleConfig['autoapprove'] == 1) {
     $approve = 1;
     $story->setApproved($approve);
     $story->setPublished(time());
     $story->setExpired(0);
     $story->setTopicalign('R');
 }
 $result = $story->store();
 if ($result) {
     // Notification
     $notification_handler =& xoops_gethandler('notification');
     $tags = array();
     $tags['STORY_NAME'] = $subject;
     $tags['STORY_URL'] = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/article.php?storyid=' . $story->storyid();
     if ($xoopsModuleConfig['autoapprove'] == 1) {
         $notification_handler->triggerEvent('global', 0, 'new_story', $tags);
     } else {
         $tags['WAITINGSTORIES_URL'] = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/admin/index.php?op=newarticle';
         $notification_handler->triggerEvent('global', 0, 'story_submit', $tags);
     }
     // If notify checkbox is set, add subscription for approve
     if ($notifypub) {
         include_once XOOPS_ROOT_PATH . '/include/notification_constants.php';
         $notification_handler->subscribe('story', $story->storyid(), 'approve', XOOPS_NOTIFICATION_MODE_SENDONCETHENDELETE);
     }
     /*
     	if ($xoopsModuleConfig['notifysubmit'] == 1 ) {
     		$xoopsMailer =& getMailer();
     		$xoopsMailer->useMail();
コード例 #6
0
ファイル: submit.php プロジェクト: BackupTheBerlios/haxoo-svn
                     $story->Setpicture(basename($destname));
                 } else {
                     echo _AM_UPLOAD_ERROR . ' ' . $uploader->getErrors();
                 }
             } else {
                 echo $uploader->getErrors();
             }
         }
     }
 }
 $destname = '';
 $result = $story->store();
 if ($result) {
     if ($approveprivilege && news_getmoduleoption('tags')) {
         $tag_handler = xoops_getmodulehandler('tag', 'tag');
         $tag_handler->updateByItem($_POST['item_tag'], $story->storyid(), $xoopsModule->getVar('dirname'), 0);
     }
     if (!$editmode) {
         // 	Notification
         // TODO: modifier afin qu'en cas de prépublication, la notification ne se fasse pas
         $notification_handler =& xoops_gethandler('notification');
         $tags = array();
         $tags['STORY_NAME'] = $story->title();
         $tags['STORY_URL'] = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/article.php?storyid=' . $story->storyid();
         // If notify checkbox is set, add subscription for approve
         if ($notifypub && $approve) {
             include_once XOOPS_ROOT_PATH . '/include/notification_constants.php';
             $notification_handler->subscribe('story', $story->storyid(), 'approve', XOOPS_NOTIFICATION_MODE_SENDONCETHENDELETE, $xoopsModule->getVar('mid'), $story->uid());
         }
         if ($approve == 1) {
             $notification_handler->triggerEvent('global', 0, 'new_story', $tags);
コード例 #7
0
ファイル: article.php プロジェクト: trabisdementia/xuups
if (is_object($xoopsUser)) {
    if ($xoopsUser->isAdmin($xoopsModule->getVar('mid')) || news_getmoduleoption('authoredit') && $article->uid() == $xoopsUser->getVar('uid')) {
        $isadmin = true;
        $story['adminlink'] = $article->adminlink();
    }
}
$story['topicid'] = $article->topicid();
$story['topic_color'] = '#' . $myts->displayTarea($article->topic_color);
$story['imglink'] = '';
$story['align'] = '';
if ($article->topicdisplay()) {
    $story['imglink'] = $article->imglink();
    $story['align'] = $article->topicalign();
}
$story['hits'] = $article->counter();
$story['mail_link'] = 'mailto:?subject=' . sprintf(_NW_INTARTICLE, $xoopsConfig['sitename']) . '&amp;body=' . sprintf(_NW_INTARTFOUND, $xoopsConfig['sitename']) . ':  ' . XOOPS_URL . '/modules/news/article.php?storyid=' . $article->storyid();
$xoopsTpl->assign('lang_printerpage', _NW_PRINTERFRIENDLY);
$xoopsTpl->assign('lang_sendstory', _NW_SENDSTORY);
$xoopsTpl->assign('lang_pdfstory', _NW_MAKEPDF);
$xoopsTpl->assign('lang_on', _ON);
$xoopsTpl->assign('lang_postedby', _POSTEDBY);
$xoopsTpl->assign('lang_reads', _READS);
$xoopsTpl->assign('mail_link', 'mailto:?subject=' . sprintf(_NW_INTARTICLE, $xoopsConfig['sitename']) . '&amp;body=' . sprintf(_NW_INTARTFOUND, $xoopsConfig['sitename']) . ':  ' . XOOPS_URL . '/modules/news/article.php?storyid=' . $article->storyid());
if (xoops_trim($article->picture()) != '') {
    $xoopsTpl->assign('articlePicture', XOOPS_URL . '/modules/news/images/topics/' . $article->picture());
} else {
    $xoopsTpl->assign('articlePicture', '');
}
$xoopsTpl->assign('lang_attached_files', _NW_ATTACHEDFILES);
$sfiles = new sFiles();
$filesarr = $newsfiles = array();
コード例 #8
0
ファイル: posttonews.php プロジェクト: BackupTheBerlios/soopa
     $story->setExpired(0);
     /**/
     $story->setPublished(0);
     /**/
     $story->setApproved(0);
     /**/
     //save the story
     $result = $story->store();
     //notify
     if ($result) {
         $notification_handler =& xoops_gethandler('notification');
         $tags['WAITINGSTORIES_URL'] = XOOPS_URL . '/modules/news/admin/index.php?op=newarticle';
         $notification_handler->triggerEvent('global', 0, 'story_submit', $tags);
         $tags = array();
         $tags['STORY_NAME'] = $post->getVar('subject', 'e');
         $tags['STORY_URL'] = XOOPS_URL . '/modules/news/ticle.php?storyid=' . $story->storyid();
         $tags['WAITINGSTORIES_URL'] = XOOPS_URL . '/modules/news/admin/index.php?op=newarticle';
         $notification_handler->triggerEvent('global', 0, 'story_submit', $tags);
     }
     redirect_header(XOOPS_URL . '/modules/news/submit.php?op=edit&amp;storyid=' . $story->storyid(), 3, _MD_THANKSSUBMIT);
     break;
 case 'form':
 default:
     echo "<form action='" . $_SERVER['PHP_SELF'] . "' method='post'>";
     echo "<table border='0' cellpadding='1' cellspacing='0' align='center' width='95%'>";
     echo "<tr>";
     echo "<td align='center'><p style='margin:5px;'><h2>" . _MD_POSTTONEWS . "</h2></p>";
     echo "<input type='hidden' name='post_id' value='" . $post_id . "' />";
     echo "<input type='submit' name='post' value='" . _MD_SUBMIT . "' />";
     echo "</td></tr></table></form>";
     break;
コード例 #9
0
ファイル: backendt.php プロジェクト: severnaya99/Sg-2010
        $tpl->assign('channel_lastbuild', formatTimestamp(time(), 'rss'));
        $tpl->assign('channel_webmaster', checkEmail($xoopsConfig['adminmail'], true));
        // Fed up with spam
        $tpl->assign('channel_editor', checkEmail($xoopsConfig['adminmail'], true));
        // Fed up with spam
        $tpl->assign('channel_category', htmlspecialchars($xt->topic_title(), ENT_QUOTES));
        $tpl->assign('channel_generator', 'XOOPS');
        $tpl->assign('channel_language', _LANGCODE);
        $tpl->assign('image_url', XOOPS_URL . '/images/logo.gif');
        $dimention = getimagesize(XOOPS_ROOT_PATH . '/images/logo.gif');
        if (empty($dimention[0])) {
            $width = 88;
        } else {
            $width = $dimention[0] > 144 ? 144 : $dimention[0];
        }
        if (empty($dimention[1])) {
            $height = 31;
        } else {
            $height = $dimention[1] > 400 ? 400 : $dimention[1];
        }
        $tpl->assign('image_width', $width);
        $tpl->assign('image_height', $height);
        $count = $sarray;
        foreach ($sarray as $story) {
            $storytitle = htmlspecialchars($story->title(), ENT_QUOTES);
            $description = htmlspecialchars($story->hometext(), ENT_QUOTES);
            $tpl->append('items', array('title' => xoops_utf8_encode($storytitle), 'link' => XOOPS_URL . '/modules/news/article.php?storyid=' . $story->storyid(), 'guid' => XOOPS_URL . '/modules/news/article.php?storyid=' . $story->storyid(), 'pubdate' => formatTimestamp($story->published(), 'rss'), 'description' => xoops_utf8_encode($description)));
        }
    }
}
$tpl->display('db:news_rss.html', $topicid);
コード例 #10
0
ファイル: index.php プロジェクト: koki-h/xoops_utf8
 $story->setTopicId($_POST['topicid']);
 $story->setTitle($_POST['title']);
 $story->setHometext($_POST['hometext']);
 $story->setBodytext($_POST['bodytext']);
 $nohtml = empty($_POST['nohtml']) ? 0 : 1;
 $nosmiley = empty($_POST['nosmiley']) ? 0 : 1;
 $story->setNohtml($nohtml);
 $story->setNosmiley($nosmiley);
 $story->setIhome($_POST['ihome']);
 $story->setTopicalign($_POST['topicalign']);
 $story->setTopicdisplay($_POST['topicdisplay']);
 $story->store();
 $notification_handler =& xoops_gethandler('notification');
 $tags = array();
 $tags['STORY_NAME'] = $story->title();
 $tags['STORY_URL'] = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/article.php?storyid=' . $story->storyid();
 if (!empty($isnew)) {
     $notification_handler->triggerEvent('story', $story->storyid(), 'approve', $tags);
 }
 $notification_handler->triggerEvent('global', 0, 'new_story', $tags);
 /*
     $poster = new XoopsUser($story->uid());
     $subject = _AM_ARTPUBLISHED;
     $message = sprintf(_AM_HELLO,$poster->uname());
     $message .= "\n\n"._AM_YOURARTPUB."\n\n";
     $message .= _AM_TITLEC.$story->title()."\n"._AM_URLC.XOOPS_URL."/modules/".$xoopsModule->dirname()."/article.php?storyid=".$story->storyid()."\n"._AM_PUBLISHEDC.formatTimestamp($story->published(),"m",0)."\n\n";
     $message .= $xoopsConfig['sitename']."\n".XOOPS_URL."";
     $xoopsMailer =& getMailer();
     $xoopsMailer->useMail();
     $xoopsMailer->setToEmails($poster->getVar("email"));
     $xoopsMailer->setFromEmail($xoopsConfig['adminmail']);
コード例 #11
0
ファイル: xoopsapi.php プロジェクト: geekwright/XoopsCore25
 /**
  * @param bool $respond
  *
  * @return array
  */
 public function &getPost($respond = true)
 {
     if (!$this->_checkUser($this->params[1], $this->params[2])) {
         $this->response->add(new XoopsXmlRpcFault(104));
     } else {
         // will be removed... don't worry if this looks bad
         include_once XOOPS_ROOT_PATH . '/modules/news/class/class.newsstory.php';
         $story = new NewsStory($this->params[0]);
         $ret = array('uid' => $story->uid(), 'published' => $story->published(), 'storyid' => $story->storyid(), 'title' => $story->title('Edit'), 'hometext' => $story->hometext('Edit'), 'moretext' => $story->bodytext('Edit'));
         if (!$respond) {
             return $ret;
         } else {
             if (!$ret) {
                 $this->response->add(new XoopsXmlRpcFault(106));
             } else {
                 $struct = new XoopsXmlRpcStruct();
                 $content = '';
                 foreach ($ret as $key => $value) {
                     switch ($key) {
                         case 'uid':
                             $struct->add('userid', new XoopsXmlRpcString($value));
                             break;
                         case 'published':
                             $struct->add('dateCreated', new XoopsXmlRpcDatetime($value));
                             break;
                         case 'storyid':
                             $struct->add('postid', new XoopsXmlRpcString($value));
                             $struct->add('link', new XoopsXmlRpcString(XOOPS_URL . '/modules/news/article.php?item_id=' . $value));
                             $struct->add('permaLink', new XoopsXmlRpcString(XOOPS_URL . '/modules/news/article.php?item_id=' . $value));
                             break;
                         case 'title':
                             $struct->add('title', new XoopsXmlRpcString($value));
                             break;
                         default:
                             $content .= '<' . $key . '>' . trim($value) . '</' . $key . '>';
                             break;
                     }
                 }
                 $struct->add('description', new XoopsXmlRpcString($content));
                 $this->response->add($struct);
             }
         }
     }
     return null;
 }
コード例 #12
0
 $news->Setdescription('');
 $news->counter = $article['counter'];
 $news->setTopicId($news_topicid);
 $news->setIhome($article['ihome']);
 $news->setNotifyPub($article['notifypub']);
 $news->story_type = $article['story_type'];
 $news->setTopicdisplay($article['topicdisplay']);
 $news->setTopicalign($article['topicalign']);
 $news->setComments($article['comments']);
 $news->rating = $article['rating'];
 $news->votes = $votes['cpt'];
 $approved = $article['published'] > 0 ? true : false;
 $news->approved = $approved;
 $news->store($approved);
 echo '<br>&nbsp;&nbsp;This story was imported : ' . $news->title();
 $news_newsid = $news->storyid();
 // ********************
 // The files
 $result4 = $db->query('SELECT * FROM ' . $ams_files . ' WHERE storyid=' . $ams_newsid);
 while ($file = $db->fetchArray($result4)) {
     $sfile = new sFiles();
     $sfile->setFileRealName($file['filerealname']);
     $sfile->setStoryid($news_newsid);
     $sfile->date = $file['date'];
     $sfile->setMimetype($file['mimetype']);
     $sfile->setDownloadname($file['downloadname']);
     $sfile->counter = $file['counter'];
     $sfile->store();
     echo '<br>&nbsp;&nbsp;&nbsp;&nbsp;This file was imported : ' . $sfile->getDownloadname();
     $news_fileid = $sfile->fileid;
 }
コード例 #13
0
ファイル: archive.php プロジェクト: amjadtbssm/website
    $xoopsTpl->assign('currentyear', $fromyear);
    $xoopsTpl->assign('lang_actions', _NW_ACTIONS);
    $xoopsTpl->assign('lang_date', _NW_DATE);
    $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;
    $sql = "SELECT * FROM " . $xoopsDB->prefix("stories") . " WHERE published > {$monthstart} and published < {$monthend} ORDER by published DESC";
    $result = $xoopsDB->query($sql);
    $count = 0;
    while ($myrow = $xoopsDB->fetchArray($result)) {
        $article = new NewsStory($myrow);
        $story = array();
        $story['title'] = "<a href='index.php?storytopic=" . $article->topicid() . "'>" . $article->topic_title() . "</a>: <a href='article.php?storyid=" . $article->storyid() . "'>" . $article->title() . "</a>";
        $story['counter'] = $article->counter();
        $story['date'] = formatTimestamp($article->published(), "m", $useroffset);
        $story['print_link'] = 'print.php?storyid=' . $article->storyid();
        $story['mail_link'] = 'mailto:?subject=' . sprintf(_NW_INTARTICLE, $xoopsConfig['sitename']) . '&amp;body=' . sprintf(_NW_INTARTFOUND, $xoopsConfig['sitename']) . ':  ' . XOOPS_URL . '/modules/' . $xoopsModule->dirname() . '/article.php?storyid=' . $article->storyid();
        $xoopsTpl->append('stories', $story);
        $count++;
    }
    $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);
}
$xoopsTpl->assign('lang_newsarchives', _NW_NEWSARCHIVES);
include XOOPS_ROOT_PATH . "/footer.php";