Project

General

Profile

1
<?php
2
/**
3
 * @category        admin
4
 * @package         groups
5
 * @author          WebsiteBaker Project, Independend-Software-Team
6
 * @copyright       2009-2013, WebsiteBaker Org. e.V.
7
 * @link            http://www.websitebaker.org/
8
 * @license         http://www.gnu.org/licenses/gpl.html
9
 * @platform        WebsiteBaker 2.8.x
10
 * @requirements    PHP 5.2.2 and higher
11
 * @version         $Id: groups_list.inc.php 2098 2014-02-11 01:37:03Z darkviper $
12
 * @filesource      $HeadURL: svn://isteam.dynxs.de/wb-archiv/branches/2.8.x/wb/admin/groups/groups_list.inc.php $
13
 * @lastmodified    $Date: 2014-02-11 02:37:03 +0100 (Tue, 11 Feb 2014) $
14
 * @description     all basic actions of this module, called by dispatcher only.
15
 */
16

    
17
// Must include code to stop this file being access directly
18
if(defined('WB_PATH') == false) { exit("Cannot access this file directly"); }
19

    
20
/* *****************************************************************************
21
 * Show groupslist with delete-/ modify-button
22
 * @access public
23
 * @param object $admin: admin-object
24
 * @return string: parsed HTML-content
25
 */
26
	function show_grouplist($admin)
27
	{
28
		$oDb = WbDatabase::getInstance();
29
		$oLang = Translate::getInstance();
30
		$oLang->enableAddon('admin\\groups');
31
// Create new template object for the modify/remove section
32
		$tpl = new Template(dirname($admin->correct_theme_source('groups_list.htt')),'keep');
33
		$tpl->set_file('page', 'groups_list.htt');
34
		$tpl->set_block('page', 'main_block', 'main');
35

    
36
        $tpl->set_var($oLang->getLangArray());
37
		$tpl->set_var('ACTION_URL', $_SERVER['SCRIPT_NAME']);
38
		$tpl->set_var('FTAN', $admin->getFTAN());
39

    
40
// -- if permission then activate link 'manage users'
41
		$tpl->set_block('main_block', 'show_cmd_manage_users_block', 'show_cmd_manage_users');
42
		if($admin->get_permission('users') == true)
43
		{
44
			$tpl->set_var('TEXT_MANAGE_USERS', $oLang->TEXT_MANAGE_USERS);
45
			$tpl->set_var('LINK_MANAGE_USERS', ADMIN_URL.'/users/index'.PAGE_EXTENSION);
46
			$tpl->parse('show_cmd_manage_users', 'show_cmd_manage_users_block', true);
47
		}else { // switch off cmd_manage_groups_block
48
			$tpl->parse('show_cmd_manage_users', '');
49
		}
50

    
51
		$tpl->set_block('main_block', 'show_cmd_group_list_block', 'show_cmd_group_list');
52
		if( $admin->get_permission('groups_view') == true )
53
		{
54
			$tpl->set_var('CONTENT_HEADER', $oLang->HEADING_VIEW_GROUPS);
55
			if( ($admin->get_permission('groups_modify') == true) )
56
			{
57
			$tpl->set_var('CONTENT_HEADER', $oLang->HEADING_MODIFY_DELETE_GROUP);
58
			}
59
		}
60

    
61
		$tpl->set_var('FORM_NAME_GROUPLIST', 'frm_group_list');
62

    
63
// -- build grouplist from database
64
		$tpl->set_block('show_cmd_group_list_block', 'grouplist_block', 'grouplist');
65
		// Insert first value to say please select
66
		// $tpl->set_var('GROUP_ID',   $admin->getIDKEY(0));
67
		$tpl->set_var('GROUP_ID', 0);
68
		$tpl->set_var('GROUP_NAME', '');
69
		$tpl->set_var('GROUP_DISPLAY_NAME', $oLang->TEXT_PLEASE_SELECT.'...');
70
		$tpl->set_var('CSS_GROUP_DELETED', '');
71

    
72
		$tpl->parse('grouplist', 'grouplist_block', true);
73
		$sql  = 'SELECT `group_id`, `name` ';
74
		$sql .= 'FROM `'.$oDb->TablePrefix.'groups` ';
75
		$sql .= 'WHERE `group_id` > 1 ORDER BY `name` ';
76
		if( ($res_groups = $oDb->doQuery($sql)) != false )
77
		{
78
			while($rec_group = $res_groups->fetchRow(MYSQL_ASSOC))
79
			{
80
                if( in_array($rec_group['group_id'], explode( ',', $admin->get_session('GROUPS_ID') ) ) ) { continue; }
81
				// $tpl->set_var('GROUP_ID', $admin->getIDKEY($rec_group['group_id']));
82
				$tpl->set_var('GROUP_ID', $rec_group['group_id']);
83
				$tpl->set_var('GROUP_NAME', $rec_group['name']);
84
				$tpl->set_var('GROUP_DISPLAY_NAME', $rec_group['name']);
85
				$tpl->parse('grouplist', 'grouplist_block', true);
86
			}
87
		}
88

    
89
		$sPermission = 'none';
90
		$sPermission = $admin->get_permission('groups_view') ? 'permView' : $sPermission;
91
		$sPermission = $admin->get_permission('groups_add') ? 'permAdd' : $sPermission;
92
		$sPermission = $admin->get_permission('groups_modify') ? 'permModify' : $sPermission;
93

    
94
// 		if( ($admin->get_permission('groups_modify') == false) && ($admin->get_permission('groups_delete') == false) )
95
		if( ($admin->get_permission('groups') == false) )
96
		{
97
			$tpl->parse('show_cmd_group_list', '');
98
        } else {
99
			$tpl->parse('show_cmd_group_list', 'show_cmd_group_list_block', true);
100
	// -- if permission then activate button 'modify groups'
101
			$tpl->set_block('show_cmd_group_list', 'show_cmd_modify_group_block', 'show_cmd_modify_group');
102
			if( $admin->get_permission('groups') == true )
103
			{
104
				$tpl->parse('show_cmd_modify_group', 'show_cmd_modify_group_block', true);
105
			}else {
106
				$tpl->parse('show_cmd_modify_group', '');
107
			}
108
	// -- if permission then activate button 'delete groups'
109
			$tpl->set_block('show_cmd_group_list', 'show_cmd_delete_group_block', 'show_cmd_delete_group');
110
			if($admin->get_permission('groups_delete') == true)
111
			{
112
				$tpl->parse('show_cmd_delete_group', 'show_cmd_delete_group_block', true);
113
			}else {
114
				$tpl->parse('show_cmd_delete_group', '');
115
			}
116

    
117
        }
118

    
119
		$tpl->set_block('main_block', 'show_cmd_add_input_block', 'show_cmd_add_input');
120
		if($admin->get_permission('groups_add') )
121
		{
122
			$tpl->set_var('DISPLAY_ADD', '');
123
			$tpl->set_var('GROUP_ACTION_URL', $_SERVER['SCRIPT_NAME']);
124
			$tpl->set_var('GROUPS_HEADER', $oLang->HEADING_ADD_GROUP );
125
			$tpl->set_var('SUBMIT_TITLE', $oLang->TEXT_ADD);
126
			$tpl->set_var('ACTION_HANDLE', 'action_modify');
127
			$tpl->set_var('ACTION_HIDDEN', 'action_add');
128
			$tpl->set_var('FORM_NAME_GROUPMASK', 'frm_addnew_group');
129
			$tpl->parse('show_cmd_add_input', 'show_cmd_add_input_block', false);
130
		} else {
131
			$tpl->parse('show_cmd_add_input', '');
132
		}
133

    
134
	// insert urls
135
		$tpl->set_var(array(
136
				'ADMIN_URL' => ADMIN_URL,
137
				'WB_URL'    => WB_URL,
138
				'THEME_URL' => THEME_URL
139
				)
140
		);
141
	// Insert language text and messages
142
		$tpl->set_var(array(
143
				'TEXT_MODIFY'    => ($admin->get_permission('groups_modify') == true) ? $oLang->TEXT_MODIFY : $oLang->TEXT_VIEW,
144
				'TEXT_DELETE'    => $oLang->TEXT_DELETE,
145
				'CONFIRM_DELETE' => $oLang->MESSAGE_GROUPS_CONFIRM_DELETE
146
				));
147

    
148
	// Parse template object
149
		$tpl->parse('main', 'main_block', false);
150
		$output = $tpl->finish($tpl->parse('output', 'page'));
151
		unset($tpl);
152
		return $output;
153
	}
(2-2/6)