俺のAppHeler
<?php class AppHelper extends Helper { //## span function span($className=null,$text='') { if(!empty($className)) { $class = ' class="'.h($className).'"'; } else { $class = ''; } return '<span'.$class.'>'.$text.'</span>'; } //## アンカー作成 function anchor($name='#',$text='#') { return '<a name="'.h($name).'">'.$text.'</a>'; } //## dl function dl($lists=array()) { $dl = $this->_dl($lists); return '<div class="dl"><dl>'.$dl.'</dl></div>'; } function _dl($lists=array()) { $dl = ''; $alts = array('',' class="altrow"'); $i = 0; foreach ($lists as $dt => $dd) { $dl .= '<dt>'.$dt.'</dt>'; $dl .= '<dd'.$alts[$i].'>'.$dd.'</dd>'; $i ^= 1; } return $dl; } //--テキストのエスケープと改行タグ挿入 function _h($v='--') { return nl2br(h($v)); } //--datetime型のフォーマット function _d($datetime=null,$format='Y/m/d H:i') { if(empty($datetime)) { return '--'; } return date($format, strtotime($datetime)); } } ?>
16進数カラーの反転色を得る
作ったはいいが、結局使わなかったのでメモしておく。
<?php function __getInverseHexColor($hexColor){ $hexColor = str_replace('#','',$hexColor); $inverse = hexdec($hexColor) ^ hexdec('FFFFFF'); return sprintf('#%06X',$inverse); } ?>
balloon_talker修正しました。
http://homepage3.nifty.com/shadow-toon/_arc/Balloon_Talker_Sample/
フォーラム - CakePHP Users in Japanであがっててびびった。
というのも、自分でいろいろいじってていくつかアラが目に付いたのでそのうち修正版をアップロードしようと考えてたところだったので、急きょ仕上げ。
以下修正点。
・css修正
・get_current_css()追加。
・$params['id’]追加(in_place_editor対応)
これでだいじょうぶなはず。
従属データがうまく削除できない件→解決
モデルAにhasManyで従属してるモデルB、C、D、Eがある。
Aを削除したとき、BCDEの関連データも削除するように設定したが、何故かCだけ削除できない現象がおきた。
あーでもないこーでもないとあれこれいじったり検索したりで、この記事を読んで、
http://www.happyquality.com/2008/12/30/570.htm
そういえばCのモデルだけfind()を
<?php function find($type, $queryData = array()){ $queryData["conditions"]["AND"] = array( 'C.A_id' => $this->A_id, 'C.B_id' => $this->B_id ); ?>
と、いう感じで拡張していることに気がつく。
もしかして……と思い削除・修正すると、ちゃんとモデルAも従属データもすべて削除できた。
モデルはなるべくプレーンな状態が通るように拡張した方がいいみたいです。んがー。
テキストを吹き出しで表示するCakePHPプラグインをつくってみた
http://homepage3.nifty.com/shadow-toon/_arc/Balloon_Talker_Sample/
pluginsフォルダに,balloon_talkerフォルダを入れて、
controllerに,
var $helpers = array('BalloonTalker.BalloonTalkerViewer');
ビューファイルに、
echo $balloonTalkerViewer->balloon_talk("何か言ってそうで、何も言ってないよね。","p_00_02.png");
でこんなのが表示されるはず。
ヘルパーのみのプラグインって意外とめんどいです。
【2009/11/09追記】
balloon_talker修正しました。
人狼BBSの顔絵描いてみた
1キャラ16色で描いてます。
gif版とpng版あり。png版は半透明ピクセルで輪郭のジャギ消ししてます。
↓ダウンロード
http://homepage3.nifty.com/shadow-toon/dot_art/jbbs.zip
■
長かった……。
つながったならつながったっておしえてくれよ……。