Hi-farm blog

ActionScript 3.0 , AIR , FLEXからCocoa, OpenGL

Archive for the ‘MODx’ Category

MODxのWayfinderとDitto

メモ。

一番上の階層のIDを指定する時に、startIDというのがあるが、

Ditto => startID,
Wayfinder => startId

微妙に大文字小文字が違うようだ。。

統一しようよ。。

2008年2月14日00:49

  • 0 Comments
  • Filed under: MODx
  • PearのFile/Archive.phpをMODxで

    ちょっと料理名っぽいですが。

    MODxをちょい前から使っているのですが、このMODxは動的にサイトを見せることも可能だし、静的HTMLのエクスポートも可能。

    で、今回は、MODxはサイトのジェネレータとして使う事を考え、エクスポートしたファイルをダウンロードできる仕組みを作成。

    簡単に言えば、

    1. managerから、『サイトのエクスポート』
    2. zipダウンロードするmoduleを作成し、指定階層以下のフォルダをzipにしてダウンロード

    という流れです。

    で、2のところですが、pearのFile/Archive.phpを使いました。

    使い方としては、

    前提としては、$tardir:zipファイルを作成するフォルダ

    File_Archive::extract(
    File_Archive::read( $tardir.’export/’ ),
    File_Archive::toArchive(’Files.zip’, File_Archive::toOutput() )
    );

    でいけるはずなのですが、zipを展開できなかった。(Binaryで見てみると、圧縮しているというよりは、ファイルの頭がHTML宣言だったので、きっと圧縮に失敗している)
    なので、一度サーバでファイルを作成し、ダウンロードしてからzipファイルを削除 という流れに変更。
    変更後がこれ。

    File_Archive::extract(
    File_Archive::read( $tardir.’export/’ ),
    File_Archive::toArchive($tardir.’Files.zip’, File_Archive::toFiles() )
    );

    $params = array(
    ‘file’ => $tardir.’Files.zip’,
    ‘contenttype’ => ‘application/zip’,
    ‘contentdisposition’ => array(HTTP_DOWNLOAD_ATTACHMENT, ‘Files.zip’),
    );

    $ret = HTTP_Download::staticSend($params);

    unlink($tardir.’Files.zip’);

    これで無事zipファイルをダウンロードできました。

    2008年2月13日21:28

  • 0 Comments
  • Filed under: MODx, PHP