示例#1
0
 private static function _cookOptionsArray(array $options)
 {
     $EXPIRE_SECS = [600, 3600, 86400, 604800, 1209600, 2592000, 7776000, 15552000, 31536000];
     $cooked_options = array_merge(['tiny_url' => false, 'pass' => null, 'extra_info' => null, 'hide_name' => false, 'expire' => false, 'no_expire_token' => true, 'referer' => null, 'email' => null, 'zombie' => null, 'auth' => null], array_change_key_case($options));
     $cooked_options['expire'] = !is_numeric($options['expire']) || !isset($EXPIRE_SECS[(int) $options['expire'] - 1]) ? false : time() + $EXPIRE_SECS[(int) $options['expire'] - 1];
     $cooked_options['referer'] = !empty($options['referer']) ? Utils_MiscTools::extractHostFromUrl(filter_var($options['referer'], FILTER_SANITIZE_STRING), true) : null;
     return $cooked_options;
 }
 protected function isValidReferer($referer = null)
 {
     return preg_match(is_null($referer) ? '/^' . preg_quote(preg_replace('/^https?\\:\\/\\//i', '', trim(URL_BASE)), '/') . '/i' : '/^.*?' . preg_quote(preg_replace('/^https?\\:\\/\\//i', '', trim($referer)), '/') . '$/i', Utils_MiscTools::extractHostFromUrl($this->request->getServerVar('HTTP_REFERER'), true));
 }