当前位置: 首页>>代码示例>>PHP>>正文


PHP tester_url_absolue函数代码示例

本文整理汇总了PHP中tester_url_absolue函数的典型用法代码示例。如果您正苦于以下问题:PHP tester_url_absolue函数的具体用法?PHP tester_url_absolue怎么用?PHP tester_url_absolue使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了tester_url_absolue函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: action_copier_local_post

/**
 * http://code.spip.net/@action_copier_local_post
 *
 * @param  $id_document
 * @return bool|mixed|string
 */
function action_copier_local_post($id_document)
{
    // Il faut la source du document pour le copier
    $row = sql_fetsel("mode,fichier, descriptif, credits", "spip_documents", "id_document={$id_document}");
    $source = $row['fichier'];
    // si la source est bien un fichier distant
    // sinon c'est une donnee moisie, on ne fait rien
    if (tester_url_absolue($source)) {
        include_spip('inc/distant');
        // pour 'copie_locale'
        $fichier = copie_locale($source);
        if ($fichier and tester_url_absolue($source)) {
            $fichier = _DIR_RACINE . $fichier;
            $files[] = array('tmp_name' => $fichier, 'name' => basename($fichier));
            $ajouter_documents = charger_fonction('ajouter_documents', 'action');
            spip_log("convertit doc {$id_document} en local: {$source} => {$fichier}", "medias");
            $liste = array();
            $ajouter_documents($id_document, $files, '', 0, $row['mode'], $liste);
            spip_unlink($fichier);
            // ajouter l'origine du document aux credits
            include_spip('action/editer_document');
            document_modifier($id_document, array('credits' => ($row['credits'] ? $row['credits'] . ', ' : '') . $source));
            return true;
        } else {
            spip_log("echec copie locale {$source}", "medias" . _LOG_ERREUR);
        }
    } else {
        spip_log("echec copie locale {$source} n'est pas une URL distante", "medias" . _LOG_ERREUR);
    }
    return _T('medias:erreur_copie_fichier', array('nom' => $source));
}
开发者ID:RadioCanut,项目名称:site-radiocanut,代码行数:37,代码来源:copier_local.php

示例2: securiser_redirect_action

function securiser_redirect_action($redirect){
	if (tester_url_absolue($redirect) AND !defined('_AUTORISER_ACTION_ABS_REDIRECT')){
		$base = $GLOBALS['meta']['adresse_site']."/";
		// si l'url est une url du site, on la laisse passer sans rien faire
		// c'est encore le plus simple
		if (strlen($base) AND strncmp($redirect,$base,strlen($base))==0)
			return $redirect;
		else
			return "";
	}
	return $redirect;
}
开发者ID:rhertzog,项目名称:lcs,代码行数:12,代码来源:aiguiller.php

示例3: get_spip_doc

/**
 * Donne le chemin complet du fichier
 *
 * @uses _DIR_IMG
 *
 * @param string $fichier
 * @return bool|string
 */
function get_spip_doc($fichier)
{
    // fichier distant
    if (tester_url_absolue($fichier)) {
        return $fichier;
    }
    // gestion d'erreurs, fichier=''
    if (!strlen($fichier)) {
        return false;
    }
    $fichier = strncmp($fichier, _DIR_IMG, strlen(_DIR_IMG)) != 0 ? _DIR_IMG . $fichier : $fichier;
    // fichier normal
    return $fichier;
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:22,代码来源:documents.php

示例4: spip_xml_load

/**
 * Lit un fichier xml donné et renvoie son arbre.
 *
 * @example
 *     ```
 *     include_spip('inc/xml');
 *     $arbre = spip_xml_load(_DIR_PLUGINS . "$plug/plugin.xml");
 *     ```
 *
 * @uses spip_xml_parse()
 *
 * @param string $fichier
 *     Chemin local ou URL distante du fichier XML
 * @param bool $strict
 *     true pour râler si une balise n'est pas correctement fermée, false sinon.
 * @param bool $clean ?
 * @param int $taille_max
 *     Taille maximale si fichier distant
 * @param string|array $datas
 *     Données à envoyer pour récupérer le fichier distant
 * @param int $profondeur ?
 * @return array|bool
 *     - array : l'arbre XML,
 *     - false si l'arbre xml ne peut être créé ou est vide
 **/
function spip_xml_load($fichier, $strict = true, $clean = true, $taille_max = 1048576, $datas = '', $profondeur = -1)
{
    $contenu = "";
    if (tester_url_absolue($fichier)) {
        include_spip('inc/distant');
        $contenu = recuperer_page($fichier, false, false, $taille_max, $datas);
    } else {
        lire_fichier($fichier, $contenu);
    }
    $arbre = array();
    if ($contenu) {
        $arbre = spip_xml_parse($contenu, $strict, $clean, $profondeur);
    }
    return count($arbre) ? $arbre : false;
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:40,代码来源:xml.php

示例5: securiser_redirect_action

function securiser_redirect_action($redirect)
{
    if ((tester_url_absolue($redirect) or preg_match(',^\\w+:,', trim($redirect))) and !defined('_AUTORISER_ACTION_ABS_REDIRECT')) {
        // si l'url est une url du site, on la laisse passer sans rien faire
        // c'est encore le plus simple
        $base = $GLOBALS['meta']['adresse_site'] . "/";
        if (strlen($base) and strncmp($redirect, $base, strlen($base)) == 0) {
            return $redirect;
        }
        $base = url_de_base();
        if (strlen($base) and strncmp($redirect, $base, strlen($base)) == 0) {
            return $redirect;
        }
        return "";
    }
    return $redirect;
}
开发者ID:RadioCanut,项目名称:site-radiocanut,代码行数:17,代码来源:aiguiller.php

示例6: formulaires_configurer_relayeur_verifier_dist

function formulaires_configurer_relayeur_verifier_dist()
{
    $erreurs = array();
    $http_proxy = relayeur_saisie_ou_config(_request('http_proxy'), lire_config('http_proxy', ''));
    $http_noproxy = _request('http_noproxy');
    if ($http_proxy and !tester_url_absolue($http_proxy)) {
        $erreurs['http_proxy'] = _T('info_url_proxy_pas_conforme');
    }
    if (!isset($erreurs['http_proxy']) and _request('tester_proxy')) {
        if (!$http_proxy) {
            $erreurs['http_proxy'] = _T('info_obligatoire');
        } else {
            include_spip('inc/distant');
            $test_proxy = _request('test_proxy');
            $t = parse_url($test_proxy);
            if (!@$t['host']) {
                $erreurs['test_proxy'] = _T('info_adresse_non_indiquee');
            } else {
                include_spip('inc/texte');
                // pour aide, couper, lang
                $info = "";
                if (!need_proxy($t['host'], $http_proxy, $http_noproxy)) {
                    $info = "<strong>" . _T('page_pas_proxy') . "</strong><br />";
                }
                // il faut fausser le proxy actuel pour faire le test !
                $cur_http_proxy = $GLOBALS['meta']['http_proxy'];
                $cur_http_noproxy = $GLOBALS['meta']['http_noproxy'];
                $GLOBALS['meta']['http_proxy'] = $http_proxy;
                $GLOBALS['meta']['http_noproxy'] = $http_noproxy;
                $page = recuperer_page($test_proxy, true);
                $GLOBALS['meta']['http_proxy'] = $cur_http_proxy;
                $GLOBALS['meta']['http_noproxy'] = $cur_http_noproxy;
                if ($page) {
                    $erreurs['message_ok'] = _T('info_proxy_ok') . "<br />{$info}\n<tt>" . couper(entites_html($page), 300) . "</tt>";
                    $erreurs['message_erreur'] = '';
                } else {
                    $erreurs['message_erreur'] = $info . _T('info_impossible_lire_page', array('test_proxy' => "<tt>{$test_proxy}</tt>")) . " <b><tt>" . no_password_proxy_url($http_proxy) . "</tt></b>." . aide('confhttpproxy');
                }
            }
        }
    }
    return $erreurs;
}
开发者ID:RadioCanut,项目名称:site-radiocanut,代码行数:43,代码来源:configurer_relayeur.php

示例7: formulaires_configurer_compresseur_verifier_dist

/**
 * Vérifications du formulaire de configuration du compresseur
 *
 * @return array
 *     Tableau des erreurs
 **/
function formulaires_configurer_compresseur_verifier_dist()
{
    $erreurs = array();
    // les checkbox
    foreach (array('auto_compress_js', 'auto_compress_css', 'auto_compress_closure') as $champ) {
        if (_request($champ) != 'oui') {
            set_request($champ, 'non');
        }
    }
    if ($url = _request('url_statique_ressources')) {
        $url = preg_replace(",/?\\s*\$,", "", $url);
        if (!tester_url_absolue($url)) {
            $protocole = explode('://', $GLOBALS['meta']['adresse_site']);
            $protocole = reset($protocole);
            $url = $protocole . "://{$url}";
        }
        set_request('url_statique_ressources', $url);
    }
    return $erreurs;
}
开发者ID:RadioCanut,项目名称:site-radiocanut,代码行数:26,代码来源:configurer_compresseur.php

示例8: analyser_dtd_lexeme

function analyser_dtd_lexeme($dtd, &$dtc, $grammaire)
{
    if (!preg_match(_REGEXP_ENTITY_DEF, $dtd, $m)) {
        return -9;
    }
    list(, $s) = $m;
    $n = $dtc->macros[$s];
    if (is_array($n)) {
        // en cas d'inclusion, l'espace de nom est le meme
        // mais gaffe aux DTD dont l'URL est relative a l'engloblante
        if ($n[0] == 'PUBLIC' and !tester_url_absolue($n[1])) {
            $n[1] = substr($grammaire, 0, strrpos($grammaire, '/') + 1) . $n[1];
        }
        analyser_dtd($n[1], $n[0], $dtc);
    }
    return ltrim(substr($dtd, strlen($m[0])));
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:17,代码来源:analyser_dtd.php

示例9: select_source

 /**
  * Aller chercher les donnees de la boucle DATA
  * depuis une source
  * {source format, [URL], [arg2]...}
  */
 protected function select_source()
 {
     # un peu crado : avant de charger le cache il faut charger
     # les class indispensables, sinon PHP ne saura pas gerer
     # l'objet en cache ; cf plugins/icalendar
     # perf : pas de fonction table_to_array ! (table est deja un array)
     if (isset($this->command['sourcemode']) and !in_array($this->command['sourcemode'], array('table', 'array', 'tableau'))) {
         charger_fonction($this->command['sourcemode'] . '_to_array', 'inc', true);
     }
     # le premier argument peut etre un array, une URL etc.
     $src = $this->command['source'][0];
     # avons-nous un cache dispo ?
     $cle = null;
     if (is_string($src)) {
         $cle = 'datasource_' . md5($this->command['sourcemode'] . ':' . var_export($this->command['source'], true));
     }
     $cache = $this->cache_get($cle);
     if (isset($this->command['datacache'])) {
         $ttl = intval($this->command['datacache']);
     }
     if ($cache and $cache['time'] + (isset($ttl) ? $ttl : $cache['ttl']) > time() and !(_request('var_mode') === 'recalcul' and include_spip('inc/autoriser') and autoriser('recalcul'))) {
         $this->tableau = $cache['data'];
     } else {
         try {
             # dommage que ca ne soit pas une option de yql_to_array...
             if ($this->command['sourcemode'] == 'yql') {
                 if (!isset($ttl)) {
                     $ttl = 3600;
                 }
             }
             if (isset($this->command['sourcemode']) and in_array($this->command['sourcemode'], array('table', 'array', 'tableau'))) {
                 if (is_array($a = $src) or is_string($a) and $a = str_replace('&quot;', '"', $a) and is_array($a = @unserialize($a))) {
                     $this->tableau = $a;
                 }
             } else {
                 if (tester_url_absolue($src)) {
                     include_spip('inc/distant');
                     $u = recuperer_page($src, false, false, _DATA_SOURCE_MAX_SIZE);
                     if (!$u) {
                         throw new Exception("404");
                     }
                     if (!isset($ttl)) {
                         $ttl = 24 * 3600;
                     }
                 } else {
                     if (@is_dir($src)) {
                         $u = $src;
                         if (!isset($ttl)) {
                             $ttl = 10;
                         }
                     } else {
                         if (@is_readable($src) && @is_file($src)) {
                             $u = spip_file_get_contents($src);
                             if (!isset($ttl)) {
                                 $ttl = 10;
                             }
                         } else {
                             $u = $src;
                             if (!isset($ttl)) {
                                 $ttl = 10;
                             }
                         }
                     }
                 }
                 if (!$this->err and $g = charger_fonction($this->command['sourcemode'] . '_to_array', 'inc', true)) {
                     $args = $this->command['source'];
                     $args[0] = $u;
                     if (is_array($a = call_user_func_array($g, $args))) {
                         $this->tableau = $a;
                     }
                 }
             }
             if (!is_array($this->tableau)) {
                 $this->err = true;
             }
             if (!$this->err and isset($ttl) and $ttl > 0) {
                 $this->cache_set($cle, $ttl);
             }
         } catch (Exception $e) {
             $e = $e->getMessage();
             $err = sprintf("[%s, %s] {$e}", $src, $this->command['sourcemode']);
             erreur_squelette(array($err, array()));
             $this->err = true;
         }
     }
     # en cas d'erreur, utiliser le cache si encore dispo
     if ($this->err and $cache) {
         $this->tableau = $cache['data'];
         $this->err = false;
     }
 }
开发者ID:JLuc,项目名称:SPIP,代码行数:96,代码来源:data.php

示例10: recuperer_infos_distantes

/**
 * Récupérer les infos d'un document distant, sans trop le télécharger
 *
 * @param string $source
 *     URL de la source
 * @param int $max
 *     Taille maximum du fichier à télécharger
 * @param bool $charger_si_petite_image
 *     Pour télécharger le document s'il est petit
 * @return array
 *     Couples des informations obtenues parmis :
 *
 *     - 'body' = chaine
 *     - 'type_image' = booleen
 *     - 'titre' = chaine
 *     - 'largeur' = intval
 *     - 'hauteur' = intval
 *     - 'taille' = intval
 *     - 'extension' = chaine
 *     - 'fichier' = chaine
 *     - 'mime_type' = chaine
 **/
function recuperer_infos_distantes($source, $max = 0, $charger_si_petite_image = true)
{
    // pas la peine de perdre son temps
    if (!tester_url_absolue($source)) {
        return false;
    }
    # charger les alias des types mime
    include_spip('base/typedoc');
    $a = array();
    $mime_type = '';
    // On va directement charger le debut des images et des fichiers html,
    // de maniere a attrapper le maximum d'infos (titre, taille, etc). Si
    // ca echoue l'utilisateur devra les entrer...
    if ($headers = recuperer_page($source, false, true, $max, '', '', true)) {
        list($headers, $a['body']) = preg_split(',\\n\\n,', $headers, 2);
        if (preg_match(",\nContent-Type: *([^[:space:];]*),i", "\n{$headers}", $regs)) {
            $mime_type = trim($regs[1]);
        } else {
            $mime_type = '';
        }
        // inconnu
        // Appliquer les alias
        while (isset($GLOBALS['mime_alias'][$mime_type])) {
            $mime_type = $GLOBALS['mime_alias'][$mime_type];
        }
        // Si on a un mime-type insignifiant
        // text/plain,application/octet-stream ou vide
        // c'est peut-etre que le serveur ne sait pas
        // ce qu'il sert ; on va tenter de detecter via l'extension de l'url
        // ou le Content-Disposition: attachment; filename=...
        $t = null;
        if (in_array($mime_type, array('text/plain', '', 'application/octet-stream'))) {
            if (!$t and preg_match(',\\.([a-z0-9]+)(\\?.*)?$,i', $source, $rext)) {
                $t = sql_fetsel("extension", "spip_types_documents", "extension=" . sql_quote($rext[1], '', 'text'));
            }
            if (!$t and preg_match(",^Content-Disposition:\\s*attachment;\\s*filename=(.*)\$,Uims", $headers, $m) and preg_match(',\\.([a-z0-9]+)(\\?.*)?$,i', $m[1], $rext)) {
                $t = sql_fetsel("extension", "spip_types_documents", "extension=" . sql_quote($rext[1], '', 'text'));
            }
        }
        // Autre mime/type (ou text/plain avec fichier d'extension inconnue)
        if (!$t) {
            $t = sql_fetsel("extension", "spip_types_documents", "mime_type=" . sql_quote($mime_type));
        }
        // Toujours rien ? (ex: audio/x-ogg au lieu de application/ogg)
        // On essaie de nouveau avec l'extension
        if (!$t and $mime_type != 'text/plain' and preg_match(',\\.([a-z0-9]+)(\\?.*)?$,i', $source, $rext)) {
            $t = sql_fetsel("extension", "spip_types_documents", "extension=" . sql_quote($rext[1], '', 'text'));
            # eviter xxx.3 => 3gp (> SPIP 3)
        }
        if ($t) {
            spip_log("mime-type {$mime_type} ok, extension " . $t['extension']);
            $a['extension'] = $t['extension'];
        } else {
            # par defaut on retombe sur '.bin' si c'est autorise
            spip_log("mime-type {$mime_type} inconnu");
            $t = sql_fetsel("extension", "spip_types_documents", "extension='bin'");
            if (!$t) {
                return false;
            }
            $a['extension'] = $t['extension'];
        }
        if (preg_match(",\nContent-Length: *([^[:space:]]*),i", "\n{$headers}", $regs)) {
            $a['taille'] = intval($regs[1]);
        }
    }
    // Echec avec HEAD, on tente avec GET
    if (!$a and !$max) {
        spip_log("tenter GET {$source}");
        $a = recuperer_infos_distantes($source, _INC_DISTANT_MAX_SIZE);
    }
    // si on a rien trouve pas la peine d'insister
    if (!$a) {
        return false;
    }
    // S'il s'agit d'une image pas trop grosse ou d'un fichier html, on va aller
    // recharger le document en GET et recuperer des donnees supplementaires...
    if (preg_match(',^image/(jpeg|gif|png|swf),', $mime_type)) {
        if ($max == 0 and (empty($a['taille']) or $a['taille'] < _INC_DISTANT_MAX_SIZE) and isset($GLOBALS['meta']['formats_graphiques']) and strpos($GLOBALS['meta']['formats_graphiques'], $a['extension']) !== false and $charger_si_petite_image) {
//.........这里部分代码省略.........
开发者ID:RadioCanut,项目名称:site-radiocanut,代码行数:101,代码来源:distant.php

示例11: formulaires_editer_auteur_verifier_dist

/**
 * Vérifications du formulaire d'édition d'un auteur
 *
 * Vérifie en plus des vérifications prévues :
 * - qu'un rédacteur ne peut pas supprimer son adresse mail,
 * - que le mot de passe choisi n'est pas trop court et identique à sa
 *   deuxième saisie
 *
 * @see formulaires_editer_objet_verifier()
 *
 * @param int|string $id_auteur
 *     Identifiant de l'auteur. 'new' pour une nouvel auteur.
 * @param string $retour
 *     URL de redirection après le traitement
 * @param string $associer_objet
 *     Éventuel 'objet|x' indiquant de lier le mot créé à cet objet,
 *     tel que 'article|3'
 * @param string $config_fonc
 *     Nom de la fonction ajoutant des configurations particulières au formulaire
 * @param array $row
 *     Valeurs de la ligne SQL de l'auteur, si connu
 * @param string $hidden
 *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
 * @return array
 *     Erreurs des saisies
 **/
function formulaires_editer_auteur_verifier_dist($id_auteur = 'new', $retour = '', $associer_objet = '', $config_fonc = 'auteurs_edit_config', $row = array(), $hidden = '')
{
    // auto-renseigner le nom si il n'existe pas, sans couper
    titre_automatique('nom', array('email', 'login'), 255);
    // mais il reste obligatoire si on a rien trouve
    $erreurs = formulaires_editer_objet_verifier('auteur', $id_auteur, array('nom'));
    $auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
    $auth_methode = $auth_methode ? $auth_methode : 'spip';
    include_spip('inc/auth');
    if (!nom_acceptable(_request('nom'))) {
        $erreurs['nom'] = _T("info_nom_pas_conforme");
    }
    if ($email = _request('email')) {
        include_spip('inc/filtres');
        include_spip('inc/autoriser');
        // un redacteur qui modifie son email n'a pas le droit de le vider si il y en avait un
        if (!autoriser('modifier', 'auteur', $id_auteur, null, array('email' => '?')) and $GLOBALS['visiteur_session']['id_auteur'] == $id_auteur and !strlen(trim($email)) and $email != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . intval($id_auteur)))) {
            $erreurs['email'] = $id_auteur == $GLOBALS['visiteur_session']['id_auteur'] ? _T('form_email_non_valide') : _T('form_prop_indiquer_email');
        } else {
            if (!email_valide($email)) {
                $erreurs['email'] = $id_auteur == $GLOBALS['visiteur_session']['id_auteur'] ? _T('form_email_non_valide') : _T('form_prop_indiquer_email');
            }
        }
        # Ne pas autoriser d'avoir deux auteurs avec le même email
        # cette fonctionalité nécessite que la base soit clean à l'activation : pas de
        # doublon sur la requête select email,count(*) from spip_auteurs group by email ;
        if (defined('_INTERDIRE_AUTEUR_MEME_EMAIL')) {
            #Nouvel auteur
            if (intval($id_auteur) == 0) {
                #Un auteur existe deja avec cette adresse ?
                if (sql_countsel("spip_auteurs", "email=" . sql_quote($email)) > 0) {
                    $erreurs['email'] = _T('erreur_email_deja_existant');
                }
            } else {
                #Un auteur existe deja avec cette adresse ? et n'est pas le user courant.
                if (sql_countsel("spip_auteurs", "email=" . sql_quote($email)) > 0 and $id_auteur != ($id_auteur_ancien = sql_getfetsel('id_auteur', 'spip_auteurs', "email=" . sql_quote($email)))) {
                    $erreurs['email'] = _T('erreur_email_deja_existant');
                }
            }
        }
    }
    if ($url = _request('url_site') and !tester_url_absolue($url)) {
        $erreurs['url_site'] = _T('info_url_site_pas_conforme');
    }
    $erreurs['message_erreur'] = '';
    if ($err = auth_verifier_login($auth_methode, _request('new_login'), $id_auteur)) {
        $erreurs['new_login'] = $err;
        $erreurs['message_erreur'] .= $err;
    } else {
        // pass trop court ou confirmation non identique
        if ($p = _request('new_pass')) {
            if ($p != _request('new_pass2')) {
                $erreurs['new_pass'] = _T('info_passes_identiques');
                $erreurs['message_erreur'] .= _T('info_passes_identiques');
            } elseif ($err = auth_verifier_pass($auth_methode, _request('new_login'), $p, $id_auteur)) {
                $erreurs['new_pass'] = $err;
                $erreurs['message_erreur'] .= $err;
            }
        }
    }
    if (!$erreurs['message_erreur']) {
        unset($erreurs['message_erreur']);
    }
    return $erreurs;
}
开发者ID:RadioCanut,项目名称:site-radiocanut,代码行数:91,代码来源:editer_auteur.php

示例12: taille_image

/**
 * Retourne les tailles d'une image
 *
 * Pour les filtres `largeur` et `hauteur`
 * 
 * @param string $img
 *     Balise HTML `<img ... />` ou chemin de l'image (qui peut être une URL distante).
 * @return array
 *     Liste (hauteur, largeur) en pixels
**/
function taille_image($img)
{
    static $largeur_img = array(), $hauteur_img = array();
    $srcWidth = 0;
    $srcHeight = 0;
    $logo = extraire_attribut($img, 'src');
    if (!$logo) {
        $logo = $img;
    } else {
        $srcWidth = extraire_attribut($img, 'width');
        $srcHeight = extraire_attribut($img, 'height');
    }
    // ne jamais operer directement sur une image distante pour des raisons de perfo
    // la copie locale a toutes les chances d'etre la ou de resservir
    if (tester_url_absolue($logo)) {
        include_spip('inc/distant');
        $fichier = copie_locale($logo);
        $logo = $fichier ? _DIR_RACINE . $fichier : $logo;
    }
    if (($p = strpos($logo, '?')) !== FALSE) {
        $logo = substr($logo, 0, $p);
    }
    $srcsize = false;
    if (isset($largeur_img[$logo])) {
        $srcWidth = $largeur_img[$logo];
    }
    if (isset($hauteur_img[$logo])) {
        $srcHeight = $hauteur_img[$logo];
    }
    if (!$srcWidth or !$srcHeight) {
        if (file_exists($logo) and $srcsize = @getimagesize($logo)) {
            if (!$srcWidth) {
                $largeur_img[$logo] = $srcWidth = $srcsize[0];
            }
            if (!$srcHeight) {
                $hauteur_img[$logo] = $srcHeight = $srcsize[1];
            }
        } elseif (@file_exists($f = "{$logo}.src") and lire_fichier($f, $valeurs) and $valeurs = unserialize($valeurs)) {
            if (!$srcWidth) {
                $largeur_img[$logo] = $srcWidth = $valeurs["largeur_dest"];
            }
            if (!$srcHeight) {
                $hauteur_img[$logo] = $srcHeight = $valeurs["hauteur_dest"];
            }
        }
    }
    return array($srcHeight, $srcWidth);
}
开发者ID:JLuc,项目名称:SPIP,代码行数:58,代码来源:filtres.php

示例13: player_post_propre

/**
 * enclosures
 * ajout d'un rel="enclosure" sur les liens mp3 absolus
 * appele en pipeline apres propre pour traiter les [mon son->http://monsite/mon_son.mp3]
 * peut etre appele dans un squelette apres |liens_absolus
 *
 * @param $texte
 * @return mixed
 */
function player_post_propre($texte)
{
    $reg_formats = "mp3";
    // plus vite
    if (stripos($texte, ".{$reg_formats}") !== false and stripos($texte, "<a") !== false) {
        $cfg = unserialize($GLOBALS['meta']['player']);
        // insertion du mini-player inline
        if (isset($cfg['insertion_auto']) and in_array('inline_mini', $cfg['insertion_auto'])) {
            $texte = preg_replace_callback(",<a(\\s[^>]*href=['\"]?(http://[a-zA-Z0-9\\s()\\/\\:\\._%\\?+'=~-]*\\.({$reg_formats}))['\"]?[^>]*)>,Uims", 'player_enclose_link', $texte);
        }
        if (isset($cfg['insertion_auto']) and in_array('player_end', $cfg['insertion_auto'])) {
            preg_match_all(",<a(\\s[^>]*href=['\"]?(http://[a-zA-Z0-9\\s()\\/\\:\\._%\\?+'=~-]*\\.({$reg_formats}))['\"]?[^>]*)>(.*)</a>,Uims", $texte, $matches, PREG_SET_ORDER);
            if (count($matches)) {
                foreach ($matches as $m) {
                    $url = $m[2];
                    $titre = $m[4];
                    $titre = (!strlen(textebrut($titre)) or tester_url_absolue($titre)) ? player_joli_titre($url) : $titre;
                    $emb = recuperer_fond("modeles/player", array('url_document' => $url, 'titre' => $titre));
                    if ($wrap_embed_html = charger_fonction("wrap_embed_html", "inc", true)) {
                        $emb = $wrap_embed_html(' ', $emb);
                    }
                    $texte .= $emb;
                }
            }
        }
    }
    return $texte;
}
开发者ID:RadioCanut,项目名称:site-radiocanut,代码行数:37,代码来源:player_fonctions.php

示例14: appliquer_adresse_site

/**
 * Mettre à jour l'adresse du site à partir d'une valeur saisie
 * (ou auto détection si vide)
 * 
 * @param string $adresse_site
 * @return string
 */
function appliquer_adresse_site($adresse_site)
{
    if ($adresse_site !== NULL) {
        if (!strlen($adresse_site)) {
            $GLOBALS['profondeur_url'] = _DIR_RESTREINT ? 0 : 1;
            $adresse_site = url_de_base();
        }
        $adresse_site = preg_replace(",/?\\s*\$,", "", $adresse_site);
        if (!tester_url_absolue($adresse_site)) {
            $adresse_site = "http://{$adresse_site}";
        }
        ecrire_meta('adresse_site', $adresse_site);
    }
    return $adresse_site;
}
开发者ID:JLuc,项目名称:SPIP,代码行数:22,代码来源:config.php

示例15: formulaires_login_traiter_dist

function formulaires_login_traiter_dist($cible="",$login="",$prive=null){
	$res = array();
	// Si on se connecte dans l'espace prive, 
	// ajouter "bonjour" (repere a peu pres les cookies desactives)
	if (is_null($prive) ? is_url_prive($cible) : $prive) {
		$cible = parametre_url($cible, 'bonjour', 'oui', '&');
	}
	if ($cible=='@page_auteur')
		$cible = generer_url_entite($GLOBALS['auteur_session']['id_auteur'],'auteur');

	if ($cible) {
		$cible = parametre_url($cible, 'var_login', '', '&');

		// transformer la cible absolue en cible relative
		// pour pas echouer quand la meta adresse_site est foireuse
		if (strncmp($cible,$u = url_de_base(),strlen($u))==0){
			$cible = "./".substr($cible,strlen($u));
		}

		// si c'est une url absolue, refuser la redirection
		// sauf si cette securite est levee volontairement par le webmestre
		elseif (tester_url_absolue($cible) AND !defined('_AUTORISER_LOGIN_ABS_REDIRECT')) {
			$cible = "";
		}
	}


	// Si on est admin, poser le cookie de correspondance
	if ($GLOBALS['auteur_session']['statut'] == '0minirezo') {
		include_spip('inc/cookie');
		spip_setcookie('spip_admin', '@'.$GLOBALS['auteur_session']['login'],
		time() + 7 * 24 * 3600);
	}

	// Si on est connecte, envoyer vers la destination
	if ($cible AND ($cible!=self())) {
		if (!headers_sent() AND !$_GET['var_mode']) {
			include_spip('inc/headers');
			$res['redirect'] = $cible;
		} else {
			$res['message_ok'] .= inserer_attribut(
				"<a>" . _T('login_par_ici') . "</a>",
				'href', $cible
			);
		}
	}
	return $res;
}
开发者ID:rhertzog,项目名称:lcs,代码行数:48,代码来源:login.php


注:本文中的tester_url_absolue函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。