2011年01月13日

CakePHPのワンクリックアップデート用ソースコード

「ワンクリックで自動アップデートさせるような機能を実現するCakePHPのソースコードだれか知らない?」とtwitterでつぶやいたら、即座にスイスから答えが返ってきました。

http://twitter.com/#!/dhofstet/status/25072465570963456

Googleで検索するだけの時代でないことをひしひしと感じます。
自分で検索してたらずいぶんと時間がかかっていたと思います。

というわけでこちら。鬼才mcurryのアプリケーション内にそのコードがありました。

https://github.com/mcurry/20Couch/blob/master/app/controllers/update_controller.php

まず、下記で最新バージョン番号を取ってきます。

//get the current version
App::import('Core', 'HttpSocket');
$Http = new HttpSocket();
$latestVersion = trim($Http->get(Configure::read('20Couch.home') . '/latest'));


下記で取得後、ファイルが正しくダウンロードできたか確認しています。

$Http = new HttpSocket();
$Setting = ClassRegistry::init('Setting');
$url = sprintf('%s/registrations/direct/%s/' . Configure::read('Update.file'), $home, $Setting->find('value', 'registration_key'));
$latest = $Http->get($url);


展開処理

$msg = '(using ZipArchive)';
$zip = new ZipArchive;
$zip->open(TMP . Configure::read('Update.file'));
$result = $zip->extractTo(ROOT);




posted by SDozono at 09:26| 東京 ☀| Comment(0) | TrackBack(0) | CakePHP | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/180434875
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
手(パー)To make a comment: Please type your name and comment. at the validation field box, type 'cakephp'. And there two glay buttons. "Preview"/"Submit". Thank you!