Inheritance: implements rock\base\ObjectInterface, use trait rock\base\ObjectTrait
Example #1
0
 protected function chain(Sanitize $sanitize, $input, $attribute)
 {
     $callback = function ($value) use($sanitize, $attribute) {
         if (is_array($value)) {
             if (!$this->recursive) {
                 return $value;
             }
             $this->attributes = is_array($this->attributes) && isset($this->attributes[$attribute]) ? $this->attributes[$attribute] : $this->attributes;
             return $this->sanitize($value);
         }
         return $sanitize->sanitize($value);
     };
     return ArrayHelper::updateValue($input, explode('.', $attribute), $callback);
 }
Example #2
0
File: Post.php Project: romeoz/rock
 public function get()
 {
     if (is_array($this->filters)) {
         $this->filters = Sanitize::rules($this->filters);
     }
     return Request::post($this->name, $this->default, $this->filters);
 }
Example #3
0
 protected function defaultRules()
 {
     $rules = [];
     if (class_exists('\\rock\\mongodb\\sanitize\\rules\\MongoIdRule')) {
         $rules['mongoId'] = \rock\mongodb\sanitize\rules\MongoIdRule::className();
     }
     return $rules + parent::defaultRules();
 }
 /**
  * Returns items limit.
  * @param bool $recalculate
  * @return int
  */
 public function getLimit($recalculate = false)
 {
     if ($this->limit === null || $recalculate) {
         if ($this->request instanceof Request) {
             $this->limit = $this->request->get($this->limitParam, $this->defaultLimit, Sanitize::positive()->int());
         } else {
             $this->limit = isset($_GET[$this->limitParam]) ? (int) $_GET[$this->limitParam] : $this->defaultLimit;
             if ($this->limit < 0) {
                 $this->limit = $this->defaultLimit;
             }
         }
         if ($this->limit > $this->maxLimit) {
             $this->limit = $this->maxLimit;
         }
     }
     return $this->limit;
 }
Example #5
0
 protected function sanitize($value, Sanitize $sanitize = null)
 {
     if (!isset($sanitize)) {
         if (isset($this->sanitize)) {
             $sanitize = $this->sanitize;
         } else {
             $sanitize = Sanitize::removeTags()->trim()->toType();
         }
         if (is_array($value)) {
             return Sanitize::attributes($sanitize)->sanitize($value);
         }
     }
     return $sanitize->sanitize($value);
 }
