} if (!is_readable($TMP_FOLDER . "symlinks.txt")) { InstallationAborted(TOOLS_MODULES_ERR_CANTOPEN . " symlinks.txt.", 'activation'); } $Ability = CheckAbilityOfInstallation(); if ($Ability["Success"] == 0) { InstallationAborted(TOOLS_PATCH_ERROR . ": " . $Ability["ErrorMessage"] . ".", 'activation'); } $Install = InstallPatch(); if ($Install["Success"] == 0) { InstallationAborted(TOOLS_PATCH_ERROR_DURINGINSTALL . ": " . $Install["ErrorMessage"] . ".", 'activation'); } // copy files from files.txt $CopyFilesResult = CopyFiles(); // execute queries from sql.txt, one per string $ExecSQLResult = ExecSQL($TMP_FOLDER . "sql.txt"); // symlinks.txt $CreatLinksResult = CreatLinks(); // insert patch info into the database $inserted = $db->query("INSERT INTO `Patch`\n\t\t\t(`Patch_Name`, `Created`, `Description`)\n\t\t\tVALUES ('" . $db->escape($PatchName) . "', NOW(), '" . $db->escape($Description) . "')"); // don't show update notice once more $PatchResult = array(); // results if ($CopyFilesResult['files']) { $PatchResult['files'] = str_replace("%COUNT", $CopyFilesResult['files'], TOOLS_PATCH_INFO_FILES_COPIED); } if ($ExecSQLResult['sqls']) { $PatchResult['sqls'] = str_replace("%COUNT", $ExecSQLResult['sqls'], TOOLS_PATCH_INFO_QUERIES_EXEC); } if ($CreatLinksResult['links']) { $PatchResult['links'] = str_replace("%COUNT", $CreatLinksResult['links'], TOOLS_PATCH_INFO_SYMLINKS_EXEC);
ExecSQL($log, $sql, '161'); UpdateVer($vr, '162'); } // Обновляем до 3.73 if ($cfg->version == '3.72') { $vr = '3.73'; $log = '- добавляю поля для хеширования пароля'; $sql = 'ALTER TABLE `users` ADD COLUMN `password` CHAR(40) NOT NULL AFTER `pass`, ADD COLUMN `salt` CHAR(10) NOT NULL AFTER `password`'; ExecSQL($log, $sql, '163'); $log = '- обновляю соль в таблице пользователей'; $sql = "UPDATE users SET salt=SUBSTRING(MD5(RAND()), -10) WHERE salt=''"; ExecSQL($log, $sql, '164.1'); $log = '- обновляю хеши паролей'; $sql = "UPDATE users SET `password`=SHA1(CONCAT(SHA1(pass), salt)) WHERE `password`=''"; ExecSQL($log, $sql, '164.2'); UpdateVer($vr, '165'); } // Обновляем до 3.74 if ($cfg->version == '3.73') { $vr = '3.74'; $log = '- удаляю поле pass из таблицы users'; $sql = 'ALTER TABLE `users` DROP COLUMN `pass`'; ExecSQL($log, $sql, '166'); UpdateVer($vr, '167'); } echo 'Обновление закончено.<br>'; echo 'Если сообщений об ошибках нет, удалите файл update.php.<br>'; ?> </body> </html>
*/ UpdateVer($vr, '160'); } // Обновляем до 3.72 if ($cfg->version == '3.71') { $vr = '3.72'; $log = '- добавляю таблицу для создания меню'; $sql = "CREATE TABLE IF NOT EXISTS `menu` (\n\t\t`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 'Уникальный идентификатор',\n\t\t`parents` INT(11) NOT NULL COMMENT 'Родитель',\n\t\t`sort_id` INT(11) NOT NULL COMMENT 'Сортировка',\n\t\t`name` VARCHAR(200) NOT NULL COMMENT 'Название',\n\t\t`comment` VARCHAR(200) NOT NULL COMMENT 'Пояснение',\n\t\t`uid` VARCHAR(50) NOT NULL COMMENT 'некий идентификатор (можно использовать для автосоздания менюшек)',\n\t\tPRIMARY KEY(`id`)\n\t) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1"; ExecSQL($log, $sql, '161'); UpdateVer($vr, '162'); } // Обновляем до 3.72 if ($cfg->version == '3.72') { $vr = '3.73'; $log = '- добавляю поля для хеширования пароля'; $sql = 'ALTER TABLE `users` ADD COLUMN `password` CHAR(40) NOT NULL AFTER `pass`, ADD COLUMN `salt` CHAR(10) NOT NULL AFTER `password`'; ExecSQL($log, $sql, '163'); $log = '- обновляю соль в таблице пользователей'; $sql = "UPDATE users SET salt=SUBSTRING(MD5(RAND()), -10) WHERE salt=''"; ExecSQL($log, $sql, '164.1'); $log = '- обновляю хеши паролей'; $sql = "UPDATE users SET `password`=SHA1(CONCAT(SHA1(pass), salt)) WHERE `password`=''"; ExecSQL($log, $sql, '164.2'); UpdateVer($vr, '165'); } echo 'Обновление закончено.<br>'; echo 'Если сообщений об ошибках нет, удалите файл update.php.<br>'; ?> </body> </html>