• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP erreur_squelette函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: balise_FOREACH

function balise_FOREACH($p) {
	$_tableau = interprete_argument_balise(1,$p);
	$_tableau = str_replace("'", "", strtoupper($_tableau));
	$_tableau = sinon($_tableau, 'ENV');
	$f = 'balise_'.$_tableau;
	$balise = function_exists($f) ? $f : (function_exists($g = $f.'_dist') ? $g : '');

	if($balise) {
		$_modele = interprete_argument_balise(2,$p);
		$_modele = str_replace("'", "", strtolower($_modele));
		$__modele = 'foreach_'.strtolower($_tableau);
		$_modele = (!$_modele AND find_in_path('modeles/'.$__modele.'.html')) ?
			$__modele : 
			($_modele ? $_modele : 'foreach');

		$p->param = @array_shift(@array_shift($p->param));
		$p = $balise($p);
		$filtre = chercher_filtre('foreach');
		$p->code = $filtre . "(unserialize(" . $p->code . "), '" . $_modele . "')";
	}
	//On a pas trouve la balise correspondant au tableau a traiter
	else {
		erreur_squelette(
			_L(/*zbug*/'erreur #FOREACH: la balise #'.$_tableau.' n\'existe pas'),
			$p->id_boucle
		);
		$p->code = "''";
	}
	return $p;
}
开发者ID:rhertzog,项目名称:lcs,代码行数:30,代码来源:193_fonctions.php


示例2: balise_FORMULAIRE_SIGNATURE_stat

function balise_FORMULAIRE_SIGNATURE_stat($args, $context_compil) {

	// pas d'id_article => erreur de contexte
	if (!$args[0]) {
		$msg = array('zbug_champ_hors_motif',
				array ('champ' => 'FORMULAIRE_SIGNATURE',
				       'motif' => 'ARTICLES'));
		erreur_squelette($msg, $context_compil);
		return '';
	}
	// article sans petition => pas de balise
	else if (!$args[1])
		return '';

	else {
		// aller chercher dans la base la petition associee
		if ($r = sql_fetsel("texte, site_obli, message", 'spip_petitions', "id_article = ".intval($args[0]))) {
			$args[2] = $r['texte'];
			// le signataire doit-il donner un site ?
			$args[3] = ($r['site_obli'] == 'oui') ? ' ':'';
			// le signataire peut-il proposer un commentaire
			$args[4] = ($r['message'] == 'oui') ? ' ':'';
		}
		return $args;
	}
}
开发者ID:rhertzog,项目名称:lcs,代码行数:26,代码来源:formulaire_signature.php


示例3: balise_SET__dist

function balise_SET__dist($p) {
	$champ = $p->nom_champ;
	preg_match(",^SET_([A-Z_]+)?$,i", $champ, $filtre);
	$filtre = strtolower($filtre[1]);
	$filtre2 = chercher_filtre($filtre);
	if (!$filtre2) {
		$err_b_s_a = array('zbug_erreur_filtre', array('filtre' => $filtre));
		erreur_squelette($err_b_s_a, $p);
	} else {
		$nom = interprete_argument_balise(1,$p);
		if (!$nom) {
			$err_b_s_a = array('zbug_balise_sans_argument', array('balise' => $champ));
			erreur_squelette($err_b_s_a, $p);
		} else {
			$i = 1; $args = array();
			while(($a = interprete_argument_balise(++$i,$p)) != NULL) $args[] = $a;
			$get = function_exists('balise_GET') ? 'balise_GET' : 'balise_GET_dist';
			$q = $p; $q->param[0] = array($q->param[0][0], $q->param[0][1]);
			$get = $get($q);
			$filtre2 .= '('.$get->code.','.join(",", $args).')';
			$p->code = "vide(\$Pile['vars'][$nom] = $filtre2)";
		}
	}
	$p->interdire_scripts = false; // la balise ne renvoie rien
	return $p;
}
开发者ID:rhertzog,项目名称:lcs,代码行数:26,代码来源:balise_set_fonctions.php


