connector.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. /**
  3. * BackupMODX connector
  4. *
  5. * @package backupmodx
  6. * @subpackage connector
  7. *
  8. * @var modX $modx
  9. */
  10. $web = 'web/';
  11. // Allow anonymous users for web processors and restrict actions to that folder including subfolders with restricted chars
  12. if (isset($_REQUEST['action']) && strpos($_REQUEST['action'], $web) === 0) {
  13. $_REQUEST['action'] = $web . preg_replace('#[^a-z0-9/_-]#i', '', substr($_REQUEST['action'], strlen($web)));
  14. define('MODX_REQP', false);
  15. }
  16. require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/config.core.php';
  17. require_once MODX_CORE_PATH . 'config/' . MODX_CONFIG_KEY . '.inc.php';
  18. require_once MODX_CONNECTORS_PATH . 'index.php';
  19. $corePath = $modx->getOption('backupmodx.core_path', null, $modx->getOption('core_path') . 'components/backupmodx/');
  20. /** @var BackupMODX $backupmodx */
  21. $backupmodx = $modx->getService('backupmodx', 'BackupMODX', $corePath . 'model/backupmodx/', array(
  22. 'core_path' => $corePath
  23. ));
  24. // Set HTTP_MODAUTH for web processors
  25. if (defined('MODX_REQP') && MODX_REQP === false) {
  26. $_SERVER['HTTP_MODAUTH'] = $modx->user->getUserToken($modx->context->get('key'));
  27. }
  28. $processorsPath = $backupmodx->getOption('processorsPath');
  29. // Handle request
  30. $modx->request->handleRequest(array(
  31. 'processors_path' => $processorsPath,
  32. 'location' => ''
  33. ));