ドラッグ&ドロップでデータを並び替える
WebSocket 更新通知
DVDの作成
DVDの作成
テレビサイズ NTSC DV 4:3 (720×480)
テレビサイズワイド NTSC DV ワイド16:9
プレミアで書き出し後
アンコールでDVDにする
http://www7a.biglobe.ne.jp/~fivetec/video/adobe/adobe_entry_007.html
ACL プラグイン
acl.phpとacl.ini.php
http://blog.milds.net/2012/12/cakephpaclphpacliniphp.html
管理機能を実装する
ログインしているユーザー情報を取得
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=2573&forum=8
[php]
$userinfo = $this->Auth->user();
debug($userinfo);
[/php]
絞り込むぜいっ!
[php]
//ログインユーザーのIDとレクチャーのIDが同じやつ
$userinfo = $this->Auth->user();
debug($this->Lecture->find(‘all’,array(‘conditions’=>array(‘id’ => $userinfo))));
[/php]
または
[php]
$userinfo = $this->Auth->user(array(‘fields’ => ‘id’)); //ログインしているIDだけ取得
$this->set(‘children’, $this->Child->find(‘all’,array(‘conditions’=>array(‘user_id’=> $userinfo)))); //Childが持っているuser_idとログインのIDの同じやつ
[/php]
検索絞り込み後、ページ送りでハマった paginate
http://cakephp.jp/modules/newbb/viewtopic.php?topic_id=1258&forum=3
http://tkyk.name/blog/2012/03/05/cakephp-2-1-search-pagination/
FullCalendar
文字化けCPIサーバー
サーバーにphp.iniを設置して、UTF-8設定をしている際、
システム側でもUTF-8設定をしていると、post時に文字化けしてしまう。
ディレクトリ構成を変えてセキュリティ強化
Sessionの使い方
core.phpに
[php]
//core.php
Configure::write(‘Session’, array(
‘defaults’ => ‘cake’ // tmpフォルダのsessionsフォルダに保存するよ
));
[/php]
コントローラーに
[php]
//function index
//Sessionにconditionを書き込んでおく
$this->Session->write(‘option’,$option);
[/php]
コントローラー
[php]
//検索条件をSessionから取得(indexで書き込んでる)
$option = $this->Session->read(‘option’);
[/php]
Search Plugin
Csvエクスポート
[php]
$genders = array(‘1’ => ‘男性’, ‘2’ => ‘女性’); //配列により、数値から男性・女性に切り替える
[/php]
[php]
$this->Csv->addField(h($genders[$t[‘Applicant’][‘one_id’]]));
[/php]
dateタイプなselectに空の値を設定
[php]
echo $this->Form->input(‘birthday’,array(
‘type’=>’date’,
‘label’=>’生年月日’,
‘dateFormat’=>’YMD’,
‘monthNames’=>false,
‘empty’=>array(0=>’–‘),
‘selected’=>array(
‘year’=>0,
‘month’=>0,
‘day’=>0
)
));
[/php]
ACLを使わないアクセス制御
Excel 出力
Csv エクスポート 文字化け対策
http://tagamidaiki.com/cakephp2-csv-helper/
コントローラーに
[php]
echo $this->Csv->render(‘sjis’,’utf-8′); //を追加
[/php]
CakePHP2.X でファイルのアップロード•ダウンロード
TABLE
[php]
CREATE TABLE `uploads` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`file_name` varchar(50) DEFAULT NULL,
`created` datetime DEFAULT NULL,
`modified` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
[/php]
UploadsController[add]
[php]
//UploadsController
//新規作成
public function add() {
if ($this->request->is(‘post’)) {
$tmp = $this->request->data[‘Upload’][‘file’][‘tmp_name’];
if(is_uploaded_file($tmp)) {
$file_name = basename($this->request->data[‘Upload’][‘file’][‘name’]);
$file = WWW_ROOT.’files’.DS.$file_name;
if (move_uploaded_file($tmp, $file)) {
$this->Upload->create();
$this->request->data[‘Upload’][‘file_name’] = $file_name;
if ($this->Upload->save($this->request->data)) {
$this->Session->setFlash(__(‘The upload has been saved’));
$this->redirect(array(‘action’ => ‘index’));
} else {
$this->Session->setFlash(__(‘The upload could not be saved. Please, try again.’));
}
}
}
}
}
[/php]
ダウンロード Mediaクラス
[php]
//UploadsController
//ダウンロード Mediaクラス
public function download($id) {
$this->viewClass = ‘Media’;
$this->Upload->id = $id;
$this->Upload->recursive = -1;
$data = $this->Upload->read();
$params = array(
‘id’=>basename($data[‘Upload’][‘file_name’]),
‘name’=>preg_replace("/.[^.]+$/","",$data[‘Upload’][‘file_name’]),
‘download’=>true,
//’extension’=>$data[‘Upload’][‘extension’],
‘path’=> ‘files’ . DS
);
$this->set($params);
}
[/php]
index View
[php]
//index View
<table cellpadding="0" cellspacing="0">
<tr>
<th><?php echo __(‘id’); ?></th>
<th><?php echo __(‘file_name’); ?></th>
<th><?php echo __(‘created’); ?></th>
</tr>
<?php foreach ($uploads as $upload) : ?>
<tr>
<td><?php echo h($upload[‘Upload’][‘id’]); ?></td>
<td><?php echo h($upload[‘Upload’][‘file_name’]); ?></td>
<td><?php echo h($upload[‘Upload’][‘created’]); ?></td>
<td><?php echo $this->Html->link($upload[‘Upload’][‘file_name’], array(‘controller’ => ‘uploads’, ‘action’ => ‘download’, $upload[‘Upload’][‘id’])); ?></td>
</tr>
<?php endforeach; ?>
</table>
[/php]
Add View
[php]
<?php echo $this->Form->create(‘Upload’, array(‘action’ => ‘add’, ‘type’ => ‘file’)); ?>
<fieldset>
<legend><?php echo __(‘Add Upload’); ?></legend>
<?php echo $this->Form->file(‘file’); ?>
</fieldset>
<?php echo $this->Form->end(__(‘Submit’));?>
[/php]
参考:http://w.builwing.info/2012/06/20/cakephp2-1%E3%81%A7%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E3%82%A2%E3%83%83%E3%83%97%E3%83%AD%E3%83%BC%E3%83%89%EF%BC%88%E5%AE%9F%E8%B7%B5%E7%B7%A8%E3%81%9D%E3%81%AE9%EF%BC%89/
http://www.almondlab.jp/labs/1043