Спрашиваем и отвечаем по Wordpress-15

MB
На сайте с 24.02.2009
Offline
162
#1381

Всем привет.
Столкнулся с проблемой в плагине по поиску битых ссылок на сайте
После обновления версии php до 5.4 стала появляться ошибка Fatal error: Call-time pass-by-reference has been removed
При попытке активировать плагин, ругается на строку chl_add_result(&$a,$links,$result);

Вот кусок кода из плагина
function chl_check($a)
  {
  $url='links=';
    foreach ($a as $href)
      {
      $url.=$href[1]."\n";//\r";
      }
  $url.='&key=267etye465yrg';
  $data=$url;
  $out = "POST /check/ HTTP/1.1\n";
  $out .= "Host: example.com\n";
  $out .= "Referer: https:// example.com /\n";
  $out .= "User-Agent: Opera\n";
  $out .= "Content-Type: application/x-www-form-urlencoded\n";
  $out .= "Content-Length: ".strlen($data)."\n\n";
  $out .= $data."\n\n";
  $ip = gethostbyname(' example.com ');
  $fp = fsockopen($ip, 80, $errno, $errstr, 10);
  fputs($fp, $out);
  $c=array();
  $bool=false;
    while($gets=fgets($fp,2048))
  {
    if (strpos($gets,'download.php')>0 || strpos($gets,'folders.php')>0)
      {
      $result='';
      $links='';
      $bool=true;
      $ex=explode('    ',$gets);
      if (sizeof($ex)<2){continue;}
        $result=trim($ex[1]);
        $links=trim($ex[0]);
       chl_add_result(&$a,$links,$result);
      }
     else
      {
      $gout.=$gets;
      }
   if (!$bool){echo $gout;}
  }
  foreach ($a as $b)
    {
     //$st00=fopen(dirname(__FILE__).'/data/00.txt',"a+");
     $st8=fopen(dirname(__FILE__).'/data/8.txt',"a+");
     $st9=fopen(dirname(__FILE__).'/data/9.txt',"a+");
     $st1=fopen(dirname(__FILE__).'/data/1.txt',"a+");
     $st2=fopen(dirname(__FILE__).'/data/2.txt',"a+");

     if (@$b[2]=='' || @empty($b[2]))
      {
      //@fwrite($st00,$b[0].' - '.$b[1].'['.$b[2].']'."\n\r");
      continue;
      }
     if ($b[2]=='8' || $b[2]==8)
      {
      fwrite($st8,$b[0].' - '.$b[1].'['.$b[2].']'."\n\r");
      continue;
      }
     if ($b[2]=='9' || $b[2]==9)
      {
      fwrite($st9,$b[0].' - '.$b[1].'['.$b[2].']'."\n\r");
      continue;
      }
    if ($b[2]=='0' || $b[2]==0)
      {
      continue;
      }
    if ($b[2]=='2' || $b[2]==2 || $b[2]==4 || $b[2]=='4' || $b[2]=='5' || $b[2]==5)
      {
       fwrite($st2,$b[0].' - '.$b[1].'['.$b[2].']'."\n\r");
       continue;
      }
    if ($b[2]=='1' || $b[2]==1 || $b[2]==3 || $b[2]=='3')
      {
       fwrite($st1,$b[0].' - '.$b[1].'['.$b[2].']'."\n\r");
       continue;
      }
    }
  chl_deletepost();
  chl_deletepost2();
  }

Как то это возможно исправить?

G6
На сайте с 12.07.2007
Offline
161
#1382
Mister_Black #:
После обновления версии php до 5.4

Если вы не ошиблись с циферкой, то вам придется ждать тут специалиста обладающего книгой Некрономикон, больше никто не сможет воскресить в памяти все связанное с этой версией.  Это не для наставления или поучение и не в обиду. Просто как намек, что пора бы обновить до актуальных версий все и уже разбираться когда на них будут косяки. Хотя все плагины давно работают на свежем.

MB
На сайте с 24.02.2009
Offline
162
#1383
garry69 #:

Если вы не ошиблись с циферкой, то вам придется ждать тут специалиста обладающего книгой Некрономикон, больше никто не сможет воскресить в памяти все связанное с этой версией.  Это не для наставления или поучение и не в обиду. Просто как намек, что пора бы обновить до актуальных версий все и уже разбираться когда на них будут косяки. Хотя все плагины давно работают на свежем.

У меня просто очень старый плагин, я его заказывал у фрилансера, ещё лет 7 назад, он исправно работал, пока у меня версия пхп не слетела, а теперь она не ставится обратно, там нужна 5.3.29 версия, чтоб этот скрипт сработал. А теперь только 5.4 и выше можно включается, а 5.3 почему то не активируется, хотя в ispmanager показывает что подключено, а в пхпинфо показывает 5.4, а с этими версиями этот плагин не заработает.
W1
На сайте с 22.01.2021
Online
285
#1384
Mister_Black #:
Как то это возможно исправить?

Вот здесь амперсанд убираешь:

 chl_add_result(&$a,$links,$result);
А в описании функции   chl_add_result() оставляешь, если надо передавать по ссылке.

Мой форум - https://webinfo.guru –Там я всегда на связи
MB
На сайте с 24.02.2009
Offline
162
#1385
webinfo #:

Вот здесь амперсанд убираешь:

А в описании функции   chl_add_result() оставляешь, если надо передавать по ссылке.

Я уже пробовал убирал &, делал вот так chl_add_result($a,$links,$result) так плагин включается, но значения ссылок не видит, соответственно ничего не находит.
W1
На сайте с 22.01.2021
Online
285
#1386
Mister_Black #:
Я уже пробовал убирал &, делал вот так chl_add_result($a,$links,$result) так плагин включается, но значения ссылок не видит, соответственно ничего не находит.

Значит, что-то не так сделал. Например,

webinfo #:
А в описании функции   chl_add_result() оставляешь, если надо передавать по ссылке.

Оставляешь либо вставляешь.

MB
На сайте с 24.02.2009
Offline
162
#1387
webinfo #:

Значит, что-то не так сделал. Например,

Оставляешь либо вставляешь.

Сама функция вот так выглядит
function chl_add_result($a,$b,$c)
  {
   foreach ($a as $k=>$v)
    {
    if ($v[1]==$b)
      {
      $a[$k][2]=$c;
      update_option('chl_lastid',$a[$k][0]);
      continue;
      } } }

То есть делаю вот так function chl_add_result(&$a,$b,$c) так правильно будет?

W1
На сайте с 22.01.2021
Online
285
#1388
Mister_Black #:
То есть делаю вот так function chl_add_result(&$a,$b,$c) так правильно будет?

Да.

sas19
На сайте с 07.10.2015
Offline
76
#1389
Подскажите, как можно выводить вместо рубрик (со списком статей) произвольные страницы?
Умею настраивать Adfox.
S
На сайте с 24.08.2015
Offline
74
#1390

Приветствую!

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

Заранее СПАСИБО!

P.S. WP-recall не подходит (слишком нагруженный).

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