OpenPNE Issue Tracking System: チケット
http://redmine.openpne.jp/
http://redmine.openpne.jp/favicon.ico
2016-11-17T08:11:18Z
OpenPNE Issue Tracking System
Redmine
opCommunityTopicPlugin - Bug(バグ) #4054 (Fixed(完了)): 管理画面のトピックリストなどの画面でtr要素の閉じタグが不足している
http://redmine.openpne.jp/issues/4054
2016-11-17T08:11:18Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-現象"></a>
<h3 >Overview (現象)<a href="#Overview-現象" class="wiki-anchor">¶</a></h3>
<p>管理画面のトピックリスト (/pc_backend.php/communityTopic/topicList) の検索フォームは下記のようにマークアップされている:</p>
<pre><code class="html syntaxhl"><span class="CodeRay"><span class="tag"><form</span> <span class="attribute-name">method</span>=<span class="string"><span class="delimiter">"</span><span class="content">get</span><span class="delimiter">"</span></span> <span class="attribute-name">action</span>=<span class="string"><span class="delimiter">"</span><span class="content">/master/pc_backend.php/communityTopic/topicList</span><span class="delimiter">"</span></span><span class="tag">></span><span class="tag"><table></span>
<span class="tag"><tr></span>
<span class="tag"><th></span><span class="tag"><label</span> <span class="attribute-name">for</span>=<span class="string"><span class="delimiter">"</span><span class="content">communityTopic_id</span><span class="delimiter">"</span></span><span class="tag">></span>トピックID<span class="tag"></label></span><span class="tag"></th></span>
<span class="tag"><td></span><span class="tag"><input</span> <span class="attribute-name">type</span>=<span class="string"><span class="delimiter">"</span><span class="content">text</span><span class="delimiter">"</span></span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">communityTopic_id</span><span class="delimiter">"</span></span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">"</span><span class="content">communityTopic[id][text]</span><span class="delimiter">"</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">"</span><span class="delimiter">"</span></span> <span class="tag">/></span><span class="tag"><br</span> <span class="tag">/></span> <span class="tag"></td></span>
<span class="tag"></tr></span>
<span class="tag"><tr></span>
<span class="tag"><th></span><span class="tag"><label</span> <span class="attribute-name">for</span>=<span class="string"><span class="delimiter">"</span><span class="content">communityTopic_name</span><span class="delimiter">"</span></span><span class="tag">></span>トピックタイトル<span class="tag"></label></span><span class="tag"></th></span>
<span class="tag"><td></span><span class="tag"><input</span> <span class="attribute-name">type</span>=<span class="string"><span class="delimiter">"</span><span class="content">text</span><span class="delimiter">"</span></span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">communityTopic_name</span><span class="delimiter">"</span></span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">"</span><span class="content">communityTopic[name][text]</span><span class="delimiter">"</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">"</span><span class="delimiter">"</span></span> <span class="tag">/></span><span class="tag"><br</span> <span class="tag">/></span> <span class="tag"></td></span>
<span class="tag"></tr></span>
<span class="tag"><tr></span>
<span class="tag"><th></span><span class="tag"><label</span> <span class="attribute-name">for</span>=<span class="string"><span class="delimiter">"</span><span class="content">communityTopic_body</span><span class="delimiter">"</span></span><span class="tag">></span>本文<span class="tag"></label></span><span class="tag"></th></span>
<span class="tag"><td></span><span class="tag"><input</span> <span class="attribute-name">type</span>=<span class="string"><span class="delimiter">"</span><span class="content">text</span><span class="delimiter">"</span></span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="content">communityTopic_body</span><span class="delimiter">"</span></span> <span class="attribute-name">name</span>=<span class="string"><span class="delimiter">"</span><span class="content">communityTopic[body][text]</span><span class="delimiter">"</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">"</span><span class="delimiter">"</span></span> <span class="tag">/></span><span class="tag"><br</span> <span class="tag">/></span> <span class="tag"></td></span>
<span class="tag"></tr></span>
<span class="tag"><tr></span>
<span class="tag"><td</span> <span class="attribute-name">colspan</span>=<span class="string"><span class="delimiter">"</span><span class="content">2</span><span class="delimiter">"</span></span><span class="tag">></span><span class="tag"><input</span> <span class="attribute-name">type</span>=<span class="string"><span class="delimiter">"</span><span class="content">submit</span><span class="delimiter">"</span></span> <span class="attribute-name">value</span>=<span class="string"><span class="delimiter">"</span><span class="content">検索</span><span class="delimiter">"</span></span> <span class="tag">/></span><span class="tag"></td></span>
<span class="tag"></table></span>
<span class="tag"></form></span>
</span></code></pre>
<p>この中で、検索ボタンが含まれている最後の列について tr 要素の閉じタグが存在せず、XHTML の構文として正しくない状態になっている。</p>
<p>トピックコメントリストやイベントリストなどにも同様の不具合がある。</p>
<a name="Way-to-fix-修正内容"></a>
<h3 >Way to fix (修正内容)<a href="#Way-to-fix-修正内容" class="wiki-anchor">¶</a></h3>
<p><code></table></code> の手前の行に <code></tr></code> を追加する</p>
OpenPNE 3 - Bug(バグ) #4031 (Fixed(完了)): 存在しない /js/.js を読み込もうとして404エラーが発生している
http://redmine.openpne.jp/issues/4031
2016-10-27T06:48:13Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="現象"></a>
<h3 >現象<a href="#現象" class="wiki-anchor">¶</a></h3>
<p>管理画面のガジェット設定 (/pc_backend.php/design/gadget) を開くと下記のような script 要素が記載されており、<code>/js/.js</code> にはファイルが存在しないため 404 エラーが発生する。</p>
<pre><code class="html syntaxhl"><span class="CodeRay"><span class="tag"><script</span> <span class="attribute-name">type</span>=<span class="string"><span class="delimiter">"</span><span class="content">text/javascript</span><span class="delimiter">"</span></span> <span class="attribute-name">src</span>=<span class="string"><span class="delimiter">"</span><span class="content">/js/.js</span><span class="delimiter">"</span></span><span class="tag">></span><span class="tag"></script></span>
</span></code></pre>
<a name="原因"></a>
<h3 >原因<a href="#原因" class="wiki-anchor">¶</a></h3>
<p>下記のコードで <code>op_jquery_url</code> は存在しない設定であるため null を返すことが原因。</p>
<p><a class="source" href="http://redmine.openpne.jp/projects/op3/repository/revisions/43190aa1/entry/lib/helper/opJavascriptHelper.php#L28">source:lib/helper/opJavascriptHelper.php@43190aa1#L28</a>:</p>
<pre><code class="php syntaxhl"><span class="CodeRay">sfContext::getInstance()->getResponse()->addJavascript(sfConfig::get(<span class="string"><span class="delimiter">'</span><span class="content">op_jquery_url</span><span class="delimiter">'</span></span>));
</span></code></pre>
<p><code>op_jquery_url</code> は <a class="issue tracker-2 status-5 priority-5 priority-high3 closed" title="Enhancement(機能追加・改善): prototype.js や script.aculo.us を使用している箇所を全て jQuery で置き換える (Fixed(完了))" href="http://redmine.openpne.jp/issues/2617">#2617</a> で prototype.js から jQuery に移行する際に使用していたものであり、この設定は <a class="changeset" title="include jquery.min.js and jquery-ui.min.js into project tree (fixes #2617)" href="http://redmine.openpne.jp/projects/op3/repository/revisions/207729a0c01b2abcc10902fd08bea021e17b27a9">207729a0</a> で削除されている。</p>
<a name="修正内容"></a>
<h3 >修正内容<a href="#修正内容" class="wiki-anchor">¶</a></h3>
<p><code>sfConfig::get('op_jquery_url')</code> を <code>'jquery.min.js'</code> に置き換える</p>
OpenPNE 3 - Bug(バグ) #3946 (New(新規)): 新規登録時に携帯電話の登録を求める画面(PC)に翻訳されていない箇所がある
http://redmine.openpne.jp/issues/3946
2016-05-20T04:12:05Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-現象"></a>
<h3 >Overview (現象)<a href="#Overview-現象" class="wiki-anchor">¶</a></h3>
<p>管理画面の「携帯関連設定」(/advanced/config?category=mobile) にある「メンバー登録時の携帯個体識別番号取得設定」を「PC・携帯登録時に携帯個体識別番号の登録を必須にする」に設定すると PC からの新規登録時に携帯メールアドレスの入力を求められるが、入力する欄のラベルが「Mobile address」のまま未翻訳の状態になっている。</p>
<p><img src="http://redmine.openpne.jp/attachments/download/619/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2016-05-20_13.00.28.png" style="width:693px;" alt="" /></p>
<a name="Causes-原因"></a>
<h3 >Causes (原因)<a href="#Causes-原因" class="wiki-anchor">¶</a></h3>
<p><code>registerMobileForm</code> の <code>mobile_address</code> に対してラベルが設定されておらずデフォルトの「Mobile address」が使用されるのに対し、<code>messages.js.xml</code> には「Mobile E-mail Address」は存在するものの「Mobile address」の翻訳は存在しないため英語のまま表示されてしまう。</p>
<p><a class="source" href="http://redmine.openpne.jp/projects/op3/repository/revisions/43190aa1/entry/apps/pc_frontend/modules/member/lib/registerMobileForm.class.php">source:apps/pc_frontend/modules/member/lib/registerMobileForm.class.php@43190aa1</a>:</p>
<pre><code class="php syntaxhl"><span class="CodeRay"> <span class="keyword">public</span> <span class="keyword">function</span> <span class="function">configure</span>()
{
<span class="local-variable">$this</span>->setWidget(<span class="string"><span class="delimiter">'</span><span class="content">mobile_address</span><span class="delimiter">'</span></span>, <span class="keyword">new</span> sfWidgetFormInput());
<span class="local-variable">$this</span>->setValidator(<span class="string"><span class="delimiter">'</span><span class="content">mobile_address</span><span class="delimiter">'</span></span>, <span class="keyword">new</span> sfValidatorMobileEmail());
<span class="local-variable">$this</span>->mergePostValidator(<span class="keyword">new</span> sfValidatorCallback(<span class="predefined">array</span>(
<span class="string"><span class="delimiter">'</span><span class="content">callback</span><span class="delimiter">'</span></span> => <span class="predefined">array</span>(<span class="local-variable">$this</span>, <span class="string"><span class="delimiter">'</span><span class="content">isUnique</span><span class="delimiter">'</span></span>),
<span class="string"><span class="delimiter">'</span><span class="content">arguments</span><span class="delimiter">'</span></span> => <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">name</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">mobile_address</span><span class="delimiter">'</span></span>),
)));
}
</span></code></pre>
<p><a class="source" href="http://redmine.openpne.jp/projects/op3/repository/revisions/43190aa1/entry/apps/pc_frontend/i18n/messages.ja.xml#L469">source:apps/pc_frontend/i18n/messages.ja.xml@43190aa1#L469</a>:</p>
<pre><code class="xml syntaxhl"><span class="CodeRay"> <span class="tag"><trans-unit</span> <span class="attribute-name">id</span>=<span class="string"><span class="delimiter">"</span><span class="delimiter">"</span></span><span class="tag">></span>
<span class="tag"><source></span>Mobile E-mail Address<span class="tag"></source></span>
<span class="tag"><target></span>携帯メールアドレス<span class="tag"></target></span>
<span class="tag"></trans-unit></span>
</span></code></pre>
<a name="Way-to-fix-修正内容"></a>
<h3 >Way to fix (修正内容)<a href="#Way-to-fix-修正内容" class="wiki-anchor">¶</a></h3>
<p><code>registerMobileForm::configure()</code> メソッド内に下記のコードを追加し、既存の翻訳が使われるようにする。</p>
<pre><code class="php syntaxhl"><span class="CodeRay"><span class="local-variable">$this</span>->widgetSchema->setLabel(<span class="string"><span class="delimiter">'</span><span class="content">mobile_address</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">Mobile E-mail Address</span><span class="delimiter">'</span></span>);
</span></code></pre>
opOpenSocialPlugin - Bug(バグ) #3937 (Pending Review(レビュー待ち)): 管理画面の「アクティビティの連続投稿禁止時間」の値を変更しても連続投稿禁...
http://redmine.openpne.jp/issues/3937
2016-04-27T11:02:44Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-現象"></a>
<h3 >Overview (現象)<a href="#Overview-現象" class="wiki-anchor">¶</a></h3>
<p>管理画面の「アクティビティの連続投稿禁止時間」はデフォルトで 30 秒となっているが、この値を 1 秒や 60 秒に変更しても設定したとおりの時間にならず常に 30 秒で連続投稿が制限される。</p>
<a name="Causes-原因"></a>
<h3 >Causes (原因)<a href="#Causes-原因" class="wiki-anchor">¶</a></h3>
<p><a class="source" href="http://redmine.openpne.jp/projects/plg-open-social/repository/revisions/6d81bffd/entry/lib/services/opOpenSocialActivityService.class.php#L185">source:lib/services/opOpenSocialActivityService.class.php@6d81bffd#L185</a></p>
<pre><code class="php syntaxhl"><span class="CodeRay"> <span class="keyword">if</span> (sfConfig::get(<span class="string"><span class="delimiter">'</span><span class="content">opensocial_activity_post_limit_time</span><span class="delimiter">'</span></span>, <span class="integer">30</span>))
{
<span class="local-variable">$object</span> = <span class="constant">Doctrine</span>::getTable(<span class="string"><span class="delimiter">'</span><span class="content">ActivityData</span><span class="delimiter">'</span></span>)->createQuery()
->where(<span class="string"><span class="delimiter">'</span><span class="content">foreign_table = ?</span><span class="delimiter">'</span></span>, <span class="constant">Doctrine</span>::getTable(<span class="string"><span class="delimiter">'</span><span class="content">Application</span><span class="delimiter">'</span></span>)->getTableName())
->andWhere(<span class="string"><span class="delimiter">'</span><span class="content">foreign_id = ?</span><span class="delimiter">'</span></span>, <span class="local-variable">$memberApplication</span>->getApplicationId())
->andWhere(<span class="string"><span class="delimiter">'</span><span class="content">member_id = ?</span><span class="delimiter">'</span></span>, <span class="local-variable">$member</span>->getId())
->orderBy(<span class="string"><span class="delimiter">'</span><span class="content">created_at DESC</span><span class="delimiter">'</span></span>)
->fetchOne();
<span class="keyword">if</span> (<span class="local-variable">$object</span>)
{
<span class="local-variable">$interval</span> = <span class="predefined">time</span>() - <span class="predefined">strtotime</span>(<span class="local-variable">$object</span>->getCreatedAt());
<span class="keyword">if</span> (<span class="local-variable">$interval</span> < sfConfig::get(<span class="string"><span class="delimiter">'</span><span class="content">opensocial_activity_post_limit_time</span><span class="delimiter">'</span></span>, <span class="integer">30</span>))
{
<span class="keyword">throw</span> <span class="keyword">new</span> <span class="constant">SocialSpiException</span>(<span class="string"><span class="delimiter">"</span><span class="content">Service Unavailable</span><span class="delimiter">"</span></span>, <span class="integer">503</span>);
}
}
}
</span></code></pre>
<p>「アクティビティの連続投稿禁止時間」の設定値は上記の箇所で使用されているが、この設定は sns_config テーブルに格納される値であるため sfConfig ではなく opConfig ないし <code>Doctrine_Core::getTable('SnsConfig')->get()</code> を使わなければ期待した値を取得することができない。</p>
<a name="Way-to-fix-修正内容"></a>
<h3 >Way to fix (修正内容)<a href="#Way-to-fix-修正内容" class="wiki-anchor">¶</a></h3>
<p><code>sfConfig::get('opensocial_activity_post_limit_time', 30)</code> としている箇所を <code>Doctrine_Core::getTable('SnsConfig')->get('opensocial_activity_post_limit_time', 30)</code> に変更する。</p>
OpenPNE 3 - Bug(バグ) #3852 (Won't fix(対応せず)): 機能テスト実行時にopBrowserによる各リクエスト間でMemberConfigのキャッシュが意図せず...
http://redmine.openpne.jp/issues/3852
2015-11-05T11:30:07Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-現象"></a>
<h3 >Overview (現象)<a href="#Overview-現象" class="wiki-anchor">¶</a></h3>
<p>MemberConfigTable クラスには MemberConfig をキャッシュするための <code>MemberConfigTable::$results</code> が用意されおり、多くのコードはこのキャッシュがリクエストごとに初期化される前提で実装されているが、機能テスト時には <code>MemberConfigTable::$results</code> のキャッシュがリクエストを跨いで引き継がれてしまうため、テスト時のみ発生する意図しない動作の原因となっている。</p>
<a name="Causes-原因"></a>
<h3 >Causes (原因)<a href="#Causes-原因" class="wiki-anchor">¶</a></h3>
<p>MemberConfigTable クラスには MemberConfig をキャッシュするための <code>MemberConfigTable::$results</code> が用意されているが、通常のブラウザからのアクセスによって OpenPNE が動作する場合はリクエスト毎にこのキャッシュは破棄される。<br />しかし機能テストで使用する opBrowser では、リクエストごとに sfContext の初期化は行うものの静的変数の初期化は行われないため MemberConfigTable のインスタンス(<code>Doctrine_Core::getTable()</code> によって生成されるシングルトン)は残ったままとなり、<code>MemberConfigTable::$results</code> も初期化されない。</p>
<a name="Way-to-fix-修正内容"></a>
<h3 >Way to fix (修正内容)<a href="#Way-to-fix-修正内容" class="wiki-anchor">¶</a></h3>
<p>opBrowser がリクエストを実行する度(sfContext を生成するタイミング)に <code>MemberConfigTable::$results</code> の中身を空にする</p>
OpenPNE 3 - Bug(バグ) #3756 (Won't fix(対応せず)): 画像付きのOAuthアプリケーションを削除してもDBから画像が削除されない
http://redmine.openpne.jp/issues/3756
2015-01-06T07:37:16Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="再現手順"></a>
<h3 >再現手順<a href="#再現手順" class="wiki-anchor">¶</a></h3>
<p>事前に OpenPNE に opWebAPIPlugin をインストールする必要があります。</p>
<ol>
<li>管理画面の SNS 設定 (/pc_backend.php/sns/config?category=general) から「外部サービスとの接続設定の使用設定」を「使用する」に変更</li>
<li>「連携済みアプリケーション一覧」(/pc_backend.php/connection/new) を開く
<ul>
<li>このページにアクセスするには直接 URL を入力する必要があります</li>
</ul>
</li>
<li>説明文等を入力し、適当な画像を選択して登録する</li>
<li>登録したアプリケーションが表示される</li>
<li>「連携済みアプリケーション一覧」(/pc_backend.php/connection) を開き、登録したアプリケーションを削除する</li>
<li>アップロード画像リスト (/pc_backend.php/monitoring) を開くと削除したアプリケーションの画像が残ったままとなっている</li>
</ol>
<a name="原因"></a>
<h3 >原因<a href="#原因" class="wiki-anchor">¶</a></h3>
<p>親チケット <a class="issue tracker-1 status-13 priority-4 priority-default closed parent" title="Bug(バグ): fileを参照するテーブル(activity_imageなど)のレコード削除時に対応するfileレコードが削除されない (Won't fix(対応せず))" href="http://redmine.openpne.jp/issues/3738">#3738</a> を参照。</p>
OpenPNE 3 - Bug(バグ) #3475 (Won't fix(対応せず)): 部分 SSL 使用時に SSL 必須のページでカスタム CSS が読み込まれない
http://redmine.openpne.jp/issues/3475
2013-11-01T06:44:51Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-現象"></a>
<h3 >Overview (現象)<a href="#Overview-現象" class="wiki-anchor">¶</a></h3>
<p>config/OpenPNE.yml にて部分 SSL を有効 (<code>use_ssl: true</code>) にしている環境で、ログイン画面 (member/login) などの SSL 必須のページを Web ブラウザからアクセスする際にカスタム CSS が読み込まれない場合がある。</p>
<a name="Causes-原因"></a>
<h3 >Causes (原因)<a href="#Causes-原因" class="wiki-anchor">¶</a></h3>
<p>カスタム CSS は /cache/css/customizing.css (実体は default/customizingCss アクション) が読み込まれることによって反映される仕組みとなっているが、default/customizingCss アクションは部分 SSL の対象となっていないため常に <code>http://</code> スキームにリダイレクトされてしまう。<br />Google Chrome などの Web ブラウザでは、SSL で保護されている Web ページ内に保護されていない CSS などのコンテンツが含まれている場合は「混在したコンテンツ」としてブロックされるため、結果としてカスタム CSS が読み込まれない状態となる。</p>
<a name="Way-to-fix-修正内容"></a>
<h3 >Way to fix (修正内容)<a href="#Way-to-fix-修正内容" class="wiki-anchor">¶</a></h3>
<p>config/OpenPNE.yml.sample の ssl_selectable_actions に default/customizingCss アクションを追加する</p>
OpenPNE 3 - Bug(バグ) #3453 (Won't fix(対応せず)): 管理画面で「Web 全体への年齢公開許可設定」を「メンバーの設定を許可しない」に設定しても新規登録時には...
http://redmine.openpne.jp/issues/3453
2013-10-17T07:41:26Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-現象"></a>
<h3 >Overview (現象)<a href="#Overview-現象" class="wiki-anchor">¶</a></h3>
<p>管理画面で「Web 全体への年齢公開許可設定」を「メンバーの設定を許可しない」に設定している状態であっても、新規登録時のプロフィール入力画面では年齢の公開範囲に「Web全体に公開」の選択肢が表示され選択できてしまう。</p>
<a name="Causes-原因"></a>
<h3 >Causes (原因)<a href="#Causes-原因" class="wiki-anchor">¶</a></h3>
<p>管理画面の「Web 全体への年齢公開許可設定」で設定された値は、<code>MemberConfigPublicFlagForm::__construct()</code> で使用されている。<br />ここでは「Web 全体への年齢公開許可設定」が「メンバーの設定を許可しない」にセットされていた場合、「年齢の公開範囲」の選択肢から「Web 全体に公開」を除去している。</p>
<p><a class="source" href="http://redmine.openpne.jp/projects/op3/repository/revisions/20d13f4/entry/lib/form/MemberConfigForm/MemberConfigPublicFlagForm.class.php#L31">source:lib/form/MemberConfigForm/MemberConfigPublicFlagForm.class.php@20d13f4#L31</a>:<br /><pre><code class="php syntaxhl"><span class="CodeRay"> <span class="keyword">if</span> (!opConfig::get(<span class="string"><span class="delimiter">'</span><span class="content">is_allow_web_public_flag_age</span><span class="delimiter">'</span></span>))
{
<span class="local-variable">$widget</span> = <span class="local-variable">$this</span>->widgetSchema[<span class="string"><span class="delimiter">'</span><span class="content">age_public_flag</span><span class="delimiter">'</span></span>];
<span class="local-variable">$choices</span> = <span class="local-variable">$widget</span>->getOption(<span class="string"><span class="delimiter">'</span><span class="content">choices</span><span class="delimiter">'</span></span>);
<span class="predefined">unset</span>(<span class="local-variable">$choices</span>[<span class="integer">4</span>]);
<span class="local-variable">$widget</span>->setOption(<span class="string"><span class="delimiter">'</span><span class="content">choices</span><span class="delimiter">'</span></span>, <span class="local-variable">$choices</span>);
<span class="local-variable">$this</span>->validatorSchema[<span class="string"><span class="delimiter">'</span><span class="content">age_public_flag</span><span class="delimiter">'</span></span>]->setOption(<span class="string"><span class="delimiter">'</span><span class="content">choices</span><span class="delimiter">'</span></span>, <span class="predefined">array_keys</span>(<span class="local-variable">$choices</span>));
}
</span></code></pre></p>
<p>しかし、 <strong>新規登録時</strong> のフォームでは MemberConfigPublicFlagForm などの MemberConfigForm 派生クラスは使用されず MemberConfigForm のインスタンスが直接使用されるため、<code>MemberConfigPublicFlagForm::__construct()</code> が呼ばれることはない。<br />そのため、「Web 全体への年齢公開許可設定」の設定値を考慮することなく <code>MemberConfigForm::generateConfigWidgets()</code> によってウィジェットが追加される。</p>
<a name="Way-to-fix-修正内容"></a>
<h3 >Way to fix (修正内容)<a href="#Way-to-fix-修正内容" class="wiki-anchor">¶</a></h3>
<p>「Web 全体に公開」の選択肢の除去を <code>MemberConfigForm::setMemberConfigSettings()</code> メソッドに移動する。<br />このメソッドは、新規登録画面 (MemberConfigForm インスタンスが使われる) および設定変更画面 (MemberConfigForm 派生クラスのインスタンスが使われる) で共通して使用されるため、これらの画面による選択肢の差異が生じなくなる。</p>
OpenPNE 3 - Bug(バグ) #3431 (Won't fix(対応せず)): 機能テストに存在する雛形のままのテストコードを削除する
http://redmine.openpne.jp/issues/3431
2013-10-08T03:15:30Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-現象"></a>
<h3 >Overview (現象)<a href="#Overview-現象" class="wiki-anchor">¶</a></h3>
<p>OpenPNE に同梱されている機能テストの一部は symfony が提供する雛形のコードのまま手が加えられておらず、中には symfony 1.4 と互換性のないメソッドを使用しているテストも含まれている。<br />これらのテストコードは実装に合わせて修正されない限り自動テストの妨げとなるため削除を行う。</p>
OpenPNE 3 - Bug(バグ) #3416 (Won't fix(対応せず)): 自動ログインCookieを有効にしてログインしているブラウザで新規登録を実行すると member/reg...
http://redmine.openpne.jp/issues/3416
2013-10-04T02:56:18Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-現象"></a>
<h3 >Overview (現象)<a href="#Overview-現象" class="wiki-anchor">¶</a></h3>
<ol>
<li>自動ログインを有効にして <a class="email" href="mailto:sns@example.com">sns@example.com</a> にログインする</li>
<li>友人を招待する (/invite) 画面から招待メールを送信する</li>
<li>届いたメールに書かれている招待 URL (/member/register) を開く</li>
<li>「プロフィール入力ページへ」(/member/registerInput) ボタンをクリックする</li>
<li>404 エラーが表示される</li>
</ol>
<a name="Causes-原因"></a>
<h3 >Causes (原因)<a href="#Causes-原因" class="wiki-anchor">¶</a></h3>
<p><a class="issue tracker-1 status-5 priority-5 priority-high3 closed" title="Bug(バグ): 既にSNSにログインしているブラウザで新規登録を実行しようとすると、member/regist が404エラーになる (Fixed(完了))" href="http://redmine.openpne.jp/issues/1100">#1100</a> では新規登録時にログイン中のセッションがあった場合に削除する処理が追加されているが、自動ログインが有効な場合が考慮されていない。そのため member/register までは正常に表示されるが、次の画面に遷移したところで自動ログイン Cookie によりログイン状態となってしまう。</p>
<a name="Way-to-fix-修正内容"></a>
<h3 >Way to fix (修正内容)<a href="#Way-to-fix-修正内容" class="wiki-anchor">¶</a></h3>
<p>member/register アクション内に自動ログイン Cookie を失効させる処理を追加する</p>
OpenPNE 3 - Bug(バグ) #3415 (New(新規)): 管理画面のガジェット設定ページのiframe内でフォームのエラーが赤文字で表示されない
http://redmine.openpne.jp/issues/3415
2013-10-03T03:38:02Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-現象"></a>
<h3 >Overview (現象)<a href="#Overview-現象" class="wiki-anchor">¶</a></h3>
<p>アクティビティガジェットなどのガジェットの設定項目で「表示する行」の値をブラウザのインスペクタ等で不正な文字 ("aaaa" など) に書き換えて送信した場合に「正しくありません」というエラーメッセージが表示されるが、「SNS設定」画面で表示されるエラーのように赤文字で表示されない。</p>
<a name="Causes-原因"></a>
<h3 >Causes (原因)<a href="#Causes-原因" class="wiki-anchor">¶</a></h3>
<p>ガジェットの設定画面は iframe 内に表示されているが、このページ内で backend.css が読み込まれていないのが原因である。</p>
<a name="Way-to-fix-修正内容"></a>
<h3 >Way to fix (修正内容)<a href="#Way-to-fix-修正内容" class="wiki-anchor">¶</a></h3>
<p>修正内容を記入</p>
OpenPNE 3 - Bug(バグ) #3356 (Won't fix(対応せず)): 日記やアルバムなどに投稿された画像のサムネイル表示が全て正方形に切り抜かれる問題
http://redmine.openpne.jp/issues/3356
2013-06-06T05:56:54Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="現象"></a>
<h3 >現象<a href="#現象" class="wiki-anchor">¶</a></h3>
<p>画像付きの日記を日記の表示画面 (/diary/:id) などでサムネイル表示した際に、投稿された画像の縦横比に関わらず <strong>長辺が切り落とされた正方形</strong> で表示されてしまう。<br />この挙動は OpenPNE3.8 から追加されたメンバー画像の正方形化 (<a class="issue tracker-2 status-5 priority-5 priority-high3 closed" title="Enhancement(機能追加・改善): デフォルトで生成されるキャッシュ画像を正方形に切り取る (Fixed(完了))" href="http://redmine.openpne.jp/issues/2890">#2890</a>) が他方にも影響したバグであると推測して調査を行う。</p>
<a name="調査時に注意すべき点"></a>
<h3 >調査時に注意すべき点<a href="#調査時に注意すべき点" class="wiki-anchor">¶</a></h3>
<p>このバグに関する調査の注意点として、 <a class="issue tracker-1 status-1 priority-4 priority-default" title="Bug(バグ): ./symfony cc を実行しても web/cache/ ディレクトリ以下に生成されたキャッシュが削除されない (New(新規))" href="http://redmine.openpne.jp/issues/3357">#3357</a> の影響によりサムネイル画像のキャッシュ (web/cache/ 以下に生成される) は ./symfony cc コマンドでは削除されないため、挙動の変化を確認する際には手動でこのキャッシュを削除する必要がある。</p>
<a name="原因"></a>
<h3 >原因<a href="#原因" class="wiki-anchor">¶</a></h3>
<p><a class="issue tracker-2 status-5 priority-5 priority-high3 closed" title="Enhancement(機能追加・改善): デフォルトで生成されるキャッシュ画像を正方形に切り取る (Fixed(完了))" href="http://redmine.openpne.jp/issues/2890">#2890</a> の変更が sfImageHandlerPlugin を介する全ての画像に影響していることによるもの。</p>
<a name="修正内容"></a>
<h3 >修正内容<a href="#修正内容" class="wiki-anchor">¶</a></h3>
<ul>
<li>正方形化した画像とそうでない画像でURLを区別しキャッシュの混在を避ける
<ul>
<li>/cache/img/png/w120_h120/hogehoge.png (通常の画像)</li>
<li>/cache/img/png/w120_h120_sq/hogehoge.png (正方形化する画像)</li>
</ul>
</li>
<li>ヘルパー関数 sf_image_path に square オプションを追加し、テンプレートにおいて画像を正方形化した状態で表示するか否かを選択できる状態にする
<ul>
<li>このオプションは、メンバー画像 (nameが m_ から始まる) とコミュニティ画像 (nameが c_ から始まる) についてはデフォルトで true とし、それ以外はデフォルトで false とする。</li>
</ul></li>
</ul>
OpenPNE 3 - Bug(バグ) #3303 (Fixed(完了)): 通知センターのUIがモックアップ上のものと異なる箇所がある
http://redmine.openpne.jp/issues/3303
2013-01-24T09:55:52Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="Overview-現象"></a>
<h3 >Overview (現象)<a href="#Overview-現象" class="wiki-anchor">¶</a></h3>
<p><a class="external" href="http://www.tejimaya.com/20111203houou-%E3%83%A2%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97-update/">http://www.tejimaya.com/20111203houou-%E3%83%A2%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97-update/</a></p>
<p><a class="external" href="http://www.tejimaya.com/20111203%E9%80%9A%E7%9F%A5%E3%82%BB%E3%83%B3%E3%82%BF%E3%83%BC%E3%82%92%E5%AE%9F%E8%A3%85%E3%81%99%E3%82%8B%E3%82%A2%E3%82%A4%E3%83%87%E3%82%A2/">http://www.tejimaya.com/20111203%E9%80%9A%E7%9F%A5%E3%82%BB%E3%83%B3%E3%82%BF%E3%83%BC%E3%82%92%E5%AE%9F%E8%A3%85%E3%81%99%E3%82%8B%E3%82%A2%E3%82%A4%E3%83%87%E3%82%A2/</a></p>
<p>通知センターのモックアップが上記のURLに掲載されているが、次の点で現在の実装と相違がある。</p>
<ul>
<li>フレンド申請の通知文が「○○さんからリンク申請が届いています」ではなく「フレンド申請を許可しますか?」のみとなっている(申請者の名前が表示されていない)</li>
<li>「クリックしたものは通知から消す」との記述があるが、既読状態にかかわらず全ての通知が表示されている</li>
</ul>
<a name="Way-to-fix-修正内容"></a>
<h3 >Way to fix (修正内容)<a href="#Way-to-fix-修正内容" class="wiki-anchor">¶</a></h3>
<p>モックアップの通りに修正すべきか判断し、モックアップに合わせる場合は上記の相違点を修正する。</p>
OpenPNE 3 - Bug(バグ) #3289 (Rejected(差し戻し)): 自動リンク機能で末尾のスラッシュを省略すると後続の日本語テキストもURLとしてリンクされてしまう
http://redmine.openpne.jp/issues/3289
2012-12-27T07:38:14Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="現象"></a>
<h3 >現象<a href="#現象" class="wiki-anchor">¶</a></h3>
<p>op_auto_link_text (<a class="source" href="http://redmine.openpne.jp/projects/op3/repository/entry/lib/helper/opUtilHelper.php">source:lib/helper/opUtilHelper.php</a>) を使用する箇所(アクティビティ、日記の本文・コメントなど)で、次のような現象が起こる。</p>
<p><code>http://example.com/テキスト</code> と入力して投稿すると <code><a href="http://example.com/">http://example.com/</a>テキスト</code> のように日本語の部分を除いて自動リンク機能が働くが、<br /><code>http://example.comテキスト</code> と入力して投稿すると <code><a href="http://example.comテキスト">http://example.comテキスト</a></code> のようなリンクが生成されてしまう。</p>
<a name="原因"></a>
<h3 >原因<a href="#原因" class="wiki-anchor">¶</a></h3>
<p>op_auto_link_text による自動リンクで使用される正規表現は次のように定義されている。</p>
<pre><code class="php syntaxhl"><span class="CodeRay"> <span class="predefined">define</span>(<span class="string"><span class="delimiter">'</span><span class="content">SF_AUTO_LINK_RE</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">~
( # leading text
<</span><span class="content">\w</span><span class="content">+.*?>| # leading HTML tag, or
[^=!:</span><span class="char">\'</span><span class="content">"/]| # leading punctuation, or
^| # beginning of line, or
</span><span class="content">\s</span><span class="content">? # leading whitespaces
)
(
(?:https?://)| # protocol spec, or
(?:www</span><span class="content">\.</span><span class="content">) # www.*
)
(
[-</span><span class="content">\w</span><span class="content">]+ # subdomain or domain
(?:</span><span class="content">\.</span><span class="content">[-</span><span class="content">\w</span><span class="content">]+)* # remaining subdomains or domain
(?::</span><span class="content">\d</span><span class="content">+)? # port
</span><span class="content">\/</span><span class="content">?
[a-zA-Z0-9_</span><span class="content">\-</span><span class="content">\/</span><span class="content">.,:;</span><span class="content">\~</span><span class="content">\?</span><span class="content">@&=+$%#!()]*
)
([^a-zA-Z0-9_</span><span class="content">\-</span><span class="content">\/</span><span class="content">.,:;</span><span class="content">\~</span><span class="content">\?</span><span class="content">@&=+$%#!()]|</span><span class="content">\s</span><span class="content">|<|$) # trailing text
~xu</span><span class="delimiter">'</span></span>);
</span></code></pre>
<p>この正規表現はUTF-8モードが有効となっており(末尾の <code>u</code> オプションによる)、このモードではpreg_match内部でPCREに対して PCRE_UCF オプションが使用される。このオプションでは <code>\d</code>, <code>\D</code>, <code>\s</code>, <code>\S</code>, <code>\w</code>, <code>\W</code> などの <strong>重要な</strong> 文字クラスの挙動が変わり、例えば <code>\d</code> は全角数字にもマッチし、 <code>\w</code> は漢字や平仮名にもマッチするようになる。これによって、ドメイン部分の <code>[-\w]+</code> に日本語のテキストがマッチしてしまうため前述のような現象が起こる。</p>
<a name="参考"></a>
<h4 >参考<a href="#参考" class="wiki-anchor">¶</a></h4>
<ul>
<li><a href="https://bugs.php.net/bug.php?id=52971" class="external">PHP :: Bug #52971 :: PCRE-Meta-Characters not working with utf-8</a></li>
<li><a href="https://github.com/php/php-src/blob/master/ext/pcre/php_pcre.c#L359-L366" class="external">php-src/ext/pcre/php_pcre.c at master · php/php-src · GitHub</a></li>
</ul>
<a name="修正内容"></a>
<h3 >修正内容<a href="#修正内容" class="wiki-anchor">¶</a></h3>
<p>SF_AUTO_LINK_RE で使用されている <code>\w</code>, <code>\s</code>, <code>\d</code> を <code>[0-9A-Za-z]</code>, <code>\ </code>, <code>[0-9]</code> にそれぞれ置き換える。</p>
opRichTextareaSyntaxHighlightP - Bug(バグ) #777 (New(新規)): 表示するコード中にURLが含まれているとaタグに置き換わってしまう
http://redmine.openpne.jp/issues/777
2010-03-03T09:48:17Z
Youichi Kimura
kim.upsilon@bucyou.net
<a name="手順"></a>
<h3 >手順<a href="#手順" class="wiki-anchor">¶</a></h3>
<ol>
<li>日記作成画面でタイトルを入れ、本文に<br /><pre><code><op:source lang="html">
http://www.example.com/
</op:source>
</code></pre>と入力する</li>
<li>「確定」をクリック</li>
<li>日記本文に<br /><pre><code><a href="http://www.example.com/" target="_blank">http://www.example.com/</a>
</code></pre>と表示されます</li>
</ol>