CMS DataLife Engine - Система управления сайтами

Sign in to follow this  
Бек

Модуль выдает ошибку.

Recommended Posts

Привет всем!

У меня вылезла вот такая проблема.

 

Нужно зайти на сайт http://iisusse-news.com/ справа расположены блоки.

Если найти блок с надписью - онлайн отчет и щелкнуть по ней блок раскроется. 

Модуль называется - сегодня нас посетили.

 

Если щелкнуть по ссылке раскрывается вкладка, где должно указываться имя посетителя. 

 

Раньше все работало, а теперь трындец, наступил.

 

Читал     https://epsiloncool.ru/programmirovanie/php/strict-standards-only-variables-should-be-passed-by-reference-kak-ispravit     что, подобная ошибка начала появляться при переходе на версию PHP 5.3, в которой запрещён вызов функции с параметром — константой, если функция ожидает на этом месте ссылки на переменную.

 

Проблема  выглядит сейчас следующим образом:

Strict Standards: Only variables should be passed by reference in /var/www/html/iisusse-news.com/engine/modules/SiteVisited/run.php on line 22

Модуль сам по себе похоже работает, так как надпись Нет данных :(   об этом свидетельствует, но вот эта безобразная строка с предупреждением

Строгие стандарты: только переменные должны передаваться по ссылке в /var/www/html/iisusse-news.com/engine/modules/SiteVisited/run.php on line 22
... сильно портит впечатление от работы модуля.

 

 Теперь я буду умничать, хотя предупреждаю, что мало понимаю в программировании, точнее говоря, имею слабое представление.  ))

 

Исходя из этой статьи я нашел похожий пример с моей  22 строкой. Причем один в один.

$color = reset(explode(',',$color));

Итак, эту строку я представил следующим образом:

$temp = (explode(',',$color);
$color = reset($temp);

Думал о себе какой же ты крутой чувак. если так борзо в программирование  поперся! Жму и упс! 

Браузер выдает ошибку:

Parse error: syntax error, unexpected ';' in /var/www/html/iisusse-news.com/engine/modules/SiteVisited/run.php on line 22

Виновата, теперь, стало быть, эта строка:

$temp = (explode(',',$color);

Сделал пробел:

$temp = (explode(',', $color);

Все равно выдает ошибку в браузере.

 

Как устранить дефект работы данного модуля? 

 

Полный код страницы run.php  с кодом у меня такой:

 

<?php

/*====================================================
 Author: RooTM
------------------------------------------------------
 Web-site: http://weboss.net/
=====================================================*/



if (! defined ( 'DATALIFEENGINE' )) {
    die ( "Hacking attempt!" );
}

$file_name = ENGINE_DIR . "/modules/SiteVisited/base/".date(j."_".n."_".Y).".data";

if ($is_logged == TRUE){

$groups_color = "group_1:#FF0000,group_2:#CC33CC,group_3:#009900,group_4:#3333FF";

$color = stristr($groups_color, 'group_'.$member_id['user_group'].':' );
$color = reset(explode(',',$color));


$color = trim(str_replace('group_'.$member_id['user_group'].':','',$color));

 if( $config['allow_alt_url'] == "yes" ) {
$go_page = $config['http_home_url'] . "user/" . urlencode( $member_id['name'] ) . "/";
    } else {
$go_page = "$PHP_SELF?subaction=userinfo&amp;user=" . urlencode( $member_id['name'] );
            }

$go_page = "onclick=\"ShowProfile('" . urlencode( $member_id['name'] ) . "', '" . htmlspecialchars( $go_page ) . "'); return false;\"";

if( $config['allow_alt_url'] == "yes" ) $user = "<a {$go_page} href=\"" . $config['http_home_url'] . "user/" . urlencode( $member_id['name'] ) . "/\"><b><span style=\"color:".$color."\">" . $member_id['name'] . "</span></b></a>" ;
        else $user = "<a {$go_page} href=\"$PHP_SELF?subaction=userinfo&amp;user=" . urlencode( $member_id['name'] ) . "\"><b><span style=\"color:".$color."\">" . $member_id['name'] . "</span></b></a>";

$data_file_old = @file_get_contents( $file_name );

if ( !preg_match("<!-- UserID: ".$member_id['user_id']." -->",  $data_file_old )){

$data_file_new = fopen($file_name , "w+");
fwrite($data_file_new, "<!-- UserID: ".$member_id['user_id']." -->".$user.", ".$data_file_old);
fclose($data_file_new);

}

}

$data = @file_get_contents( $file_name ) ;

if($data == ""){
$data = "<center><b>Нет данных :(</b></center>";
}else{
$data = substr($data,0,strlen(trim($data))-1);
}

echo $data;

?>

 

Заранее благодарю!

 

 

 

 

 

 

 

Share this post


Link to post
Share on other sites

del

Edited by alex32

Share this post


Link to post
Share on other sites
25 минут назад, alex32 сказал:

del

Привет! А я и не понял ваш ответ! ))

 

Ура ! Спасибо!

alex32 - гений!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this