Current Path : /var/www/html/afc2023/wp-content/plugins/duplicator/ctrls/ |
Current File : /var/www/html/afc2023/wp-content/plugins/duplicator/ctrls/ctrl.tools.php |
<?php if ( ! defined('DUPLICATOR_VERSION') ) exit; // Exit if accessed directly require_once(DUPLICATOR_PLUGIN_PATH . '/ctrls/ctrl.base.php'); require_once(DUPLICATOR_PLUGIN_PATH . '/classes/utilities/class.u.scancheck.php'); /** * Controller for Tools * @package Dupicator\ctrls */ class DUP_CTRL_Tools extends DUP_CTRL_Base { /** * Init this instance of the object */ function __construct() { add_action('wp_ajax_DUP_CTRL_Tools_runScanValidator', array($this, 'runScanValidator')); } /** * Calls the ScanValidator and returns a JSON result * * @param string $_POST['scan-path'] The path to start scanning from, defaults to DUPLICATOR_WPROOTPATH * @param bool $_POST['scan-recursive'] Recursivly search the path * * @notes: Testing = /wp-admin/admin-ajax.php?action=DUP_CTRL_Tools_runScanValidator */ public function runScanValidator($post) { @set_time_limit(0); $post = $this->postParamMerge($post); check_ajax_referer($post['action'], 'nonce'); $result = new DUP_CTRL_Result($this); try { //CONTROLLER LOGIC $path = isset($post['scan-path']) ? $post['scan-path'] : DUPLICATOR_WPROOTPATH; if (!is_dir($path)) { throw new Exception("Invalid directory provided '{$path}'!"); } $scanner = new DUP_ScanCheck(); $scanner->recursion = (isset($post['scan-recursive']) && $post['scan-recursive'] != 'false') ? true : false; $payload = $scanner->run($path); //RETURN RESULT $test = ($payload->fileCount > 0) ? DUP_CTRL_Status::SUCCESS : DUP_CTRL_Status::FAILED; $result->process($payload, $test); } catch (Exception $exc) { $result->processError($exc); } } }