source: extensions/LCAS/trunk/admin/LCAS_admin.php @ 8257

Revision 8257, 6.9 KB checked in by Eric, 9 years ago (diff)

bug 2066 first step fix : Add customized email text field - New LCAS configuration item.
Translation files updated
admin/template/global.tpl improved : Display of $confinsensitive_case_logon state should be to a more useful place now (no ?)

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
11if (!defined('LCAS_PATH')) define('LCAS_PATH' , PHPWG_PLUGINS_PATH.basename(dirname(__FILE__)).'/');
12
13//ini_set('error_reporting', E_ALL);
14//ini_set('display_errors', true);
15
16include_once(PHPWG_ROOT_PATH.'include/constants.php');
17include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
18$my_base_url = get_admin_plugin_menu_link(__FILE__);
19
20load_language('plugin.lang', LCAS_PATH);
21load_language('help/plugin.lang', LCAS_PATH);
22
23$error = array();
24
25// +-----------------------------------------------------------------------+
26// |                      Getting plugin version                           |
27// +-----------------------------------------------------------------------+
28$plugin =  LCAS_PluginInfos(LCAS_PATH);
29$version = $plugin['version'];
30
31        if (isset($_POST['submit']) and !is_adviser() and isset($_POST['LCAS_Case_Sensitive']) and isset($_POST['LCAS_Accent_Sensitive']) )
32  {
33
34/* General configuration settings */
35                $_POST['LCAS_MailText'] = str_replace('\"', '"', str_replace("\'", "'", str_replace("\\\\", "\\", $_POST['LCAS_MailText'])));
36
37                $newconf_LCAS= array(
38      $_POST['LCAS_Case_Sensitive'],
39      $_POST['LCAS_Accent_Sensitive'],
40      $_POST['LCAS_MailText']);
41
42    $conf['LoginCaseAccentsSensitivity'] = serialize($newconf_LCAS);
43
44                $query = '
45                UPDATE '.CONFIG_TABLE.'
46                SET value="'.addslashes($conf['LoginCaseAccentsSensitivity']).'"
47                WHERE param="LoginCaseAccentsSensitivity"
48                LIMIT 1
49                ;';
50               
51                pwg_query($query);
52
53    // $conf['insensitive_case_logon'] have to be True for a full LCAS use
54    if ($conf['insensitive_case_logon'])
55    {
56                  array_push($page['infos'], l10n('LCAS_save_config'));
57    }
58    else
59    {
60      array_push($page['infos'], l10n('LCAS_save_config'));
61      array_push($page['errors'], l10n('LCAS_warning'));
62    }
63  }
64
65        $conf_LCAS= unserialize($conf['LoginCaseAccentsSensitivity']);
66
67  if ((isset($conf_LCAS[0]) and $conf_LCAS[0]=='true') || (isset($conf_LCAS[1]) and $conf_LCAS[1]=='true'))
68  {
69// +-----------------------------------------------------------------------+
70// |                           initialization                              |
71// +-----------------------------------------------------------------------+
72
73    $lcas_UserToUpdate = -1;
74    if ((isset($_POST['UserToUpdate'])) && ($_POST['UserToUpdate'] != -1)) {
75        $lcas_UserToUpdate = $_POST['UserToUpdate'];
76       
77        if ((isset($_POST['user-'.$lcas_UserToUpdate])) && ($_POST['user-'.$lcas_UserToUpdate] != '')) {
78                // Vérifier si le nom n'est pas déjà pris
79               
80               
81               
82                // Mise à jour du nom
83                                $query = '
84                                UPDATE '.USERS_TABLE.'
85                                SET username="'.addslashes($_POST['user-'.$lcas_UserToUpdate]).'"
86                                WHERE id='.$lcas_UserToUpdate.'
87                                LIMIT 1
88                                ;';
89
90                                pwg_query($query);
91               
92                                array_push($page['infos'], l10n('LCAS_Info_userlist_username_renamed'));
93        }
94        else {
95                // User is empty
96                                array_push($page['errors'], l10n('LCAS_Err_Userlist_Empty_New_Username'));
97        }
98    }
99
100
101
102// +-----------------------------------------------------------------------+
103// |                               user list                               |
104// +-----------------------------------------------------------------------+
105
106                if ($conf_LCAS[0]=='true' && $conf_LCAS[1]=='true')
107                        $lcas_rule = 3;
108                else if ($conf_LCAS[0]=='true')
109                        $lcas_rule = 1;
110                else if ($conf_LCAS[1]=='true')
111                        $lcas_rule = 2;
112                else
113                        $lcas_rule = 0;
114               
115                $page['all_users'] = LCAS_get_user_list($lcas_rule);
116
117// +-----------------------------------------------------------------------+
118// |                               user list                               |
119// +-----------------------------------------------------------------------+
120
121                $lcas_previous_compare_user = '';
122    $visible_user_list          = array();
123    foreach ($page['all_users'] as $local_user)
124    {
125      if ($lcas_previous_compare_user != $local_user['transformed']) {
126        $display = 'orange';
127        $lcas_previous_compare_user = $local_user['transformed'];
128      }
129      else {
130        $display = '';
131      }
132
133                $template->append(
134                'users',
135        array(
136                'ID'          => $local_user['id'],
137                'USERNAME'    => stripslashes($local_user['username']),
138                'COMPARE'     => stripslashes($local_user['transformed']),
139                                        'EMAIL'       => get_email_address_as_display_text($local_user['email']),
140          'DISPLAY'     => $display,
141                                )
142                        );
143                }
144    /* Plugin version insert */
145    $template->assign(
146      array(
147        'LCAS_VERSION'  => $version,
148        'LCAS_PATH'     => LCAS_PATH,
149      )
150    );   
151
152   
153// +-----------------------------------------------------------------------+
154// |                             errors display                            |
155// +-----------------------------------------------------------------------+
156                if ( isset ($errors) and count($errors) != 0)
157                {
158                $template->assign('errors',array());
159                        foreach ($errors as $error)
160                {
161                                array_push($page['errors'], $error);
162                }
163                } 
164
165  }
166
167
168  $template->assign(
169    array(
170    'LCAS_VERSION'                   => $version,
171    'LCAS_PATH'                      => LCAS_PATH,
172    'PWG_insensitive_case_logon'     => $conf['insensitive_case_logon']? 'true'              : 'false',
173                'LCAS_Case_Sensitive_TRUE'       => $conf_LCAS[0]=='true'          ? 'checked="checked"' : '' ,
174                'LCAS_Case_Sensitive_FALSE'      => $conf_LCAS[0]=='false'         ? 'checked="checked"' : '' ,
175                'LCAS_Accent_Sensitive_TRUE'     => $conf_LCAS[1]=='true'          ? 'checked="checked"' : '' ,
176                'LCAS_Accent_Sensitive_FALSE'    => $conf_LCAS[1]=='false'         ? 'checked="checked"' : '' ,
177    'LCAS_MAILTEXT'                  => $conf_LCAS[2]
178    )
179  );
180
181
182// +-----------------------------------------------------------------------+
183// |                             errors display                            |
184// +-----------------------------------------------------------------------+
185  if (isset ($errors) and count($errors) != 0)
186  {
187          $template->assign('errors',array());
188          foreach ($errors as $error)
189          {
190                  array_push($page['errors'], $error);
191                }
192        } 
193
194// +-----------------------------------------------------------------------+
195// |                           templates display                           |
196// +-----------------------------------------------------------------------+
197  $template->set_filename('plugin_admin_content', dirname(__FILE__) . '/template/global.tpl');
198  $template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
199
200?>
Note: See TracBrowser for help on using the repository browser.