#------------------------------------------------------------------------------- # одна рандомная буква в верхнем регистре $Password = SPrintF('%s%s', StrToUpper($Letters[Mt_Rand(0, StrLen($Letters) - 1)]), $Password); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # число символов по которым строим пароль $Size = StrLen($Chars) - 1; #------------------------------------------------------------------------------- #Debug(SPrintF('[comp/Passwords/Generator]: Chars = %s',$Chars)); #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- # длинна пароля, необходимая длинна минус то что уже построено $Length = $Length - StrLen($Password); #------------------------------------------------------------------------------- while ($Length--) { #------------------------------------------------------------------------------- $Char = $Chars[Mt_Rand(0, $Size)]; #------------------------------------------------------------------------------- # рандомно, символ переводим в верхний регистр $Char = Mt_Rand(0, 2) % 3 ? $Char : StrToUpper($Char); #------------------------------------------------------------------------------- $Password = SPrintF('%s%s', $Password, $Char); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- return Str_Shuffle($Password); #------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
} #------------------------------------------------------------------------------- $Config = $XML->ToArray(); #------------------------------------------------------------------------------- $Config = $Config['XML']; #------------------------------------------------------------------------------- } else { #------------------------------------------------------------------------------- $Config = array(); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (!isset($Config['CSRFKey']) || !$Config['CSRFKey']) { #------------------------------------------------------------------------------- $Config['CSRFKey'] = Str_Shuffle(Md5(MicroTime() . Rand(0, 1000000))); #------------------------------------------------------------------------------- } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (isset($Config['Interface']['Notes'])) { unset($Config['Interface']['Notes']); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (isset($Config['Other']['Libs']['Http'])) { unset($Config['Other']['Libs']['Http']); } #------------------------------------------------------------------------------- #------------------------------------------------------------------------------- if (isset($Config['Users']['Register'])) {
} $File = SPrintF('%s/Config.xml', $Folder); $Data = <<<EOD <XML> <DBConnection> <User>%s</User> <Password>%s</Password> <DbName>%s</DbName> <Server>%s</Server> <Port>%s</Port> </DBConnection> <EncryptionKey>%s</EncryptionKey> <CSRFKey>%s</CSRFKey> </XML> EOD; if (File_Put_Contents($File, SPrintF($Data, $__SETTINGS['db-user'], $__SETTINGS['db-password'], $__SETTINGS['db-name'], $__SETTINGS['db-server'], $__SETTINGS['db-port'], Str_Shuffle(Md5(MicroTime() . Rand(0, 1000000))), Str_Shuffle(Md5(MicroTime() . Rand(0, 1000000)))))) { Message('Настройки конфигурации успешно сохранены'); if (!chmod($File, 0600)) { Error(SPrintF('Не удалось поставить права 0600 на файл конфигурации (%s)', $File)); } else { Message(SPrintF('Права 0600 на файл конфигурации (%s) успешно установлены.', $File)); # пропускаем стадию с рассказом про триггеры и предложением их установки #$__STEP_ID = 5; $__STEP_ID = 6; } } else { Error(SPrintF('Не возможно создать файл конфигурации (%s)', $File)); } } } #-------------------------------------------------------------------------------