diff --git a/ecrire/articles.php3 b/ecrire/articles.php3 index 1c6fed582de7c2dff3428c6b453e167ff9de8d8b..a8d9652ee1cd24b02317c066c79eaf1fd29cb5d5 100644 --- a/ecrire/articles.php3 +++ b/ecrire/articles.php3 @@ -209,7 +209,7 @@ if ($changer_virtuel && $flag_editable) { $result = spip_query($query); } -if ($titre && !$ajout_forum && $flag_editable) { +if (strval($titre)!=='' AND !$ajout_forum AND $flag_editable) { $champs = array('surtitre', 'titre', 'soustitre', 'descriptif', 'nom_site', 'url_site', 'chapo', 'texte', 'ps'); $champs_version = array(); foreach ($champs as $nom_champ) { diff --git a/ecrire/auteur_infos.php3 b/ecrire/auteur_infos.php3 index a9e0f2030d19d06399a0ab89358f95eb48addb26..8873e4874cedd4e0d7c5bfc8ae8f4799bf2671e8 100644 --- a/ecrire/auteur_infos.php3 +++ b/ecrire/auteur_infos.php3 @@ -78,7 +78,9 @@ if ($id_auteur) { // // Modification (et creation si besoin) // -if ($nom) { // si on poste un nom, c'est qu'on modifie une fiche auteur + +// si on poste un nom, c'est qu'on modifie une fiche auteur +if (strval($nom)!='') { $auteur['nom'] = corriger_caracteres($nom); // login et mot de passe diff --git a/ecrire/breves_voir.php3 b/ecrire/breves_voir.php3 index 1bfffbc7bd531edbc65a941a113e0ce4bd8f4117..8716abdc553aeda78bea931294157f1c7ddc61af 100644 --- a/ecrire/breves_voir.php3 +++ b/ecrire/breves_voir.php3 @@ -42,7 +42,7 @@ if (($id_breve == 0) AND ($new == "oui")) { } -if ($titre AND $modifier_breve) { +if (strval($titre)!='' AND $modifier_breve) { $titre = addslashes($titre); $texte = addslashes($texte); $lien_titre = addslashes($lien_titre); diff --git a/ecrire/mots_edit.php3 b/ecrire/mots_edit.php3 index 0ea3c2895d00238d842c006a26335b1794cb39df..42ee8a2c75e3ee777a4db65f9c01fd5dd776272d 100644 --- a/ecrire/mots_edit.php3 +++ b/ecrire/mots_edit.php3 @@ -28,7 +28,7 @@ if ($connect_statut == '0minirezo' AND $connect_toutes_rubriques) { $result = spip_query($query); } - if ($titre_mot) { + if (strval($titre_mot)!='') { if ($new == 'oui' && $id_groupe) { $id_mot = spip_abstract_insert("spip_mots", '(id_groupe)', "($id_groupe)"); diff --git a/ecrire/sites.php3 b/ecrire/sites.php3 index e74e65de23eb71311c2f2637652f3de287e10aca..4d056ce12716ec8210b9185aad9c0dca797ac8e5 100644 --- a/ecrire/sites.php3 +++ b/ecrire/sites.php3 @@ -118,7 +118,7 @@ if ($nouveau_statut AND $flag_administrable) { } } -if ($nom_site AND $modifier_site == 'oui' AND $flag_editable) { +if (strval($nom_site)!='' AND $modifier_site == 'oui' AND $flag_editable) { $nom_site = addslashes($nom_site); $url_site = addslashes($url_site); $descriptif = addslashes($descriptif); diff --git a/inc-compilo.php3 b/inc-compilo.php3 index 807d3c50def0fb54e001d15871df0a0df1bd5872..bf481205b76c4e01baca9f16799251f3e3489f07 100644 --- a/inc-compilo.php3 +++ b/inc-compilo.php3 @@ -487,20 +487,22 @@ function compile_cas($tableau, $descr, &$boucles, $id_boucle='') { erreur_squelette(_T('zbug_info_erreur_squelette')); } // switch - if ($avant == "''") $avant = ''; - if ($apres == "''") $apres = ''; - if ($avant||$apres||($altern!="''")) - { - $t = '$t' . $descr['niv']; - $res = (!$avant ? "" : "$avant . ") . - $t . - (!$apres ? "" : " . $apres"); - $code = "(($t = $code) ?\n\t$tab($res) :\n\t$tab($altern))"; - } + if ($avant == "''") + $avant = ''; + if ($apres == "''") + $apres = ''; + if ($avant||$apres||($altern!="''")) { + $t = '$t' . $descr['niv']; + $res = (!$avant ? "" : "$avant . ") . + $t . + (!$apres ? "" : " . $apres"); + $code = "((strval($t = $code)!='')" + ." ?\n\t$tab($res) :\n\t$tab($altern))"; + } if ($code != "''") - $codes[]= (($GLOBALS['var_mode_affiche'] == 'validation') ? - "array(" . $p->ligne . ", '$commentaire', $code)" - : (($GLOBALS['var_mode_affiche'] == 'code') ? + $codes[]= (($GLOBALS['var_mode_affiche'] == 'validation') ? + "array(" . $p->ligne . ", '$commentaire', $code)" + : (($GLOBALS['var_mode_affiche'] == 'code') ? "\n// $commentaire\n$code" : $code)); } // foreach diff --git a/inc-criteres.php3 b/inc-criteres.php3 index 74e4d1d2bb519965927482a8272d7f9b1ab3febb..8c9d3a9af25b1c32d105a0b9554c6598409a4e20 100644 --- a/inc-criteres.php3 +++ b/inc-criteres.php3 @@ -232,9 +232,10 @@ function critere_parinverse($idb, &$boucles, $crit, $sens) { $boucle->select[] = $texte . " AS $as"; $order = "'$as'"; } - else if ($par == 'date') { - $order = "'".$boucle->id_table.".". - $GLOBALS['table_date'][$boucle->type_requete] + else if ($par == 'date' + AND isset($GLOBALS['table_date'][$boucle->type_requete])) { + $order = "'".$boucle->id_table."." + .$GLOBALS['table_date'][$boucle->type_requete] ."'"; } // par champ. Verifier qu'ils sont presents. @@ -309,8 +310,8 @@ function critere_agenda($idb, &$boucles, $crit) $parent = $boucles[$idb]->id_parent; - // les valeur $date et $type doivent etre connus à la compilation - // autrement dit ne pas être des champs + // les valeurs $date et $type doivent etre connus a la compilation + // autrement dit ne pas etre des champs $date = array_shift($params); $date = $date[0]->texte; @@ -514,15 +515,18 @@ function calculer_critere_infixe($idb, &$boucles, $crit) { $col = 'id_rubrique'; // Cas particulier : expressions de date - else if (ereg("^(date|mois|annee|heure|age|age_relatif|jour_relatif|mois_relatif|annee_relatif)(_redac)?$", $col, $regs)) { - list($col, $col_table) = - calculer_critere_infixe_date($idb, $boucles, $regs[1], $regs[2]); - } + else if ($table_date[$type] + AND preg_match(",^(date|mois|annee|heure|age|" + ."age_relatif|jour_relatif|mois_relatif|annee_relatif)(_redac)?$,", + $col, $regs)) { + list($col, $col_table) = + calculer_critere_infixe_date($idb, $boucles, $regs[1], $regs[2]); + } // HACK : selection des documents selon mode 'image' - // (a creer en dur dans la base) - else if ($type == 'documents' AND $col == 'mode' AND $val[0] == "'image'") - $val[0] = "'vignette'"; + // => on cherche en fait 'vignette' + else if ($type == 'documents' AND $col == 'mode') + $val[0] = str_replace('image', 'vignette', $val[0]); else { $nom = $table_des_tables[$type];