示例4: balise_FORMULAIRE_ECRIRE_AUTEUR_stat

/**
 * Calculs de paramètres de contexte automatiques pour la balise FORMULAIRE_ECRIRE_AUTEUR
 *
 * Retourne le contexte du formulaire uniquement si l'email de l'auteur
 * est valide, sinon rien (pas d'exécution/affichage du formulaire)
 * 
 * @param array $args
 *   Liste des arguments demandés obtenus du contexte (id_auteur, id_article, email)
 * @param array $context_compil
 *   Tableau d'informations sur la compilation
 * @return array|string
 *   - Liste (id_auteur, id_article, email) des paramètres du formulaire CVT
 *   - chaîne vide sinon (erreur ou non affichage).
 */
function balise_FORMULAIRE_ECRIRE_AUTEUR_stat($args, $context_compil)
{
    include_spip('inc/filtres');
    // Pas d'id_auteur ni d'id_article ? Erreur de contexte
    $id = intval($args[1]);
    if (!$args[0] and !$id) {
        $msg = array('zbug_champ_hors_motif', array('champ' => 'FORMULAIRE_ECRIRE_AUTEUR', 'motif' => 'AUTEURS/ARTICLES'));
        erreur_squelette($msg, $context_compil);
        return '';
    }
    // Si on est dans un contexte article,
    // sortir tous les mails des auteurs de l'article
    if (!$args[0] and $id) {
        $r = '';
        $s = sql_allfetsel('email', 'spip_auteurs AS A LEFT JOIN spip_auteurs_liens AS L ON (A.id_auteur=L.id_auteur AND L.objet=\'article\')', "A.email != '' AND L.id_objet={$id}");
        foreach ($s as $row) {
            if (email_valide($row['email'])) {
                $r .= ', ' . $row['email'];
            }
        }
        $args[2] = substr($r, 2);
    }
    // On ne peut pas ecrire a un auteur dont le mail n'est pas valide
    if (!$args[2] or !email_valide($args[2])) {
        return '';
    }
    // OK
    return $args;
}
开发者ID:JLuc,项目名称:SPIP,代码行数:43,代码来源:formulaire_ecrire_auteur.php


示例5: trace_query_end

function trace_query_end($query, $start, $result, $erreur, $serveur=''){
	if ($start)
		trace_query_chrono($start, microtime(), $query, $result, $serveur);
	// tracer les erreurs, sauf pour select, c'est fait dans abstract_sql
	if ($erreur AND !preg_match('/^select\b/i', $query))
		erreur_squelette(array(sql_errno($serveur), $erreur, $query));
	return $result;
}
开发者ID:rhertzog,项目名称:lcs,代码行数:8,代码来源:tracer.php


示例6: sandbox_composer_filtre

/**
 * Composer le code d'execution d'un filtre
 *
 * @param string $fonc
 * @param string $code
 * @param string $arglist
 * @param Object $p
 * @return string
 */
function sandbox_composer_filtre($fonc, $code, $arglist, &$p)
{
    if (isset($GLOBALS['spip_matrice'][$fonc])) {
        $code = "filtrer('{$fonc}',{$code}{$arglist})";
    } elseif ($f = chercher_filtre($fonc)) {
        $code = "{$f}({$code}{$arglist})";
    } else {
        erreur_squelette(array('zbug_erreur_filtre', array('filtre' => texte_script($fonc))), $p);
    }
    return $code;
}
开发者ID:nursit,项目名称:SPIP,代码行数:20,代码来源:sandbox.php


示例7: balise_FORMULAIRE_SITE_stat

