private static function configs($globalVarName, $Path, $SetValue = null) { static $Cache = array(); if (!isset($SetValue) && isset($Cache[$Path])) { return $Cache[$Path]; } $Paths = explode('/', $Path); if (isset($Paths[1])) { if (isset($SetValue)) { $old_value = $GLOBALS[$globalVarName][$Paths[0]][$Paths[1]]; $GLOBALS[$globalVarName][$Paths[0]][$Paths[1]] = $SetValue; ConfigSetValue($Paths[0], $Paths[1], $SetValue); if (isset($Cache[$Path])) { $Cache[$Path] = $SetValue; } return $old_value; } else { if (isset($GLOBALS[$globalVarName][$Paths[0]][$Paths[1]])) { $Cache[$Path] = $GLOBALS[$globalVarName][$Paths[0]][$Paths[1]]; return $GLOBALS[$globalVarName][$Paths[0]][$Paths[1]]; } else { return false; } } } else { if (isset($GLOBALS[$globalVarName][$Path])) { $Cache[$Path] = $GLOBALS[$globalVarName][$Path]; return $GLOBALS[$globalVarName][$Path]; } else { return false; } } }
/** * Устанавливает значение настройки плагина. * @param string $Group * @param string $ConfigName * @param string $NewValue */ function ConfigPluginSetValue($Group, $ConfigName, $NewValue) { ConfigSetValue($Group, $ConfigName, $NewValue, 'plugins_config', 'plugins_config_groups'); }
} elseif (!CheckEmail($admin_email)) { $errors[] = 'Формат E-mail не правильный. Он должен быть вида: <b>domain@host.ru</b> .'; } if (count($errors) > 0) { $this->SetTitle("Создание учетной записи Главного администратора"); $text = 'Ошибки:<br /><ul>'; foreach ($errors as $error) { $text .= '<li>' . $error; } $text .= '</ul>'; $this->SetContent($text); $this->AddButton('Назад', 'admin&p=1'); } else { // Изменяем главного администратора $login = SafeEnv($admin_login, 255, str); $pass2 = md5($admin_pass); $email = SafeEnv($admin_email, 255, str); System::database()->Update('users', "`login`='{$login}',`pass`='{$pass2}',`email`='{$email}'", "`id`='1'"); // Автоматически определяем и устанавливаем URL сайта в настройках. ConfigSetValue('general', 'site_url', GetSiteUrl()); // Устанавливаем Email сайта - такой-же как и у администратора ConfigSetValue('general', 'site_email', $email); // Изменяем email Департамента обратной связи System::database()->Update('feedback', "`email`='{$email}'", "`id`='1'"); // Создаём бекап базы данных $backupfilename = System::config('backup_dir') . date("Y.m.d_H.i.s_") . GenRandomString(8, 'abcdefghijklmnopqrstuvwxyz0123456789') . '.' . System::database()->Name . '.zip'; System::database()->CreateBackupFile($backupfilename); GO('setup.php?mod=finish'); } break; }