На версии РНР 5.4.4-14+deb7u4 заглючил движок...

123
Valeriy
На сайте с 19.04.2007
Offline
110
#11

Не помогло.

Вообще, бредово что-то - на некотрых статьях заголовки есть... но в админке сайта нету ни одного заголовка.

Зашел в панель, открыл лог ошибок. И вот что выдает в отношении вот этих строк

$showCategory = trim(array_shift(explode("-", $_REQUEST['category'])));

$fcat = array_shift(explode(",", $row['catid']));

$fcat = array_shift(explode(",", $row['catid']));

PHP Strict Standards: Only variables should be passed by reference in

IL
На сайте с 20.04.2007
Offline
435
#12
Valeriy:
Only variables should be passed by reference in

Добавлять промежуточную переменную.


$showCategory = explode("-", $_REQUEST['category']);
$showCategory = trim(array_shift($showCategory));
Valeriy:
Не помогло.

Не совсем верная формулировка... Это только начало :)

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
bums
На сайте с 03.07.2006
Offline
441
#13

Valeriy, сказано что в функцию можно передавать только переменную, а не вписывать другую функцию в параметры.

Можно типа такого накородить

$showCategory = explode("-", $_REQUEST['category']);

$showCategory = array_shift($showCategory);
$showCategory = trim($showCategory);

$fcat = explode(",", $row['catid']);
$fcat = array_shift($fcat);
Недорогая регистрация и продление доменов RU/SU/РФ/COM/NET/ORG/и т.д. ( https://www.regnic.name/?sesign ) в РЕГРУ, РЕГТАЙМ, Р01, РУЦЕНТР. А так же хостинг и SSL сертификаты.
Valeriy
На сайте с 19.04.2007
Offline
110
#14

ivan-lev, bums, эті строкі стоят в разных местах... но файл один, именно формирование новости, как я пjлагаю - news.php

как исправить каждую строку в отдельности?

Вместо одной строки, что я привел - две (или три) ваших?

Значит, вместо

$showCategory = trim(array_shift(explode("-", $_REQUEST['category'])));

ставим

$showCategory = explode("-", $_REQUEST['category']);
$showCategory = trim(array_shift($showCategory));

а вместо

$fcat = array_shift(explode(",", $row['catid']));

ставим

$fcat = explode(",", $row['catid']);
$fcat = array_shift($fcat);

Правильно понял?

ivan-lev:
Это только начало

оптимистичненько)

IL
На сайте с 20.04.2007
Offline
435
#15
Valeriy:
Правильно понял?

да, именно

Valeriy:
оптимистичненько)

Реалистично.

Valeriy
На сайте с 19.04.2007
Offline
110
#16
ivan-lev:
Реалистично.

Плохо, что после 40 мозги усыхают и РНР не выучить...

Вылезла

