source: trunk/news_admin/inc/class.uiacl.inc.php @ 45

Revision 45, 4.3 KB checked in by niltonneto, 17 years ago (diff)

Implementação do FCKEDITOR na edição de artigos no news_admin, para permitir texto rico.

  • Property svn:eol-style set to native
  • Property svn:executable set to *
Line 
1<?php
2        /**************************************************************************\
3        * eGroupWare - News                                                        *
4        * http://www.egroupware.org                                                *
5        * --------------------------------------------                             *
6        *  This program is free software; you can redistribute it and/or modify it *
7        *  under the terms of the GNU General Public License as published by the   *
8        *  Free Software Foundation; either version 2 of the License, or (at your  *
9        *  option) any later version.                                              *
10        * --------------------------------------------                             *
11        \**************************************************************************/
12
13        /* $Id$ */
14
15        class uiacl
16        {
17                var $start = 0;
18                var $query = '';
19                var $sort  = '';
20                var $order = '';
21                var $bo;
22                var $accounts;
23                var $nextmatchs = '';
24                var $rights;
25                var $public_functions = array(
26                        'acllist'       => True,
27                        );
28
29                function uiacl()
30                {
31                        $this->bo = createobject('news_admin.boacl',True);
32                        $this->accounts = $GLOBALS['phpgw']->accounts->get_list('groups');
33                        $this->nextmatchs = createobject('phpgwapi.nextmatchs');
34                        $this->start = $this->bo->start;
35                        $this->query = $this->bo->query;
36                        $this->order = $this->bo->order;
37                        $this->sort = $this->bo->sort;
38                        $this->cat_id = $this->bo->cat_id;
39                }
40               
41                function acllist()
42                {
43                        if (!$GLOBALS['phpgw']->acl->check('run',1,'admin'))
44                        {
45                                $this->deny();
46                        }
47
48                        if ($_POST['btnDone'])
49                        {
50                                $GLOBALS['phpgw']->redirect_link('/admin/index.php');
51                        }
52
53                        $GLOBALS['phpgw']->common->phpgw_header();
54                        echo parse_navbar();
55
56                        if ($_POST['btnSave'])
57                        {
58                                foreach($_POST['catids'] as $cat_id)
59                                {
60                                        $this->bo->set_rights($cat_id,$_POST['inputread'][$cat_id],$_POST['inputwrite'][$cat_id]);
61                                }
62                        }
63
64                        $GLOBALS['phpgw']->template->set_file('acl', 'acl.tpl');
65                        $GLOBALS['phpgw']->template->set_block('acl','cat_list','Cblock');
66                        $GLOBALS['phpgw']->template->set_var(array(
67                                'title' => $GLOBALS['phpgw_info']['apps']['news_admin']['title'] . ' - ' . lang('Configure Access Permissions'),
68                                'lang_search' => lang('Search'),
69                                'lang_save' => lang('Save'),
70                                'lang_done' => lang('Done'),
71                                'lang_read' => lang('Read permissions'),
72                                'lang_write' => lang('Write permissions'),
73                                'lang_implies' => lang('implies read permission'),
74                        ));
75
76                        $left  = $this->nextmatchs->left('/index.php',$this->start,$this->bo->catbo->total_records,'menuaction=news_admin.uiacl.acllist');
77                        $right = $this->nextmatchs->right('/index.php',$this->start,$this->bo->catbo->total_records,'menuaction=news_admin.uiacl.acllist');
78                       
79                        $GLOBALS['phpgw']->template->set_var(array(
80                                'left' => $left,
81                                'right' => $right,
82                                'lang_showing' => $this->nextmatchs->show_hits($this->bo->catbo->total_records,$this->start),
83                                'th_bg' => $GLOBALS['phpgw_info']['theme']['th_bg'],
84                                'sort_cat' => $this->nextmatchs->show_sort_order(
85                                        $this->sort,'cat_name','cat_name','/index.php',lang('Category'),'&menuaction=news_admin.uiacl.acllist'
86                                ),
87                                'query' => $this->query,
88                        ));
89
90                        @reset($this->bo->cats);
91                        while (list(,$cat) = @each($this->bo->cats))
92                        {
93                                $this->rights = $this->bo->get_rights($cat['id']);
94
95                                $tr_color = $this->nextmatchs->alternate_row_color($tr_color);
96                                $GLOBALS['phpgw']->template->set_var(array(
97                                        'tr_color' => $tr_color,
98                                        'catname' => $cat['name'],
99                                        'catid' => $cat['id'],
100                                        'read' => $this->selectlist(PHPGW_ACL_READ),
101                                        'write' => $this->selectlist(PHPGW_ACL_ADD)
102                                ));
103                                $GLOBALS['phpgw']->template->parse('Cblock','cat_list',True);
104                        }
105                        $GLOBALS['phpgw']->template->pfp('out','acl',True);
106                }
107
108                function selectlist($right)
109                {
110                        reset($this->bo->accounts);
111                        while (list($null,$account) = each($this->bo->accounts))
112                        {
113                                $selectlist .= '<option value="' . $account['account_id'] . '"';
114                                if($this->rights[$account['account_id']] & $right)
115                                {
116                                        $selectlist .= ' selected="selected"';
117                                }
118                                $selectlist .= '>' . $account['account_firstname'] . ' ' . $account['account_lastname']
119                                                                                . ' [ ' . $account['account_lid'] . ' ]' . '</option>' . "\n";
120                        }
121                        return $selectlist;
122                }
123
124                function deny()
125                {
126                        echo '<p><center><b>'.lang('Access not permitted').'</b></center>';
127                        $GLOBALS['phpgw']->common->phpgw_exit(True);
128                }
129        }
130?>
Note: See TracBrowser for help on using the repository browser.