2019/12/07 17:09 JST

Geeklog Japan Forums

databox Ver:0.0.0.20141105 をいれると、CSV と Maps メニューが消える

ページナビゲーション


状態: オフライン

yamachan

Forum User
Regular Member
登録日: 07/03/14
投稿数: 24
> CSVとMaps はオプションなので
いやいやそういう問題じゃなくて、面白そうだから試しているのであって、

> defaultは特に指定してないからNULLになっているのでしょう
これもそういう問題ではなく、そもそも定義が矛盾しているから default 値が代入されないということです。
うまくいっているように見えるのは、mysql のデフォルトでは変な値を入れても落ちないようになっているからです。

ところが、
PHP Formatted Code

sql_mode='TRADITIONAL'
 

とすると、値が矛盾していると落ちるようになります。上記の例だと
1. maps のテーブル設計に問題がある
2. payed の値に問題がある
ということです。 TRADITIONAL についてはこちら
http://d.hatena.ne.jp/sakaik/20100303/mysqlmode

状態: オフライン

Tsuchi

Site Admin
Admin
登録日: 06/03/05
投稿数: 782
場所:大阪府豊中市
1. maps のテーブル設計に問題がある
この問題は、Mapsプラグインのほうで対応してもらわないといけないです。
DataBox のほうで、対応するとしたら、なんらかの値を編集してやらないといけないのですが、どういう値を編集したらよいのかは、いまのところ不明
エラーで落ちるとしたら、とりあえずは、テーブル構造を直接修正するのがてっとりはやいと思います。

状態: オフライン

Tsuchi

Site Admin
Admin
登録日: 06/03/05
投稿数: 782
場所:大阪府豊中市
2. payed の値に問題がある
原因の可能性のひとつとして考えられるのは
Mapsプラグインのロード順はDataBoxより下にあるのかもしれない。ということです。

いちおう、DataBoxのドキュメントには関連プラグインのところに
Mapsプラグイン
Mapsプラグインのロード順はDataBoxより上位にしてください。
と記述しています

状態: オフライン

yamachan

Forum User
Regular Member
登録日: 07/03/14
投稿数: 24
ben さんにどう対応してもらうのかは考えてもらうとして、
そちらでも検証されて、とりあえずこういう対処で(まえの書き込みのとおりでもいいですし)やっちゃってくださいということをいわれるといいかと思います。上記条件でおっこちるのは確実なんで。

状態: オフライン

yamachan

Forum User
Regular Member
登録日: 07/03/14
投稿数: 24
> Mapsプラグインのロード順はDataBoxより上位にしてください。
なってます。

状態: オフライン

Ivy

Site Admin
Admin
登録日: 01/01/04
投稿数: 5934
場所:Tokyo
Maps pluginの問題は連絡しますね。

PHP MySQLのバージョンは何でしょうか?
そこで落ちるのは初めて聞く現象だったので。p

状態: オフライン

yamachan

Forum User
Regular Member
登録日: 07/03/14
投稿数: 24
まいどありがとうございます。要は、誰も traditional で動かしていないということなんだと思います。
重ねて言いますが、通常では起きません。しかし、mysql が適当に丸めているだけで設計とは違う予期せぬ値が入っています。
この機能のおかけで結構とんでもないバグが入り込むことがあります。たとえば utf-8 のカラムに sjis でも突っ込めるのですが、適当変換のおかげで原型をとどめていませんので、盛大に文字化けしている理由がわからないということがおこります。

[root@hoge var]# rpm -qa | grep php
php-pear-1.9.4-4.el6.noarch
php-pgsql-5.4.16-1.el6.x86_64
php-cli-5.4.16-1.el6.x86_64
php-pdo-5.4.16-1.el6.x86_64
php-gd-5.4.16-1.el6.x86_64
php-common-5.4.16-1.el6.x86_64
php-xml-5.4.16-1.el6.x86_64
php-5.4.16-1.el6.x86_64
php-devel-5.4.16-1.el6.x86_64
php-mysql-5.4.16-1.el6.x86_64
php-mbstring-5.4.16-1.el6.x86_64

[root@hoge var]# rpm -qa | grep -i mysql
MySQL-client-5.6.12-2.el6.x86_64
MySQL-shared-5.6.12-2.el6.x86_64
MySQL-python-1.2.3-0.3.c1.1.el6.x86_64
MySQL-shared-compat-5.6.12-2.el6.x86_64
MySQL-devel-5.6.12-2.el6.x86_64
MySQL-server-5.6.12-2.el6.x86_64

状態: オフライン

Tsuchi

Site Admin
Admin
登録日: 06/03/05
投稿数: 782
場所:大阪府豊中市
前言訂正

マップはペイドマーカーを許可 (Paypalプラグイン要)
は paid_markers で
payedではありませんでした

状態: オフライン

Tsuchi

Site Admin
Admin
登録日: 06/03/05
投稿数: 782
場所:大阪府豊中市
payed は マーカー編集画面でいうと、一般設定のペイドマーカーで
既定値として$_MAPS_CONF['payed']が使用されているが、そういうコンフィギュレーション設定は、なさそうです。
ないので、既定値は0(いいえ)になっています。

(たぶん)それに倣ってDataBoxでは$_MAPS_CONF['payed']を使用したんだと思います。
で、MapsExportの結果もpayedは0になっています。

とりあえず、現状は、結果は、マーカー編集画面と同じなので、DataBoxでの対応は保留します。
Mapsプラグインが変更になったら(バージョンがあがったら)、その時に検討します。



状態: オフライン

yamachan

Forum User
Regular Member
登録日: 07/03/14
投稿数: 24
> 既定値として$_MAPS_CONF['payed']が使用されているが、そういうコンフィギュレーション設定は、なさそうです。
> ないので、既定値は0(いいえ)になっています。
0 じゃないです。 undefined です。
こういう記述がありますが。綴り間違っているんじゃないですか ?
PHP Formatted Code

[yamachan@hoge maps]$ grep paid_marker *
install_defaults.php:$_MAPS_DEFAULT['paid_markers'] = 1;
install_defaults.php:           $c->add('paid_markers', $_MAPS_DEFAULT['paid_markers'],
 

他にもあるのですが、 結局 traditional で動かしたときの問題についてはなんの解決にもならないし、木で鼻を括ったようなご意見でしたらもう指摘はしません。

ページナビゲーション

時刻はすべて JST , 現在の時刻は 05:09 PM

  • 通常
  • 注目トピック
  • ロック済
  • 新着
  • 注目トピック 新着
  • ロック済トピック 新着
  •  ゲストユーザの投稿を見る
  •  ゲストユーザ投稿可能
  •  一部のHTMLを許可
  •  バッドワードをチェック