Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Feb 11, 2022. It is now read-only.

The aim of this plugin is to give you the ability to create and associate any kind of medias in your application.

NotificationsYou must be signed in to change notification settings

Romano83/CakePHP3-Media

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build StatusCoverage Status

About

The aim of this plugin is to give you the ability to create and associate any kind of medias in your application.This plugin is the adapation fromGrafikart's Media Plugin for CakePHP 3.

Overview

Installation

Requirements

Steps to install

  • Run :
composer require romano83/cakephp3-media
  • Import The fileconfig\schema\medias.sql in your database

How to use

In yourconfig\bootstrap.php file, add this line

Plugin::load('Media', ['bootstrap' =>false,'routes' =>true]);

Security purpose

By default, the plugin is blocked for everyone. To set proper permissions, you can implementcanUploadMedia() method in yourYourApp\AppController.For exemple :

publicfunctioncanUploadMedias($model,$id){if($model ==='YourApp\Model\Table\UsersTable' &&$id ==$this->Auth->user('id')){returntrue;// Everyone can upload medias for their own records}return$this->Auth->user('role') =='admin';// Admins have all rights}

Behavior

To use this plugin, you must load theMediaBehavior in your tables. Form instance, if you want to manage medias for your posts :

<?phpnamespaceMyApp\Model\Table;useCake\ORM\Table;class PostsTableextends Table{publicfunctioninitialize(array$config){$this->addBehavior('Media.Media', ['path' =>'img/upload/%y/%m/%f',// default upload path relative to webroot folder (see below for path parameters)'extensions' => ['jpg','png'],// array of authorized extensions (lowercase)'limit' =>0,// limit number of upload file. Default: 0 (no limit)'max_width' =>0,// maximum authorized width for uploaded pictures. Default: 0 (no limitation)'max_height' =>0,// maximum authorized height for uploaded pictures. Default: 0 (no limitation)'size' =>0// maximum autorized size for uploaded pictures (in kb). Default: 0 (no limitation)]);}}

For the path option, you have numerous parameters :

  • %yYear
  • %mMonth
  • %fSluggified filename
  • %idMedia Id
  • %cidMedia Id /100
  • %midMedia Id /1000

Helper

In order to add media upload and edit capabilities in your views, you can useMediaHelper.

To do so, add in yourAppController

<?phpnamespaceApp\Controller;class AppControllerextends Controller{public$helpers = ['Media.Media'];}

Or in yourAppView

<?phpnamespaceApp\View;class AppViewextends View{publicfunctioninitialize(){$this->loadHelper('Media.Media' );}}

For example, you can add an iframe to manage medias:

<?=$this->Media->iframe('Model','ID');?>

Or you can add text editor (tinymce for instance) inside form :

<?=$this->Form->create();?><?=$this->Media->tinymce($fieldname,'Model','Id', array$options);?><?=$this->Form->end();?>

This method take the samearray $options than nativeFormInput helper.

Thumb

If you want to add thumb for your posts, you must addmedia_id field in your 'Model' database table.

Notice

In order to upload pictures, you should implementdraft system for your model.

ToDo

  • Add the ability to edit a media when clicked;
  • Add resize, crop, flip and rotate functions;
  • Finish unit test...

How to contribute

  • You have find a bug ? You can open anissue
    • Clearly describe the issue including steps to reproduce when it is a bug.
    • Make sure you fill in the earliest version that you know has the issue.
    • Screenshots and code exemple are welcome in the issues.
  • You want to implement a new feature or fix a bug ? Please follow this guide :
    • Your codemust follow theCoding Standard of CakePHP. Check thecakephp-codesniffer repository to setup the CakePHP standard.
    • You mustadd Test Cases for your new feature. Test Cases ensure that the application will continue to working in the future.
    • Your PR should be on thedev branch.

Special thanks

  • Grafikart for the first version of this plugin !

About

The aim of this plugin is to give you the ability to create and associate any kind of medias in your application.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors2

  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp