コード例 #1
0
ファイル: ams_spotlight.php プロジェクト: severnaya99/Sg-2010
function b_ams_spotlight_show($options)
{
    include_once XOOPS_ROOT_PATH . "/modules/AMS/class/class.newsstory.php";
    global $xoopsModule;
    if (!isset($xoopsModule) || $xoopsModule->getVar('dirname') != "AMS") {
        $mod_handler =& xoops_gethandler('module');
        $amsModule =& $mod_handler->getByDirname('AMS');
    } else {
        $amsModule =& $xoopsModule;
    }
    $spotlight_handler =& xoops_getmodulehandler('spotlight', 'AMS');
    $block =& $spotlight_handler->getSpotlightBlock();
    //load special block instruction if exist
    if (file_exists(XOOPS_ROOT_PATH . '/modules/AMS/templates/' . $options[2] . '.php')) {
        include XOOPS_ROOT_PATH . '/modules/AMS/templates/' . $options[2] . '.php';
    }
    $GLOBALS['xoopsTpl']->assign('spotlights', $block['spotlights']);
    $block['spotlightcontent'] = $GLOBALS['xoopsTpl']->fetch('db:' . $options[2]);
    $GLOBALS['xoopsTpl']->clear_assign('spotlights');
    if (count($options) > 0) {
        if (intval($options[0]) > 0) {
            $stories = AmsStory::getAllPublished(intval($options[0]), 0, false, 0, 1, true, 'published', $block['ids']);
            $count = 0;
            foreach (array_keys($stories) as $i) {
                $block['stories'][] = array('id' => $stories[$i]->storyid(), 'title' => $stories[$i]->title(), 'hits' => $stories[$i]->counter(), 'friendlyurl_enable' => $stories[$i]->friendlyurl_enable, 'friendlyurl' => $stories[$i]->friendlyurl);
                $count++;
            }
        }
        if ($options[1] == 1) {
            $block['total_art'] = AmsStory::countPublishedByTopic();
            $block['total_read'] = AmsStory::countReads();
            $comment_handler =& xoops_gethandler('comment');
            $block['total_comments'] = $comment_handler->getCount(new Criteria('com_modid', $amsModule->getVar('mid')));
        }
        $block['showministats'] = $options[1];
        $block['showother'] = intval($options[0]) > 0;
    }
    return $block;
}
コード例 #2
0
ファイル: index.php プロジェクト: severnaya99/Sg-2010
function lastStories()
{
    global $xoopsModule, $xoopsModuleConfig;
    $start = isset($_GET['start']) ? $_GET['start'] : 0;
    $title = isset($_POST['title']) ? $_POST['title'] : (isset($_GET['title']) ? $_GET['title'] : "");
    $topicid = isset($_POST['topicid']) ? $_POST['topicid'] : (isset($_GET['topicid']) ? $_GET['topicid'] : 0);
    $status = isset($_POST['status']) ? $_POST['status'] : (isset($_GET['status']) ? $_GET['status'] : "none");
    $author = isset($_POST['author']) ? $_POST['author'] : (isset($_GET['author']) ? $_GET['author'] : array());
    $criteria = new CriteriaCompo();
    $querystring = "op=newarticle";
    if (isset($title) && $title != "") {
        $criteria->add(new Criteria('n.title', "%" . $title . "%", 'LIKE'));
        $querystring .= "&title=" . $title;
    }
    if (isset($author) && is_array($author) && count($author) != 0) {
        $criteria->add(new Criteria('t.uid', "(" . implode($author) . ")", 'IN'));
        foreach ($author as $uid) {
            $querystring .= "&author[]=" . $uid;
        }
    }
    if (isset($status) && $status != 'none') {
        if ($status == "published") {
            $status_crit = new CriteriaCompo(new Criteria('n.published', 0, '>'));
            $status_crit->add(new Criteria('n.published', time(), '<='));
            $status_exp = new CriteriaCompo(new Criteria('n.expired', 0));
            $status_exp->add(new Criteria('n.expired', time(), '>='), 'OR');
            $status_crit->add($status_exp);
            $criteria->add($status_crit);
        } elseif ($status == "expired") {
            $criteria->add(new Criteria('n.expired', 0, '!='));
            $criteria->add(new Criteria('n.expired', time(), '<'));
        }
    }
    if (isset($topicid) && $topicid != 0) {
        $criteria->add(new Criteria('n.topicid', $topicid));
    }
    $order = isset($_POST['order']) ? $_POST['order'] : (isset($_GET['order']) ? $_GET['order'] : 'DESC');
    $revOrder = $order == 'DESC' ? 'ASC' : 'DESC';
    $criteria->setOrder($order);
    $sort = isset($_POST['sort']) ? $_POST['sort'] : (isset($_GET['sort']) ? $_GET['sort'] : 'n.published');
    $criteria->setSort($sort);
    $revString = $querystring . "&amp;sort=" . $sort . "&amp;order=" . $revOrder;
    $querystring .= "&amp;order=" . $order;
    include 'filterform.php';
    $fform->display();
    echo "<table width='100%' border='0' cellspacing='1' class='outer'>";
    echo "<tr><td class=\"odd\"><p align=\"right\">";
    echo "<b><a href=\"" . XOOPS_URL . "/modules/" . $xoopsModule->getVar("dirname") . "/submit.php\">";
    echo "<img src=\"" . XOOPS_URL . "/modules/" . $xoopsModule->getVar("dirname") . "/images/new.png\">" . _AMS_AM_POSTNEWARTICLE . "</a></b></td></tr>";
    echo "<tr><td class=\"odd\">";
    echo "<div style='text-align: center;'><b>" . _AMS_AM_PUBLISHEDARTICLES . "</b> <a href='?" . $revString . "'>" . _AMS_AM_SORT . " " . $revOrder . "</a><br />";
    $storyarray = AmsStory::getAllNews($xoopsModuleConfig['storycountadmin'], $start, $criteria);
    $storyids = array_keys($storyarray);
    $versioncount_arr = AmsStory::getVersionCounts($storyids);
    echo "<table border='1' width='100%'><tr class='bg3'>\r\n            <td align='center'><a href='?" . $querystring . "&amp;sort=n.storyid'>" . _AMS_AM_STORYID . "</a></td>\r\n            <td align='center'><a href='?" . $querystring . "&amp;sort=n.title'>" . _AMS_AM_TITLE . "</a></td>\r\n            <td align='center'>" . _AMS_AM_VERSION . "</td>\r\n            <td align='center'>" . _AMS_AM_TOPIC . "</td>\r\n            <td align='center'>" . _AMS_AM_POSTER . "</td>\r\n            <td align='center'><a href='?" . $querystring . "&amp;sort=n.published'>" . _AMS_AM_PUBLISHED . "</a></td>\r\n            <td align='center'>" . _AMS_AM_VERSIONCOUNT . "</td>\r\n            <td align='center'><a href='?" . $querystring . "&amp;sort=n.counter'>" . _AMS_AM_HITS . "</a></td>\r\n            <td align='center'><a href='?" . $querystring . "&amp;sort=n.rating'>" . _AMS_AM_RATING . "</a></td>\r\n            <td align='center'><a href='?" . $querystring . "&amp;sort=n.comments'>" . _AMS_AM_COMMENTS . "</a></td>\r\n            <td align='center'>" . _AMS_AM_ACTION . "</td></tr>";
    foreach ($storyarray as $eachstory) {
        $uids[] = $eachstory->uid();
    }
    if (!empty($uids)) {
        $member_handler =& xoops_gethandler('member');
        $users = $member_handler->getUsers(new Criteria('uid', "(" . implode(',', array_keys($uids)) . ")", 'IN'), true);
        foreach ($storyarray as $storyid => $eachstory) {
            $eachstory->uname($users);
            $published = formatTimestamp($eachstory->published(), 's');
            //$expired = ( $eachstory -> expired() > 0 ) ? formatTimestamp( $eachstory -> expired(), 's' ) : '---';
            $topic = $eachstory->topic();
            echo "\r\n        \t<tr><td align='center'><b>" . $storyid . "</b>\r\n        \t</td><td align='left'><a href='" . XOOPS_URL . "/modules/" . $xoopsModule->dirname() . "/article.php?storyid=" . $eachstory->storyid() . "'>" . $eachstory->title() . "</a>\r\n        \t</td><td align='left'>" . $eachstory->version() . "\r\n            </td><td align='center'>" . $topic->topic_title() . "\r\n        \t</td><td align='center'><a href='" . XOOPS_URL . "/userinfo.php?uid=" . $eachstory->uid() . "'>" . $eachstory->uname . "</a></td>\r\n            <td align='center' class='nw'>" . $published . "</td>\r\n            <td align='center'>" . $versioncount_arr[$eachstory->storyid()] . "</td>\r\n            <td align='center'>" . $eachstory->counter() . "</td>\r\n            <td align='center'>" . $eachstory->rating . "</td>\r\n            <td align='center'>" . $eachstory->comments() . "</td>\r\n            <td align='center'><a href='../submit.php?op=edit&amp;storyid=" . $eachstory->storyid() . "'>" . _AMS_AM_EDIT . "</a>-<a href='index.php?op=delete&amp;storyid=" . $eachstory->storyid() . "'>" . _AMS_AM_DELETE . "</a>";
            echo "</td></tr>\n";
        }
    }
    echo "</table><br /></div>";
    echo "</td></tr></table><br />";
    $totalPublished = AmsStory::countPublishedByTopic();
    if ($totalPublished > $xoopsModuleConfig['storycountadmin']) {
        include_once XOOPS_ROOT_PATH . '/class/pagenav.php';
        $pagenav = new XoopsPageNav($totalPublished, $xoopsModuleConfig['storycountadmin'], $start, 'start', $querystring);
        echo $pagenav->renderNav();
    }
}
コード例 #3
0
ファイル: index.php プロジェクト: severnaya99/Sg-2010
 if ($scount > 0) {
     $uids = array();
     foreach ($sarray as $storyid => $thisstory) {
         $uids[$thisstory->uid()] = $thisstory->uid();
     }
     $member_handler =& xoops_gethandler('member');
     $user_arr = $member_handler->getUsers(new Criteria('uid', "(" . implode(',', array_keys($uids)) . ")", 'IN'), true);
     foreach ($sarray as $storyid => $thisstory) {
         $stories[] = $thisstory->toArray(false, false, 0, $user_arr);
     }
     $xoopsTpl->assign('stories', $stories);
 } else {
     $xoopsTpl->assign('stories', array());
 }
 $xoopsTpl->assign('columns', $column_count);
 $totalcount = AmsStory::countPublishedByTopic($xoopsOption['storytopic'], $xoopsModuleConfig['restrictindex']);
 if ($totalcount > $scount) {
     include_once XOOPS_ROOT_PATH . '/class/pagenav.php';
     $pagenav = new XoopsPageNav($totalcount, $xoopsOption['storynum'], $start, 'start', 'storytopic=' . $xoopsOption['storytopic']);
     $xoopsTpl->assign('pagenav', $pagenav->renderNav());
 } else {
     $xoopsTpl->assign('pagenav', '');
 }
 if ($xoopsOption['storytopic'] > 0) {
     if (!isset($xt)) {
         $xt = new AmsTopic($xoopsDB->prefix('ams_topics'));
     }
     $xt->getTopic($xoopsOption['storytopic']);
     $pagetitle .= ' - ' . $xt->topic_title();
     $xoopsTpl->assign('breadcrumb', $xt->getTopicPath(true));
 } else {