2018-04-02 08:29:19 +02:00
< ? php
2019-01-17 11:35:54 +01:00
$version = " 9.14.0 " ;
2018-04-02 08:29:19 +02:00
if ( session_id () == '' ) session_start ();
mb_internal_encoding ( 'UTF-8' );
mb_http_output ( 'UTF-8' );
mb_http_input ( 'UTF-8' );
mb_language ( 'uni' );
mb_regex_encoding ( 'UTF-8' );
ob_start ( 'mb_output_handler' );
2019-01-11 10:08:04 +01:00
date_default_timezone_set ( 'Europe/Paris' );
2018-04-02 08:29:19 +02:00
setlocale ( LC_CTYPE , 'fr_FR' ); //correct transliteration
/*
|--------------------------------------------------------------------------
| Optional security
|--------------------------------------------------------------------------
|
| if set to true only those will access RF whose url contains the access key ( akey ) like :
| < input type = " button " href = " ../filemanager/dialog.php?field_id=imgField&lang=en_EN&akey=myPrivateKey " value = " Files " >
| in tinymce a new parameter added : filemanager_access_key : " myPrivateKey "
| example tinymce config :
|
| tiny init ...
| external_filemanager_path : " ../filemanager/ " ,
| filemanager_title : " Filemanager " ,
| filemanager_access_key : " myPrivateKey " ,
| ...
|
*/
define ( 'USE_ACCESS_KEYS' , true ); // TRUE or FALSE
2019-01-11 10:08:04 +01:00
$privateKey = md5_file ( '../../../site/data/core.json' );
2018-04-02 08:29:19 +02:00
/*
|--------------------------------------------------------------------------
| DON ' T COPY THIS VARIABLES IN FOLDERS config . php FILES
|--------------------------------------------------------------------------
*/
define ( 'DEBUG_ERROR_MESSAGE' , false ); // TRUE or FALSE
/*
|--------------------------------------------------------------------------
| Path configuration
|--------------------------------------------------------------------------
| In this configuration the folder tree is
| root
| |- source <- upload folder
| |- thumbs <- thumbnail folder [ must have write permission ( 755 )]
| |- filemanager
| |- js
| | |- tinymce
| | | |- plugins
| | | | |- responsivefilemanager
| | | | | |- plugin . min . js
*/
$config = array (
/*
|--------------------------------------------------------------------------
| DON ' T TOUCH ( base url ( only domain ) of site ) .
|--------------------------------------------------------------------------
|
| without final / ( DON ' T TOUCH )
|
*/
'base_url' => (( isset ( $_SERVER [ 'HTTPS' ]) && $_SERVER [ 'HTTPS' ] && ! in_array ( strtolower ( $_SERVER [ 'HTTPS' ]), array ( 'off' , 'no' ))) ? 'https' : 'http' ) . '://' . $_SERVER [ 'HTTP_HOST' ] . rtrim ( str_replace ( '/core/vendor/filemanager' , '' , pathinfo ( $_SERVER [ 'PHP_SELF' ])[ 'dirname' ]), ' /' ),
/*
|--------------------------------------------------------------------------
| path from base_url to base of upload folder
|--------------------------------------------------------------------------
|
| with start and final /
|
*/
'upload_dir' => '/site/file/source/' ,
/*
|--------------------------------------------------------------------------
| relative path from filemanager folder to upload folder
|--------------------------------------------------------------------------
|
| with final /
|
*/
'current_path' => '../../../site/file/source/' ,
/*
|--------------------------------------------------------------------------
| relative path from filemanager folder to thumbs folder
|--------------------------------------------------------------------------
|
| with final /
| DO NOT put inside upload folder
|
*/
'thumbs_base_path' => '../../../site/file/thumb/' ,
2018-11-13 18:33:22 +01:00
/*
|--------------------------------------------------------------------------
| mime file control to define files extensions
|--------------------------------------------------------------------------
|
| If you want to be forced to assign the extension starting from the mime type
|
*/
'mime_extension_rename' => true ,
2018-04-02 08:29:19 +02:00
/*
|--------------------------------------------------------------------------
| FTP configuration BETA VERSION
|--------------------------------------------------------------------------
|
| If you want enable ftp use write these parametres otherwise leave empty
2018-11-13 18:33:22 +01:00
| Remember to set base_url properly to point in the ftp server domain and
2018-04-02 08:29:19 +02:00
| upload dir will be ftp_base_folder + upload_dir so without final /
|
*/
'ftp_host' => false , //put the FTP host
'ftp_user' => " user " ,
'ftp_pass' => " pass " ,
'ftp_base_folder' => " base_folder " ,
'ftp_base_url' => " http://site to ftp root " ,
// Directory where place files before to send to FTP with final /
'ftp_temp_folder' => " ../temp/ " ,
/*
|---------------------------------------------------------------------------
| path from ftp_base_folder to base of thumbs folder with start and final /
|---------------------------------------------------------------------------
*/
'ftp_thumbs_dir' => '/thumbs/' ,
'ftp_ssl' => false ,
'ftp_port' => 21 ,
/* EXAMPLE
'ftp_host' => " host.com " ,
'ftp_user' => " test@host.com " ,
'ftp_pass' => " pass.1 " ,
'ftp_base_folder' => " " ,
'ftp_base_url' => " http://host.com/testFTP " ,
*/
2018-11-13 18:33:22 +01:00
/*
|--------------------------------------------------------------------------
| Multiple files selection
|--------------------------------------------------------------------------
| The user can delete multiple files , select all files , deselect all files
*/
2019-04-29 19:26:57 +02:00
'multiple_selection' => true ,
2018-11-13 18:33:22 +01:00
/*
|
| The user can have a select button that pass a json to external input or pass the first file selected to editor
| If you use responsivefilemanager tinymce extension can copy into editor multiple object like images , videos , audios , links in the same time
|
*/
2019-01-11 09:59:01 +01:00
'multiple_selection_action_button' => true ,
2018-04-02 08:29:19 +02:00
/*
|--------------------------------------------------------------------------
| Access keys
|--------------------------------------------------------------------------
|
| add access keys eg : array ( 'myPrivateKey' , 'someoneElseKey' );
| keys should only containt ( a - z A - Z 0 - 9 \ . _ - ) characters
| if you are integrating lets say to a cms for admins , i recommend making keys randomized something like this :
| $username = 'Admin' ;
| $salt = 'dsflFWR9u2xQa' ( a hard coded string )
| $akey = md5 ( $username . $salt );
| DO NOT use 'key' as access key !
| Keys are CASE SENSITIVE !
|
*/
'access_keys' => array ( $privateKey ),
//--------------------------------------------------------------------------------------------------------
// YOU CAN COPY AND CHANGE THESE VARIABLES INTO FOLDERS config.php FILES TO CUSTOMIZE EACH FOLDER OPTIONS
//--------------------------------------------------------------------------------------------------------
/*
|--------------------------------------------------------------------------
| Maximum size of all files in source folder
|--------------------------------------------------------------------------
|
| in Megabytes
|
*/
'MaxSizeTotal' => false ,
/*
|--------------------------------------------------------------------------
| Maximum upload size
|--------------------------------------------------------------------------
|
| in Megabytes
|
*/
'MaxSizeUpload' => 20000 ,
/*
|--------------------------------------------------------------------------
| File and Folder permission
|--------------------------------------------------------------------------
|
*/
'filePermission' => 0755 ,
'folderPermission' => 0777 ,
/*
|--------------------------------------------------------------------------
| default language file name
|--------------------------------------------------------------------------
*/
'default_language' => " fr_FR " ,
/*
|--------------------------------------------------------------------------
| Icon theme
|--------------------------------------------------------------------------
|
| Default available : ico and ico_dark
| Can be set to custom icon inside filemanager / img
|
*/
'icon_theme' => " ico " ,
//Show or not total size in filemanager (is possible to greatly increase the calculations)
2019-04-29 19:26:57 +02:00
'show_total_size' => true ,
2018-04-02 08:29:19 +02:00
//Show or not show folder size in list view feature in filemanager (is possible, if there is a large folder, to greatly increase the calculations)
2019-04-29 19:26:57 +02:00
'show_folder_size' => true ,
2018-04-02 08:29:19 +02:00
//Show or not show sorting feature in filemanager
'show_sorting_bar' => true ,
//Show or not show filters button in filemanager
'show_filter_buttons' => true ,
//Show or not language selection feature in filemanager
'show_language_selection' => true ,
//active or deactive the transliteration (mean convert all strange characters in A..Za..z0..9 characters)
2019-04-29 19:26:57 +02:00
'transliteration' => true ,
2018-04-02 08:29:19 +02:00
//convert all spaces on files name and folders name with $replace_with variable
2019-04-29 19:26:57 +02:00
'convert_spaces' => true ,
2018-04-02 08:29:19 +02:00
//convert all spaces on files name and folders name this value
'replace_with' => " _ " ,
//convert to lowercase the files and folders name
2019-04-29 19:26:57 +02:00
'lower_case' => true ,
2018-04-02 08:29:19 +02:00
//Add ?484899493349 (time value) to returned images to prevent cache
'add_time_to_img' => false ,
//*******************************************
//Images limit and resizing configuration
//*******************************************
// set maximum pixel width and/or maximum pixel height for all images
// If you set a maximum width or height, oversized images are converted to those limits. Images smaller than the limit(s) are unaffected
// if you don't need a limit set both to 0
'image_max_width' => 0 ,
'image_max_height' => 0 ,
'image_max_mode' => 'auto' ,
/*
# $option: 0 / exact = defined size;
# 1 / portrait = keep aspect set height;
# 2 / landscape = keep aspect set width;
# 3 / auto = auto;
# 4 / crop= resize and crop;
*/
//Automatic resizing //
// If you set $image_resizing to TRUE the script converts all uploaded images exactly to image_resizing_width x image_resizing_height dimension
// If you set width or height to 0 the script automatically calculates the other dimension
// Is possible that if you upload very big images the script not work to overcome this increase the php configuration of memory and time limit
'image_resizing' => false ,
'image_resizing_width' => 0 ,
'image_resizing_height' => 0 ,
'image_resizing_mode' => 'auto' , // same as $image_max_mode
'image_resizing_override' => false ,
// If set to TRUE then you can specify bigger images than $image_max_width & height otherwise if image_resizing is
// bigger than $image_max_width or height then it will be converted to those values
//******************
//
// WATERMARK IMAGE
2018-11-13 18:33:22 +01:00
//
//Watermark path or false
'image_watermark' => false , //"../watermark.png",
2018-04-02 08:29:19 +02:00
# Could be a pre-determined position such as:
# tl = top left,
# t = top (middle),
# tr = top right,
# l = left,
# m = middle,
# r = right,
# bl = bottom left,
# b = bottom (middle),
# br = bottom right
# Or, it could be a co-ordinate position such as: 50x100
'image_watermark_position' => 'br' ,
# padding: If using a pre-determined position you can
# adjust the padding from the edges by passing an amount
# in pixels. If using co-ordinates, this value is ignored.
2018-11-13 18:33:22 +01:00
'image_watermark_padding' => 10 ,
2018-04-02 08:29:19 +02:00
//******************
// Default layout setting
//
// 0 => boxes
// 1 => detailed list (1 column)
// 2 => columns list (multiple columns depending on the width of the page)
// YOU CAN ALSO PASS THIS PARAMETERS USING SESSION VAR => $_SESSION['RF']["VIEW"]=
//
//******************
'default_view' => 0 ,
//set if the filename is truncated when overflow first row
'ellipsis_title_after_first_row' => true ,
//*************************
//Permissions configuration
//******************
'delete_files' => true ,
'create_folders' => true ,
'delete_folders' => true ,
'upload_files' => true ,
'rename_files' => true ,
'rename_folders' => true ,
'duplicate_files' => true ,
2019-01-11 09:59:01 +01:00
'extract_files' => true ,
2018-04-02 08:29:19 +02:00
'copy_cut_files' => true , // for copy/cut files
'copy_cut_dirs' => true , // for copy/cut directories
'chmod_files' => true , // change file permissions
'chmod_dirs' => true , // change folder permissions
'preview_text_files' => true , // eg.: txt, log etc.
'edit_text_files' => true , // eg.: txt, log etc.
2019-01-11 09:59:01 +01:00
'create_text_files' => true , // only create files with exts. defined in $config['editable_text_file_exts']
2019-12-01 11:57:22 +01:00
'download_files' => true , // allow download files or just preview
2018-04-02 08:29:19 +02:00
// you can preview these type of files if $preview_text_files is true
2020-03-19 18:07:00 +01:00
'previewable_text_file_exts' => array ( " bsh " , " c " , " css " , " cc " , " cpp " , " cs " , " csh " , " cyc " , " cv " , " htm " , " html " , " java " , " js " , " m " , " mxml " , " perl " , " pl " , " pm " , " py " , " rb " , " sh " , " xhtml " , " xml " , " xsl " , 'txt' , 'log' , 'gpx' , 'kml' , '' ),
2018-04-02 08:29:19 +02:00
// you can edit these type of files if $edit_text_files is true (only text based files)
2019-01-11 09:59:01 +01:00
// you can create these type of files if $config['create_text_files'] is true (only text based files)
2018-04-02 08:29:19 +02:00
// if you want you can add html,css etc.
// but for security reasons it's NOT RECOMMENDED!
2020-03-03 08:49:55 +01:00
'editable_text_file_exts' => array ( 'txt' , 'log' , 'xml' , 'html' , 'css' , 'htm' , 'js' , '' ),
2019-01-11 09:59:01 +01:00
'jplayer_exts' => array ( " mp4 " , " flv " , " webmv " , " webma " , " webm " , " m4a " , " m4v " , " ogv " , " oga " , " mp3 " , " midi " , " mid " , " ogg " , " wav " ),
'cad_exts' => array ( 'dwg' , 'dxf' , 'hpgl' , 'plt' , 'spl' , 'step' , 'stp' , 'iges' , 'igs' , 'sat' , 'cgm' , 'svg' ),
2018-11-13 18:33:22 +01:00
2018-04-02 08:29:19 +02:00
// Preview with Google Documents
'googledoc_enabled' => true ,
'googledoc_file_exts' => array ( 'doc' , 'docx' , 'xls' , 'xlsx' , 'ppt' , 'pptx' , 'pdf' , 'odt' , 'odp' , 'ods' ),
// defines size limit for paste in MB / operation
// set 'FALSE' for no limit
'copy_cut_max_size' => 100 ,
// defines file count limit for paste / operation
// set 'FALSE' for no limit
'copy_cut_max_count' => 200 ,
//IF any of these limits reached, operation won't start and generate warning
//**********************
//Allowed extensions (lowercase insert)
//**********************
2019-01-11 09:59:01 +01:00
'ext_img' => array ( 'jpg' , 'jpeg' , 'png' , 'gif' , 'bmp' , 'tiff' , 'svg' , 'ico' ), //Images
2020-03-19 18:07:00 +01:00
'ext_file' => array ( 'doc' , 'docx' , 'rtf' , 'pdf' , 'xls' , 'xlsx' , 'txt' , 'csv' , 'html' , 'xhtml' , 'psd' , 'sql' , 'log' , 'fla' , 'xml' , 'ade' , 'adp' , 'mdb' , 'accdb' , 'ppt' , 'pptx' , 'odt' , 'ots' , 'ott' , 'odb' , 'odg' , 'otp' , 'otg' , 'odf' , 'ods' , 'odp' , 'css' , 'ai' , 'kmz' , 'dwg' , 'dxf' , 'hpgl' , 'plt' , 'spl' , 'step' , 'stp' , 'iges' , 'igs' , 'sat' , 'cgm' , 'ics' , 'gpx' , 'kml' , '' ), //Files
2018-11-13 18:33:22 +01:00
'ext_video' => array ( 'mov' , 'mpeg' , 'm4v' , 'mp4' , 'avi' , 'mpg' , 'wma' , " flv " , " webm " ), //Video
'ext_music' => array ( 'mp3' , 'mpga' , 'm4a' , 'ac3' , 'aiff' , 'mid' , 'ogg' , 'wav' ), //Audio
'ext_misc' => array ( 'zip' , 'rar' , 'gz' , 'tar' , 'iso' , 'dmg' ), //Archives
//*********************
// If you insert an extensions blacklist array the filemanager don't check any extensions but simply block the extensions in the list
// otherwise check Allowed extensions configuration
//*********************
2019-01-11 09:59:01 +01:00
'ext_blacklist' => false , //['exe','bat','jpg'],
//Empty filename permits like .htaccess, .env, ...
'empty_filename' => false ,
/*
|--------------------------------------------------------------------------
| accept files without extension
|--------------------------------------------------------------------------
|
| If you want to accept files without extension , remember to add '' extension on allowed extension
|
*/
'files_without_extension' => false ,
2018-04-02 08:29:19 +02:00
/******************
* AVIARY config
*******************/
2019-04-07 20:19:01 +02:00
'aviary_active' => false ,
2018-04-02 08:29:19 +02:00
'aviary_apiKey' => " 2444282ef4344e3dacdedc7a78f8877d " ,
'aviary_language' => " fr " ,
'aviary_theme' => " light " ,
'aviary_tools' => " all " ,
2018-11-13 18:33:22 +01:00
'aviary_maxSize' => " 1400 " ,
2018-04-02 08:29:19 +02:00
// Add or modify the Aviary options below as needed - they will be json encoded when added to the configuration so arrays can be utilized as needed
//The filter and sorter are managed through both javascript and php scripts because if you have a lot of
//file in a folder the javascript script can't sort all or filter all, so the filemanager switch to php script.
//The plugin automatic swich javascript to php when the current folder exceeds the below limit of files number
'file_number_limit_js' => 500 ,
//**********************
// Hidden files and folders
//**********************
// set the names of any folders you want hidden (eg "hidden_folder1", "hidden_folder2" ) Remember all folders with these names will be hidden (you can set any exceptions in config.php files on folders)
'hidden_folders' => array (),
// set the names of any files you want hidden. Remember these names will be hidden in all folders (eg "this_document.pdf", "that_image.jpg" )
'hidden_files' => array ( 'config.php' ),
/*******************
* URL upload
*******************/
2019-06-09 15:25:41 +02:00
'url_upload' => false ,
2018-04-02 08:29:19 +02:00
2019-03-22 12:19:44 +01:00
//************************************
2018-04-02 08:29:19 +02:00
//Thumbnail for external use creation
//************************************
// New image resized creation with fixed path from filemanager folder after uploading (thumbnails in fixed mode)
// If you want create images resized out of upload folder for use with external script you can choose this method,
// You can create also more than one image at a time just simply add a value in the array
// Remember than the image creation respect the folder hierarchy so if you are inside source/test/test1/ the new image will create at
// path_from_filemanager/test/test1/
// PS if there isn't write permission in your destination folder you must set it
//
2019-03-22 12:19:44 +01:00
'fixed_image_creation' => true , //activate or not the creation of one or more image resized with fixed path from filemanager folder
'fixed_path_from_filemanager' => array ( '../../../site/file/thumb' ), //fixed path of the image folder from the current position on upload folder
'fixed_image_creation_name_to_prepend' => array ( '' ), //name to prepend on filename
'fixed_image_creation_to_append' => array ( '' ), //name to appendon filename
2019-12-01 11:45:31 +01:00
'fixed_image_creation_width' => array ( 300 , 400 ), //width of image
'fixed_image_creation_height' => array ( 200 , 300 ), //height of image
2018-04-02 08:29:19 +02:00
/*
# $option: 0 / exact = defined size;
# 1 / portrait = keep aspect set height;
# 2 / landscape = keep aspect set width;
# 3 / auto = auto;
# 4 / crop= resize and crop;
*/
2019-12-01 11:45:31 +01:00
'fixed_image_creation_option' => array ( 'crop' , 'crop' ), //set the type of the crop
2018-04-02 08:29:19 +02:00
// New image resized creation with relative path inside to upload folder after uploading (thumbnails in relative mode)
// With Responsive filemanager you can create automatically resized image inside the upload folder, also more than one at a time
// just simply add a value in the array
// The image creation path is always relative so if i'm inside source/test/test1 and I upload an image, the path start from here
//
2019-03-22 09:23:01 +01:00
'relative_image_creation' => false , //activate or not the creation of one or more image resized with relative path from upload folder
2019-03-22 12:19:44 +01:00
'relative_path_from_current_pos' => array ( './' , './' ), //relative path of the image folder from the current position on upload folder
2018-04-02 08:29:19 +02:00
'relative_image_creation_name_to_prepend' => array ( '' , '' ), //name to prepend on filename
2019-03-22 12:19:44 +01:00
'relative_image_creation_name_to_append' => array ( '_thumb' , '_thumb1' ), //name to append on filename
'relative_image_creation_width' => array ( 300 , 400 ), //width of image
'relative_image_creation_height' => array ( 200 , 300 ), //height of image
2018-04-02 08:29:19 +02:00
/*
# $option: 0 / exact = defined size;
# 1 / portrait = keep aspect set height;
# 2 / landscape = keep aspect set width;
# 3 / auto = auto;
# 4 / crop= resize and crop;
*/
2019-03-22 12:19:44 +01:00
'relative_image_creation_option' => array ( 'crop' , 'crop' ), //set the type of the crop
2018-04-02 08:29:19 +02:00
// Remember text filter after close filemanager for future session
'remember_text_filter' => false ,
);
return array_merge (
$config ,
array (
'ext' => array_merge (
$config [ 'ext_img' ],
$config [ 'ext_file' ],
$config [ 'ext_misc' ],
$config [ 'ext_video' ],
$config [ 'ext_music' ]
),
// For a list of options see: https://developers.aviary.com/docs/web/setup-guide#constructor-config
'aviary_defaults_config' => array (
'apiKey' => $config [ 'aviary_apiKey' ],
'language' => $config [ 'aviary_language' ],
'theme' => $config [ 'aviary_theme' ],
'tools' => $config [ 'aviary_tools' ],
'maxSize' => $config [ 'aviary_maxSize' ]
),
)
);