예제 #1
0
파일: url_.php 프로젝트: nursit/SPIP
function balise_URL_PAGE_dist($p)
{
    $code = interprete_argument_balise(1, $p);
    $args = interprete_argument_balise(2, $p);
    if ($args == NULL) {
        $args = "''";
    }
    if ($s = trouver_nom_serveur_distant($p)) {
        // si une fonction de generation des url a ete definie pour ce connect l'utiliser
        // elle devra aussi traiter le cas derogatoire type=page
        if (function_exists($f = 'generer_generer_url_' . $s)) {
            if ($args and $args !== "''") {
                $code .= ", {$args}";
            }
            $code = $f('page', $code, $s);
            return $p;
        }
        $s = 'connect=' . addslashes($s);
        $args = ($args and $args !== "''") ? "{$args} . '&{$s}'" : "'{$s}'";
    }
    if (!$code) {
        $noentities = $p->etoile ? "'&'" : '';
        $code = "url_de_base() . preg_replace(',^./,', '', self({$noentities}))";
    } else {
        if (!$args) {
            $args = "''";
        }
        $noentities = $p->etoile ? ", true" : '';
        $code = "generer_url_public({$code}, {$args}{$noentities})";
    }
    $p->code = $code;
    spip_log("connect vaut {$s} ca donne " . $p->code . " args {$args}");
    #$p->interdire_scripts = true;
    return $p;
}
예제 #2
0
파일: references.php 프로젝트: JLuc/SPIP
/**
 * Teste si une balise est appliquée sur une base distante
 *
 * La fonction loge une erreur si la balise est utilisée sur une
 * base distante et retourne false dans ce cas.
 * 
 * @note
 *     Il faudrait savoir traiter les formulaires en local
 *     tout en appelant le serveur SQL distant.
 *     En attendant, cette fonction permet de refuser une authentification
 *     sur quelque-chose qui n'a rien a voir.
 * 
 * @param Champ $p
 *     AST positionné sur la balise
 * @return bool
 * 
 *     - true : La balise est autorisée
 *     - false : La balise est interdite car le serveur est distant
**/
function balise_distante_interdite($p)
{
    $nom = $p->id_boucle;
    if ($nom and trouver_nom_serveur_distant($p)) {
        spip_log($nom . ':' . $p->nom_champ . ' ' . _T('zbug_distant_interdit'));
        return false;
    }
    return true;
}