@@ -275,7 +275,7 @@ function toggleStartBox(name, hide, current) {
-
+
@@ -304,7 +304,7 @@ function toggleStartBox(name, hide, current) {
-', '
', '
', '', ''],
- '' . "\n" . ''
- )
-
- ];
}
- $SQL->freeresult($result);
- //submit
+ if ($req_group == 2 && in_array($row['acl_name'], ['access_fileuser', 'enter_acp']))
+ {
+ continue;
+ }
+
+ $acls[] = [
+ 'acl_title' => ! empty($lang['ACLS_' . strtoupper($row['acl_name'])]) ? $lang['ACLS_' . strtoupper($row['acl_name'])] : $olang['ACLS_' . strtoupper($row['acl_name'])],
+ 'acl_name' => $row['acl_name'],
+ 'acl_can' => (int) $row['acl_can']
+ ];
+ }
+ $SQL->freeresult($result);
+
+ //if submit
+ if (ip('editacl'))
+ {
+ //update 'can' acls
+ if (sizeof($submitted_on_acls))
+ {
+ $update_query = [
+ 'UPDATE' => "{$dbprefix}groups_acl",
+ 'SET' => 'acl_can=1',
+ 'WHERE' => "acl_name IN ('" . implode("', '", $submitted_on_acls) . "') AND group_id=" . $req_group
+ ];
+
+ $SQL->build($update_query);
+ }
+
+ //update 'can not' acls
+ if (sizeof($submitted_off_acls))
+ {
+ $update_query2 = [
+ 'UPDATE' => "{$dbprefix}groups_acl",
+ 'SET' => 'acl_can=0',
+ 'WHERE' => "acl_name IN ('" . implode("', '", $submitted_off_acls) . "') AND group_id=" . $req_group
+ ];
+
+ $SQL->build($update_query2);
+ }
+
+ //delete cache ..
+ delete_cache('data_groups');
+ kleeja_admin_info($lang['CONFIGS_UPDATED'], true, '', true, basename(ADMIN_PATH) . '?cp=g_users');
+ }
+
+break;
+
+//handling editing settings for the requested group
+case 'group_data':
+ $req_group = ig('qg') ? g('qg', 'int') : 0;
+
+ if (! $req_group)
+ {
+ kleeja_admin_err('ERROR-NO-ID', true, '', true, basename(ADMIN_PATH) . '?cp=g_users');
+ }
+
+
+ // When user change language from start page, hurry hurry section, he comes here
+ if (ig('lang_change'))
+ {
+ //check _GET Csrf token
+ if (! kleeja_check_form_key_get('adm_start_actions'))
+ {
+ kleeja_admin_err($lang['INVALID_GET_KEY'], true, $lang['ERROR'], true, basename(ADMIN_PATH) . '?cp=start', 2);
+ }
+
+ $got_lang = preg_replace('[^a-zA-Z0-9]', '', g('lang_change'));
+
+ // -1 means all
+ if ($req_group == -1)
+ {
+ //general
+ update_config('language', $got_lang);
+
+ //all groups
+ foreach ($d_groups as $group_id => $group_info)
+ {
+ update_config('language', $got_lang, true, $group_id);
+ }
+
+ $group_name = $lang['ALL'];
+ }
+ else
+ {
+ update_config('language', $got_lang, true, $req_group);
+ $group_name = str_replace(
+ ['{lang.ADMINS}', '{lang.USERS}', '{lang.GUESTS}'],
+ [$lang['ADMINS'], $lang['USERS'], $lang['GUESTS']],
+ $d_groups[$req_group]['data']['group_name']
+ );
+ }
+
+
+ delete_cache('data_lang' . $got_lang);
+
+
+ //msg, done
+ kleeja_admin_info($lang['CONFIGS_UPDATED'] . ', ' . $lang['LANGUAGE'] . ':' . $got_lang . ' - ' . $lang['FOR'] . ':' . $group_name,
+ true, '', true, basename(ADMIN_PATH) . '?cp=start');
+ }
+
+
+ $group_name = str_replace(['{lang.ADMINS}', '{lang.USERS}', '{lang.GUESTS}'],
+ [$lang['ADMINS'], $lang['USERS'], $lang['GUESTS']],
+ $d_groups[$req_group]['data']['group_name']);
+ $gdata = $d_groups[$req_group]['data'];
+
+ $query = [
+ 'SELECT' => 'c.name, c.option, c.value',
+ 'FROM' => "{$dbprefix}config c",
+ 'WHERE' => "c.type='groups'",
+ 'ORDER BY' => 'c.display_order ASC'
+ ];
+
+ $result = $SQL->build($query);
+
+ $data = [];
+ $cdata = $d_groups[$req_group]['configs'];
+ $STAMP_IMG_URL = file_exists(PATH . 'images/watermark.gif') ? PATH . 'images/watermark.gif' : PATH . 'images/watermark.png';
+
+ while ($row=$SQL->fetch_array($result))
+ {
+ //submit, why here ? dont ask me just accept it as it.
if (ip('editdata'))
{
- //Remove group_is_default from the current one
- if (p('group_is_default', 'int') == 1)
+ is_array($plugin_run_result = Plugins::getInstance()->run('after_submit_adm_users_groupdata', get_defined_vars())) ? extract($plugin_run_result) : null; //run hook
+
+ $new[$row['name']] = p($row['name'], 'str', $row['value']);
+
+ $update_query = [
+ 'UPDATE' => "{$dbprefix}groups_data",
+ 'SET' => "value='" . $SQL->escape($new[$row['name']]) . "'",
+ 'WHERE' => "name='" . $row['name'] . "' AND group_id=" . $req_group
+ ];
+
+ $SQL->build($update_query);
+
+ continue;
+ }
+
+ if ($row['name'] == 'language')
+ {
+ $lngfiles = '';
+
+ //get languages
+ if ($dh = @opendir(PATH . 'lang'))
{
- $update_query = [
- 'UPDATE' => "{$dbprefix}groups",
- 'SET' => 'group_is_default=0',
- 'WHERE' => 'group_is_default=1'
- ];
- $SQL->build($update_query);
-
- //update config value of the current default group
- update_config('default_group', $req_group);
- delete_cache('data_config');
+ while (($file = readdir($dh)) !== false)
+ {
+ if (strpos($file, '.') === false && $file != '..' && $file != '.')
+ {
+ $lngfiles .= '' . "\n";
+ }
+ }
+ @closedir($dh);
}
+ }
- //update not-configs data
+ if ($req_group == 2 && in_array($row['name'], ['enable_userfile']))
+ {
+ continue;
+ }
+
+ $data[] = [
+ 'option' =>
+ str_replace(
+ ['', '', '', '', '
'],
+ ['', '