/dada/installer-disabled/templates/rich_filemanager-filemanager-php.tmpl
http://github.com/justingit/dada-mail · Go Template · 119 lines · 98 code · 21 blank · 0 comment · 0 complexity · ab79a861d2aebef0c10b67cbe5e8f1cc MD5 · raw file
- <?php
- ini_set('session.save_path',realpath('<!-- tmpl_var i_rich_filemanager_session_dir -->'));
- /**
- * Entry point for PHP connector, put your customizations here.
- *
- * @license MIT License
- * @author Pavel Solomienko <https://github.com/servocoder/>
- * @copyright Authors
- */
- // only for debug
- // error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
- // ini_set('display_errors', '1');
- require 'vendor/autoload.php';
- // fix display non-latin chars correctly
- // https://github.com/servocoder/RichFilemanager/issues/7
- setlocale(LC_CTYPE, 'en_US.UTF-8');
- // fix for undefined timezone in php.ini
- // https://github.com/servocoder/RichFilemanager/issues/43
- if(!ini_get('date.timezone')) {
- date_default_timezone_set('GMT');
- }
- // This function is called for every server connection. It must return true.
- //
- // Implement this function to authenticate the user, for example to check a
- // password login, or restrict client IP address.
- //
- // This function only authorizes the user to connect and/or load the initial page.
- // Authorization for individual files or dirs is provided by the two functions below.
- //
- // NOTE: If this function returns false, the user will simply see an error. It
- // probably makes more sense to redirect the user to a login page instead.
- //
- // NOTE: If using session variables, the session must be started first (session_start()).
- function fm_authenticate()
- {
- session_start();
- return isset($_SESSION['rfm_authenticated']) && $_SESSION['rfm_session_id'] == $_COOKIE["dadalogin"];
-
- }
- // This function is called before any filesystem read operation, where
- // $filepath is the file or directory being read. It must return true,
- // otherwise the read operation will be denied.
- //
- // Implement this function to do custom individual-file permission checks, such as
- // user/group authorization from a database, or session variables, or any other custom logic.
- //
- // Note that this is not the only permissions check that must pass. The read operation
- // must also pass:
- // * Filesystem permissions (if any), e.g. POSIX `rwx` permissions on Linux
- // * The $filepath must be allowed according to config['patterns'] and config['extensions']
- //
- function fm_has_read_permission($filepath)
- {
- // Customize this code as desired.
- return true;
- }
- // This function is called before any filesystem write operation, where
- // $filepath is the file or directory being written to. It must return true,
- // otherwise the write operation will be denied.
- //
- // Implement this function to do custom individual-file permission checks, such as
- // user/group authorization from a database, or session variables, or any other custom logic.
- //
- // Note that this is not the only permissions check that must pass. The write operation
- // must also pass:
- // * Filesystem permissions (if any), e.g. POSIX `rwx` permissions on Linux
- // * The $filepath must be allowed according to config['patterns'] and config['extensions']
- // * config['read_only'] must be set to false, otherwise all writes are disabled
- //
- function fm_has_write_permission($filepath)
- {
- // Customize this code as desired.
- return true;
- }
- $config = [];
- // example to override the default config
- //$config = [
- // 'security' => [
- // 'readOnly' => true,
- // 'extensions' => [
- // 'policy' => 'ALLOW_LIST',
- // 'restrictions' => [
- // 'jpg',
- // 'jpe',
- // 'jpeg',
- // 'gif',
- // 'png',
- // ],
- // ],
- // ],
- //];
- $app = new \RFM\Application();
- $local = new \RFM\Repository\Local\Storage($config);
- // example to setup files root folder
- //$local->setRoot('userfiles', true);
- $app->setStorage($local);
- // set application API
- $app->api = new RFM\Api\LocalApi();
- $app->run();