function balise_FORMULAIRE_SITE_stat($args, $context_compil)
{
    // Pas d'id_rubrique ? Erreur de contexte
    if (!$args[0]) {
        $msg = array('zbug_champ_hors_motif', array('champ' => 'FORMULAIRE_SITE', 'motif' => 'RUBRIQUES'));
        erreur_squelette($msg, $context_compil);
        return '';
    }
    // Verifier que les visisteurs sont autorises a proposer un site
    return $GLOBALS['meta']["proposer_sites"] != 2 ? '' : $args;
}
开发者ID:loorenzooo,项目名称:aslfc,代码行数:11,代码来源:formulaire_site.php


示例8: balise_AVANCEMENT_CAMPAGNE_dist

function balise_AVANCEMENT_CAMPAGNE_dist($p)
{
    if ($p->type_requete != "souscription_campagnes") {
        $msg = array('zbug_champ_hors_boucle', array('champ' => '#AVANCEMENT_CAMPAGNE'));
        erreur_squelette($msg, $p);
    } else {
        $_campagne = champ_sql('id_souscription_campagne', $p);
        $_type_objectif = champ_sql('type_objectif', $p);
        $_objectif_initial = champ_sql('objectif_initial', $p);
        $p->code = "calcul_avancement_campagne({$_campagne}, {$_type_objectif}, {$_objectif_initial})";
        $p->interdire_scripts = false;
    }
    return $p;
}
开发者ID:attacfr,项目名称:spip_souscription,代码行数:14,代码来源:souscription_fonctions.php


示例9: balise_FORMULAIRE_SIGNATURE_stat

function balise_FORMULAIRE_SIGNATURE_stat($args, $context_compil)
{
    // pas d'id_article => erreur de contexte
    if (!$args[0]) {
        $msg = array('zbug_champ_hors_motif', array('champ' => 'FORMULAIRE_SIGNATURE', 'motif' => 'ARTICLES'));
        erreur_squelette($msg, $context_compil);
        return '';
    } else {
        if (!$args[1]) {
            return '';
        }
    }
    // on envoie pas cet argument dans le CVT
    unset($args[1]);
    return $args;
}
开发者ID:genma,项目名称:spip_ynh,代码行数:16,代码来源:formulaire_signature.php


示例10: balise_INFO__dist

/**
 * Generer n'importe quel info pour un objet : #INFO_TITRE{article, #ENV{id_article}}
 * Utilise la fonction generer_info_entite() de inc/filtres
 * se reporter a sa documentation
 * 
 */
function balise_INFO__dist($p)
{
    $info = $p->nom_champ;
    $type_objet = interprete_argument_balise(1, $p);
    $id_objet = interprete_argument_balise(2, $p);
    if ($info === 'INFO_' or !$type_objet or !$id_objet) {
        $msg = _T('zbug_balise_sans_argument', array('balise' => ' INFO_'));
        erreur_squelette($msg, $p);
        $p->interdire_scripts = true;
        return $p;
    } else {
        $info_sql = strtolower(substr($info, 5));
        $code = "generer_info_entite({$id_objet}, {$type_objet}, '{$info_sql}'" . ($p->etoile ? "," . _q($p->etoile) : "") . ")";
        $p->code = champ_sql($info, $p, $code);
        $p->interdire_scripts = true;
        return $p;
    }
}
开发者ID:genma,项目名称:spip_ynh,代码行数:24,代码来源:info_.php


示例11: sandbox_composer_filtre

/**
 * Composer le code d'execution d'un filtre
 *
 * @param string $fonc
 * @param string $code
 * @param string $arglist
 * @param Object $p
 * @return string
 */
function sandbox_composer_filtre($fonc, $code, $arglist, &$p)
{
    if (isset($GLOBALS['spip_matrice'][$fonc])) {
        $code = "filtrer('{$fonc}',{$code}{$arglist})";
    } elseif ($f = chercher_filtre($fonc)) {
        // cas particulier : le filtre |set doit acceder a la $Pile
        // proto: filtre_set(&$Pile, $val, $args...)
        $refl = new ReflectionFunction($f);
        $refs = $refl->getParameters();
        if (isset($refs[0]) and $refs[0]->name == 'Pile') {
            $code = "{$f}(\$Pile,{$code}{$arglist})";
        } else {
            $code = "{$f}({$code}{$arglist})";
        }
    } else {
        erreur_squelette(array('zbug_erreur_filtre', array('filtre' => texte_script($fonc))), $p);
    }
    return $code;
}
开发者ID:jazzman346,项目名称:CAC_Site,代码行数:28,代码来源:sandbox.php


