タグ

ブックマーク / hetima.com (2)

  • Smarty でタブを作るプラグイン

    phpを書くときは、Smarty 必須状態なのですが、今まで外部プラグイン機能は一切付け加えず、デフォルトのコマンドだけで作っていました。それで特に困ったことはないんだけれど、プラグインを使ってみたくなり作ったのが、smarty_function_hetima_tab。 公式WikiのSmarty Pluginsページ に html_tabs というのが投稿されてますが、これはタブごとに異なるページを呼び出す、いわばタブ風リンク生成プラグイン。 そういうのではなくて、1ページの中でdisplay属性を切り替えるプラグインが欲しかった。これまではベタにHTMLとスクリプトを書いていましたが、プラグイン化することでテンプレートがすっきりしました。使い方はサンプルやソースのコメントを参照してください(ファイルの文字コードはUTF-8)。スタイルシートもスクリプトも自動生成します。スタイルシート

  • ヘチマ_BLOG : PEAR::Auth の Auth_Container_DB に前もって用意していた PEAR::DB を与える

    PEAR::Auth (1.3.0) とPEAR::DBを使っていると、Authで使われるDBがメインで使うものと別個に生成されるのが気持ち悪い。また、MySQL4.1以降では、"SET NAMES 'utf8'"を実行しておかないと、環境によっては$auth->getAuthData()の結果が文字化けする。そういう理由からもメインで用意したDBを使いたい。 AuthやAuth_Container_DBのコンストラクタにはオブジェクトを直接与えることが可能なので、先にDBを与えたAuth_Container_DBを作ってからAuthを作れば良さそうだと思った。しかし実際試してみると、この方法ではパラメータの初期化が行われないのでテーブル名などを設定できない。んで、ソースを読んで突き止めたのが、DSN文字列の代わりにPEAR::DBのインスタンスを渡すという方法。 $params=arra

  • 1