Bug(バグ) #3006
Shouta Kashiwagi さんが12年以上前に更新
h3. 概要
スマートフォンAPI(JSON API)を使用する際に必要となる apiKey がログイン前の状態でも表示されてしまっていて(表示されているのはapiKeyというプロパティ名だけであって実体は表示されていない),
かつOpenPNE3をデフォルトでインストール時に apiKeyが表示されないという問題がある.
h3. Causes (原因)
@apps/pc_frontend_templates/_layout.phpp@ の11行目にて,以下のような判定が行われている為,ログイン前でもapiKey表示され,OpenPNEインストール時はapiKeyが表示されなくなってしまっている.
<pre>
<?php if (Doctrine::getTable('SnsConfig')->get('enable_jsonapi')): ?>
</pre>
h3. Way to fix (修正内容)
ログイン後に表示させ,かつOpenPNEインストール時はデフォルトでapiKeyを出力させるには以下のような修正が適切であると考える.
<pre>
diff --git a/apps/pc_frontend/templates/_layout.php b/apps/pc_frontend/templates/_layout.php
index e9dc908..951a918 100644
--- a/apps/pc_frontend/templates/_layout.php
+++ b/apps/pc_frontend/templates/_layout.php
@@ -8,7 +8,7 @@
<?php if (Doctrine::getTable('SnsConfig')->get('customizing_css')): ?>
<link rel="stylesheet" type="text/css" href="<?php echo url_for('@customizing_css') ?>" />
<?php endif; ?>
-<?php if (Doctrine::getTable('SnsConfig')->get('enable_jsonapi')): ?>
+<?php if (opConfig::get('enable_jsonapi') && opToolkit::isSecurePage()): ?>
<?php
use_helper('Javascript');
</pre>