if ($row['name']) {

Illegal string offset 'name' in

IL
На сайте с 20.04.2007
Offline
435
#17
Valeriy:
Плохо, что после 40 мозги усыхают и РНР не выучить...

Сомневаюсь, однако спорить не буду...

Valeriy:
Вылезла
Quote:
if ($row['name']) {

А тут смотреть нужно... откуда этот $row берётся, и почему у него name нет

Да... ещё можно понизить уровень ошибок.. полагаю, Warning-и-Notice-ы и раньше присутствовали, но не выводились

Попробуйте в .htaccess добавить

php_value error_reporting 30711
php_value display_errors off

Однако, даже если они пропадут, следует иметь ввиду, что сами ошибки от этого никуда не исчезают..

Valeriy
На сайте с 19.04.2007
Offline
110
#18
ivan-lev:
А тут смотреть нужно... откуда этот $row берётся, и почему у него name нет

Вот кусок код

if (!$mysql->connect) {
@include_once root.'includes/classes/mysql.class.php';
$mysql = new mysql;
$mysql->connect($config['dbhost'], $config['dbuser'], $config['dbpasswd'], $config['dbname']);
$timer->registerEvent('DB connection established');

foreach ($mysql->select("select * from `".prefix."_category` order by posorder asc", 1) as $row) {
$catz[$row['alt']] = $row;
$catmap[$row['id']] = $row['alt'];
}
}
$timer->registerEvent('DB category list is loaded');

if ($config['auto_backup'] == "1") { AutoBackup(); }
if ($config['use_captcha'] == "1") { $number = $_SESSION['captcha']; }

//
// Make authentication
//
$timer->registerEvent('Ready to load auth plugins');
load_extras('auth');
$timer->registerEvent('Auth plugins are loaded');

// Set prefix for users DB
if (!$config['uprefix']) { $config['uprefix'] = $config['prefix']; }
@define('uprefix',$config['uprefix']);

$is_logged = false;

// System protection
if (!$AUTH_CAPABILITIES[$config['auth_module']]['login']) { $config['auth_module'] = 'basic'; }
if (!$AUTH_CAPABILITIES[$config['auth_db']]['db']) { $config['auth_db'] = 'basic'; }

if ( (is_object($AUTH_METHOD[$config['auth_module']])) && (is_object($AUTH_METHOD[$config['auth_db']])) ) {
// Auth subsystem is activated
// * choose default or user defined auth module
if ($_REQUEST['auth_module'] && $AUTH_CAPABILITIES[$_REQUEST['auth_module']]['login'] && is_object($AUTH_METHOD[$_REQUEST['auth_module']]))
$auth = $AUTH_METHOD[$_REQUEST['auth_module']];
else
$auth = $AUTH_METHOD[$config['auth_module']];
$auth_db = $AUTH_METHOD[$config['auth_db']];

$row = $auth_db->check_auth();
$CURRENT_USER = $row;

if ($row['name']) {

и вот какая странность. Если титл статьи изменить прямо в базе на латиницу, то есть не употреблять кириллические символы - то на сайте титл

отображается - и он становится виден в админке

Например, "Пригласите партнера" - не видно, а "Priglasite partnera" - уже показывает.

DiAksID
На сайте с 02.08.2008
Offline
218
#19
ivan-lev:
... А тут смотреть нужно... откуда этот $row берётся, и почему у него name нет...

легче пока заглушку поставить добавив в условие

isObject( $row )

или вообще собаку...

ivan-lev:
... Однако, даже если они пропадут, следует иметь ввиду, что сами ошибки от этого никуда не исчезают..

а ещё помнить, что 99% этих нотисов было и раньше, просто не выводились...

ЗЫ: 5.4 реально хорош, но пляски со стандартными движками веселят ;)

show must go on !!!...
Valeriy
На сайте с 19.04.2007
Offline
110
#20
DiAksID:
легче пока заглушку поставить добавив в условие

Покажите, плиз, как... НЕ понимаю я РНР вообще.

Но заглушка... Эта переменная, так понимаю, очень важна.

из файла categories.php

$lang = LoadLang('categories', 'admin');

function CatTree() {
global $mysql, $tpl, $out, $cat_tree, $lang;

foreach ($mysql->select("select * from ".prefix."_category order by posorder") as $row) {
$tvars['vars'] = array(
'php_self' => $PHP_SELF,
'rid' => $row['id'],
'position' => str_repeat('***8212; ',$row['poslevel'])."<input type=\"text\" name=\"position[".$row['id']."]\" value=\"".$row['position']."\" maxlength=\"5\" size=\"5\" />",
'name' => $row['name'],
'alt' => $row['alt'],
'alt_url' => $row['alt_url'],
'orderlist' => OrderList(''),
'show_main' => ($row['cat_show'] == "1") ? $lang['yesa'] : $lang['noa'],
'news' => $row['posts'],
'cutter' => str_repeat('***8212; ', $row['poslevel']),
);
$tpl -> vars('entries', $tvars);
$cat_tree .= $tpl -> show('entries');
}
return $cat_tree;
}
123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий