source: extensions/NBC_UserAdvManager/admin/UserAdvManager_admin.php @ 3352

Last change on this file since 3352 was 3352, checked in by Eric, 15 years ago

First commit

  • Property svn:eol-style set to LF
File size: 8.6 KB
Line 
1<?php
2
3global $user, $lang, $conf, $errors;
4
5if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
6// +-----------------------------------------------------------------------+
7// | Check Access and exit when user status is not ok                      |
8// +-----------------------------------------------------------------------+
9check_status(ACCESS_ADMINISTRATOR);
10
11load_language('plugin.lang', NBC_UserAdvManager_PATH);
12
13$error = array();
14
15if ( isset($_POST['submit']) and !is_adviser() and isset($_POST['UserAdvManager_Mail_Info']) and isset($_POST['UserAdvManager_No_Casse']) and isset($_POST['UserAdvManager_Username_Char']) and isset($_POST['UserAdvManager_Confirm_Mail']) and isset($_POST['UserAdvManager_No_Comment_Anonymous']) )
16{
17  $_POST['UserAdvManager_MailInfo_Text'] = str_replace("\'", "'", str_replace("\\\\", "\\", $_POST['UserAdvManager_MailInfo_Text']));
18  $_POST['UserAdvManager_ConfirmMail_Text'] = str_replace("\'", "'", str_replace("\\\\", "\\", $_POST['UserAdvManager_ConfirmMail_Text']));
19
20    $newconf_nbc_UserAdvManager = $_POST['UserAdvManager_Mail_Info'].';'.$_POST['UserAdvManager_No_Casse'].';'.$_POST['UserAdvManager_Confirm_Mail'].';'.(isset($_POST['UserAdvManager_No_Confirm_Group'])?$_POST['UserAdvManager_No_Confirm_Group']:'').';'.(isset($_POST['UserAdvManager_Validated_Group'])?$_POST['UserAdvManager_Validated_Group']:'').';'.(isset($_POST['UserAdvManager_Validated_Status'])?$_POST['UserAdvManager_Validated_Status']:'').';'.$_POST['UserAdvManager_No_Comment_Anonymous'].';'.$_POST['UserAdvManager_Username_Char'].';'.$_POST['UserAdvManager_Username_List'].';'.(isset($_POST['UserAdvManager_No_Confirm_Status'])?$_POST['UserAdvManager_No_Confirm_Status']:'').';'.$_POST['UserAdvManager_MailInfo_Text'].';'.$_POST['UserAdvManager_ConfirmMail_Text'];
21
22  $conf['nbc_UserAdvManager'] = $newconf_nbc_UserAdvManager;
23 
24  $query = '
25    UPDATE '.CONFIG_TABLE.'
26    SET value="'.$newconf_nbc_UserAdvManager.'"
27    WHERE param="nbc_UserAdvManager"
28    LIMIT 1
29  ;';
30  pwg_query($query);
31       
32  array_push($page['infos'], l10n('UserAdvManager_save_config'));
33}
34
35
36
37$conf_nbc_UserAdvManager = isset($conf['nbc_UserAdvManager']) ? explode(";" , $conf['nbc_UserAdvManager']) : array();
38
39/* Group setting for unvalidated and validated users */
40$groups[-1] = '---------';
41$No_Valid = -1;
42$Valid = -1;
43
44/* Check groups list in database  */
45$query = '
46SELECT id, name
47  FROM '.GROUPS_TABLE.'
48  ORDER BY name ASC
49;';
50$result = pwg_query($query);
51
52while ($row = mysql_fetch_array($result))
53{
54  $groups[$row['id']] = $row['name'];
55  /* configuration value for unvalidated users */
56  if (isset($conf_nbc_UserAdvManager[3]) and $conf_nbc_UserAdvManager[3] == $row['id'])
57  {
58    $No_Valid = $row['id'];
59  }
60  /* configuration value for validated users */
61  if (isset($conf_nbc_UserAdvManager[4]) and $conf_nbc_UserAdvManager[4] == $row['id'])
62  {
63    $Valid = $row['id'];
64  }
65}
66
67/* Template initialization for unvalidated users group */
68$template->assign(
69  'No_Confirm_Group',
70    array(
71      'group_options'=> $groups,
72      'group_selected' => $No_Valid
73    )
74  );
75/* Template initialization for validated users group */
76$template->assign(
77        'Validated_Group',
78        array(
79        'group_options'=> $groups,
80        'group_selected' => $Valid
81    )
82);
83
84/* Status setting for unvalidated and validated users */
85$status_options[-1] = '------------';
86$No_Valid_Status = -1;
87$Valid_Status = -1;
88
89/* Get status values */
90foreach (get_enums(USER_INFOS_TABLE, 'status') as $status)
91{
92  $status_options[$status] = l10n('user_status_'.$status);
93        if (isset($conf_nbc_UserAdvManager[9]) and $conf_nbc_UserAdvManager[9] == $status)
94        {
95                $No_Valid_Status = $status;
96        }
97/* Template initialization for unvalidated users group */
98  $template->assign(
99    'No_Confirm_Status',
100    array(
101      'Status_options' => $status_options,
102      'Status_selected' => $No_Valid_Status
103      ));
104}
105/* Get status values */
106foreach (get_enums(USER_INFOS_TABLE, 'status') as $status)
107{
108  $status_options[$status] = l10n('user_status_'.$status);
109        if (isset($conf_nbc_UserAdvManager[5]) and $conf_nbc_UserAdvManager[5] == $status)
110        {
111                $Valid_Status = $status;
112        }
113/* Template initialization for unvalidated users group */
114  $template->assign(
115    'Confirm_Status',
116    array(
117      'Status_options' => $status_options,
118      'Status_selected' => $Valid_Status
119      ));
120}
121
122
123$template->assign(
124  array(
125    'UserAdvManager_MAIL_INFO_TRUE'       => $conf_nbc_UserAdvManager[0]=='true' ?  'checked="checked"' : '' ,
126    'UserAdvManager_MAIL_INFO_FALSE'      => $conf_nbc_UserAdvManager[0]=='false' ?  'checked="checked"' : '' ,
127    'UserAdvManager_MAILINFO_TEXT'        => $conf_nbc_UserAdvManager[10],
128    'UserAdvManager_NO_CASSE_TRUE'        => $conf_nbc_UserAdvManager[1]=='true' ?  'checked="checked"' : '' ,
129    'UserAdvManager_NO_CASSE_FALSE'       => $conf_nbc_UserAdvManager[1]=='false' ?  'checked="checked"' : '' ,
130    'UserAdvManager_USERNAME_CHAR_TRUE'   => $conf_nbc_UserAdvManager[7]=='true' ?  'checked="checked"' : '' ,
131    'UserAdvManager_USERNAME_CHAR_FALSE'  => $conf_nbc_UserAdvManager[7]=='false' ?  'checked="checked"' : '' ,
132    'UserAdvManager_USERNAME_CHAR_LIST'   => $conf_nbc_UserAdvManager[8],
133    'UserAdvManager_CONFIRM_MAIL_TRUE'    => $conf_nbc_UserAdvManager[2]=='true' ?  'checked="checked"' : '' ,
134    'UserAdvManager_CONFIRM_MAIL_FALSE'   => $conf_nbc_UserAdvManager[2]=='false' ?  'checked="checked"' : '' ,
135    'UserAdvManager_CONFIRMMAIL_TEXT'     => $conf_nbc_UserAdvManager[11],
136    'UserAdvManager_No_Confirm_Group'     => $conf_nbc_UserAdvManager[3],
137    'UserAdvManager_Validated_Group'      => $conf_nbc_UserAdvManager[4],
138    'UserAdvManager_No_Confirm_Status'    => $conf_nbc_UserAdvManager[9],
139    'UserAdvManager_Validated_Status'     => $conf_nbc_UserAdvManager[5],
140    'UserAdvManager_NO_COMMENT_ANO_TRUE'  => $conf_nbc_UserAdvManager[6]=='true' ?  'checked="checked"' : '' ,
141    'UserAdvManager_NO_COMMENT_ANO_FALSE' => $conf_nbc_UserAdvManager[6]=='false' ?  'checked="checked"' : '' ,
142  )
143);
144
145function Audit_UserAdvManager()
146{
147  global $page, $conf, $errors;
148
149  $page_UserAdvMAnager_admin = get_admin_plugin_menu_link(__FILE__);
150
151  $msg_error1 = '';
152  $msg_error2 = '';
153  $msg_ok_Audit = '';
154  $msg_error_Audit = '';
155
156  /* Usename non case sensitive */ 
157  if (isset($conf_nbc_UserAdvManager[1]) and $conf_nbc_UserAdvManager[1] == 'true')
158  {
159    $query = "
160      SELECT ".$conf['user_fields']['username']."
161      FROM ".USERS_TABLE." p1
162      WHERE EXISTS(
163        SELECT ".$conf['user_fields']['username']."
164        FROM ".USERS_TABLE." p2
165        WHERE p1.".$conf['user_fields']['id']." <> p2.".$conf['user_fields']['id']."
166        AND LOWER(p1.".$conf['user_fields']['username'].") = LOWER(p2.".$conf['user_fields']['username'].")
167      )
168    ;";
169    $result = pwg_query($query);
170  while($row = mysql_fetch_array($result))
171    $msg_error1 .= '<br/>'.l10n('Err_audit_no_casse').$row['username'];
172   
173  if ($msg_error1 == '')
174    array_push($page['infos'], l10n('UserAdvManager_audit_ok'));
175  else
176    $msg_error1 = l10n('Err_audit_no_casse').$row['username'];
177  }
178
179  /* Username without forbidden keys */
180  if ( isset($conf_nbc_UserAdvManager[7]) and $conf_nbc_UserAdvManager[7] == 'true' )
181  {
182    $query = "
183      SELECT ".$conf['user_fields']['username'].", ".$conf['user_fields']['email']."
184      FROM ".USERS_TABLE."
185    ;";
186    $result = pwg_query($query);
187
188  while($row = mysql_fetch_array($result))
189    $msg_error2 .= '<br/>'.l10n('Err_audit_username_char').$row['username'].' ('.$row['mail_address'].')';
190
191  if ($msg_error2 == '')
192    array_push($page['infos'], l10n('UserAdvManager_audit_ok'));
193  else
194    $msg_error2 = l10n('Err_audit_username_char').$row['username'].' ('.$row['mail_address'].')';
195  }
196
197  if ($msg_error1 <> '')
198    $errors[] = $msg_error1.'<br/><br/>';
199  if ($msg_error2 <> '')
200    $errors[] = $msg_error2.'<br/><br/>';
201
202  if ($msg_error1 <> '' or $msg_error2 <> '')
203    $errors[] = l10n('Err_audit_advise');
204  else
205    array_push($page['infos'], l10n('UserAdvManager_audit_ok'));
206}
207
208if ( isset($_POST['audit']) or isset($_POST['submit']) )
209{
210        Audit_UserAdvManager();
211}
212// +-----------------------------------------------------------------------+
213// |                             errors display                            |
214// +-----------------------------------------------------------------------+
215if ( isset ($errors) and count($errors) != 0)
216{
217  $template->assign('errors',array());
218  foreach ($errors as $error)
219  {
220    $template->assign('errors.error', array('ERROR'=>$error));
221  }
222}
223
224$template->set_filenames(array('plugin_admin_content' => dirname(__FILE__) . '/UserAdvManager_admin.tpl'));
225$template->assign_var_from_handle( 'ADMIN_CONTENT', 'plugin_admin_content');
226?>
Note: See TracBrowser for help on using the repository browser.