いまさらdotproject、続き

閲覧数: 24(0)

前回(これ)は古いオープンソースのプロジェクトマネジメントツール導入の話でした。当時PHPは5.3で、現在よりかなり古いバージョンでした。稼働させる現在の環境はPHP 5.6のため、多少の非互換があります。いわゆる言語仕様が改訂されているという状況です。影響度合いは様々で、非互換のエラーとなり動作しない場合もあります。dotprojectではファイルという機能が影響を受けました。ファイルはプロジェクトドキュメントをサーバー上にアップロードする機能です。

ファイルメニューをクリックすると、画面は表示しますが、下半分にエラーが表示されています。/var/log/httpd/error.logには、以下のエラーが出力されていました。

PHP Warning:  Illegal string offset 'where' in
 /var/www/html/dp/modules/projects/projects.class.php on line 304, referer:

該当する箇所を見てみると、こんな感じの記述でした。

$extra['where'] = ((($extra['where'] != '') ? ($extra['where'] . ' AND ') : '')
 . $buffer;

実現したかったことは、$extra変数がスペースでなかったら、ANDを追加する、というようなことだと思いましたので、以下のように変更してみました。

if(isset($extra['where']))	{
		$extra['where'] = (($extra['where'] .' AND ') . $buffer);
	} else {
		$extra['where'] = $buffer;
	}

とりあえず、エラーは出なくなり、ファイルメニューが使えるようになりました。

このように、ちまちまと修正箇所があって大変だなぁと思いますが、ありがたいことに本体のバージョンアップがされないため(そのうち言語上の非互換で動かなくなるリスクはあるが)、修正は一回限りでOKです。ところが、このブログで使っているwordpressやそのプラグインではそうはいきません。自分の都合に合わせて修正した箇所は、本体がバージョンアップされると毎回手直しが発生します。この話はまた別の機会に。

【最終更新日: 2017年11月29日】
カテゴリーIT閑話, 公開タグ,
閃きは大事だw

このサイトは、あくまでもCMSであるWordPressの構築やクラウドであるAWSの運用ノウハウ取得  続きを読む

ElasticPress 3.5.6
blank

マイナーバージョンアップにも関わらず、検索スコアリングのパラメータが微調整された結果、期待する検索結  続きを読む

閲覧数まとめ
blank

閃きついでに総合計と週合計をフラグで制御する方式に変更してみた。これまではベタに関数をまるまるコピー  続きを読む

緊急事態宣言で外出自粛になり...
blank

せっかくのゴールデンウィークなのに、2年連続で緊急事態宣言下となり、外出自粛中。暇なので小ネタで遊ぶ  続きを読む

ページナビのテキスト
blank

記事ページの下部に前後の記事(投稿)へのリンクが表示される仕様なのだが、「カテゴリーに制限」をかけて  続きを読む

Zabbix 5.0を導入する
blank

もうね、完全にネタ切れw、ITネタで突っ走るしかない。今回は久しぶりのZABBIXネタと、それが稼働  続きを読む

スポンサーリンク

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください