2008年4月22日火曜日

CakePHP1.2で画像ボタンを使いたい

CakePHP1.2でsubmitボタンに画像を使いたかったので、調査しました。

formヘルパーにendとsubmitのメソッドを発見。


<?php e($form->end(array('label'=>$html->url('/img/hoge.jpg')))); ?>



<?php e($form->submit($html->url('/img/hoge.jpg'),array('type'=>'submit'))); ?>


それぞれ、上記で表示されることを確認しました。
違いは、endメソッドで</form>が挿入されることでした。

2008年4月8日火曜日

VALUE DOMAINの無料サーバー(XREA)にCakePHP1.2をアップロード

アップしただけでは以下のエラーがでて動かなかった。

Warning: realpath() [function.realpath]: SAFE MODE Restriction in effect.
The script whose uid is 10628 is not allowed to access /usr/local/lib/php
owned by uid 0 in /virtual/*******/public_html/default.mobaweb.net/cake/libs/configure.php
on line 459


Googleで検索してみると、
1.2betaでrealpath()のエラー
こちらに解決方法があったので、その中から

if ( $path=='/usr/local/lib/php') continue;


こちらを選択してとりあえずは動くようにしてみた。

2008年1月8日火曜日

Gmailでの未読検索

Gmailは便利だ。

なのでいつの間にかメールの全てをGmailに転送するようになった。
そのため届く量が多くなりすぎて未読のメールも増えていった。
既読になっていないのが気持ち悪いな~と思いつつも面倒なので放置していた。


で、ふと新年になったのだから、メールを整理していこうと思い立った。

フィルターを作ってラベルをつけたり、アーカイブにしたりとしていたのだけれど、
件数が多すぎて未読メールを発掘できなくなっていた。
何か方法があるはずと「未読 検索」とヘルプセンターを検索した所、
以下のページを発見。

https://mail.google.com/support/bin/answer.py?answer=7190

今回は、「is:unread」と検索すればいい事が分かったので、
早速検索して無事全てを既読にすることができたので一安心(^^;

2007年11月22日木曜日

CakePHPのhtmlヘルパーにて

現在、CakePHP1.1.18.5850を使っていますが、
htmlヘルパーのinputには、どうやら自動的にhtmlspecialcharsが入るみたいです。
で、油断していたのですが、textareaには入っていませんでした。
しっかりソース読んでおけばよかった・・・

一箇所だけだったので、下のように変更しておきます。

<?php echo $html->textarea($fieldname,array('value'=>$html->tagValue($fieldname,true)));?>



というか、tagValueもデフォルトではエスケープをしないようで、

$html->tagValue($fieldname,true)


と2番目にtrueを渡さないといけないようです。

2007年11月10日土曜日

scripts_for_layout

CakePHP1.2からdefaultのlayoutsにscripts_for_layoutという変数が追加されていた。
どうやら、View側からhead内に個別に書き込めることになるらしい。

今回は、CSSを使いたかったので下のコードをViewに追加してみた。

<?php echo $html->css('common',NULL,NULL,false); ?>



するとHTMLには

<link rel="stylesheet" type="text/css" href="/css/common.css" />



がhead内に書き込まれた状態で出力されていた。
これは便利。

他にもmeta,javascriptが使えるようだけど、また今度使ってみます。

2007年11月8日木曜日

モバイル向け AdSense

携帯サイトにAdSenseを張ろうとすると、
どうやら利用しているサーバーでは外部URLはrequireでエラーが出る模様。
というか、PHPでデフォルト設定らしい。
で、サーバー設定は変更不可と言う事なのに、
解決しないといけないというので、以下のように改変してみた。


$tmpfile = "/tmp/googlead.php";

$file = file_get_contents('http://pagead2.googlesyndication.com/pagead/show_ads.php');
$fp = fopen($tmpfile, "w");
fwrite($fp,$file);
fclose($fp);

$GLOBALS['google']['ad_type']='text';
$GLOBALS['google']['channel']='xxxxxxxxxx';
$GLOBALS['google']['client']='xxxxxxxxxx';
$GLOBALS['google']['format']='mobile_single';
$GLOBALS['google']['https']=$_SERVER['HTTPS'];
$GLOBALS['google']['host']=$_SERVER['HTTP_HOST'];
$GLOBALS['google']['ip']=$_SERVER['REMOTE_ADDR'];
$GLOBALS['google']['markup']='xhtml';
$GLOBALS['google']['oe']='utf8';
$GLOBALS['google']['output']='xhtml';
$GLOBALS['google']['ref']=$_SERVER['HTTP_REFERER'];
$GLOBALS['google']['url']=$_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$GLOBALS['google']['useragent']=$_SERVER['HTTP_USER_AGENT'];

require($tmpfile);



要するに、外部ファイルを一度手元に保存して、そちらをrequireするようにしてみた。
中身読んで、http://pagead2.googlesyndication.com/pagead/ads?
に直接取得しに行こうかとも考えたけど、それはやめておいた。

どうかGoogleの中の人がこれを見ていても、これくらいは見逃してください。

2007年11月6日火曜日

VALUE DOMAINにて

ドメインはVALUE DOMAINで取得しました。
で、サーバーもVALUE DOMAINの無料サーバーを使うことに決定。

で、すぐに使えるかと思っていたけど、
DNSの設定をしないといけないみたいでヘルプを読みながら設定してみる。
反映に時間が掛かるみたいですぐにはアクセスできないため、
正しい設定なのかどうかが分からない。

PHPは書くことができるけど、サーバーについてはサッパリ。

今更ながらサイトが作れるかが不安に・・・