revert update v3.22 (add module aliases)
This commit is contained in:
2026-04-18 18:30:05 +00:00
parent 364f16224b
commit ac2bca788a
11 changed files with 24 additions and 594 deletions

9
.gitignore vendored Normal file
View File

@@ -0,0 +1,9 @@
/.idea/*
/config/*
/config/config.inc.php
/config/db.config.php
/tmp/*
/modules/*
/templates/*
/uploads/*
*.DS_Store

View File

@@ -98,139 +98,5 @@
$AVE_Module->moduleRemove($_REQUEST['module']);
}
break;
case 'aliases_all':
if (check_permission_acp('modules_system')) {
$modules_list = array();
$sql = "SELECT
a.id,
a.module_name as sys_name,
a.module_link_name,
a.module_action,
a.module_link,
a.module_url as alias_url,
a.document_id as doc_id,
a.module_admin,
m.ModuleName as title
FROM " . PREFIX . "_modules_aliases a
LEFT JOIN " . PREFIX . "_module m ON m.ModuleSysName = a.module_name
ORDER BY a.id DESC";
$q = $AVE_DB->Query($sql);
while ($row = $q->FetchAssocArray()) {
if (empty($row['title'])) {
$row['title'] = $row['sys_name'];
}
$modules_list[] = $row;
}
$all_docs = array();
$doc_q = $AVE_DB->Query("SELECT Id, document_title FROM " . PREFIX . "_documents ORDER BY document_title ASC");
while ($d = $doc_q->FetchAssocArray()) {
$all_docs[$d['Id']] = $d['document_title'];
}
$AVE_Template->assign(array(
'modules_list' => $modules_list,
'all_docs' => $all_docs,
'sess' => SESSION
));
$AVE_Template->assign('content', $AVE_Template->fetch('modules/all_modules_aliases.tpl'));
}
break;
case 'aliases':
if (check_permission_acp('modules_system')) {
$alias_id = (int)($_REQUEST['id'] ?? 0);
if (!empty($_POST['save_aliases'])) {
$update_data = [
'module_name' => $_POST['module_name'] ?? '',
'module_url' => trim($_POST['module_url'], '/ ') . '/',
'document_id' => (int)$_POST['document_id'],
'module_action' => $_POST['module_action'] ?? '',
'module_link' => $_POST['module_link'] ?? '',
'module_link_name' => $_POST['module_link_name'] ?? '',
'module_admin' => isset($_POST['module_admin']) ? '1' : '0'
];
$res = $AVE_Module->moduleAliasSave($alias_id, $update_data);
if (function_exists('clear_cache')) clear_cache();
// Если это AJAX (сохранение из модального окна)
if (isset($_REQUEST['ajax']) || isset($_REQUEST['onlycontent'])) {
@ob_clean();
header('Content-Type: application/json');
$message = '';
// Проверяем, какую именно ошибку вернул метод
if ($res === 'error_duplicate_url') {
$message = 'ВНИМАНИЕ: ЧПУ адрес "' . $_POST['module_url'] . '" уже занят другим модулем!';
} elseif ($res === 'error_duplicate_link') {
$message = 'ОШИБКА: Для этого оригинального URL уже существует запись. Не плодите дубликаты!';
}
if ($message) {
echo json_encode([
'status' => 'error',
'message' => $message
]);
} else {
echo json_encode(['status' => $res ? 'success' : 'error']);
}
exit;
}
}
$alias_data = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_modules_aliases WHERE id = '{$alias_id}'")->FetchAssocArray();
if (!$alias_data) {
$alias_data = [
'module_name' => '', 'module_link_name' => '', 'module_action' => '',
'module_link' => '', 'module_url' => '', 'document_id' => 0, 'module_admin' => '1'
];
}
// Получаем список документов для выпадающего списка
$all_docs = array();
$doc_q = $AVE_DB->Query("SELECT Id, document_title FROM " . PREFIX . "_documents ORDER BY document_title ASC");
while ($d = $doc_q->FetchAssocArray()) {
$all_docs[$d['Id']] = $d['document_title'];
}
$AVE_Template->assign([
'alias_id' => $alias_id,
'alias_data' => $alias_data,
'all_docs' => $all_docs,
'sess' => SESSION
]);
if (isset($_REQUEST['ajax']) || isset($_REQUEST['onlycontent'])) {
echo $AVE_Template->fetch('modules/module_aliases.tpl');
exit;
}
}
break;
case 'alias_delete':
if (check_permission_acp('modules_system')) {
$id = (int)($_REQUEST['id'] ?? 0);
if ($id > 0) {
$AVE_Module->moduleAliasDeleteById($id);
if (function_exists('clear_cache')) clear_cache();
}
// Возвращаем на страницу списка всех алиасов
header('Location: index.php?do=modules&action=aliases_all&cp=' . SESSION);
exit;
}
break;
}
?>

View File

@@ -1,103 +0,0 @@
<div class="title"><h5>Управление ЧПУ всех модулей</h5></div>
<div class="breadCrumbHolder module">
<div class="breadCrumb module">
<ul>
<li class="firstB"><a href="index.php" title="{#MAIN_PAGE#}">{#MAIN_PAGE#}</a></li>
<li><a href="index.php?do=modules&cp={$sess}">Управление модулями</a></li>
<li>Список всех ЧПУ</li>
</ul>
</div>
</div>
<div class="widget first">
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic mainForm">
<thead>
<tr>
<td>Название ссылки</td>
<td>Системное имя</td>
<td>Action</td>
<td>Оригинальный URL</td>
<td>ЧПУ Алиас</td>
<td>Документ (ID)</td>
<td width="40" align="center">Меню</td>
<td width="40" align="center">Правка</td>
<td width="40" align="center">Удалить</td>
</tr>
</thead>
<tbody>
{foreach from=$modules_list item=mod}
<tr>
<td><strong>{$mod.module_link_name|default:$mod.title}</strong></td>
<td><span class="cmsStats">{$mod.sys_name}</span></td>
<td><span class="blue">{$mod.module_action|default:'---'}</span></td>
<td><span class="dgrey" style="font-size: 11px;">{$mod.module_link|default:'---'}</span></td>
<td>
<input type="text" value="{$mod.alias_url}" style="width: 90%; font-family: monospace;" readonly />
</td>
<td>
{if $mod.doc_id > 0}
<span class="green">{$all_docs[$mod.doc_id]|default:'Документ не найден'} (ID: {$mod.doc_id})</span>
{else}
<span class="dgrey">Без привязки</span>
{/if}
</td>
<td align="center">
{if $mod.module_admin == '1'}
<span class="icon_sprite ico_ok" title="В меню"></span>
{else}
<span class="icon_sprite ico_ok_green" title="Скрыт"></span>
{/if}
</td>
<td align="center">
<a href="index.php?do=modules&action=aliases&id={$mod.id}&cp={$sess}&ajax=1&onlycontent=1"
data-dialog="aliases-{$mod.id}"
data-height="550"
data-width="650"
data-modal="true"
data-title="Редактировать ЧПУ: {$mod.module_link_name|default:$mod.title}"
class="openDialog icon_sprite ico_edit topleftDir"
title="Редактировать"></a>
</td>
<td align="center">
<a href="javascript:void(0);"
class="icon_sprite ico_delete topleftDir"
title="Удалить"
onclick="jConfirm('Удалить алиас <strong>{$mod.alias_url}</strong>?', 'Подтверждение', function(r) {
if(r) window.location.href='index.php?do=modules&action=alias_delete&id={$mod.id}&cp={$sess}';
});"></a>
</td>
</tr>
{/foreach}
</tbody>
</table>
{if empty($modules_list)}
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic">
<tbody>
<tr class="noborder">
<td colspan="9">
<ul class="messages">
<li class="highlight yellow">Список ЧПУ алиасов пуст. Добавьте первый алиас, чтобы настроить красивые ссылки.</li>
</ul>
</td>
</tr>
</tbody>
</table>
{/if}
</div>
<div class="fix" style="margin-top: 20px;">
<a href="index.php?do=modules&cp={$sess}" class="button basicBtn">Вернуться к списку модулей</a>
&nbsp;
<a href="index.php?do=modules&action=aliases&id=0&cp={$sess}&ajax=1&onlycontent=1"
data-dialog="aliases-0"
data-height="550"
data-width="650"
data-modal="true"
data-title="Добавить новый ЧПУ алиас"
class="button basicBtn greenBtn openDialog">Добавить новый алиас</a>
</div>

View File

@@ -1,116 +0,0 @@
<div class="widget first">
<form action="index.php?do=modules&action=aliases&id={$alias_id}&cp={$sess}&ajax=1&onlycontent=1" method="post" id="AliasForm">
<input type="hidden" name="save_aliases" value="1" />
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic mainForm">
<tr>
<td width="150">Системное имя модуля:</td>
<td><input type="text" name="module_name" value="{$alias_data.module_name|default:''}" style="width: 95%;" placeholder="Например: search" /></td>
</tr>
<tr>
<td width="150">Название ссылки:</td>
<td><input type="text" name="module_link_name" value="{$alias_data.module_link_name|default:''}" style="width: 95%;" /></td>
</tr>
<tr>
<td>Системный Action:</td>
<td><input type="text" name="module_action" value="{$alias_data.module_action|default:''}" style="width: 95%;" /></td>
</tr>
<tr>
<td>Оригинальный URL:</td>
<td><input type="text" name="module_link" value="{$alias_data.module_link|default:''}" style="width: 95%;" /></td>
</tr>
<tr>
<td><strong>ЧПУ Алиас:</strong></td>
<td><input type="text" name="module_url" value="{$alias_data.module_url|default:''}" style="width: 95%; font-weight: bold;" /></td>
</tr>
<tr>
<td>Привязка к документу:</td>
<td>
<select name="document_id" style="width: 98%;">
<option value="0">-- Без привязки --</option>
{foreach from=$all_docs key=d_id item=d_title}
<option value="{$d_id}" {if $d_id == ($alias_data.document_id|default:0)}selected="selected"{/if}>{$d_title}</option>
{/foreach}
</select>
</td>
</tr>
<tr>
<td>Доступ в админке:</td>
<td>
<input type="checkbox" name="module_admin" value="1" {if ($alias_data.module_admin|default:'1') == '1'}checked="checked"{/if} />
<label>Отображать в меню модулей</label>
</td>
</tr>
<tr>
<td colspan="2" style="padding: 15px 10px;">
<input type="submit" class="basicBtn SaveAlias" value="Сохранить изменения" />
&nbsp;
<a href="javascript:void(0);" class="button redBtn CloseModal">Закрыть окно</a>
</td>
</tr>
</table>
</form>
</div>
{literal}
<script type="text/javascript">
$(function(){
var a_id = '{/literal}{$alias_id}{literal}';
function closeAndReload() {
$('#ajax-dialog-aliases-' + a_id).dialog('destroy').remove();
if (window.parent) window.parent.location.reload();
else window.location.reload();
}
$(document).off('click', '.CloseModal').on('click', '.CloseModal', function(e){
e.preventDefault();
closeAndReload();
});
var $dialog = $('#ajax-dialog-aliases-' + a_id).closest('.ui-dialog');
$dialog.find('.ui-dialog-titlebar-close').on('click', function(){
if (window.parent) window.parent.location.reload();
});
$(document).off('click', '.SaveAlias').on('click', '.SaveAlias', function(e){
e.preventDefault();
var $btn = $(this);
$("#AliasForm").ajaxSubmit({
dataType: 'json',
beforeSubmit: function() {
$btn.attr("disabled", true).val("Сохранение...");
},
success: function(r){
if (r && r.status == 'success') {
$.jGrowl(r.message || "Изменения успешно сохранены", {
theme: "accept",
life: 3000
});
if (parseInt(a_id) === 0) {
setTimeout(function() {
if (window.parent) window.parent.location.reload();
}, 900);
} else {
$btn.attr("disabled", false).val("Сохранить изменения");
}
} else {
var msg = (r && r.message) ? r.message : "Ошибка при сохранении";
$.jGrowl(msg, {
theme: "error",
life: 5000
});
$btn.attr("disabled", false).val("Сохранить изменения");
}
},
error: function() {
$.jGrowl("Критическая ошибка сервера", { theme: "error" });
$btn.attr("disabled", false).val("Сохранить изменения");
}
});
});
});
</script>
{/literal}

View File

@@ -50,7 +50,7 @@ $(document).ready(function(){ldelim}
<div class="widget first">
<div class="num">
<a class="basicNum topDir" href="index.php?do=modules&action=aliases_all&cp={$sess}">Редактирование алиасов</a>
<a class="basicNum topDir" href="index.php?do=modules&action=aliases&cp={$sess}">Редактирование алиасов</a>
</div>
<ul class="tabs">
<li class="activeTab"><a href="#tab1">{#MODULES_INSTALLED#}</a></li>

View File

@@ -2157,37 +2157,9 @@
}*/
// Иначе ищем URL в редиректах
else
// Иначе ищем URL в редиректах
else
{
// Сначала ищем в истории МУЛЕЙ
$sql = "
SELECT
# MODULE REDIRECT = $get_url
m.module_url,
h.module_alias_header
FROM
".PREFIX."_modules_aliases_history AS h,
".PREFIX."_modules_aliases AS m
WHERE
h.module_name = m.module_name
AND
h.module_alias = '" . str_ireplace("'", "\'", $get_url) . "'
";
$mod_redirect = $AVE_DB->Query($sql)->FetchRow();
if ($mod_redirect?->module_url)
{
$GLOBALS['block_generate']['DOCUMENT']['URL_PARSE'] = Debug::endTime('URL_PARSE');
$redirect_url = ABS_PATH . $mod_redirect->module_url;
$header_code = $mod_redirect->module_alias_header ?? 301;
header('Location:' . $redirect_url, true, $header_code);
exit;
}
// Если не нашли в модулях — ищем в истории ДОКУМЕНТОВ
$sql = "
SELECT
# REDIRECT = $get_url
@@ -2199,7 +2171,7 @@
WHERE
h.document_id = a.Id
AND
h.document_alias = '" . str_ireplace("'", "\'", $get_url) . "'
h.document_alias = '" . $get_url . "'
";
$redirect_alias = $AVE_DB->Query($sql)->FetchRow();
@@ -2208,11 +2180,11 @@
if ($redirect_alias?->document_alias)
{
$redirect_url = ABS_PATH . $redirect_alias->document_alias . URL_SUFF;
$redirect_url = str_replace('//', '/', $redirect_url);
$redirect_alias = ABS_PATH . $redirect_alias->document_alias . URL_SUFF;
$redirect_alias = str_replace('//', '/', $redirect_alias);
$header_code = $redirect_alias->document_alias_header ?? 301;
header('Location:' . $redirect_url, true, $header_code);
header('Location:' . $redirect_alias, true, $header_code);
exit;
}

View File

@@ -4,9 +4,9 @@
* AVE.cms
*
* @package AVE.cms
* @version 4.x
* @version 3.x
* @filesource
* @copyright © 2007-2026 AVE.cms, https://ave4cms.ru
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru
*
*/
@@ -502,7 +502,7 @@
}
/**
/**
* Метод, предназначенный для удаление модуля
*
*/
@@ -536,9 +536,6 @@
$AVE_DB->Query($sql);
// Удаляем записи ЧПУ и историю редиректов для этого модуля
$this->moduleAliasDelete(MODULE_PATH);
$this->clearModulesCache();
// Сохраняем системное сообщение в журнал
@@ -641,143 +638,5 @@ public function moduleRemove ($dir)
return rrmdir($cache_dir);
}
/**
* Метод для получения текущего ЧПУ модуля
*/
public function moduleAliasGet($module_name)
{
global $AVE_DB;
$sql = "SELECT
id,
document_id,
module_name,
module_action,
module_link,
module_link_name,
module_url,
module_admin
FROM " . PREFIX . "_modules_aliases
WHERE module_name = '" . addslashes($module_name) . "'
LIMIT 1";
$result = $AVE_DB->Query($sql)->FetchAssocArray();
return $result ?: [
'id' => 0,
'document_id' => 0,
'module_name' => $module_name,
'module_action' => '',
'module_link' => '',
'module_link_name' => '',
'module_url' => '',
'module_admin' => '0'
];
}
/**
* Сохранение ЧПУ настройки модуля
* */
public function moduleAliasSave($id, $data)
{
global $AVE_DB;
$id = (int)$id;
$module_name = addslashes($data['module_name'] ?? '');
$module_link_name = addslashes($data['module_link_name'] ?? '');
$module_action = addslashes($data['module_action'] ?? '');
$module_link = addslashes($data['module_link'] ?? '');
$module_url = addslashes($data['module_url'] ?? '');
$document_id = (int)($data['document_id'] ?? 0);
$module_admin = (int)($data['module_admin'] ?? 0);
$exact_match = $AVE_DB->Query("SELECT id FROM " . PREFIX . "_modules_aliases
WHERE id = '{$id}'
AND module_name = '{$module_name}'
AND module_link_name = '{$module_link_name}'
AND module_action = '{$module_action}'
AND module_link = '{$module_link}'
AND module_url = '{$module_url}'
AND document_id = '{$document_id}'
AND module_admin = '{$module_admin}'
LIMIT 1")->FetchAssocArray();
if ($exact_match) {
return true;
}
// Уникальность ЧПУ (module_url)
$check_url = $AVE_DB->Query("SELECT id FROM " . PREFIX . "_modules_aliases
WHERE module_url = '{$module_url}' AND id != '{$id}' LIMIT 1")->FetchAssocArray();
if ($check_url) {
return 'error_duplicate_url';
}
// Уникальность Оригинального URL (module_link)
$check_link = $AVE_DB->Query("SELECT id FROM " . PREFIX . "_modules_aliases
WHERE module_link = '{$module_link}' AND id != '{$id}' LIMIT 1")->FetchAssocArray();
if ($check_link) {
return 'error_duplicate_link';
}
// ОБРАБОТКА ИСТОРИИ (только при редактировании)
if ($id > 0) {
$old_data = $AVE_DB->Query("SELECT module_name, module_url FROM " . PREFIX . "_modules_aliases WHERE id = '{$id}'")->FetchAssocArray();
if ($old_data && $old_data['module_url'] != $module_url) {
$old_url_clean = addslashes($old_data['module_url']);
$check_history = $AVE_DB->Query("SELECT id FROM " . PREFIX . "_modules_aliases_history WHERE module_alias = '{$old_url_clean}'")->FetchAssocArray();
if (!$check_history) {
$AVE_DB->Query("INSERT INTO " . PREFIX . "_modules_aliases_history
(module_name, module_alias, module_alias_header)
VALUES ('" . addslashes($old_data['module_name']) . "', '{$old_url_clean}', 301)");
}
}
}
$sql_set = "module_name = '{$module_name}',
module_link_name = '{$module_link_name}',
module_action = '{$module_action}',
module_link = '{$module_link}',
module_url = '{$module_url}',
document_id = '{$document_id}',
module_admin = '{$module_admin}'";
if ($id == 0) {
$sql = "INSERT INTO " . PREFIX . "_modules_aliases SET " . $sql_set;
} else {
$sql = "UPDATE " . PREFIX . "_modules_aliases SET " . $sql_set . " WHERE id = '{$id}'";
}
return (bool)$AVE_DB->Query($sql);
}
/**
* Метод для удаления всех ЧПУ записей модуля (при полном удалении модуля)
*/
public function moduleAliasDelete($module_name)
{
global $AVE_DB;
$m_name = addslashes($module_name);
$AVE_DB->Query("DELETE FROM " . PREFIX . "_modules_aliases WHERE module_name = '{$m_name}'");
$AVE_DB->Query("DELETE FROM " . PREFIX . "_modules_aliases_history WHERE module_name = '{$m_name}'");
}
/**
* Метод для удаления ОДНОЙ конкретной записи ЧПУ по ID
*/
public function moduleAliasDeleteById($id)
{
global $AVE_DB;
$id = (int)$id;
if ($id > 0) {
$AVE_DB->Query("DELETE FROM " . PREFIX . "_modules_aliases WHERE id = '{$id}'");
// Чистим историю именно для этого ID, если она ведется
$AVE_DB->Query("DELETE FROM " . PREFIX . "_modules_aliases_history WHERE id = '{$id}'");
return true;
}
return false;
}
}
?>

View File

@@ -6,13 +6,13 @@
* @package AVE.cms
* @version 4.x
* @filesource
* @copyright © 2007-2026 AVE.cms, https://ave4cms.ru
* @copyright © 2007-2025 AVE.cms, https://ave.gitget.ru
*
* @license GPL v.2
*/
define('APP_NAME', 'AVE.cms');
define('APP_VERSION', '3.32 ALT');
define('APP_VERSION', '3.31 ALT');
define('APP_INFO', '<a target="_blank" href="https://ave-cms.ru/">Ave-Cms.Ru</a> '.'&copy; 2007-' . date('Y'));
$themes = [];

View File

@@ -370,7 +370,4 @@ INSERT INTO `%%PRFX%%_users`
INSERT INTO `%%PRFX%%_paginations` (`id`, `pagination_name`, `pagination_box`, `pagination_start_label`, `pagination_end_label`, `pagination_separator_box`, `pagination_separator_label`, `pagination_next_label`, `pagination_prev_label`, `pagination_link_box`, `pagination_active_link_box`, `pagination_link_template`, `pagination_link_active_template`)
VALUES
(1, 'Общий шаблон', '<ul class=\"pagination pagination-sm\">%s</ul>', '<span aria-hidden=\"true\">Первая</span>', '<span aria-hidden=\"true\">Последняя</span>', '<li class=\"disabled\"><span aria-hidden=\"true\">%s</span></li>', '', '<i class=\"bi bi-arrow-right\"></i>', '<i class=\"bi bi-arrow-left\"></i>', '<li class=\"page-item\">%s</li>', '<li class=\"page-item active\">%s</li>', '<a class=\"page-link\" href=\"[link]\" data-pagination=\"[page]\">[name]</a>', '<a class=\"page-link active\" href=\"[link]\">[name]</a>');#inst#
-- Пример алиаса для модуля Поиск
INSERT INTO `%%PRFX%%_modules_aliases` (`id`, `document_id`, `module_name`, `module_action`, `module_link`, `module_link_name`, `module_url`, `module_admin`) VALUES
(1, 0, 'search', 'search', 'index.php?module=search&query=', 'Поиск по сайту', 'search/', '0');#inst#
(1, 'Общий шаблон', '<ul class=\"pagination pagination-sm\">%s</ul>', '<span aria-hidden=\"true\">Первая</span>', '<span aria-hidden=\"true\">Последняя</span>', '<li class=\"disabled\"><span aria-hidden=\"true\">%s</span></li>', '', '<i class=\"bi bi-arrow-right\"></i>', '<i class=\"bi bi-arrow-left\"></i>', '<li class=\"page-item\">%s</li>', '<li class=\"page-item active\">%s</li>', '<a class=\"page-link\" href=\"[link]\" data-pagination=\"[page]\">[name]</a>', '<a class=\"page-link active\" href=\"[link]\">[name]</a>');#inst#

View File

@@ -171,8 +171,9 @@ CREATE TABLE `%%PRFX%%_module` (
UNIQUE KEY `name` (`ModuleName`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0;#inst#
CREATE TABLE `%%PRFX%%_modules_aliases` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`id` tinyint(5) unsigned NOT NULL AUTO_INCREMENT,
`document_id` int(10) NOT NULL DEFAULT '0',
`module_name` char(50) NOT NULL DEFAULT '',
`module_action` varchar(255) NOT NULL DEFAULT '',
@@ -185,16 +186,6 @@ CREATE TABLE `%%PRFX%%_modules_aliases` (
KEY `name` (`module_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0;#inst#
CREATE TABLE `%%PRFX%%_modules_aliases_history` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`module_name` varchar(50) NOT NULL DEFAULT '',
`module_alias` varchar(255) NOT NULL DEFAULT '',
`module_alias_header` int(3) NOT NULL DEFAULT '301',
PRIMARY KEY (`id`),
UNIQUE KEY `alias` (`module_alias`),
KEY `module_name` (`module_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0;#inst#
CREATE TABLE `%%PRFX%%_navigation` (
`navigation_id` smallint(3) unsigned NOT NULL AUTO_INCREMENT,

View File

@@ -442,49 +442,4 @@
`document_alias`
");
}
/* -------------------------------------------------------------------------------------------------------------- */
/* -------------------------------------------------------3.32-------------------------------------------------- */
/* -------------------------------------------------------------------------------------------------------------- */
$check = $AVE_DB->Query("SHOW TABLES LIKE '" . PREFIX . "_modules_aliases_history'")->NumRows();
if ($check == 0)
{
$AVE_DB->Real_Query("
CREATE TABLE `" . PREFIX . "_modules_aliases_history` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`module_name` varchar(50) NOT NULL DEFAULT '',
`module_alias` varchar(255) NOT NULL DEFAULT '',
`module_alias_header` int(3) NOT NULL DEFAULT '301',
PRIMARY KEY (`id`),
UNIQUE KEY `alias` (`module_alias`),
KEY `module_name` (`module_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0;
");
}
$check = $AVE_DB->Query("SHOW COLUMNS FROM " . PREFIX . "_modules_aliases LIKE 'module_url'")->NumRows();
if ($check == 0)
{
$AVE_DB->Real_Query("
ALTER TABLE " . PREFIX . "_modules_aliases
ADD `module_url` varchar(255) NOT NULL DEFAULT ''
AFTER `module_link_name`
");
$AVE_DB->Real_Query("ALTER TABLE " . PREFIX . "_modules_aliases ADD UNIQUE KEY `url` (`module_url`);");
}
$check_id_type = $AVE_DB->Query("
SHOW COLUMNS FROM " . PREFIX . "_modules_aliases
WHERE Field = 'id' AND Type LIKE 'tinyint%'
")->NumRows();
if ($check_id_type > 0)
{
$AVE_DB->Real_Query("
ALTER TABLE `" . PREFIX . "_modules_aliases`
MODIFY `id` int(11) unsigned NOT NULL AUTO_INCREMENT
");
}
?>