Jeans & Development:2008年 12月の記事

明けましておめでとうございます。 [General]

2008年12月31日

今年一年が皆様にとってよき年になりますように。

今年も、どうぞよろしくお願いします。

SQLクエリのキャッシュ:実験失敗 [Nucleus]

2008年12月25日

失敗した実験も記録しておかないと、あとでまた同じ事を試そうとするかもしれないので…。

Jeansのコードを書いているときに、Nucleusのコアのコードを眺めることがあるのだが、ふと思ったことは、同じSQLクエリーを繰り返し実行しているのではないかということ。これは正直、無駄である。なので、SQLクエリーをキャッシュして、再利用できないかを探ってみた。

NP_skinsetting [Nucleus]

2008年12月23日

yama.kymsさんのNP_SkinEditを見ていて気がついたのは、ブログ情報表示のための<%blogsetting%>に相当する、スキン情報を表示するためのスキン変数がNucleusには無いこと。

もしあれば、何か便利かもしれない。今は思いつかないけれど。

なので、作ってみた。もしかしたら、似たプラグインがすでにあるかもしれない。

Nucleusメディアマネージャにおける脆弱性 [Nucleus]

2008年12月16日

Nucleusのメディアマネージャ(コアに付属のもの及び、プラグインによるもの)に、ディレクトリ・トラバーサル等の脆弱性が発見されています。

詳しくは、フォーラムの当該記事をご覧ください。主に、複数ユーザでNucleusを用いているときに、大きな問題が生じます。コアについてはすでにパッチ(SP3)が出ていますので、複数ユーザで使用の方は3.31 SP3にアップグレードしてください。単独ユーザ、もしくは100%信頼できるメンバーでのみNucleusを運営している場合は、アップグレードの必要はありません。

また、同様の脆弱性がNP_Mediatocu及びNP_ImprovedMediaに発見されています。NP_Mediatocuについては、複数・単独ユーザでの使用に関わらず、対策版が出るまではアンインストールすることをお勧めします。NP_ImprovedMediaに関しては、単独メンバーでの使用は問題ありませんが、複数メンバーで使用している場合は対策版が出るまでの間はアンインストールをお勧めします。

Nucleus-SQLiteでも、SP3を用意しました。該当する方は、アップグレードをお願いします。

メインの目次ページで、prevlink, nextlink [Nucleus]

2008年12月16日

Jeans CMSの製作過程において、Nucleusのさまざまなスキン変数を眺めているが、先日、<%prevlink%> <%nextlink%>の2つのスキン変数が、メインの目次ページでも使えることを知った。

ただし、<%if(previtem)%>などは使えない。これは、個別アイテムページ及びアーカイブページでのみ使えるようである。なので、次や前のページが無いときにリンクが表示されないようにするには、少し工夫が必要。

JavaScriptを用いれば、こんな風に使える。
<a href="<%nextlink%>" id="nextlink">older items</a>
<a href="<%prevlink%>" id="prevlink">newer items</a>
<script type="text/javascript">
function hide_link(id){
  var element=document.getElementById(id);
  if (element.href=="" || element.href==document.location)
    element.style.display="none";
}
hide_link("nextlink");
hide_link("prevlink");
</script>

NP_ShowBlogsやNP_PageSwitchを使うまでもないような、ちょっとしたページ遷移に便利かも。