counterizeiiのPHP Notice: Undefined variable:が酷い

counterizeiiのbrowsniff.phpの1207、1443、1738行目で
宣言していないpda_urとpda_verとpda_codeとpda_nameって変数を使っている。
とエラーが連発。

  • 最終更新: 4年前

なんで随分と気が付かなかったというか・・・
PHPでは未定の変数はnullが返るので、不都合はないけど、ログにいっぱいエラーが出てくるので削除。
範囲指定で、正規化表現 (\$[0-9A-Z_a-z]+) を使って、isset(\1)?\1:null に置換。
browsniff.phpの1207行目は
return array( isset($browser_name)?$browser_name:null, isset($browser_code)?$browser_code:null, isset($browser_ver)?$browser_ver:null, isset($browser_url)?$browser_url:null, isset($os_name)?$os_name:null, isset($os_code)?$os_code:null, isset($os_ver)?$os_ver:null, isset($os_url)?$os_url:null, isset($pda_name)?$pda_name:null, isset($pda_code)?$pda_code:null, isset($pda_ver)?$pda_ver:null, isset($pda_url)?$pda_url:null);
browsniff.phpの1443、1738行目は
return array(isset($os_name)?$os_name:null, isset($os_code)?$os_code:null, isset($os_ver)?$os_ver:null, isset($os_url)?$os_url:null, isset($pda_name)?$pda_name:null, isset($pda_code)?$pda_code:null, isset($pda_ver)?$pda_ver:null, isset($pda_url)?$pda_url:null);
に置き換わる。
counterize.php本体にもあったので、

442c442
< function counterize_gethourlystats($hour = "undef", $type = both)
---
> function counterize_gethourlystats($hour = "undef"/*, $type = both*/)
990c990
<               if($row->url)
---
>               if(isset($row->url))
1044,1045c1044,1045
<       <?php
<
---
>       <?php $items = 0;
>       $complete_amount =0; $max = 0;
1055c1055
<
---
>       $i = 0;
1162c1162
<       <?php
---
>       <?php $i = 0;

でもjetpackもtimezone未設定で結構ログを吐き出している。
/wp-content/plugins/jetpack/modules/holiday-snow.phpの
mktime()、date_create()、strtotime()、date()を使ってる場所で、
It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone ‘UTC’ for now, but please set date.timezone to select your timezone.
が出る。
wp-setting.phpで
// WordPress calculates offsets from UTC.
date_default_timezone_set( ‘UTC’ );
しているせいだけど、これを変えると、ボロボロになりそうなので
jetpack_is_holiday_snow_season()のそこを
date_default_timezone_set( ‘JST’ );
date_default_timezone_set( ‘UTC’ );
で括ってみた。




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA