BugTrack/2120
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
RIGHT:&size(12){Category:[[:Plugin]]};
* PHP-5.1 以降で、new プラグインが正常動作しない。 [#p13d...
- 元タイトル:php-5.1.0RC1でnewプラグインが正常動作しない。
- ページ: BugTrack
- 投稿者: [[よっちい]]
- 優先順位: 低
- 状態: 完了
- カテゴリー: プラグイン
- 投稿日: 2005-11-02 (水) 11:29:20
- バージョン: 1.4.6
- リリース予定バージョン: 1.5.1
** メッセージ [#t8fd9373]
php-5.1.0RC1を用いてPukiWikiを運用すると、newプラグインに...
php-5.0.5では「New!」表示が出ます。
--------
- %%php-5.0.5以前(?)とphp-5.1.0RC1では時間の書式が異なる%%
&new{2005-11-02 12:03:50 (水)}; <- php-5.1.0b1のcomment ...
&new{2005-11-02 (水) 12:03:50}; <- php-5.1.0RC1のcomment...
%%ようです。%% COLOR(crimson){php-5.0.5とphp-5.1.0RC1は同...
- PHP5.1 で strtotime の関数の挙動が変更されたのが原因の...
-- see: http:// www.php.net/strtotime -- [[kawai]] &...
-- それから、pukiwiki 側での該当行は、plugin/new.inc.php ...
- この修正は結構根が深いですね…。とりあえず次のパッチで動...
Index: new.inc.php
========================================================...
RCS file: /cvsroot/pukiwiki/pukiwiki/plugin/new.inc.php,v
retrieving revision 1.9
diff -u -r1.9 new.inc.php
--- new.inc.php 16 Jun 2005 15:04:08 -0000 1.9
+++ new.inc.php 5 Nov 2005 14:34:15 -0000
@@ -34,8 +34,12 @@
// Show 'New!' message by the time of the $date string
if (func_num_args() > 2) return '&new([nodate]){date}...
- $timestamp = strtotime($date);
- if ($timestamp === -1) return '&new([nodate]){date}: ...
+ $timestamp = strtotime(preg_replace('/\([^\x00-\x7F]+...
+ if(version_compare(phpversion(),'5.1')<0){
+ if ($timestamp === -1) return '&new([nodate]){date}:...
+ }else{
+ if ($timestamp === FALSE) return '&new([nodate]){dat...
+ }
$timestamp -= ZONETIME;
$retval = in_array('nodate', $args) ? '' : htmlspecia...
-- 本当は strptime を使ってパースしたかったのですけれども...
- なるほど、
- strtotime()が非ASCII文字を厳密に扱うようになった(?)
- エラーの戻り値の変更によりエラーハンドリングができてい...
という2つの問題があったわけですね。とりあえず上記修正にて...
- 英語モードでは関係ないと思うので、このように
--- new.inc.php.orig Tue Nov 8 09:17:37 2005
+++ new.inc.php Tue Nov 8 09:19:47 2005
@@ -34,8 +34,12 @@
// Show 'New!' message by the time of th...
if (func_num_args() > 2) return '&new([n...
- $timestamp = strtotime($date);
- if ($timestamp === -1) return '&new([nod...
+ if(LANG == 'ja'){
+ $timestamp = strtotime(preg_repl...
+ } else {
+ $timestamp = strtotime($date);
+ }
+ if ($timestamp === -1 || $timestamp === ...
$timestamp -= ZONETIME;
$retval = in_array('nodate', $args) ? ''...
してみました。 -- [[よっちい]] &new{2005-11-08 (火) 12:54...
- [[BugTrack/2141]] -- &new{2005-12-17 (土) 09:07:28};
- PHP5.1.4でも状況は変わりませんでした。なので上記パッチ...
- $weeklabelsを積極的に使うようにすれば、
--- new.inc.php.orig Fri Jun 17 00:04:08 2005
+++ new.inc.php Fri Nov 3 16:41:26 2006
@@ -24,7 +24,7 @@
function plugin_new_inline()
{
- global $vars, $_plugin_new_elapses;
+ global $vars, $_plugin_new_elapses, $weeklabels;
$retval = '';
$args = func_get_args();
@@ -34,8 +34,8 @@
// Show 'New!' message by the time of th...
if (func_num_args() > 2) return '&new([n...
- $timestamp = strtotime($date);
- if ($timestamp === -1) return '&new([nod...
+ $timestamp = strtotime(str_replace($week...
+ if ($timestamp === -1 || $timestamp === ...
$timestamp -= ZONETIME;
$retval = in_array('nodate', $args) ? ''...
言語に依存しない書き方ができそうですが、カッコ''()''が残...
--- ja.lng.php.orig Tue Apr 11 02:36:56 2006
+++ ja.lng.php Fri Nov 3 15:01:08 2006
@@ -52,7 +52,7 @@
$_msg_symbol = '記号';
$_msg_other = '日本語';
$_msg_help = 'テキスト整形のルールを表示する';
-$_msg_week = array('日','月','火','水','木','...
+$_msg_week = array('日','月','火','水','木','...
$_msg_content_back_to_top = '<div class="jumpmenu"><a h...
$_msg_word = 'これらのキーワードがハイライト...
イケそうですが、ちょっとイマイチ感があります。 -- [[よっ...
- イマイチかもしれませんが、単純にこのようにしてはどうで...
$_date = str_replace($weeklabels, '', $date);
$_date = str_replace('()', '', $_date);
$timestamp = strtotime($_date);
-- あ、それはわたしも考えました。2回書くの嫌だな、と思っ...
- 掘り起こしありがとうございます :) どうやるかはともかく...
// BugTrack2/301 を削除して移動
- SourceForge.jp がPHP 5.2 になったので、なるべく早く解決...
-- とはいえ、上の方法だと
$date_format = 'Y年m月d日';
のように設定して、''&new{2008年03月21日 (金) 19:00:00...
-- これphp4で動作してましたか? ''この関数はUS英文形式の日...
-- あ、曜日の件も含めて2バイト文字をハイフンに変換してみ...
-- わざわざ、すみません。実際には上のようにして使ってはい...
-- ちなみに、PHP-4.4.8 で試したら動いてました。それどころ...
- この問題まだ解決していませんね -- [[umorigu]] &new{2016...
- 日付はnewプラグインの引数から数字部分を抜き出してISO860...
if (preg_match('/^\D*(\d{4})\D+(\d{1,2})\D+(\d{1,2})\D+(...
$iso8601_date = $dm[1]
. '-' . substr('0' . $dm[2], -2)
. '-' . substr('0' . $dm[3], -2)
. ' ' . $dm[4];
$timestamp = strtotime($iso8601_date);
}
- 完了にします。数値部分しか見てないので ''&new{2016...
- 上記の対応内容: [[commit:30594c96900ce1a6d46d20d7a9cce7...
- 一部修正: [[BugTrack/2410]] -- &new{2017-01-22 (日) 00...
//#comment
終了行:
RIGHT:&size(12){Category:[[:Plugin]]};
* PHP-5.1 以降で、new プラグインが正常動作しない。 [#p13d...
- 元タイトル:php-5.1.0RC1でnewプラグインが正常動作しない。
- ページ: BugTrack
- 投稿者: [[よっちい]]
- 優先順位: 低
- 状態: 完了
- カテゴリー: プラグイン
- 投稿日: 2005-11-02 (水) 11:29:20
- バージョン: 1.4.6
- リリース予定バージョン: 1.5.1
** メッセージ [#t8fd9373]
php-5.1.0RC1を用いてPukiWikiを運用すると、newプラグインに...
php-5.0.5では「New!」表示が出ます。
--------
- %%php-5.0.5以前(?)とphp-5.1.0RC1では時間の書式が異なる%%
&new{2005-11-02 12:03:50 (水)}; <- php-5.1.0b1のcomment ...
&new{2005-11-02 (水) 12:03:50}; <- php-5.1.0RC1のcomment...
%%ようです。%% COLOR(crimson){php-5.0.5とphp-5.1.0RC1は同...
- PHP5.1 で strtotime の関数の挙動が変更されたのが原因の...
-- see: http:// www.php.net/strtotime -- [[kawai]] &...
-- それから、pukiwiki 側での該当行は、plugin/new.inc.php ...
- この修正は結構根が深いですね…。とりあえず次のパッチで動...
Index: new.inc.php
========================================================...
RCS file: /cvsroot/pukiwiki/pukiwiki/plugin/new.inc.php,v
retrieving revision 1.9
diff -u -r1.9 new.inc.php
--- new.inc.php 16 Jun 2005 15:04:08 -0000 1.9
+++ new.inc.php 5 Nov 2005 14:34:15 -0000
@@ -34,8 +34,12 @@
// Show 'New!' message by the time of the $date string
if (func_num_args() > 2) return '&new([nodate]){date}...
- $timestamp = strtotime($date);
- if ($timestamp === -1) return '&new([nodate]){date}: ...
+ $timestamp = strtotime(preg_replace('/\([^\x00-\x7F]+...
+ if(version_compare(phpversion(),'5.1')<0){
+ if ($timestamp === -1) return '&new([nodate]){date}:...
+ }else{
+ if ($timestamp === FALSE) return '&new([nodate]){dat...
+ }
$timestamp -= ZONETIME;
$retval = in_array('nodate', $args) ? '' : htmlspecia...
-- 本当は strptime を使ってパースしたかったのですけれども...
- なるほど、
- strtotime()が非ASCII文字を厳密に扱うようになった(?)
- エラーの戻り値の変更によりエラーハンドリングができてい...
という2つの問題があったわけですね。とりあえず上記修正にて...
- 英語モードでは関係ないと思うので、このように
--- new.inc.php.orig Tue Nov 8 09:17:37 2005
+++ new.inc.php Tue Nov 8 09:19:47 2005
@@ -34,8 +34,12 @@
// Show 'New!' message by the time of th...
if (func_num_args() > 2) return '&new([n...
- $timestamp = strtotime($date);
- if ($timestamp === -1) return '&new([nod...
+ if(LANG == 'ja'){
+ $timestamp = strtotime(preg_repl...
+ } else {
+ $timestamp = strtotime($date);
+ }
+ if ($timestamp === -1 || $timestamp === ...
$timestamp -= ZONETIME;
$retval = in_array('nodate', $args) ? ''...
してみました。 -- [[よっちい]] &new{2005-11-08 (火) 12:54...
- [[BugTrack/2141]] -- &new{2005-12-17 (土) 09:07:28};
- PHP5.1.4でも状況は変わりませんでした。なので上記パッチ...
- $weeklabelsを積極的に使うようにすれば、
--- new.inc.php.orig Fri Jun 17 00:04:08 2005
+++ new.inc.php Fri Nov 3 16:41:26 2006
@@ -24,7 +24,7 @@
function plugin_new_inline()
{
- global $vars, $_plugin_new_elapses;
+ global $vars, $_plugin_new_elapses, $weeklabels;
$retval = '';
$args = func_get_args();
@@ -34,8 +34,8 @@
// Show 'New!' message by the time of th...
if (func_num_args() > 2) return '&new([n...
- $timestamp = strtotime($date);
- if ($timestamp === -1) return '&new([nod...
+ $timestamp = strtotime(str_replace($week...
+ if ($timestamp === -1 || $timestamp === ...
$timestamp -= ZONETIME;
$retval = in_array('nodate', $args) ? ''...
言語に依存しない書き方ができそうですが、カッコ''()''が残...
--- ja.lng.php.orig Tue Apr 11 02:36:56 2006
+++ ja.lng.php Fri Nov 3 15:01:08 2006
@@ -52,7 +52,7 @@
$_msg_symbol = '記号';
$_msg_other = '日本語';
$_msg_help = 'テキスト整形のルールを表示する';
-$_msg_week = array('日','月','火','水','木','...
+$_msg_week = array('日','月','火','水','木','...
$_msg_content_back_to_top = '<div class="jumpmenu"><a h...
$_msg_word = 'これらのキーワードがハイライト...
イケそうですが、ちょっとイマイチ感があります。 -- [[よっ...
- イマイチかもしれませんが、単純にこのようにしてはどうで...
$_date = str_replace($weeklabels, '', $date);
$_date = str_replace('()', '', $_date);
$timestamp = strtotime($_date);
-- あ、それはわたしも考えました。2回書くの嫌だな、と思っ...
- 掘り起こしありがとうございます :) どうやるかはともかく...
// BugTrack2/301 を削除して移動
- SourceForge.jp がPHP 5.2 になったので、なるべく早く解決...
-- とはいえ、上の方法だと
$date_format = 'Y年m月d日';
のように設定して、''&new{2008年03月21日 (金) 19:00:00...
-- これphp4で動作してましたか? ''この関数はUS英文形式の日...
-- あ、曜日の件も含めて2バイト文字をハイフンに変換してみ...
-- わざわざ、すみません。実際には上のようにして使ってはい...
-- ちなみに、PHP-4.4.8 で試したら動いてました。それどころ...
- この問題まだ解決していませんね -- [[umorigu]] &new{2016...
- 日付はnewプラグインの引数から数字部分を抜き出してISO860...
if (preg_match('/^\D*(\d{4})\D+(\d{1,2})\D+(\d{1,2})\D+(...
$iso8601_date = $dm[1]
. '-' . substr('0' . $dm[2], -2)
. '-' . substr('0' . $dm[3], -2)
. ' ' . $dm[4];
$timestamp = strtotime($iso8601_date);
}
- 完了にします。数値部分しか見てないので ''&new{2016...
- 上記の対応内容: [[commit:30594c96900ce1a6d46d20d7a9cce7...
- 一部修正: [[BugTrack/2410]] -- &new{2017-01-22 (日) 00...
//#comment
ページ名: