<?php
// PATCHES DE SÉCURITÉ ELFINDER
require_once __DIR__ . '/php/security_patch.php';

if (!isset($_GET['Admin']) || $_GET['Admin'] !== 'ClicShoppingAdmin') {
  http_response_code(403);
  exit('Access denied');
}

// Headers de sécurité
header('X-Content-Type-Options: nosniff');
header('X-Frame-Options: DENY');
header('X-XSS-Protection: 1; mode=block');
header('Referrer-Policy: strict-origin-when-cross-origin');
?>
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
  <title>elFinder 2.1.x source version with PHP connector</title>

  <!-- Require JS (REQUIRED) -->
  <!-- Rename "main.default.js" to "main.js" and edit it if you need configure elFInder options or any things -->
  <script data-main="./main.default.js" src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js"></script>
  <script>
    define('elFinderConfig', {
      // elFinder options (REQUIRED)
      // Documentation for client options:
      // https://github.com/Studio-42/elFinder/wiki/Client-configuration-options
      defaultOpts : {
        url : 'php/connector.minimal.php', // Connecteur principal sécurisé
        commandsOptions : {
          edit : {
            extraOptions : {
              // set API key to enable Creative Cloud image editor
              // see https://console.adobe.io/
              creativeCloudApiKey : '',
              // browsing manager URL for CKEditor, TinyMCE
              // uses self location with the empty value
              managerUrl : ''
            }
          },
          quicklook : {
            // to enable CAD-Files and 3D-Models preview with sharecad.org
            sharecadMimes : ['image/vnd.dwg', 'image/vnd.dxf', 'model/vnd.dwf', 'application/vnd.hp-hpgl', 'application/plt', 'application/step', 'model/iges', 'application/vnd.ms-pki.stl', 'application/sat', 'image/cgm', 'application/x-msmetafile'],
            // to enable preview with Google Docs Viewer
            googleDocsMimes : ['application/pdf', 'image/tiff', 'application/vnd.ms-office', 'application/msword', 'application/vnd.ms-word', 'application/vnd.ms-excel', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/postscript', 'application/rtf'],
            // to enable preview with Microsoft Office Online Viewer
            // these MIME types override "googleDocsMimes"
            officeOnlineMimes : ['application/vnd.ms-office', 'application/msword', 'application/vnd.ms-word', 'application/vnd.ms-excel', 'application/vnd.ms-powerpoint', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.openxmlformats-officedocument.presentationml.presentation', 'application/vnd.oasis.opendocument.text', 'application/vnd.oasis.opendocument.spreadsheet', 'application/vnd.oasis.opendocument.presentation']
          }
        },
        // bootCalback calls at before elFinder boot up
        bootCallback : function(fm, extraObj) {
          /* any bind functions etc. */
          fm.bind('init', function() {
            // any your code
          });
          // for example set document.title dynamically.
          var title = document.title;
          fm.bind('open', function() {
            var path = '',
              cwd  = fm.cwd();
            if (cwd) {
              path = fm.path(cwd.hash) || null;
            }
            document.title = path? path + ':' + title : title;
          }).bind('destroy', function() {
            document.title = title;
          });
        }
      },
      managers : {
        // 'DOM Element ID': { /* elFinder options of this DOM Element */ }
        'elfinder': {
          getFileCallback : function(file, fm) {
            window.opener.CKEDITOR.tools.callFunction((function() {
              var reParam = new RegExp('(?:[\?&]|&amp;)CKEditorFuncNum=([^&]+)', 'i') ;
              var match = window.location.search.match(reParam) ;
              return (match && match.length > 1) ? match[1] : '' ;
            })(), file.url);
            fm.destroy();
            window.close();
          }
          , height : '100%'   // optional
          , resizable : false // optional
        }
      }
    });
  </script>
</head>
<body>

<!-- Element where elFinder will be created (REQUIRED) -->
<div id="elfinder"></div>

</body>
</html>
