88 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  *  Filemanager PHP connector
 | |
|  *  This file should at least declare auth() function 
 | |
|  *  and instantiate the Filemanager as '$fm'
 | |
|  *  
 | |
|  *  IMPORTANT : by default Read and Write access is granted to everyone
 | |
|  *  Copy/paste this file to 'user.config.php' file to implement your own auth() function
 | |
|  *  to grant access to wanted users only
 | |
|  *
 | |
|  *  filemanager.php
 | |
|  *  use for ckeditor filemanager
 | |
|  *
 | |
|  *  @license  MIT License
 | |
|  *  @author   Simon Georget <simon (at) linea21 (dot) com>
 | |
|  *  @copyright  Authors
 | |
|  */
 | |
| 
 | |
| // Laravel init
 | |
| require getcwd() . '/../../../../bootstrap/autoload.php';
 | |
| $app = require_once getcwd() . '/../../../../bootstrap/app.php';
 | |
| 
 | |
| $kernel = $app->make('Illuminate\Contracts\Http\Kernel');
 | |
| 
 | |
| $response = $kernel->handle(
 | |
|   $request = Illuminate\Http\Request::capture()
 | |
| );
 | |
| 
 | |
| $id = $app['encrypter']->decrypt($_COOKIE[$app['config']['session.cookie']]);
 | |
| $app['session']->driver()->setId($id);
 | |
| $app['session']->driver()->start();
 | |
| 
 | |
| // Folder path
 | |
| $folderPath = $app->basePath() . '/public/'.config('filemanager.folder_path');     
 | |
| 
 | |
| // Check if user in authentified
 | |
| if(!$app['auth']->check()) 
 | |
| {
 | |
|   $laravelAuth = false;
 | |
| } 
 | |
| else 
 | |
| {
 | |
|   // Check if user has all access
 | |
|   if($app['auth']->user()->accessMediasAll())
 | |
|   {
 | |
|     $laravelAuth = true; 
 | |
|   } 
 | |
|   elseif(method_exists($app['auth']->user(), 'accessMediasFolder'))
 | |
|   {
 | |
|     // Check if user has access to one folder
 | |
|     if($app['auth']->user()->accessMediasFolder())
 | |
|     {
 | |
|       // Folder name with user id
 | |
|       $folderPath .= 'user' . $app['auth']->id();
 | |
|       // Create folder if doesn't exist
 | |
|       if (!is_dir($folderPath))
 | |
|       {
 | |
|         mkdir($folderPath); 
 | |
|       }  
 | |
|       $laravelAuth = true;  
 | |
|     } 
 | |
|     else
 | |
|     {
 | |
|       $laravelAuth = false;
 | |
|     }    
 | |
|   }
 | |
|   else
 | |
|   {
 | |
|     $laravelAuth = false;
 | |
|   } 
 | |
| }
 | |
| 
 | |
| /**
 | |
|  *  Check if user is authorized
 | |
|  *  
 | |
|  *
 | |
|  *  @return boolean true if access granted, false if no access
 | |
|  */
 | |
| function auth() 
 | |
| {
 | |
|   return $GLOBALS['laravelAuth'];
 | |
| }
 | |
| 
 | |
| $fm = new Filemanager();
 | |
| 
 | |
| $fm->setFileRoot($folderPath);
 | |
| 
 | |
| ?>
 | 
