コード例 #1
0
# General Public License along with Exponent; if
# not, write to:
#
# Free Software Foundation, Inc.,
# 59 Temple Place,
# Suite 330,
# Boston, MA 02111-1307  USA
#
# $Id: manage_channel.php,v 1.2 2005/04/18 15:24:51 filetreefrog Exp $
##################################################
if (!defined('PATHOS')) {
    exit('');
}
if (pathos_permissions_check('manage_channel', $loc)) {
    pathos_flow_set(SYS_FLOW_PROTECTED, SYS_FLOW_ACTION);
    if (!defined('SYS_CHANNELS')) {
        require_once BASE . 'subsystems/channels.php';
    }
    $channel = pathos_channels_getChannel($loc);
    if ($channel) {
        $items = pathos_channels_getItems($channel);
        $template = new template('newsmodule', '_channelManager', $loc);
        $template->assign('channel', $channel);
        $template->assign('items', $items);
        $template->output();
    } else {
        echo SITE_404_HTML;
    }
} else {
    echo SITE_403_HTML;
}
コード例 #2
0
 function show($view, $loc = null, $title = "")
 {
     global $db, $user;
     $config = $db->selectObject("newsmodule_config", "location_data='" . serialize($loc) . "'");
     if ($config == null) {
         $config->sortorder = "ASC";
         $config->sortfield = "posted";
         $config->item_limit = 10;
     }
     // Check permissions for AP link
     $canviewapproval = false;
     if ($user) {
         $canviewapproval = pathos_permissions_check("approve", $loc) || pathos_permissions_check("manage_approval", $loc);
     }
     if (!$canviewapproval) {
         // still not able to view
         foreach ($db->selectObjects("newsitem", "location_data='" . serialize($loc) . "' AND (publish = 0 or publish <= " . time() . ") AND (unpublish = 0 or unpublish > " . time() . ") AND approved != 0") as $post) {
             if ($user && $user->id == $post->poster) {
                 $canviewapproval = true;
                 break;
             }
         }
     }
     $template = new template('newsmodule', $view, $loc);
     $template->assign('moduletitle', $title);
     $template->register_permissions(array('administrate', 'configure', 'add_item', 'delete_item', 'edit_item', 'manage_approval', 'view_unpublished', 'manage_channel'), $loc);
     if (!defined('SYS_CHANNELS')) {
         require_once BASE . 'subsystems/channels.php';
     }
     $channel = pathos_channels_getChannel($loc);
     if ($channel) {
         $template->assign('is_channel', 1);
         $template->assign('hasChannelItems', pathos_channels_hasItems($loc, true));
         $template->assign('hasNewChannelItems', pathos_channels_hasItems($loc, false));
     } else {
         $template->assign('is_channel', 0);
     }
     $news = $db->selectObjects("newsitem", "location_data='" . serialize($loc) . "' AND (publish = 0 or publish <= " . time() . ") AND (unpublish = 0 or unpublish > " . time() . ") AND approved != 0 ORDER BY " . $config->sortfield . " " . $config->sortorder . $db->limit($config->item_limit, 0));
     for ($i = 0; $i < count($news); $i++) {
         $news[$i]->real_posted = $news[$i]->publish != 0 ? $news[$i]->publish : $news[$i]->posted;
         $news[$i]->permissions = array("edit_item" => pathos_permissions_check("edit_item", $loc) ? 1 : 0, "delete_item" => pathos_permissions_check("delete_item", $loc) ? 1 : 0, "administrate" => pathos_permissions_check("administrate", $loc) ? 1 : 0);
     }
     // EVIL WORKFLOW
     $in_approval = $db->countObjects("newsitem_wf_info", "location_data='" . serialize($loc) . "'");
     $template->assign("canview_approval_link", $canviewapproval);
     $template->assign("in_approval", $in_approval);
     $template->assign("news", $news);
     $template->assign("morenews", count($news) < $db->countObjects("newsitem", "location_data='" . serialize($loc) . "' AND (publish = 0 or publish <= " . time() . ") AND (unpublish = 0 or unpublish > " . time() . ") AND approved != 0"));
     $template->output();
 }