示例12: critere_agendafull_dist

/**
 * {agendafull ..} variante etendue du crietre agenda du core
 * qui accepte une date de debut et une date de fin
 *
 * {agendafull date_debut, date_fin, jour, #ENV{annee}, #ENV{mois}, #ENV{jour}}
 * {agendafull date_debut, date_fin, semaine, #ENV{annee}, #ENV{mois}, #ENV{jour}}
 * {agendafull date_debut, date_fin, mois, #ENV{annee}, #ENV{mois}}
 * {agendafull date_debut, date_fin, periode, #ENV{annee}, #ENV{mois}, #ENV{jour},
 *                                            #ENV{annee_fin}, #ENV{mois_fin}, #ENV{jour_fin}}
 *
 * @param string $idb
 * @param object $boucles
 * @param object $crit
 */
function critere_agendafull_dist($idb, &$boucles, $crit)
{
    $params = $crit->param;
    if (count($params) < 1) {
        erreur_squelette(_T('zbug_info_erreur_squelette'), "{agenda ?} BOUCLE{$idb}");
    }
    $parent = $boucles[$idb]->id_parent;
    // les valeurs $date et $type doivent etre connus a la compilation
    // autrement dit ne pas etre des champs
    $date_deb = array_shift($params);
    $date_deb = $date_deb[0]->texte;
    $date_fin = array_shift($params);
    $date_fin = $date_fin[0]->texte;
    $type = array_shift($params);
    $type = $type[0]->texte;
    $annee = $params ? array_shift($params) : "";
    $annee = "\n" . 'sprintf("%04d", ($x = ' . calculer_liste($annee, array(), $boucles, $parent) . ') ? $x : date("Y"))';
    $mois = $params ? array_shift($params) : "";
    $mois = "\n" . 'sprintf("%02d", ($x = ' . calculer_liste($mois, array(), $boucles, $parent) . ') ? $x : date("m"))';
    $jour = $params ? array_shift($params) : "";
    $jour = "\n" . 'sprintf("%02d", ($x = ' . calculer_liste($jour, array(), $boucles, $parent) . ') ? $x : date("d"))';
    $annee2 = $params ? array_shift($params) : "";
    $annee2 = "\n" . 'sprintf("%04d", ($x = ' . calculer_liste($annee2, array(), $boucles, $parent) . ') ? $x : date("Y"))';
    $mois2 = $params ? array_shift($params) : "";
    $mois2 = "\n" . 'sprintf("%02d", ($x = ' . calculer_liste($mois2, array(), $boucles, $parent) . ') ? $x : date("m"))';
    $jour2 = $params ? array_shift($params) : "";
    $jour2 = "\n" . 'sprintf("%02d", ($x = ' . calculer_liste($jour2, array(), $boucles, $parent) . ') ? $x : date("d"))';
    $boucle =& $boucles[$idb];
    $date = $boucle->id_table . ".{$date}";
    $quote_end = ",'" . $boucle->sql_serveur . "','text'";
    if ($type == 'jour') {
        $boucle->where[] = array("'AND'", array("'<='", "'DATE_FORMAT({$date_deb}, \\'%Y%m%d\\')'", "sql_quote({$annee} . {$mois} . {$jour}{$quote_end})"), array("'>='", "'DATE_FORMAT({$date_fin}, \\'%Y%m%d\\')'", "sql_quote({$annee} . {$mois} . {$jour}{$quote_end})"));
    } elseif ($type == 'mois') {
        $boucle->where[] = array("'AND'", array("'<='", "'DATE_FORMAT({$date_deb}, \\'%Y%m\\')'", "sql_quote({$annee} . {$mois}{$quote_end})"), array("'>='", "'DATE_FORMAT({$date_fin}, \\'%Y%m\\')'", "sql_quote({$annee} . {$mois}{$quote_end})"));
    } elseif ($type == 'semaine') {
        $boucle->where[] = array("'AND'", array("'>='", "'DATE_FORMAT({$date_fin}, \\'%Y%m%d\\')'", "date_debut_semaine({$annee}, {$mois}, {$jour})"), array("'<='", "'DATE_FORMAT({$date_deb}, \\'%Y%m%d\\')'", "date_fin_semaine({$annee}, {$mois}, {$jour})"));
    } elseif (count($crit->param) > 3) {
        $boucle->where[] = array("'AND'", array("'>='", "'DATE_FORMAT({$date_fin}, \\'%Y%m%d\\')'", "sql_quote({$annee} . {$mois} . {$jour}{$quote_end})"), array("'<='", "'DATE_FORMAT({$date_deb}, \\'%Y%m%d\\')'", "sql_quote({$annee2} . {$mois2} . {$jour2}{$quote_end})"));
    }
    // sinon on prend tout
}
开发者ID:jazzman346,项目名称:CAC_Site,代码行数:55,代码来源:agenda_filtres.php


示例13: balise_URL__dist

function balise_URL__dist($p)
{
    $nom = $p->nom_champ;
    if ($nom === 'URL_') {
        $msg = array('zbug_balise_sans_argument', array('balise' => ' URL_'));
        erreur_squelette($msg, $p);
        $p->interdire_scripts = false;
        return $p;
    } elseif ($f = charger_fonction($nom, 'balise', true)) {
        return $f($p);
    } else {
        $nom = strtolower($nom);
        $code = generer_generer_url(substr($nom, 4), $p);
        $code = champ_sql($nom, $p, $code);
        $p->code = $code;
        if (!$p->etoile) {
            $p->code = "vider_url({$code})";
        }
        $p->interdire_scripts = false;
        return $p;
    }
}
开发者ID:nursit,项目名称:SPIP,代码行数:22,代码来源:url_.php


示例14: lesscss_compile

/**
 * Compiler des styles inline LESS en CSS
 *
 * @param string $style
 *   contenu du .less
 * @param array $contexte
 *   file : chemin du fichier compile
 *          utilise en cas de message d'erreur, et pour le repertoire de reference des @import
 * @return string
 */
function lesscss_compile($style, $contexte = array())
{
    static $import_dirs = null;
    require_once 'less.php/Less.php';
    if (is_null($import_dirs)) {
        $path = _chemin();
        $import_dirs = array();
        foreach ($path as $p) {
            $import_dirs[$p] = protocole_implicite(url_absolue($p ? $p : "./"));
        }
    }
    $parser = new Less_Parser();
    include_spip('inc/config');
    $parser->setOption('sourceMap', lire_config('lesscss/activer_sourcemaps', false) == "on" ? true : false);
    $parser->setImportDirs($import_dirs);
    $parser->relativeUrls = true;
    try {
        $url_absolue = $contexte['file'] ? protocole_implicite(url_absolue($contexte['file'])) : null;
        $parser->parse($style, $url_absolue);
        $out = $parser->getCss();
        if ($files = Less_Parser::AllParsedFiles() and count($files)) {
            $l = strlen(_DIR_RACINE);
            foreach ($files as $k => $file) {
                if (strncmp($file, _DIR_RACINE, $l) == 0) {
                    $files[$k] = substr($file, $l);
                }
            }
            $out = "/*\n#@" . implode("\n#@", $files) . "\n*" . "/\n" . $out;
        }
        return $out;
    } catch (exception $ex) {
        spip_log('less.php fatal error:' . $ex->getMessage(), 'less' . _LOG_ERREUR);
        erreur_squelette("LESS : Echec compilation" . (isset($contexte['file']) ? " fichier " . $contexte['file'] : "") . "<br />" . $ex->getMessage());
        return '';
    }
}
开发者ID:RadioCanut,项目名称:site-radiocanut,代码行数:46,代码来源:lesscss_fonctions.php


