Project

General

Profile

1
<?php
2

    
3
/**
4
 *
5
 * @category        admin
6
 * @package         pages
7
 * @author          Ryan Djurovich (2004-2009), WebsiteBaker Project
8
 * @copyright       2009-2012, WebsiteBaker Org. e.V.
9
 * @link			http://www.websitebaker2.org/
10
 * @license         http://www.gnu.org/licenses/gpl.html
11
 * @platform        WebsiteBaker 2.8.x
12
 * @requirements    PHP 5.2.2 and higher
13
 * @version         $Id: user_form.php 2098 2014-02-11 01:37:03Z darkviper $
14
 * @filesource		$HeadURL: svn://isteam.dynxs.de/wb-archiv/branches/2.8.x/wb/admin/users/user_form.php $
15
 * @lastmodified    $Date: 2014-02-11 02:37:03 +0100 (Tue, 11 Feb 2014) $
16
 *
17
 */
18

    
19
/* -------------------------------------------------------- */
20
// Must include code to stop this file being accessed directly
21
if(!defined('WB_URL')) {
22
	require_once(dirname(dirname(dirname(__FILE__))).'/framework/globalExceptionHandler.php');
23
	throw new IllegalFileException();
24
}
25
/* -------------------------------------------------------- */
26

    
27
	function show_usermask($admin, &$aActionRequest)
