|
|
|
| Добрый день!
Не поможет ли многоуважаемый all. Я не большой специалист в php, а решить проблему надо.
Хостер обновил версию php до 5.2.5 и перестал работать скрипт. Выдает ошибку
PHP Fatal error: Cannot redeclare renumber_order() in /home/u16888/forestforum.ru/www/admin/admin_mx_menu.php on line 119
Это функция
function renumber_order($mode, $cat = 0)
{
global $db, $portalpage;
switch($mode)
{
case 'category':
$table = MENU_CAT_TABLE;
$idfield = 'cat_id';
$orderfield = 'cat_order';
$cat = 0;
break;
case 'menu':
$table = MENU_NAV_TABLE;
$idfield = 'menu_id';
$orderfield = 'menu_order';
$catfield = 'cat_id';
break;
default:
mx_message_die(GENERAL_ERROR, "Wrong mode for generating select list", "", __LINE__, __FILE__);
break;
}
$sql = "SELECT * FROM " . $table;
if( $cat != 0)
{
$sql .= " WHERE " . $catfield . " = $cat";
}
$sql .= " ORDER BY " . $orderfield . " ASC";
if( !$result = $db->sql_query($sql) )
{
mx_message_die(GENERAL_ERROR, "Couldn't get list of Categories", "", __LINE__, __FILE__, $sql);
}
$i = 10;
$inc = 10;
while( $row = $db->sql_fetchrow($result) )
{
$sql = "UPDATE " . $table .
" SET " . $orderfield . " = " . $i .
" WHERE " . $idfield . " = " . $row[$idfield];
if( !$db->sql_query($sql) )
{
mx_message_die(GENERAL_ERROR, "Couldn't update order fields", "", __LINE__, __FILE__, $sql);
}
$i += 10;
}
}
Некоторое время назад из-за обновления была некая проблема. Выяснилось, что в новой версии появилось некое новое служебное слово, которое использовалось в скрипте в качестве переменной. Переименовали - и все стало в порядке.
А тут что за фишка?
Спасибо. | |
|
|
|
|
|
|
|
для: flider
(11.03.2008 в 14:02)
| | Возможно, проблемы с классом по работе с SQL | |
|
|
|
|
|
|
|
для: flider
(11.03.2008 в 14:02)
| | Если файл содержит объявление функции постарайтесь использовать для его включения include_once() вместо include() и require_once() вместо require(). Ошибка сообщает что зафиксирована попытка повторного объявления функции renumber_order() - вряд ли такая функция имеется в составе какого-то расширения, однако вы можете получить список всех предопределённых функций при помощи функци get_defined_functions(). | |
|
|
|