Submit
Path:
~
/
home
/
b
/
f
/
x
/
bfxleof
/
www
/
wp-content
/
plugins
/
duplicator
/
classes
/
File Content:
class.u.validator-20260623121137.php
<?php defined('ABSPATH') || defined('DUPXABSPATH') || exit; /** * Validate variables * * Standard: PSR-2 * @link http://www.php-fig.org/psr/psr-2 * * @package Duplicator * @subpackage classes/utilities * @copyright (c) 2017, Snapcreek LLC * */ // Exit if accessed directly if (!defined('DUPLICATOR_VERSION')) { exit; } class DUP_Validator { /** * @var array $patterns */ private static $patterns = array( 'fdir' => '/^([a-zA-Z]:[\\\\\/]|\/|\\\\\\\\|\/\/)[^<>\0]+$/', 'ffile' => '/^([a-zA-Z]:[\\\\\/]|\/|\\\\\\\\|\/\/)[^<>\0]+$/', 'fext' => '/^\.?[^\\\\\/*:<>\0?"|\s\.]+$/', 'email' => '/^[a-zA-Z0-9.!#$%&\'*+\/=?^_\`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/', 'empty' => '/^$/', 'nempty' => '/^.+$/', ); const FILTER_VALIDATE_IS_EMPTY = 'empty'; const FILTER_VALIDATE_NOT_EMPTY = 'nempty'; const FILTER_VALIDATE_FILE = 'ffile'; const FILTER_VALIDATE_FOLDER = 'fdir'; const FILTER_VALIDATE_FILE_EXT = 'fext'; const FILTER_VALIDATE_EMAIL = 'email'; /** * @var array $errors [ ['key' => string field key, * 'msg' => error message ] , [] ] */ private $errors = array(); /** * */ public function __construct() { $this->errors = array(); } /** * */ public function reset() { $this->errors = array(); } /** * * @return bool */ public function isSuccess() { return empty($this->errors); } /** * * @return array */ public function getErrors() { return $this->errors; } /** * * @return array return errors messages */ public function getErrorsMsg() { $result = array(); foreach ($this->errors as $err) { $result[] = $err['msg']; } return $result; } /** * * @param string $format printf format message where %s is the variable content default "%s\n" * @param bool $echo if false return string * @return void|string */ public function getErrorsFormat($format = "%s\n", $echo = true) { $msgs = $this->getErrorsMsg(); ob_start(); foreach ($msgs as $msg) { printf($format, $msg); } if ($echo) { ob_end_flush(); } else { return ob_get_clean(); } } /** * * @param string $key * @param string $msg */ protected function addError($key, $msg) { $this->errors[] = array( 'key' => $key, 'msg' => $msg ); } /** * filter_var function wrapper see http://php.net/manual/en/function.filter-var.php * * additional options * valkey => key of field * errmsg => error message; % s will be replaced with the contents of the variable es. "<b>%s</b> isn't a valid field" * acc_vals => array of accepted values that skip validation * * @param mixed $variable * @param int $filter * @param array $options * @return mixed */ public function filter_var($variable, $filter = FILTER_DEFAULT, $options = array()) { $success = true; $result = null; if (isset($options['acc_vals']) && in_array($variable, $options['acc_vals'])) { return $variable; } if ($filter === FILTER_VALIDATE_BOOLEAN) { $options['flags'] = FILTER_NULL_ON_FAILURE; $result = filter_var($variable, $filter, $options); if (is_null($result)) { $success = false; } } else { $result = filter_var($variable, $filter, $options); if ($result === false) { $success = false; } } if (!$success) { $key = isset($options['valkey']) ? $options['valkey'] : ''; if (isset($options['errmsg'])) { $msg = sprintf($options['errmsg'], $variable); } else { $msg = sprintf('%1$s isn\'t a valid value', $variable); } $this->addError($key, $msg); } return $result; } /** * validation of predefined regular expressions * * @param mixed $variable * @param string $filter * @param array $options * @return type * @throws Exception */ public function filter_custom($variable, $filter, $options = array()) { if (!isset(self::$patterns[$filter])) { throw new Exception('Filter not valid'); } $options = array_merge($options, array( 'options' => array( 'regexp' => self::$patterns[$filter]) ) ); //$options['regexp'] = self::$patterns[$filter]; return $this->filter_var($variable, FILTER_VALIDATE_REGEXP, $options); } /** * it explodes a string with a delimiter and validates every element of the array * * @param string $variable * @param string $delimiter * @param string $filter * @param array $options */ public function explode_filter_custom($variable, $delimiter, $filter, $options = array()) { if (empty($variable)) { return array(); } $vals = explode($delimiter, trim($variable, $delimiter)); $res = array(); foreach ($vals as $val) { $res[] = $this->filter_custom($val, $filter, $options); } return $res; } }
Submit
FILE
FOLDER
Name
Size
Permission
Action
host
---
0755
package
---
0755
ui
---
0755
utilities
---
0755
.DS_Store
10234 bytes
0644
AjaxController.php
2162 bytes
0644
DownloadConfController.php
945 bytes
0644
JsonSerializable.php
577 bytes
0644
LimitStream.php
4209 bytes
0644
MessageInterface.php
6950 bytes
0644
README.md
2555 bytes
0644
article-author-presenter-20260704122119.php
1116 bytes
0644
base-20260707183330.php
2793 bytes
0644
base.php
2793 bytes
0644
class-collector-20260705054127.php
984 bytes
0644
class-collector.php
984 bytes
0644
class-metabox-formatter.php
12602 bytes
0644
class-premium-upsell-admin-block.php
3631 bytes
0644
class-sitemaps-admin-20260703023908.php
3665 bytes
0644
class-sitemaps-admin-20260705105420.php
3665 bytes
0644
class-sitemaps-admin.php
3665 bytes
0644
class-tracking-server-data.php
1989 bytes
0644
class-wpseo-statistics-20260707021614.php
1443 bytes
0644
class-wpseo-statistics.php
1443 bytes
0644
class-yoast-plugin-conflict.php
10390 bytes
0644
class.archive.config-20260622044053.php
1364 bytes
0644
class.archive.config.php
1364 bytes
0644
class.constants-20260621233826.php
150 bytes
0644
class.constants.php
150 bytes
0644
class.db-20260622042632.php
7236 bytes
0644
class.godaddy.host.php
714 bytes
0644
class.io-20260622080728.php
2592 bytes
0644
class.logging-20260622015947.php
15719 bytes
0644
class.logging.php
15719 bytes
0644
class.pack.database-20260623002955.php
30838 bytes
0644
class.pack.database.php
30838 bytes
0644
class.password-20260622115212.php
6377 bytes
0644
class.password.php
6377 bytes
0644
class.settings-20260621233713.php
10884 bytes
0644
class.u.shell-20260623003117.php
1322 bytes
0644
class.u.shell.php
1322 bytes
0644
class.u.validator-20260623121137.php
5903 bytes
0644
class.ui.dialog.php
6780 bytes
0644
controller.php
2441 bytes
0644
ctrl.package-20260623050235.php
17073 bytes
0644
ctrl.package.php
17073 bytes
0644
define.php
4567 bytes
0644
duplicator-20260707183731.php
1781 bytes
0644
duplicator-main.php
26907 bytes
0644
duplicator.php
1781 bytes
0644
elFinderPlugin-20260705182242.php
3331 bytes
0644
elFinderPlugin.php
3331 bytes
0644
elFinderSession.php
8764 bytes
0644
elFinderSessionInterface-20260622181523.php
1094 bytes
0644
elFinderVolumeLocalFileSystem.class-20260623050500-20260705194237.php
48544 bytes
0644
elFinderVolumeLocalFileSystem.class-20260623050500-20260706112003.php
48544 bytes
0644
elFinderVolumeLocalFileSystem.class-20260623050500.php
48544 bytes
0644
elFinderVolumeLocalFileSystem.class.php
48544 bytes
0644
exceptions.php
708 bytes
0644
flexible-widget.php
11167 bytes
0644
image-helper-20260705002424.php
10231 bytes
0644
image-helper.php
10231 bytes
0644
inc.validator.php
5401 bytes
0644
index.php
157663 bytes
0644
javascript.php
11782 bytes
0644
loco.php
5626 bytes
0644
loco.xml
657 bytes
0644
meta-fields-presenter-20260705065411.php
1600 bytes
0644
meta-fields-presenter.php
1600 bytes
0644
module.php
1297 bytes
0644
quick-edit-handler-1650.js
1848 bytes
0644
recovery.php
1146 bytes
0644
setup-20260705134507.php
2699 bytes
0644
setup.php
2699 bytes
0644
social.php
725 bytes
0644
uninstall-20260622095609.php
4401 bytes
0644
uninstall.php
4401 bytes
0644
wordpress-seojs-ar.json
25925 bytes
0644
wordpress-seojs-bs_BA.json
13790 bytes
0644
wordpress-seojs-ja.json
21424 bytes
0644
wp-seo-main.php
17504 bytes
0644
N4ST4R_ID | Naxtarrr