示例15: ajax_retour

/**
 * Fonction de formatage du contenu renvoye en ajax
 *
 * http://doc.spip.org/@ajax_retour
 *
 * @param string $corps
 * @param string $content_type
 *   permet de definir le type de contenu renvoye.
 *   Si rien de précisé, ou si true c'est "text/html" avec un entete xml en plus.
 *   La valeur speciale false fournit text/html sans entete xml. Elle equivaut a
 *   passer "text/html" comme $content_type
 */
function ajax_retour($corps, $content_type = null)
{
    $xml = false;
    if (is_null($content_type) or $content_type === true) {
        $xml = true;
        $content_type = 'text/html';
    } elseif (!$content_type or !is_string($content_type) or strpos($content_type, '/') === false) {
        $content_type = 'text/html';
    }
    $e = "";
    if (isset($_COOKIE['spip_admin']) and (_request('var_mode') == 'debug' or !empty($GLOBALS['tableau_des_temps']))) {
        $e = erreur_squelette();
    }
    if (isset($GLOBALS['transformer_xml']) or isset($GLOBALS['exec']) and $GLOBALS['exec'] == 'valider_xml') {
        $debut = _DOCTYPE_ECRIRE . "<html><head><title>Debug Spip Ajax</title></head>" . "<body><div>\n\n" . "<!-- %%%%%%%%%%%%%%%%%%% Ajax %%%%%%%%%%%%%%%%%%% -->\n";
        $fin = '</div></body></html>';
    } else {
        $c = $GLOBALS['meta']["charset"];
        header('Content-Type: ' . $content_type . '; charset=' . $c);
        $debut = ($xml and strlen(trim($corps))) ? '<' . "?xml version='1.0' encoding='" . $c . "'?" . ">\n" : '';
        $fin = "";
    }
    echo $debut, $corps, $fin, $e;
}
开发者ID:genma,项目名称:spip_ynh,代码行数:36,代码来源:actions.php


示例16: filtrer

function filtrer($filtre)
{
    if (isset($GLOBALS['spip_matrice'][$filtre]) and is_string($f = $GLOBALS['spip_matrice'][$filtre])) {
        find_in_path($f, '', true);
        $GLOBALS['spip_matrice'][$filtre] = true;
    }
    $tous = func_get_args();
    if (substr($filtre, 0, 6) == 'image_' && $GLOBALS['spip_matrice'][$filtre]) {
        return image_filtrer($tous);
    } elseif ($f = chercher_filtre($filtre)) {
        array_shift($tous);
        return call_user_func_array($f, $tous);
    } else {
        // le filtre n'existe pas, on provoque une erreur
        $msg = array('zbug_erreur_filtre', array('filtre' => texte_script($filtre)));
        erreur_squelette($msg);
        return '';
    }
}
开发者ID:loorenzooo,项目名称:aslfc,代码行数:19,代码来源:filtres.php


示例17: sql_select

