# 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; }
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(); }