本文整理汇总了PHP中erreur_squelette函数的典型用法代码示例。如果您正苦于以下问题:PHP erreur_squelette函数的具体用法?PHP erreur_squelette怎么用?PHP erreur_squelette使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了erreur_squelette函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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;
}
示例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;
}
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
}
示例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;
}
示例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
}
示例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;
}
}
示例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 '';
}
}
示例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;
}