Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A CakePHP (2.0) plugin enabling transfer/manipulation/embedding of files in 23 ways.

branch: cake-2.0
README.markdown

Database Fields

    create table users (
    id char(36) not null,
    file varchar(255) default null,
    dirname varchar(255) default null,
    basename varchar(255) default null,
    checksum varchar(255) default null,
    created datetime default null,
    modified datetime default null,
    primary key(id)
    );

Installation

  1. Clone into /path/to/app/Plugin git clone https://bmcclure@github.com/bmcclure/CakePHP-Media-Plugin.git Media
  2. Add as a submodule git submodule add https://bmcclure@github.com/bmcclure/CakePHP-Media-Plugin.git Plugin/Media
  3. Load the plugin.
    //Within your bootstrap.php
    `CakePlugin::load('Media', array('bootstrap'=>true));
    
  4. Initialize Media files. cake Media.Media init
    ---------------------------------------------------------------
    Media Shell
    ---------------------------------------------------------------
    Do you want to create missing media directories now?
    [n] > y`` /app/webroot/media/ [OK ] /app/webroot/media/static/ [OK ] /app/webroot/media/static/aud [OK ] /app/webroot/media/static/doc [OK ] /app/webroot/media/static/gen [OK ] /app/webroot/media/static/img [OK ] /app/webroot/media/static/vid [OK ] /app/webroot/media/transfer/ [OK ] /app/webroot/media/transfer/aud [OK ] /app/webroot/media/transfer/doc [OK ] /app/webroot/media/transfer/gen [OK ] /app/webroot/media/transfer/img [OK ] /app/webroot/media/transfer/vid [OK ] /app/webroot/media/filter/ [OK ]

Your transfer directory is missing a htaccess file to block requests. Do you want to create it now?
[n] > n

  1. Set the permissions for the Media folder:
    chmod -R 777 webroot/media/{transfer,filter}

Upload and View Image

  1. Set the model as media transfer user
    <?php
    class User extends AppModel {
    var $name = 'User';
    var $actsAs = array('Media.Transfer', 'Media.Coupler', 'Media.Meta');
    ?>
    
  2. Set the form:
    echo $this->Form->create('User', array('type'=>'file'));
    echo $this->Form->input('file', array('type'=>'file'));
    echo $this->Form->input('dirname', array('type'=>'hidden'));
    echo $this->Form->input('basename', array('type'=>'hidden'));
    echo $this->Form->input('checksum', array('type'=>'hidden'));
    echo $this->Form->end(__('Submit'));
    
  3. To view image, add the Media helper to your controller and use:
    <?php echo $this->Media->embed(h($employee['User']['basename'])); ?>
    
  4. ENJOY!
Something went wrong with that request. Please try again.