source: temp/test-xoops.ec-cube.net/html/include/notification_select.php @ 405

Revision 405, 4.7 KB checked in by root, 20 years ago (diff)
Line 
1<?php
2// $Id: notification_select.php,v 1.2 2005/03/18 12:51:55 onokazu Exp $
3//  ------------------------------------------------------------------------ //
4//                XOOPS - PHP Content Management System                      //
5//                    Copyright (c) 2000 XOOPS.org                           //
6//                       <http://www.xoops.org/>                             //
7//  ------------------------------------------------------------------------ //
8//  This program is free software; you can redistribute it and/or modify     //
9//  it under the terms of the GNU General Public License as published by     //
10//  the Free Software Foundation; either version 2 of the License, or        //
11//  (at your option) any later version.                                      //
12//                                                                           //
13//  You may not change or alter any portion of this comment or credits       //
14//  of supporting developers from this source code or any supporting         //
15//  source code which is considered copyrighted (c) material of the          //
16//  original comment or credit authors.                                      //
17//                                                                           //
18//  This program is distributed in the hope that it will be useful,          //
19//  but WITHOUT ANY WARRANTY; without even the implied warranty of           //
20//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            //
21//  GNU General Public License for more details.                             //
22//                                                                           //
23//  You should have received a copy of the GNU General Public License        //
24//  along with this program; if not, write to the Free Software              //
25//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA //
26//  ------------------------------------------------------------------------ //
27
28if (!defined('XOOPS_ROOT_PATH')) {
29    exit();
30}
31include_once XOOPS_ROOT_PATH.'/include/notification_constants.php';
32include_once XOOPS_ROOT_PATH.'/include/notification_functions.php';
33$xoops_notification = array();
34$xoops_notification['show'] = isset($xoopsModule) && is_object($xoopsUser) && notificationEnabled('inline') ? 1 : 0;
35if ($xoops_notification['show']) {
36    include_once XOOPS_ROOT_PATH.'/language/'.$xoopsConfig['language'].'/notification.php';
37    $categories =& notificationSubscribableCategoryInfo();
38    $event_count = 0;
39    if (!empty($categories)) {
40        $notification_handler =& xoops_gethandler('notification');
41        foreach ($categories as $category) {
42            $section['name'] = $category['name'];
43            $section['title'] = $category['title'];
44            $section['description'] = $category['description'];
45            $section['itemid'] = $category['item_id'];
46            $section['events'] = array();
47            $subscribed_events =& $notification_handler->getSubscribedEvents($category['name'], $category['item_id'], $xoopsModule->getVar('mid'), $xoopsUser->getVar('uid'));
48            foreach (notificationEvents($category['name'], true) as $event) {
49                if (!empty($event['admin_only']) && !$xoopsUser->isAdmin($xoopsModule->getVar('mid'))) {
50                    continue;
51                }
52                if (!empty($event['invisible'])) {
53                    continue;
54                }
55                $subscribed = in_array($event['name'], $subscribed_events) ? 1 : 0;
56                $section['events'][$event['name']] = array ('name'=>$event['name'], 'title'=>$event['title'], 'caption'=>$event['caption'], 'description'=>$event['description'], 'subscribed'=>$subscribed);
57                $event_count ++;
58            }
59            $xoops_notification['categories'][$category['name']] = $section;
60        }
61        $xoops_notification['target_page'] = "notification_update.php";
62        $xoops_notification['redirect_script'] = xoops_getenv('PHP_SELF');
63        $xoopsTpl->assign(array('lang_activenotifications' => _NOT_ACTIVENOTIFICATIONS, 'lang_notificationoptions' => _NOT_NOTIFICATIONOPTIONS, 'lang_updateoptions' => _NOT_UPDATEOPTIONS, 'lang_updatenow' => _NOT_UPDATENOW, 'lang_category' => _NOT_CATEGORY, 'lang_event' => _NOT_EVENT, 'lang_events' => _NOT_EVENTS, 'lang_checkall' => _NOT_CHECKALL, 'lang_notificationmethodis' => _NOT_NOTIFICATIONMETHODIS, 'lang_change' => _NOT_CHANGE, 'editprofile_url' => XOOPS_URL . '/edituser.php?uid=' . $xoopsUser->getVar('uid')));
64        switch ($xoopsUser->getVar('notify_method')) {
65        case XOOPS_NOTIFICATION_METHOD_DISABLE:
66            $xoopsTpl->assign('user_method', _NOT_DISABLE);
67            break;
68        case XOOPS_NOTIFICATION_METHOD_PM:
69            $xoopsTpl->assign('user_method', _NOT_PM);
70            break;
71        case XOOPS_NOTIFICATION_METHOD_EMAIL:
72            $xoopsTpl->assign('user_method', _NOT_EMAIL);
73            break;
74        }
75    } else {
76        $xoops_notification['show'] = 0;
77    }
78    if ($event_count == 0) {
79        $xoops_notification['show'] = 0;
80    }
81}
82$xoopsTpl->assign('xoops_notification', $xoops_notification);
83?>
Note: See TracBrowser for help on using the repository browser.