function helper($helpers) { foreach (setlist($helpers) as $helper) { core_caller::load_helper($helper); } return true; }
public static function merge_args($args, $key) { // Se não for definido uma ordem padrão, usa index if ($key->args_order === null) { return array_values(array_merge($args, $key->args_default)); } // Cria uma setlist $args_order = setlist($key->args_order); $args_data = array(); // Se for uma informação determinada por um array... if (isset($args[0]) && is_array($args[0])) { return array_merge($key->args_default, $args[0]); } // Em outro caso, preenche as informações pela ordem determinada // Usa o valor padrão somente quando necessário foreach ($args_order as $index => $var) { $args_data[$var] = isset($args[$index]) ? $args[$index] : (isset($key->args_default[$var]) ? $key->args_default[$var] : null); } return $args_data; }
public function test_setlist() { $this->test(1, setlist(null)); $this->test(2, setlist('')); $this->test(3, setlist('a')); $this->test(4, setlist('a, b, c, d')); $this->test(5, setlist('a, b, c\\, d')); $this->test(6, setlist(' a, b,c ')); $this->test(7, setlist(array('key' => 'value'))); $this->test(8, setlist(array('a, b, c'))); }
public function set_language_order($lang_order) { $this->_lang_order = self::_get_order(setlist($lang_order)); return $this; }
public static function is_domain($domains) { $current_uri = null; // Para cada domínio na lista... foreach (setlist($domains) as $domain) { // Define o schema do dominio $domain = explode('://', $domain, 2); if (!isset($domain[1])) { array_unshift($domain, 'http'); } // Verifica se o scheme é compatível $scheme_url = isset($_SERVER['HTTPS']) ? 'https' : 'http'; if ($domain[0] !== $scheme_url) { continue; } // Verifica a porta do domínio $domain = explode(':', $domain[1], 2); if (isset($domain[1]) && $domain[1] !== $_SERVER['SERVER_PORT']) { continue; } // Verifica o path $domain = explode('/', $domain[0], 2); if (isset($domain[1])) { // Armazena o URI de chamada if ($current_uri === null) { $current_uri = isset($_SERVER['REDIRECT_URL']) ? $_SERVER['REDIRECT_URL'] : array_shift(explode('?', $_SERVER['REQUEST_URI'], 2)); } if ($current_uri !== "/{$domain[1]}") { continue; } } // Verifica o hostname if ($domain[0] !== $_SERVER['SERVER_NAME']) { // Verificação simplificada if (preg_match(CORE_HOSTNAME_VALID, $domain[0])) { continue; } // Verificação avançada if (!preg_match(self::_replace_domain($domain[0]), $_SERVER['SERVER_NAME'])) { continue; } } // Se tudo foi validado corretamente, retorna true return true; } return false; }