sfMediaBrowserPlugin - 0.2.01

symfony 1.2/1.3/1.4 library upload assets manager

You are currently browsing
the website for symfony 1

Visit the Symfony2 website


« Back to the Plugins Home

Signin


Forgot your password?
Create an account

Tools

Stats

advanced search
Information Readme Releases Changelog Contribute
sfMediaBrowserPlugin 0.2.01beta for sf 1.4sf 1.3sf 1.2 MIT
Plugin image
38
users
Sign-in
to change
your status

Upload and manage files, folders, images through a full interface. Also includes form widget for server browsing with its validator and a tinyMCE implementation.

symfony 1.2/1.3/1.4 library upload assets manager

What is it ?

sfMediaBrowser is a symfony 1.2, 1.3, 1.4 plugin that allows you to manage all your file uploads.
It does NOT use any database as it works directly on file structure.

This plugin bundle an interface for managing folder and file under a configured folder. If you know sfMediaLibrary, you will most probably recognise its easy to understand interface.

The plugin also bundles a form widget and a form validator for replacing a html native file upload and therefore browser directly from the server.

The plugin is also ready for TinyMCE !
That means you insert 2 line of javascript and you browser your images, videos and file from tinyMCE using the sfMediaBrowser.

How to install ?

cd plugins
git clone git://github.com/vinyll/sfMediaBrowserPlugin.git

_If you don't have git install and don't want to install it, you can download a sandbox version

edit /config/ProjectConfiguration.class.php :

$this->enablePlugins('sfDoctrinePlugin', 'sfMediaBrowserPlugin');

run :

symfony plugin:publish-assets

How to run the media browser ?

edit /apps/your_app/settings.yml :

enabled_modules:        [sfMediaBrowser]

Open your browser, go to your app and run the url /sf_media_browser, and play around !

How to enable moving and renaming ?

Download ready to use jquery files. Copy the /js files into you /web/js folder.

Now edit /apps/your_app/app.yml :

all:
  sf_media_browser:
    assets_list:                           
      js:  [/js/jquery.js, /js/jquery.dragndrop.js, /sfMediaBrowserPlugin/js/list.jquery.js]
      css: [/sfMediaBrowserPlugin/css/list.css]

You can now :

  • drag and drop a file/folder into another folder to move it.
  • doubleclick on a file/folder label to edit its name.

How to use the file upload widget ?

Edit your form class :

Here we use an "image" field as an example :

$this->setWidget('image', new sfWidgetFormInputMediaBrowser());
$this->setValidator('image', new sfValidatorMediaBrowserFile());

Refer to the full example upload file widget for a fully working sample code.

How to use with TinyMCE ?

  • Include this javascript in your template :

    /sfMediaBrowserPlugin/js/WindowManager.js
    
  • insert this javascript in your html :

    sfMediaBrowserWindowManager.init('');
    
  • Setup your tinyMCE.init with this option :

    ...,
    file_browser_callback: "sfMediaBrowserWindowManager.tinymceCallback"
    
  • Now, when selecting an image, video, link file from tinyMCE, it should pop up a sfMediaBrowser window.

See the full tinymce example page for a full working example

How to configure ?

see the /plugins/sfMediaBrowserPlugin/config/app.yml file for configuration.

If you need further configuration, you should consider [extending the plugin][22]

How to help ?

You can participate by many ways :

  • Spreading the link
  • Debugging, improving, testing, forking, adapting, patching the source code
  • Mailing me to let me know what you think of it
  • Going to http://www.symfony-project.org/plugins/sfMediaBrowserPlugin and add yourself as a user

TODO

  • test sfValidatorMediaBrowserFile
  • add another browsing view with folder tree and files seperated ?
  • add image edition functionalities (resize and maybe rotate ?)
  • add permission managment (sfModularSecurity ?)
  • finish the jquery optional version (dom's filepicker. ajax view ? crop image ?)
  • add sfDynamics packages managment ?

About

The lead developer is Vincent Agnano vincent.agnano@particul.es. You may contact me at the email address here above.

Developers

Name Status Email
gravatar Vincent Agnano lead se.lucitrap <<ta>> onanga.tnecniv

License

Show source

Copyright (c) 2009 Vincent Agnano <vincent.agnano@particul.es>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.