/**
 * Effectue une requête de selection
 *
 * Fonction de selection (SELECT), retournant la ressource interrogeable par sql_fetch.
 *
 * @api
 * @see sql_fetch()      Pour boucler sur les resultats de cette fonction
 *
 * @param array|string $select
 *     Liste des champs a recuperer (Select)
 * @param array|string $from
 *     Tables a consulter (From)
 * @param array|string $where
 *     Conditions a remplir (Where)
 * @param array|string $groupby
 *     Critere de regroupement (Group by)
 * @param array|string $orderby
 *     Tableau de classement (Order By)
 * @param string $limit
 *     Critere de limite (Limit)
 * @param array $having
 *     Tableau des des post-conditions a remplir (Having)
 * @param string $serveur
 *     Le serveur sollicite (pour retrouver la connexion)
 * @param bool|string $option
 *     Peut avoir 3 valeurs :
 *
 *     - false -> ne pas l'exécuter mais la retourner,
 *     - continue -> ne pas echouer en cas de serveur sql indisponible,
 *     - true|array -> executer la requête.
 *     Le cas array est, pour une requete produite par le compilateur,
 *     un tableau donnnant le contexte afin d'indiquer le lieu de l'erreur au besoin
 *
 *
 * @return mixed
 *     Ressource SQL
 *
 *     - Ressource SQL pour sql_fetch, si la requete est correcte
 *     - false en cas d'erreur
 *     - Chaine contenant la requete avec $option=false
 *
 * Retourne false en cas d'erreur, apres l'avoir denoncee.
 * Les portages doivent retourner la requete elle-meme en cas d'erreur,
 * afin de disposer du texte brut.
 *
 **/
