スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
by MONOKo  at --:-- |  スポンサー広告 |   |   |  page top ↑

Sanitizeライブラリの利用

htmlspecialchars関数を仕様すると、すべてのタグが無効化されてしまします。
Sanitizeライブラリを使用して、問題となりうるタグだけを取り除きます。

App::import('Sanitize');
Sanitize::stripAll($resukt);
stripAll<script>, <style>, <img> および空白文字を削除します
stripScripts<script>, <style> タグを削除します
stripImages<img> タグを削除します
stripWhitespace空白(改行、タブ)を削除します
striptTags第二引数で指定したタグを削除します
by MONOKo  at 13:06 |  未分類 |  comment (0)  |  trackback (0)  |  page top ↑

AuthComponentを使ってみる

CakePHP1.2から提供されるようになった認証用のComponentです。
CREATE TABLE users (
	id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
	username VARCHAR(255) NOT NULL UNIQUE,
	password CHAR(40) NOT NULL,
	created DATETIME,
	modified DATETIME
);
users_controller.php
<?php
class UsersController extends AppController
{
	var $name = 'Users';
	var $components = array('Auth');

	function beforeFilter() {
		$this->Auth->loginError = "Login Error";
	}

	function login() {
	}

	function logout() {
		$this->redirect($this->Auth->logout());
	}
}
?>
app/views/users/login.ctp
<?php
if  ($session->check('Message.auth')) $session->flash('auth');
echo $form->create('User', array('action' => 'login'));
echo $form->input('username');
echo $form->input('password');
echo $form->end('Login');
?>
参考サイト:認証 :: 主要なコンポーネント :: マニュアル :: 1.2 Collection :: The Cookbook
by MONOKo  at 16:33 |  未分類 |  comment (0)  |  trackback (0)  |  page top ↑

Paginator でページ送り

データの件数やページング処理を行ってみたいと思います。
$this->paginate = array(
	'limit' => 10,
	'order' => array('Model.created' => 'desc'),
);
$this->set('data', $this->paginate());

$this->paginate = array(
	'page' =>,	//初期状態で表示されるページ
	'conditions' =>,	//取得条件
	'fields' =>,	//取得するフィールド名
	'sort' =>,	//ソートキーとなるフィールド
	'limit' =>,	//表示する項目数
	'direction' =>,	//並び順
	'recursive' =>,	//再帰的に取得する震度
);

ページ総数や現在のページを表示する
views
$PaginatorHelper->countor(array('format' => '全 %pages% ページ中の %page% ページを表示しています。'))
表示
全 11 ページ中の 2 ページを表示しています。
%pages%総ページ数
%page%現在のページ
%current%現在のページに表示しているデータの件数
%count%データの総件数

ページ送り
views
$paginator->first("<< 先頭へ");
$paginator->prev("< 前へ", array(), null, array('class'=>'disabled'))

$paginator->next("次へ >", array(), null, array('class'=>'disabled'));
$paginator->last("最後へ >>");
by MONOKo  at 16:21 |  未分類 |  comment (0)  |  trackback (0)  |  page top ↑

PEAR::Net_UserAgent_Mobileを使って携帯電話を判別してみよう

PEAR::Net_UserAgent_Mobileを使って携帯電話を判別をしてみたいと思います。

ダウンロード:PEAR :: Package :: Net_UserAgent_Mobile
ファイル名:Net_UserAgent_Mobile-1.0.0RC1.tar

ダウンロード:PEAR
ファイル名:PEAR-1.8.1.gz

PEAR Net_UserAgent_Mobile-1.0.0RC1.tarを解凍してUserAgentフォルダにUPします。
/app
 └vendors
    ├include_path.php  <- 新規作成
    ├PEAR.php
    ├PEAR5.php
    └/Net  <- 新規作成
      └/UserAgent  <- 新規作成
        ├/Mobile
        └Mobile.php

include_path.php
<?php
ini_set('include_path', dirname(__FILE__) . PATH_SEPARATOR . get_include_path());
?>

mobiles_controller.php

<?php
App::import('Vendor', 'include_path');
App::import('Vendor', 'Net/UserAgent/Mobile', array('file' => 'Net' . DS . 'UserAgent' . DS . 'Mobile.php'));

class MobilesController extends AppController
{
	var $name = 'Mobiles';
	var $uses = null;
	var $helpers = array('Mobile');

	function index() {
		$agent = &Net_UserAgent_Mobile::factory();
		switch(true){
			//DoCoMo
			case ($agent->isDoCoMo()):
			print "DoCoMo";
			break;

			//SoftBank
			case ($agent->isSoftBank()):
			print "SoftBank";
			break;

			//EzWeb
			case ($agent->isEZweb()):
			print "EzWeb";
			break;

			default:
			print "PC";
			break;
		}
	}
}
?>

出力時の文字コードをShift-JISへ変換します。
/app/views/helpers/mobile.php
<?php
class MobileHelper extends Helper
{
	function afterRender() {
		$out = ob_get_clean();
		$out = mb_convert_kana($out, "rak", "UTF-8");
		$out = mb_convert_encoding($out, "SJIS", "UTF-8");
		ob_start();
		echo $out;
	}
}
?>

docmo
getSerialNumber() ・・・ 端末製造番号(uid)の取得
getCardID() ・・・ FOMAカード製造番号の取得

参考サイト:Net_UserAgent_MobileをcakePHP1.2RC2で使う

by MONOKo  at 18:37 |  未分類 |  comment (0)  |  trackback (0)  |  page top ↑

Stable1.2リリース

CakePHP 1.2 Finalがリリースされました
1月1日にリリースするのかなと思ってましたが。

ダウンロード
アドレス:http://cakephp.org/
ファイル:1[1].2.0.7962.zip (08/12/26)
by MONOKo  at 23:08 |  未分類 |  comment (0)  |  trackback (0)  |  page top ↑
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。