Example #6
0
        return !Rock::$app->user->isGuest();
    }
    return \rock\helpers\ArrayHelper::getValue(Rock::$app->user->getAll(), $keys);
}, 'call' => function (array $call, array $params = [], Template $template) {
    if (!isset($call[1])) {
        $call[1] = null;
    }
    list($class, $method) = $call;
    if ($class === 'context') {
        $object = $template->context;
        $function = [$object, $method];
    } elseif (function_exists($class) && !$class instanceof \Closure) {
        return call_user_func_array($class, $params);
    } else {
        $object = \rock\di\Container::load($class);
        if (!method_exists($object, $method)) {
            throw new \rock\base\BaseException(\rock\base\BaseException::UNKNOWN_METHOD, ['method' => "{$class}::{$method}"]);
        }
        $function = [$object, $method];
    }
    return call_user_func_array($function, $params);
}], 'title' => 'Demo', 'metaTags' => ['charset' => '<meta charset="' . Rock::$app->charset . '" />'], 'linkTags' => ['favicon' => '<link rel="Shortcut Icon" type="image/x-icon" href="/favicon.ico?10">'], 'snippets' => ['request.get' => ['class' => \rock\snippets\request\Get::className()], 'request.post' => ['class' => \rock\snippets\request\Post::className()], 'csrf' => ['class' => \rock\snippets\CSRF::className()], 'captchaView' => ['class' => \rock\snippets\CaptchaView::className()], 'activeForm' => ['class' => \rock\snippets\ActiveForm::className()]]], 'execute' => ['class' => \rock\execute\CacheExecute::className()], 'i18n' => ['class' => \rock\i18n\i18n::className(), 'pathsDicts' => ['ru' => ['@rock/messages/ru/lang.php', '@rock/messages/ru/validate.php'], 'en' => ['@rock/messages/en/lang.php', '@rock/messages/en/validate.php']], 'locale' => [\rock\LocaleProperties::className(), 'locale']], 'date' => ['class' => \rock\date\DateTime::className(), 'locale' => [\rock\LocaleProperties::className(), 'locale'], 'formats' => ['dmy' => function (\rock\date\DateTime $dateTime) {
    $nowYear = date('Y');
    $lastYear = $dateTime->format('Y');
    return $nowYear > $lastYear ? $dateTime->format('j F Y') : $dateTime->format('d F');
}, 'dmyhm' => function (\rock\date\DateTime $dateTime) {
    $nowYear = date('Y');
    $lastYear = $dateTime->format('Y');
    return $nowYear > $lastYear ? $dateTime->format('j F Y H:i') : $dateTime->format('j F H:i');
}]], 'mail' => ['class' => \rock\mail\Mail::className(), 'From' => 'support@' . (new \rock\request\Request())->getHost(), 'FromName' => 'Rock Framework'], 'url' => ['class' => \rock\url\Url::className()], 'request' => ['class' => \rock\request\Request::className(), 'locale' => [\rock\LocaleProperties::className(), 'locale']], 'response' => ['class' => \rock\response\Response::className(), 'locale' => [\rock\LocaleProperties::className(), 'locale']], 'htmlResponseFormatter' => ['class' => \rock\response\HtmlResponseFormatter::className()], 'jsonResponseFormatter' => ['class' => \rock\response\JsonResponseFormatter::className()], 'xmlResponseFormatter' => ['class' => \rock\response\XmlResponseFormatter::className()], 'rssResponseFormatter' => ['class' => \rock\response\RssResponseFormatter::className()], 'session' => ['class' => \rock\session\Session::className(), 'cookieParams' => ['httponly' => true, 'lifetime' => 60 * 60 * 24 * 60, 'setUseCookies' => \rock\session\Session::USE_ONLY_COOKIES]], 'cookie' => ['class' => \rock\cookie\Cookie::className()], 'security' => ['class' => Security::className()], 'sanitize' => ['class' => \rock\sanitize\Sanitize::className()], 'validate' => ['class' => \rock\validate\Validate::className(), 'locale' => [\rock\LocaleProperties::className(), 'locale']], 'csrf' => ['class' => \rock\csrf\CSRF::className()], 'captcha' => ['class' => \rock\captcha\Captcha::className(), 'length' => 0, 'whiteNoiseDensity' => 1 / 6, 'blackNoiseDensity' => 1 / 30], 'user' => ['class' => \rock\user\User::className(), 'container' => 'user'], 'rbac' => ['class' => \rock\rbac\DBManager::className()], 'log' => ['class' => \rock\log\Log::className()], Role::className() => ['class' => Role::className()], Permission::className() => ['class' => Permission::className()]], require __DIR__ . '/widgets.php');
 protected function sanitizeInternal(Sanitize $sanitize, $ruleName, $attributeName, $args)
 {
     if ($sanitize instanceof ModelSanitize) {
         $sanitize->model = $this->model;
         $sanitize->attribute = $attributeName;
     }
     if ($sanitize->existsRule($ruleName)) {
         if ($sanitize instanceof ModelSanitize) {
             $sanitize->model = $this->model;
             $sanitize->attribute = $attributeName;
         }
         $this->model->{$attributeName} = call_user_func_array([$sanitize, $ruleName], $args)->sanitize($this->model->{$attributeName});
     }
 }
Example #8
0
 /**
  * Match url.
  *
  * @param string $pattern regexp-pattern
  * @param string $url
  * @return bool
  */
 protected function match($pattern, $url)
 {
     if (preg_match($pattern, $url, $matches)) {
         $result = [];
         foreach ($matches as $key => $value) {
             if (is_int($key)) {
                 continue;
             }
             $result[$key] = Sanitize::rules($this->sanitizeRules)->sanitize($value);
         }
         $this->params = array_merge($this->params, $result);
         return true;
     }
     return false;
 }
Example #9
0
 /**
  * Sanitize request-value.
  *
  * @param mixed $input
  * @param Sanitize $sanitize
  * @return null
  */
 protected function sanitizeValue($input, Sanitize $sanitize = null)
 {
     if (!isset($sanitize)) {
         $sanitize = $this->sanitize ?: Sanitize::removeTags()->trim()->toType();
     }
     if (is_array($input)) {
         $rawRule = $sanitize->getRawRules();
         $rawRule = current($rawRule);
         if ($rawRule instanceof Attributes) {
             return $sanitize->sanitize($input);
         }
         return Sanitize::attributes($sanitize)->sanitize($input);
     }
     return $sanitize->sanitize($input);
 }