28
	{
29
		$oDb = WbDatabase::getInstance();
30
		$oTrans = Translate::getInstance();
31
        $oTrans->enableAddon('admin\\users');
32

    
33
    	$user_id = intval($aActionRequest['user_id']);
34
        $user = array(
35
            'user_id' => 0,
36
            'username'=> '',
37
            'display_name'=> '',
38
            'email'=> '',
39
        );
40
		// Get existing values
41
        $sql = 'SELECT * FROM `'.$oDb->TablePrefix.'users` ' 
42
             . 'WHERE `user_id`='.$user_id.' AND `user_id` != 1';
43
        if (($oRes = $oDb->doQuery($sql))) {
44
            $user = $oRes->fetchRow(MYSQL_ASSOC);
45
        }
46
		// Setup template object, parse vars to it, then parse it
47
		// Create new template object
48
		$oTpl = new Template(dirname($admin->correct_theme_source('users_form.htt')),'keep');
49
//		$oTpl->debug = true;
50
		$oTpl->set_file('page', 'users_form.htt');
51
		$oTpl->set_block('page', 'main_block', 'main');
52
		$oTpl->set_block('main_block', 'show_modify_loginname_block', 'show_modify_loginname');
53
		$oTpl->set_block('main_block', 'show_add_loginname_block', 'show_add_loginname');
54
		$oTpl->set_block('main_block', 'show_change_group_list_block', 'show_change_group_list');
55
        $oTpl->set_var($oTrans->getLangArray());
56
		if( ( !$admin->ami_group_member('1') ) )
57
		{
58
            $oTpl->set_var('CHANGING_GROUPS', 'You are not allowed to change the groups');
59
    		$oTpl->parse('show_change_group_list', 'show_change_group_list_block');
60
		} else {
61
    		$oTpl->parse('show_change_group_list', '');
62
		}
63
		$oTpl->set_var(	array(
64
            'ACTION_URL'   => ADMIN_URL.'/users/index.php',
65
            'SUB_ACTION'           => 'save',
66
            'BACK_LINK'            => (isset($aActionRequest['BackLink'])) ? $aActionRequest['BackLink'] : '',
67
            'CANCEL_URL'           => $aActionRequest['cancel_url'],
68
            'SUBMIT_TITLE'         => $oTrans->TEXT_SAVE,
69
            'USER_ID'              => $user['user_id'],
70
            'DISPLAY_EXTRA'        => '',
71
            'DISPLAY_HOME_FOLDERS' => '',
72
            'USERNAME'             => $user['username'],
73
            'DISPLAY_NAME'         => $user['display_name'],
74
            'EMAIL'                => $user['email'],
75
            'ADMIN_URL'            => ADMIN_URL,
76
            'WB_URL'               => WB_URL,
77
            'THEME_URL'            => THEME_URL
78
            )
79
        );
80

    
81
		$oTpl->set_var('FTAN', $admin->getFTAN());
82
		if($user['active'] == 1) {
83
            $oTpl->set_var('DISABLED_CHECKED', '');
84
			$oTpl->set_var('ACTIVE_CHECKED', ' checked="checked"');
85
		} else {
86
            $oTpl->set_var('ACTIVE_CHECKED', '');
87
			$oTpl->set_var('DISABLED_CHECKED', ' checked="checked"');
88
		}
89
		// Add groups to list
90
		$oTpl->set_block('main_block', 'group_list_block', 'group_list');
91
    	$sql = 'SELECT `group_id`, `name` FROM `'.$oDb->TablePrefix.'groups` '
92
    	     . 'WHERE `group_id` != 1 ORDER BY `name`';
93
		if (($oRes = $oDb->doQuery($sql))) {
94
			$oTpl->set_var('ID', '');
95
			$oTpl->set_var('NAME', $oTrans->TEXT_PLEASE_SELECT.'...');
96
			$oTpl->set_var('SELECTED', '');
97
			$oTpl->parse('group_list', 'group_list_block', true);
98
			while($group = $oRes->fetchRow(MYSQL_ASSOC)) {
99
				$oTpl->set_var('ID', $group['group_id']);
100
				$oTpl->set_var('NAME', $group['name']);
101
				if(in_array($group['group_id'], explode(",",$user['groups_id']))) {
102
					$oTpl->set_var('SELECTED', ' selected="selected"');
103
				} else {
104
					$oTpl->set_var('SELECTED', '');
105
				}
106
				$oTpl->parse('group_list', 'group_list_block', true);
107
			}
108
		}
109

    
110
//		$in_group = false;
111
//  || ($admin->ami_group_member('1'))
112
// Only allow the user to add a user to the Administrators group if they belong to it
113
		if( ($admin->is_group_match($user['groups_id'], '1') ) || ($admin->ami_group_member('1')) )
114
	    {
115
            if( ($in_group = ($admin->ami_group_member('1'))) == false ) {
116
            	$sql = 'SELECT `name` FROM `'.$oDb->TablePrefix.'groups` '
117
            	     . 'WHERE `group_id` = 1 ORDER BY `name`';
118
                if( ($sGroupName = $oDb->getOne($sql)) != null ) {
119
            		$in_group = true;
120
        			$oTpl->set_var('ID', '1');
121
        			$oTpl->set_var('NAME', $sGroupName);
122
                }
123
            } else {
124
                if( ($in_group = ($admin->is_group_match($admin->get_groups_id(), '1'))) ) {
125
        			$sGroupName = $admin->get_groups_name();
126
        			$oTpl->set_var('ID', '1');
127
        			$oTpl->set_var('NAME', $sGroupName[1]);
128
                }
129
            }
130

    
131
			if($in_group) {
132
				$oTpl->set_var('SELECTED', ' selected="selected"');
133
			} else {
134
				$oTpl->set_var('SELECTED', '');
135
			}
136
			$oTpl->parse('group_list', 'group_list_block', true);
137
		} else {
138
			if($oRes->numRows() == 0) {
139
				$oTpl->set_var('ID', '');
140
				$oTpl->set_var('NAME', $oTrans->TEXT_NONE_FOUND);
141
				$oTpl->set_var('SELECTED', ' selected="selected"');
142
				$oTpl->parse('group_list', 'group_list_block', true);
143
			}
144
		}
145

    
146
		// Generate username field name
147
		$username_fieldname = 'username_'.substr(base_convert(microtime(), 16, 36), 0, 8);
148
		// Work-out if home folder should be shown
149
		if(!HOME_FOLDERS) {
150
			$oTpl->set_var('DISPLAY_HOME_FOLDERS', 'display:none;');
151
		}
152

    
153
		// Include the WB functions file
154
        if(!function_exists('directory_list')) { require(WB_PATH.'/framework/functions.php'); }
155

    
156
		// Add media folders to home folder list
157
		$oTpl->set_block('main_block', 'folder_list_block', 'folder_list');
158
		foreach(directory_list(WB_PATH.MEDIA_DIRECTORY) AS $name)
159
	    {
160
			$oTpl->set_var('NAME', str_replace(WB_PATH, '', $name));
161
			$oTpl->set_var('FOLDER', str_replace(WB_PATH.MEDIA_DIRECTORY, '', $name));
162
			if($user['home_folder'] == str_replace(WB_PATH.MEDIA_DIRECTORY, '', $name)) {
163
				$oTpl->set_var('SELECTED', ' selected="selected"');
164
			} else {
165
				$oTpl->set_var('SELECTED', ' ');
166
			}
167
			$oTpl->parse('folder_list', 'folder_list_block', true);
168
		}
169

    
170
		// Insert language text and messages
171
		$oTpl->set_var(array(
172
                'TEXT_SAVE_BACK'     => $oTrans->TEXT_SAVE.' &amp; '.$oTrans->TEXT_BACK,
173
                'USERNAME_FIELDNAME' => $username_fieldname,
174
                'CHANGING_PASSWORD'  => $oTrans->MESSAGE_USERS_CHANGING_PASSWORD
175
            )
176
        );
177

    
178
		// Parse template object
179
		$oTpl->parse('show_modify_loginname', 'show_modify_loginname_block', true);
180
		$oTpl->parse('show_add_loginname', '', true);
181
		$oTpl->parse('main', 'main_block', false);
182
//			$oTpl->pparse('output', 'page');
183
		$output = $oTpl->finish($oTpl->parse('output', 'page'));
184

    
185
        return $output;
186
    }
(6-6/7)