件名: calendarjpプラグインでエラー

投稿日: 12/03/14 09:32 AM JST
投稿者: yoshi_2008

おとといより対処方法をこちらの掲示板やwikiで探したのですが…
calendarjpプラグインでイベントブロックから登録されているイベントをクリックして表示しようとすると以下のエラーが出ます。
Fatal error: Cannot redeclare class GLText in /絶対パス/geeklog/system/classes/gltext.class.php on line 40

geeklogバージョン2.1、Calendarjp1.1.6です。

書込: calendarjpプラグインでエラー

投稿日: 12/03/14 10:51 AM JST
投稿者: Ivy

calendarjpプラグインの他、どのプラグインがインストールされているでしょうか。
Downloadsプラグインは9月に配布された2.1対応のバージョンでしょうか。

プラグインのソースはたとえインストールしていなくても、サーバーにアップロードされているだけで
不要で、問題を起こすファイルがあれば、Geeklogがエラーを吐き出さず静かに動かなくなる
場合があるので、プラグインを無効にするだけではなくファイルも削除して、
どのプラグインで問題が出るかを確認してください。

書込: calendarjpプラグインでエラー

投稿日: 12/03/14 12:43 PM JST
投稿者: yoshi_2008

プラグインを無効にしたり、削除しても解決できませんでした。カレンダープラグインだけになっても、です。

インストールしたてのサーバーで試みると、日本語化する前は入力した情報を保存すらできない(イベントの日付・時間、タイトル、詳細を入力しているにもかかわらず、入力できていないからエラーだとおっしゃっています)
問題が出ているサーバーと同じ条件にするため、プラグインがすべて入った状態で、日本語化(プラグイン実行)しました。
日本語化すると保存できるようになりました。表示も、イベントを正常に表示できるようになりました。
クリーンな状態ではgeeklog 2.1でcalendarjpプラグインは正常に動くというのは確認できました。

そこで、問題のサーバーでいったんcalendarjpプラグインアンインストールし、FTPでcalendarjpプラグインだけをアップし直して確認してみました。
すると、保存ができなくなり、上記の経緯でいくと、ここで日本語化プラグインを実行ですが、他で何がでてくるかわかりませんのでさすがに実行を躊躇してこのコメントを書いています。

そもそも現在動いているプラグインは機能として必要なのでインストールしているわけでして、calendarjpプラグインも機能としては必要なのですが、現状正常に動かないので残念ですがはずします。

書込: calendarjpプラグインでエラー

投稿日: 12/03/14 12:57 PM JST
投稿者: Ivy

日本語化 というのは、日本語化プラグインを実行して一括実行を行う、という意味でしょうか。

日本語化実効によりなにか不具合が起きることが再現されたことがいままでないので...

アンインストールしてしまうと、過去に入力したデータが消えてしまいます。
原因がわかれば有効にできるので、"無効にして、プラグインのソースを念のため削除"、で十分です。

/(public_html)/admin/plugins/以下
/plugins/以下

ここは、アップグレードの場合、古いバージョンで必要だったものの、新しいバージョンから不要になったファイルがあると、
それが原因で動かなく場合がありますので、ファイルを確認してください。
それでも動かない場合は、プラグインを/admin/install/rescue.php でひとつひとつ無効にして、原因をつきとめてください。



書込: calendarjpプラグインでエラー

投稿日: 12/03/14 01:25 PM JST
投稿者: yoshi_2008

Quote by: Ivy

日本語化 というのは、日本語化プラグインを実行して一括実行を行う、という意味でしょうか。

日本語化実効によりなにか不具合が起きることが再現されたことがいままでないので...

アンインストールしてしまうと、過去に入力したデータが消えてしまいます。
原因がわかれば有効にできるので、"無効にして、プラグインのソースを念のため削除"、で十分です。

/(public_html)/admin/plugins/以下
/plugins/以下

ここは、アップグレードの場合、古いバージョンで必要だったものの、新しいバージョンから不要になったファイルがあると、
それが原因で動かなく場合がありますので、ファイルを確認してください。
それでも動かない場合は、プラグインを/admin/install/rescue.php でひとつひとつ無効にして、原因をつきとめてください。



そうです、japanizeプラグインです。日本語化で不具合が起きたのではなく、geeklogインストール直後の状態ではcalendarjpプラグインは正常に保存できなかったので…という検証の過程を書いています。

プラグイン自体を無効にしてもイベントを表示しようとすると本題のエラーは出ます。
既にいったんインストールしたものを無効にしていっても動かないので、逆にインストールのどの段階で動かなくなるのかと思いまして…

書込: calendarjpプラグインでエラー

投稿日: 12/03/14 02:29 PM JST
投稿者: yoshi_2008

自己解決しました。

その前に1つお詫びを…プラグインの掲示板に投稿したつもりだったのですが、ハックのところへ入ってしまっています(^^;
権限がないので消せませんのでIvyさん、すみませんが削除してくださいm(_ _)m

本題ですが、いったんcalendarjpプラグインをアンインストール(Ivyさんの書き込み通りDBは削除されますがテスト段階なのでOK)します。
ダウンロードで提供されているgeeklog 2.1ではなく、geeklog 2.1 Ivywe版のcalendarjpプラグインだけをFTPでアップ、インストールして動作を確認したところ、なんと正常に動きました。

ひょっとしたらと思って、ダメ元で入れてみて良かったです(笑)

ちなみにIvy版のcalendarjpはバージョンが1.7になっていますね。geeklog日本語拡張版は1.6です。

書込: calendarjpプラグインでエラー

投稿日: 09/11/15 06:16 PM JST
投稿者: terayama

xamppにgeeklog-ivywe-masterの組み合わせで同じエラーが出ます

Fatal error: Cannot redeclare class GLText in C:\xampp\geek\system\classes\gltext.class.php on line 40

コード追いかけてみました
event.php 683行目$gltext-> でgltext.class.php 132行目 PLG_replaceTags(-) でlib-plugin.php 1658行目 PLG_collectTags()
同1581行目 require_once --lib-story.php 40行目 require_once story.class.php 50行目 rquire_once gltext.class.php
となって GLTextの再定義となるのでエラーが発生しているように思えるのですが
皆さん問題ないのでしょうか?
本来たどらない道筋なのかもしれませんが・・・

書込: calendarjpプラグインでエラー

投稿日: 09/11/15 07:41 PM JST
投稿者: Ivy

すみません、確かにエラーでした。取り急ぎ対策したものをコミットしましたのでご利用ください。
2つだけファイルを変更しています。

https://github.com/ivywe/geeklog-ivywe

Geeklog Japan - 掲示板
https://www.geeklog.jp/forum/viewtopic.php?showtopic=18402