OpenPNE Issue Tracking System: チケット
http://redmine.openpne.jp/
http://redmine.openpne.jp/favicon.ico
2012-03-13T09:13:24Z
OpenPNE Issue Tracking System
Redmine
OpenPNE 3 - Bug(バグ) #2882 (Won't fix(対応せず)): opValidatorDate で「年」に 0 を入力した場合に空値として認識される
http://redmine.openpne.jp/issues/2882
2012-03-13T09:13:24Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="現象"></a>
<h3 >現象<a href="#現象" class="wiki-anchor">¶</a></h3>
<p>opValidatorDate を使用しているフォーム(コミュニティイベントの作成画面など)で、日付を入力する項目の「年」に <code>0</code> を入力すると空値として扱われる。</p>
<ul>
<li>コミュニティイベントの作成画面の場合、「募集期日」の「年」に <code>0</code> と入力された状態(「月」「日」は入力しない)で送信しても「正しくありません。」と表示されずにイベントの作成が完了する。</li>
</ul>
<a name="原因"></a>
<h3 >原因<a href="#原因" class="wiki-anchor">¶</a></h3>
<p>lib/validator/opValidatorDate.class.php の 100 行目付近</p>
<pre><code class="php syntaxhl"><span class="CodeRay"> <span class="comment">// if one date value is empty, all others must be empty too</span>
<span class="local-variable">$empties</span> =
(!<span class="predefined">isset</span>(<span class="local-variable">$value</span>[<span class="string"><span class="delimiter">'</span><span class="content">year</span><span class="delimiter">'</span></span>]) || !<span class="local-variable">$value</span>[<span class="string"><span class="delimiter">'</span><span class="content">year</span><span class="delimiter">'</span></span>] ? <span class="integer">1</span> : <span class="integer">0</span>) +
(!<span class="predefined">isset</span>(<span class="local-variable">$value</span>[<span class="string"><span class="delimiter">'</span><span class="content">month</span><span class="delimiter">'</span></span>]) || !<span class="local-variable">$value</span>[<span class="string"><span class="delimiter">'</span><span class="content">month</span><span class="delimiter">'</span></span>] ? <span class="integer">1</span> : <span class="integer">0</span>) +
(!<span class="predefined">isset</span>(<span class="local-variable">$value</span>[<span class="string"><span class="delimiter">'</span><span class="content">day</span><span class="delimiter">'</span></span>]) || !<span class="local-variable">$value</span>[<span class="string"><span class="delimiter">'</span><span class="content">day</span><span class="delimiter">'</span></span>] ? <span class="integer">1</span> : <span class="integer">0</span>);
</span></code></pre>
<p>この判定で、「年」(<code>$value['year']</code>) に <code>"0"</code> が入力されると <code>!isset($value['year']) || !$value['year']</code> が <code>true</code> となり空値と判定されることが原因。</p>
<p>参照: <a href="http://php.net/manual/ja/types.comparisons.php" class="external">PHP: PHP 型の比較表 - Manual</a></p>
<a name="修正内容"></a>
<h3 >修正内容<a href="#修正内容" class="wiki-anchor">¶</a></h3>
<p>修正内容を記入</p>
opOpenSocialPlugin - Bug(バグ) #1988 (Fixed(完了)): [pc] modalboxを2回目以降に表示すると、読み込みが完了するまで前回表示時の内容が残ってしまう
http://redmine.openpne.jp/issues/1988
2011-03-31T02:45:07Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-概要"></a>
<h3 >Overview (概要)<a href="#Overview-概要" class="wiki-anchor">¶</a></h3>
<p>requestShareApp等でモーダルボックスを表示させる際に前回表示時の内容が消去されずに残ってしまうため、2回目以降表示するとき読み込みが完了するまでの間に以前の内容が表示されたままとなってしまう。</p>
<a name="Spec-仕様"></a>
<h3 >Spec (仕様)<a href="#Spec-仕様" class="wiki-anchor">¶</a></h3>
<p>モーダルボックスを閉じるときにiframeの内容を消去する。</p>
OpenPNE 3 - Bug(バグ) #1984 (Fixed(完了)): テストケースをSQLite等のDBMS上で動作させることができない
http://redmine.openpne.jp/issues/1984
2011-03-29T04:56:19Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="現象"></a>
<h3 >現象<a href="#現象" class="wiki-anchor">¶</a></h3>
<p>php5 test/unit/model/doctrine/MemberTest.php などのようにテストケースを実行すると、下記のようなエラーが出力されて中断する。<br /><pre>
PHP Fatal error: Uncaught exception 'Doctrine_Connection_Sqlite_Exception' with message 'SQLSTATE[23000]: Integrity constraint violation: 19 activity_data.body may not be NULL' in /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php:1082
Stack trace:
#0 /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection/Statement.php(269): Doctrine_Connection->rethrowException(Object(PDOException), Object(Doctrine_Connection_Statement))
#1 /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php(1042): Doctrine_Connection_Statement->execute(Array)
#2 /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php(687): Doctrine_Connection->exec('INSERT INTO act...', Array)
#3 /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctr in /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 1082
Fatal error: Uncaught exception 'Doctrine_Connection_Sqlite_Exception' with message 'SQLSTATE[23000]: Integrity constraint violation: 19 activity_data.body may not be NULL' in /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php:1082
Stack trace:
#0 /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection/Statement.php(269): Doctrine_Connection->rethrowException(Object(PDOException), Object(Doctrine_Connection_Statement))
#1 /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php(1042): Doctrine_Connection_Statement->execute(Array)
#2 /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php(687): Doctrine_Connection->exec('INSERT INTO act...', Array)
#3 /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctr in /home/upsilon/git/openpne3/sqlite/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 1082
</pre></p>
<a name="原因"></a>
<h3 >原因<a href="#原因" class="wiki-anchor">¶</a></h3>
<p>test/fixtures/test_data.yml の中にActivityDataのbodyの値が設定されていないレコードが含まれている。</p>
<a name="修正内容"></a>
<h3 >修正内容<a href="#修正内容" class="wiki-anchor">¶</a></h3>
<p>dummy_activity7 と dummy_activity8 に不足している値を追加する。</p>
<a name="1527-に対する修正によって再度発生した問題"></a>
<h2 ><a class="issue tracker-1 status-5 priority-5 priority-high3 closed" title="Bug(バグ): OpenPNE 2 からのアップグレードで、誤ったコミュニティカテゴリの紐付けをおこなってしまうことがある (Fixed(完了))" href="http://redmine.openpne.jp/issues/1527">#1527</a> に対する修正によって再度発生した問題<a href="#1527-に対する修正によって再度発生した問題" class="wiki-anchor">¶</a></h2>
<a name="現象-2"></a>
<h3 >現象<a href="#現象-2" class="wiki-anchor">¶</a></h3>
<p><code>php5 test/unit/model/doctrine/MemberTest.php</code> などのようにテストケースを実行すると、下記のようなエラーが出力されて中断する。</p>
<pre>
PHP Fatal error: Uncaught exception 'Doctrine_Connection_Sqlite_Exception' with message 'SQLSTATE[HY000]: General error: 1 near "SET": syntax error. Failing Query: "SET FOREIGN_KEY_CHECKS = 0"' in /home/upsilon/git/openpne3/houou/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php:1082
Stack trace:
#0 /home/upsilon/git/openpne3/houou/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php(1061): Doctrine_Connection->rethrowException(Object(PDOException), Object(Doctrine_Connection_Sqlite_ExtraFunctions), 'SET FOREIGN_KEY...')
#1 /home/upsilon/git/openpne3/houou/test/bootstrap/database.php(15): Doctrine_Connection->exec('SET FOREIGN_KEY...')
#2 /home/upsilon/git/openpne3/houou/test/unit/model/doctrine/MemberTest.php(4): include_once('/home/upsilon/g...')
#3 {main}
thrown in /home/upsilon/git/openpne3/houou/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 1082
</pre>
<a name="原因-2"></a>
<h3 >原因<a href="#原因-2" class="wiki-anchor">¶</a></h3>
<p><a class="changeset" title="fixed not to salvage removed community (which has no member information) (refs #1527)" href="http://redmine.openpne.jp/projects/op3/repository/revisions/6e7de531cbcca07f3b43e95d4368f4362ce760af">6e7de531</a> によって test/bootstrap/database.php に追加された、<br /><pre><code class="php syntaxhl"><span class="CodeRay"><span class="local-variable">$conn</span> = opDoctrineQuery::getMasterConnectionDirect();
<span class="local-variable">$conn</span>-><span class="predefined">exec</span>(<span class="string"><span class="delimiter">'</span><span class="content">SET FOREIGN_KEY_CHECKS = 0</span><span class="delimiter">'</span></span>);
</span></code></pre><br />のコードからエラーが発生している。ここで実行されている <code>SET FOREIGN_KEY_CHECKS = 0</code> はMySQLに依存するクエリであるため、MySQL以外のDBMS上では実行に失敗しエラーが発生する。</p>
<a name="修正内容-2"></a>
<h3 >修正内容<a href="#修正内容-2" class="wiki-anchor">¶</a></h3>
<p>上記のコードを、DBMSがMySQLである場合のみ実行するように修正する。</p>
opOpenSocialPlugin - Enhancement(機能追加・改善) #1979 (Fixed(完了)): [api] ヘルパーを使用せずにプロフィールURLの生成を行う
http://redmine.openpne.jp/issues/1979
2011-03-28T02:10:16Z
Youichi Kimura
kim.upsilon@bucyou.net
<p><a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Enhancement(機能追加・改善): opApplicationConfiguration::generateAppUrl() のパラメータをsf_routeに対応する (Fixed(完了))" href="http://redmine.openpne.jp/issues/1966">#1966</a> の修正によりプロフィールURLの生成にヘルパーを介さずルーティング名を直接指定できるようになったため、これに対する変更を行う。</p>
OpenPNE 3 - Bug(バグ) #1972 (Fixed(完了)): テーブル単位でデータベース接続先を設定しても無視される
http://redmine.openpne.jp/issues/1972
2011-03-24T07:15:43Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="現象"></a>
<h3 >現象<a href="#現象" class="wiki-anchor">¶</a></h3>
<p>config/ProjectConfiguration.class.php 内で、<br /><code><pre>
$manager->openConnection('sqlite:/var/local/dbfiles/openpne3-uploads.sqlite', 'slave-uploads');
$manager->bindComponent('File', 'slave-uploads');
$manager->bindComponent('FileBin', 'slave-uploads');
</pre></code><br />のような設定を追加しても、指定したとおりに接続先が変更されない。</p>
<a name="原因"></a>
<h3 >原因<a href="#原因" class="wiki-anchor">¶</a></h3>
<p>opDoctrineQuery や opDoctrineRecord がDBレプリケーション処理のために、テーブルに紐付いているコネクションを無視して上書きしてしまうため。</p>
<a name="修正内容"></a>
<h3 >修正内容<a href="#修正内容" class="wiki-anchor">¶</a></h3>
<p>修正内容を記入</p>
OpenPNE 3 - Enhancement(機能追加・改善) #1966 (Fixed(完了)): opApplicationConfiguration::generateAppUrl() ...
http://redmine.openpne.jp/issues/1966
2011-03-23T02:29:23Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-概要"></a>
<h3 >Overview (概要)<a href="#Overview-概要" class="wiki-anchor">¶</a></h3>
<p>opApplicationConfiguration::generateAppUrl() でconvertUrlStringToParametersを経由せずにURLを生成する方法として、sfWebController::genUrl() 等でも利用できるsf_routeパラメータに対応させる</p>
<a name="Spec-仕様"></a>
<h3 >Spec (仕様)<a href="#Spec-仕様" class="wiki-anchor">¶</a></h3>
<p>opApplicationConfiguration::generateAppUrl() の第2引数 $parameters に sf_route が含まれていた場合(<code>isset($parameters['sf_route'])</code>)は convertUrlStringToParameters を通さずにsfRoutingsオブジェクトにパラメータを渡す。</p>
OpenPNE 3 - Bug(バグ) #1961 (Fixed(完了)): mobile_frontend内のアクションでforwardを使用するとパラメータが文字化けする
http://redmine.openpne.jp/issues/1961
2011-03-22T05:40:21Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="現象"></a>
<h3 >現象<a href="#現象" class="wiki-anchor">¶</a></h3>
<p>mobile_frontend内のアクションでforwardを使用するとGET・POSTパラメータが文字化けする</p>
<a name="原因"></a>
<h3 >原因<a href="#原因" class="wiki-anchor">¶</a></h3>
<p>forwardを実行するとsfMobileIOFilterが再度実行されてしまい「SJIS-win→UTF-8」の変換が二重に行われてしまうため文字化けが起きる</p>
<a name="修正内容"></a>
<h3 >修正内容<a href="#修正内容" class="wiki-anchor">¶</a></h3>
<p>修正内容を記入</p>
OpenPNE 3 - Enhancement(機能追加・改善) #1946 (Fixed(完了)): DATE_FORMAT関数をMySQL以外のDBMSで利用できるようにする
http://redmine.openpne.jp/issues/1946
2011-03-09T18:00:14Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-概要"></a>
<h3 >Overview (概要)<a href="#Overview-概要" class="wiki-anchor">¶</a></h3>
<p>opCalendarPlugin等で使用されているDATE_FORMAT関数がDoctrineによってサポートされておらずMySQL依存となっているため、Doctrineを拡張してPostgreSQLやSQLiteでもDATE_FORMAT関数が動作するようにする。</p>
<a name="Spec-仕様"></a>
<h3 >Spec (仕様)<a href="#Spec-仕様" class="wiki-anchor">¶</a></h3>
<p>DoctrineのExtensionsを利用する。独自の関数を実装するためにはDoctrine_Expressionの派生クラスを作成する必要があるがDoctrineにはDoctrine_Expression派生クラスを直接適用する手段が用意されていないため、各DBMSのDoctrine_Connectionクラスを継承した派生クラスも作成する。</p>
OpenPNE 3 - Bug(バグ) #1936 (Fixed(完了)): opAnonymousMember クラスにStrict Standardsエラーが含まれている
http://redmine.openpne.jp/issues/1936
2011-03-01T08:14:16Z
Youichi Kimura
kim.upsilon@bucyou.net
<p>error_reporting に E_STRICT を設定している環境において、以下のエラーが出力される場合があります。</p>
<code><pre>
PHP Strict Standards: Declaration of opAnonymousMember::getConfig() should be compatible with that of Member::getConfig() in /home/upsilon/git/openpne3/sqlite/lib/user/opAnonymousMember.class.php on line 158
Strict Standards: Declaration of opAnonymousMember::getConfig() should be compatible with that of Member::getConfig() in /home/upsilon/git/openpne3/sqlite/lib/user/opAnonymousMember.class.php on line 158
PHP Strict Standards: Declaration of opAnonymousMember::delete() should be compatible with that of Member::delete() in /home/upsilon/git/openpne3/sqlite/lib/user/opAnonymousMember.class.php on line 158
Strict Standards: Declaration of opAnonymousMember::delete() should be compatible with that of Member::delete() in /home/upsilon/git/openpne3/sqlite/lib/user/opAnonymousMember.class.php on line 158
PHP Strict Standards: Declaration of opAnonymousMember::save() should be compatible with that of opDoctrineRecord::save() in /home/upsilon/git/openpne3/sqlite/lib/user/opAnonymousMember.class.php on line 158
Strict Standards: Declaration of opAnonymousMember::save() should be compatible with that of opDoctrineRecord::save() in /home/upsilon/git/openpne3/sqlite/lib/user/opAnonymousMember.class.php on line 158
</pre></code>
opOpenSocialPlugin - Enhancement(機能追加・改善) #1935 (Fixed(完了)): [test] opOpenSocial:execute-lifecycl...
http://redmine.openpne.jp/issues/1935
2011-03-01T06:49:20Z
Youichi Kimura
kim.upsilon@bucyou.net
<p>opOpenSocial:execute-lifecycle-event タスクに対するユニットテストを追加</p>
OpenPNE 3 - Enhancement(機能追加・改善) #1898 (Invalid(無効)): [PATCH] i18nビヘイビアを使用しているテーブルへのクエリが何度も実行される
http://redmine.openpne.jp/issues/1898
2011-01-29T16:51:02Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="概要"></a>
<h3 >概要<a href="#概要" class="wiki-anchor">¶</a></h3>
<p>「マイホーム」のページにアクセスすると、以下のようにtranslationテーブルに対するクエリが数回実行されます。<br /><pre>
SELECT s.id AS s__id, s.name AS s__name, s.application AS s__application FROM sns_term s WHERE (s.application = 'pc_frontend' AND s.id IN (SELECT s.id AS s__id FROM sns_term_translation s2 WHERE (s2.lang = 'en')))
SELECT s.id AS s__id, s.value AS s__value, s.lang AS s__lang FROM sns_term_translation s WHERE (s.id IN ('5'))
SELECT s.id AS s__id, s.value AS s__value, s.lang AS s__lang FROM sns_term_translation s WHERE (s.id IN ('1'))
SELECT s.id AS s__id, s.value AS s__value, s.lang AS s__lang FROM sns_term_translation s WHERE (s.id IN ('3'))
SELECT s.id AS s__id, s.value AS s__value, s.lang AS s__lang FROM sns_term_translation s WHERE (s.id IN ('9'))
SELECT s.id AS s__id, s.value AS s__value, s.lang AS s__lang FROM sns_term_translation s WHERE (s.id IN ('11'))
</pre></p>
<p>同様なアクセスがnavigation_translationテーブルに対しても行われます。<br />速度面での改善があるかどうかは分かりませんが、クエリにleftJoinを使用して実行回数を減らした修正を <a class="external" href="https://github.com/upsilon/OpenPNE3/commit/cb1804b">https://github.com/upsilon/OpenPNE3/commit/cb1804b</a> で行いました。</p>
opCalendarPlugin - Bug(バグ) #1887 (Fixed(完了)): MySQLに依存する関数を含むクエリがある
http://redmine.openpne.jp/issues/1887
2011-01-21T15:57:40Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-現象"></a>
<h3 >Overview (現象)<a href="#Overview-現象" class="wiki-anchor">¶</a></h3>
<p>opCalendarPluginExtension::getScheduleBirthMember() メソッド内で実行されるクエリの一部がMySQLのDATE_FORMAT関数を使用しているため、MySQL以外のDBMSで「バースデイボックス」ガジェットを使用するとInternal Server Errorが返ります。</p>
OpenPNE 3 - Enhancement(機能追加・改善) #1873 (Fixed(完了)): [PATCH] opWidgetFormDateTime クラスの追加
http://redmine.openpne.jp/issues/1873
2011-01-17T13:58:06Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-概要"></a>
<h3 >Overview (概要)<a href="#Overview-概要" class="wiki-anchor">¶</a></h3>
<p>opChatPlugin に含まれている opWidgetFormDateTime クラスが他のプラグイン等にも再利用可能なものなので、宜しければコアに同梱して頂けませんでしょうか?<br />opWidgetFormDateTime クラスは sfWidgetFormI18nDateTime の日付部分に opWidgetFormDate を使用するようにしたものです。</p>
<p><a class="external" href="https://github.com/upsilon/OpenPNE3/commit/6cb8b77">https://github.com/upsilon/OpenPNE3/commit/6cb8b77</a></p>
OpenPNE 3 - Bug(バグ) #1839 (Won't fix(対応せず)): [PATCH] 一部のファイルに不要な実行権限が設定されている
http://redmine.openpne.jp/issues/1839
2010-12-09T07:37:47Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="現象"></a>
<h3 >現象<a href="#現象" class="wiki-anchor">¶</a></h3>
<p>直接実行できないphpファイルや画像ファイルなどに実行可能権限が設定されています。</p>
<a name="修正内容"></a>
<h3 >修正内容<a href="#修正内容" class="wiki-anchor">¶</a></h3>
<p>ソースツリー内にELFファイルは存在しないため、ファイルの一行目がシバン行 (先頭が「#!」で開始) であるか否かで実行権限を設定します</p>
<pre>
find * -type f ! -regex '.*\.git.*' -print0 | xargs -0r -Ifile sh -c 'head -n1 file | grep -q "^#!" && chmod +x file || chmod -x file'
</pre>
opCommunityTopicPlugin - Enhancement(機能追加・改善) #1526 (Rejected(差し戻し)): イベントの参加者を編集できるようにしてほしい
http://redmine.openpne.jp/issues/1526
2010-08-21T15:25:10Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="概要"></a>
<h3 >概要<a href="#概要" class="wiki-anchor">¶</a></h3>
<p>普段あまり書き込みをしないメンバーがイベントに参加する際に参加者一覧と実際の参加者が一致しなくなることがあるため、イベントの作成者が参加者を編集(追加・削除)できるようにしてほしいです。</p>