function sql_select($select = array(), $from = array(), $where = array(), $groupby = array(), $orderby = array(), $limit = '', $having = array(), $serveur = '', $option = true)
{
    $f = sql_serveur('select', $serveur, $option === 'continue' or $option === false);
    if (!is_string($f) or !$f) {
        return false;
    }
    $debug = (defined('_VAR_MODE') and _VAR_MODE == 'debug');
    if ($option !== false and !$debug) {
        $res = $f($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, is_array($option) ? true : $option);
    } else {
        $query = $f($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, false);
        if (!$option) {
            return $query;
        }
        // le debug, c'est pour ce qui a ete produit par le compilateur
        if (isset($GLOBALS['debug']['aucasou'])) {
            list($table, $id, ) = $GLOBALS['debug']['aucasou'];
            $nom = $GLOBALS['debug_objets']['courant'] . $id;
            $GLOBALS['debug_objets']['requete'][$nom] = $query;
        }
        $res = $f($select, $from, $where, $groupby, $orderby, $limit, $having, $serveur, true);
    }
    // en cas d'erreur
    if (!is_string($res)) {
        return $res;
    }
    // denoncer l'erreur SQL dans sa version brute
    spip_sql_erreur($serveur);
    // idem dans sa version squelette (prefixe des tables non substitue)
    $contexte_compil = sql_error_backtrace(true);
    erreur_squelette(array(sql_errno($serveur), sql_error($serveur), $res), $contexte_compil);
    return false;
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:79,代码来源:abstract_sql.php


示例18: css_resolve_atimport

/**
 * Resoudre et inliner les @import
 * ceux-ci ne peuvent etre presents qu'en debut de CSS et on ne veut pas changer l'ordre des directives
 *
 * @param string $contenu
 * @param string $url_base
 * @return string
 */
function css_resolve_atimport($contenu, $url_base)
{
    // vite si rien a faire
    if (strpos($contenu, "@import") === false) {
        return $contenu;
    }
    $imports_non_resolvables = array();
    preg_match_all(",@import ([^;]*);,UmsS", $contenu, $matches, PREG_SET_ORDER);
    if ($matches and count($matches)) {
        foreach ($matches as $m) {
            $url = $media = $erreur = "";
            if (preg_match(",^\\s*url\\s*\\(\\s*['\"]?([^'\"]*)['\"]?\\s*\\),Ums", $m[1], $r)) {
                $url = $r[1];
                $media = trim(substr($m[1], strlen($r[0])));
            } elseif (preg_match(",^\\s*['\"]([^'\"]+)['\"],Ums", $m[1], $r)) {
                $url = $r[1];
                $media = trim(substr($m[1], strlen($r[0])));
            }
            if (!$url) {
                $erreur = "Compresseur : <tt>" . $m[0] . ";</tt> non resolu dans <tt>{$url_base}</tt>";
            } else {
                $url = suivre_lien($url_base, $url);
                // url relative ?
                $root = protocole_implicite($GLOBALS['meta']['adresse_site'] . "/");
                if (strncmp($url, $root, strlen($root)) == 0) {
                    $url = _DIR_RACINE . substr($url, strlen($root));
                } else {
                    // si l'url a un protocole http(s):// on ne considère qu'on ne peut pas
                    // résoudre le stockage. Par exemple
                    // @import url(https://fonts.googleapis.com/css?family=Ubuntu);
                    // retournant un contenu différent en fonction navigateur
                    // tous les @import restant seront remontes en tete de CSS en fin de concatenation
                    if (preg_match(',^https?://,', $url)) {
                        $url = "";
                    } else {
                        // protocole implicite //
                        $url = "http:{$url}";
                    }
                }
                if ($url) {
                    // on renvoit dans la boucle pour que le fichier inclus
                    // soit aussi processe (@import, url absolue etc...)
                    $css = compresseur_callback_prepare_css($url);
                    if ($css == $url or !lire_fichier($css, $contenu_imported)) {
                        $erreur = "Compresseur : url {$url} de <tt>" . $m[0] . ";</tt> non resolu dans <tt>{$url_base}</tt>";
                    } else {
                        if ($media) {
                            $contenu_imported = "@media {$media}{\n{$contenu_imported}\n}\n";
                        }
                        $contenu = str_replace($m[0], $contenu_imported, $contenu);
                    }
                }
            }
            if ($erreur) {
                $contenu = str_replace($m[0], "/* erreur @ import " . $m[1] . "*/", $contenu);
                erreur_squelette($erreur);
            }
        }
    }
    return $contenu;
}
开发者ID:loorenzooo,项目名称:aslfc,代码行数:69,代码来源:compresseur.php


示例19: balise_INFO__dist

/**
 * Generer n'importe quel info pour un objet : #INFO_TITRE{article, #ENV{id_article}}
 * Utilise la fonction generer_info_entite(), se reporter a sa documentation
 */
function balise_INFO__dist($p){
	$info = $p->nom_champ;
	$type_objet = interprete_argument_balise(1,$p);
	$id_objet = interprete_argument_balise(2,$p);
	if ($info === 'INFO_' or !$type_objet or !$id_objet) {
		$msg = _T('zbug_balise_sans_argument', array('balise' => ' INFO_'));
		erreur_squelette($msg, $p);
		$p->interdire_scripts = false;
		return $p;
	} elseif ($f = charger_fonction($nom, 'balise', true)) {
		return $f($p);
	}else {
		$p->code = champ_sql($info, $p);
		if (strpos($p->code, '@$Pile[0]') !== false) {
			$info = strtolower(substr($info,5));
			$p->code = "generer_info_entite($id_objet, $type_objet, '$info')";
		}
		$p->interdire_scripts = false;
		return $p;
	}
}
开发者ID:rhertzog,项目名称:lcs,代码行数:25,代码来源:spip_bonux_balises.php


示例20: _imagecreatefromgif

/**
 * Crée une image depuis un fichier ou une URL (au format gif)
 *
 * Utilise les fonctions spécifiques GD.
 *
 * @param string $filename
 *     Le path vers l'image à traiter (par exemple : IMG/distant/gif/image.gif
 *     ou local/cache-vignettes/L180xH51/image.gif).
 * @return ressource
 *     Une ressource de type Image GD.
 */
function _imagecreatefromgif($filename)
{
    $img = @imagecreatefromgif($filename);
    if (!$img) {
        spip_log("Erreur lecture imagecreatefromgif {$filename}", _LOG_CRITIQUE);
        erreur_squelette("Erreur lecture imagecreatefromgif {$filename}");
        $img = imagecreate(10, 10);
    }
    return $img;
}
开发者ID:xablen,项目名称:Semaine14_SPIP_test,代码行数:21,代码来源:filtres_images_lib_mini.php



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP erro_fatal函数代码示例发布时间:2022-05-15
下一篇:
PHP err_msg函数代码示例发布时间:2022-05-15
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap