Browse Source

Coding standard

remotes/checkIfPRContentChanged-1654089505039021552/4.0
Matthieu Marcillaud 9 months ago
parent
commit
3263834e63
  1. 5
      composer.json
  2. 4
      ecrire/action/editer_logo.php
  3. 12
      ecrire/balise/formulaire_.php
  4. 14
      ecrire/base/connect_sql.php
  5. 2
      ecrire/exec/admin_plugin.php
  6. 12
      ecrire/inc/config.php
  7. 8
      ecrire/inc/distant.php
  8. 18
      ecrire/inc/documents.php
  9. 8
      ecrire/inc/filtres.php
  10. 2
      ecrire/inc/filtres_ecrire.php
  11. 7
      ecrire/inc/filtres_images_lib_mini.php
  12. 2
      ecrire/inc/invalideur.php
  13. 6
      ecrire/inc/texte_mini.php
  14. 4
      ecrire/inc/utils.php
  15. 2
      ecrire/install/etape_3.php
  16. 30
      ecrire/install/etape_ldap2.php
  17. 1
      ecrire/iterateur/sql.php
  18. 4
      ecrire/public/debusquer.php
  19. 4
      ecrire/public/interfaces.php
  20. 4
      ecrire/public/iterateur.php
  21. 8
      ecrire/public/jointures.php
  22. 1
      ecrire/xml/indenter.php
  23. 1
      ecrire/xml/valider.php

5
composer.json

@ -17,5 +17,10 @@
"!tmp/remove.txt",
"!tmp/CACHEDIR.TAG"
]
},
"config": {
"allow-plugins": {
"dealerdirect/phpcodesniffer-composer-installer": true
}
}
}

4
ecrire/action/editer_logo.php

@ -182,7 +182,7 @@ function logo_migrer_en_base($objet, $time_limit) {
$filescheck[$short] = $file;
}
// trouver ceux deja migres
$deja = sql_allfetsel('fichier', 'spip_documents', sql_in('fichier', array_keys($filescheck))." AND mode LIKE 'logo%'");
$deja = sql_allfetsel('fichier', 'spip_documents', sql_in('fichier', array_keys($filescheck)) . " AND mode LIKE 'logo%'");
if (count($deja)) {
$deja = array_column($deja, 'fichier');
$restant = array_diff(array_keys($filescheck), $deja);
@ -201,7 +201,7 @@ function logo_migrer_en_base($objet, $time_limit) {
}
}
spip_log("logo_migrer_en_base $objet $mode : " . count($files) ." logos restant", "maj" . _LOG_INFO_IMPORTANTE);
spip_log("logo_migrer_en_base $objet $mode : " . count($files) . ' logos restant', 'maj' . _LOG_INFO_IMPORTANTE);
$deja = [];
foreach ($files as $file) {

12
ecrire/balise/formulaire_.php

@ -137,15 +137,17 @@ function balise_FORMULAIRE__dist($p) {
// sinon renvoyer un code php dynamique
$p = calculer_balise_dynamique($p, $p->nom_champ, []);
if (!test_espace_prive()
and !empty($p->descr['sourcefile'])
and $f = $p->descr['sourcefile']
and basename(dirname($f)) === 'modeles') {
if (
!test_espace_prive()
and !empty($p->descr['sourcefile'])
and $f = $p->descr['sourcefile']
and basename(dirname($f)) === 'modeles'
) {
// un modele est toujours inséré en texte dans son contenant
// donc si on est dans le public avec un cache on va perdre le dynamisme
// et on risque de mettre en cache les valeurs pre-remplies du formulaire
// on injecte donc le PHP qui va appeler la fonction pour generer le formulaire au lieu de directement la fonction
$p->code = "'<'.'?php echo (".texte_script($p->code)."); ?'.'>'";
$p->code = "'<'.'?php echo (" . texte_script($p->code) . "); ?'.'>'";
// dans l'espace prive on a pas de cache, donc pas de soucis (et un leak serait moins grave)
}
return $p;

14
ecrire/base/connect_sql.php

@ -399,7 +399,7 @@ function _q($a) {
* @param string $query
* @return array
*/
function query_echappe_textes($query, $uniqid=null) {
function query_echappe_textes($query, $uniqid = null) {
static $codeEchappements = null;
if (is_null($codeEchappements)) {
if (is_null($uniqid)) {
@ -427,14 +427,16 @@ function query_echappe_textes($query, $uniqid=null) {
$parts = [];
$currentpos = 0;
$k = 0;
while(count($textes)) {
while (count($textes)) {
$part = array_shift($textes);
$nextpos = strpos($query_echappees, $part, $currentpos);
// si besoin recoller ensemble les doubles '' de sqlite (echappement des ')
while (count($textes) and substr($part, -1) === "'") {
$next = reset($textes);
if (strpos($next, "'") === 0
and strpos($query_echappees, $part . $next, $currentpos) === $nextpos) {
if (
strpos($next, "'") === 0
and strpos($query_echappees, $part . $next, $currentpos) === $nextpos
) {
$part .= array_shift($textes);
}
else {
@ -445,13 +447,13 @@ function query_echappe_textes($query, $uniqid=null) {
$parts[$k] = [
'texte' => $part,
'position' => $nextpos,
'placeholder' => '%'.$k.'$s',
'placeholder' => '%' . $k . '$s',
];
$currentpos = $nextpos + strlen($part);
}
// et on replace les parts une par une en commencant par la fin
while ($k>0) {
while ($k > 0) {
$query_echappees = substr_replace($query_echappees, $parts[$k]['placeholder'], $parts[$k]['position'], strlen($parts[$k]['texte']));
$k--;
}

2
ecrire/exec/admin_plugin.php

@ -117,7 +117,7 @@ function admin_plug_args($quoi, $erreur, $format) {
// message d'erreur au retour d'une operation
if ($erreur) {
echo "<div class='error'>".spip_htmlspecialchars($erreur)."</div>";
echo "<div class='error'>" . spip_htmlspecialchars($erreur) . '</div>';
}
if ($erreur_activation) {
echo "<div class='error'>$erreur_activation</div>";

12
ecrire/inc/config.php

@ -248,14 +248,12 @@ function ecrire_config($cfg, $store) {
}
} // dans tous les autres cas, on ecrase
else {
if (
defined('_MYSQL_NOPLANES')
defined('_MYSQL_NOPLANES')
and _MYSQL_NOPLANES
and !empty($GLOBALS['meta']['charset_sql_connexion'])
and $GLOBALS['meta']['charset_sql_connexion'] == 'utf8'
) {
// detecter si la valeur qu'on veut ecrire a des planes
// @see utf8_noplanes
$serialized_store = (is_string($store) ? $store : serialize($store));
@ -297,9 +295,13 @@ function ecrire_config($cfg, $store) {
// et dans ce cas il faut verifier que l'ecriture en base a bien eu lieu a l'identique si il y a des planes dans la chaine
// car sinon ca casse le serialize PHP - par exemple si on est en mysql utf8 (non mb4)
if ($has_planes) {
$check_store = sql_getfetsel('valeur', 'spip_'.$table, 'nom='.sql_quote($casier));
$check_store = sql_getfetsel('valeur', 'spip_' . $table, 'nom=' . sql_quote($casier));
if ($check_store !== $serialized_store) {
array_walk_recursive($store, function (&$value, $key) {if (is_string($value)) {$value = utf8_noplanes($value);}});
array_walk_recursive($store, function (&$value, $key) {
if (is_string($value)) {
$value = utf8_noplanes($value);
}
});
$serialized_store = serialize($store);
ecrire_meta($casier, $serialized_store, null, $table);
}

8
ecrire/inc/distant.php

@ -126,8 +126,10 @@ function copie_locale($source, $mode = 'auto', $local = null, $taille_max = null
}
// si on retrouve l'extension
if (!empty($res['headers'])
and $extension = distant_trouver_extension_selon_headers($source, $res['headers'])) {
if (
!empty($res['headers'])
and $extension = distant_trouver_extension_selon_headers($source, $res['headers'])
) {
if ($sanitizer = charger_fonction($extension, 'sanitizer', true)) {
$sanitizer($localrac);
}
@ -215,7 +217,7 @@ function valider_url_distante($url, $known_hosts = []) {
foreach ($records as $record) {
// il faut que le TTL soit suffisant afin d'etre certain que le copie_locale eventuel qui suit
// se fasse sur la meme IP
if ($record['ttl']<10) {
if ($record['ttl'] < 10) {
$ip = false;
break;
}

18
ecrire/inc/documents.php

@ -141,24 +141,26 @@ function copier_document($ext, $orig, $source, $subdir = null) {
$dir = creer_repertoire_documents($subdir ? $subdir : $ext);
$dest = preg_replace('/<[^>]*>/', '', basename($orig));
$dest = preg_replace('/\.([^.]+)$/','', $dest);
$dest = preg_replace('/\.([^.]+)$/', '', $dest);
$dest = translitteration($dest);
$dest = preg_replace('/[^.=\w-]+/','_', $dest);
$dest = preg_replace('/[^.=\w-]+/', '_', $dest);
// ne pas accepter de noms de la forme -r90.jpg qui sont reserves
// pour les images transformees par rotation (action/documenter)
$dest = preg_replace(',-r(90|180|270)$,', '', $dest);
while (preg_match(",\.(\w+)$,", $dest, $m)) {
if (!function_exists('verifier_upload_autorise')
or !$r = verifier_upload_autorise($dest)
or $r['autozip']) {
while (preg_match(',\.(\w+)$,', $dest, $m)) {
if (
!function_exists('verifier_upload_autorise')
or !$r = verifier_upload_autorise($dest)
or $r['autozip']
) {
$dest = substr($dest, 0, -strlen($m[0])) . '_' . $m[1];
break;
}
else {
$dest = substr($dest, 0, -strlen($m[0]));
$ext = $m[1] . "." . $ext;
$ext = $m[1] . '.' . $ext;
}
}
@ -370,4 +372,4 @@ function corriger_extension($ext) {
}
return $ext;
}
}

8
ecrire/inc/filtres.php

@ -207,7 +207,7 @@ function spip_version() {
* Masque la version de SPIP si la globale spip_header_silencieux le demande.
*
* @global spip_header_silencieux permet de rendre le header minimal pour raisons de securité
*
*
* @param string $version
* @return void
*/
@ -3728,9 +3728,11 @@ function filtre_balise_svg_dist($img, $alt = '', $class = null, $size = null) {
$img_file = ($fichier ? _DIR_RACINE . $fichier : $img_file);
}
if (!$img_file
if (
!$img_file
or !file_exists($img_file)
or !$svg = file_get_contents($img_file)) {
or !$svg = file_get_contents($img_file)
) {
return '';
}
}

2
ecrire/inc/filtres_ecrire.php

@ -599,7 +599,7 @@ function lister_objets_lies($objet_source, $objet, $id_objet, $objet_lien) {
$l = array_keys($l);
} else {
// Si les liens qu'on cherche sont ceux de la table de lien, l'info est dans la clé de l'objet
// Sinon c'est dans "id_objet"
// Sinon c'est dans "id_objet"
$l = array_column(
$res,
$objet_source == $objet_lien ? id_table_objet($objet_source) : 'id_objet'

7
ecrire/inc/filtres_images_lib_mini.php

@ -342,8 +342,10 @@ function _image_valeurs_trans($img, $effet, $forcer_format = false, $fonction_cr
if (!$fichier) {
return '';
}
if ($extension = _image_trouver_extension($fichier)
and $sanitizer = charger_fonction($extension, 'sanitizer', true)) {
if (
$extension = _image_trouver_extension($fichier)
and $sanitizer = charger_fonction($extension, 'sanitizer', true)
) {
$sanitizer($fichier);
}
} else {
@ -1871,7 +1873,6 @@ function process_image_reduire($fonction, $img, $taille, $taille_y, $force, $pro
* Class phpthumb_functions
*/
class phpthumb_functions {
/**
* Retourne la couleur d'un pixel dans une image
*

2
ecrire/inc/invalideur.php

@ -145,7 +145,7 @@ function purger_repertoire($dir, $options = []) {
// sur certains sites on veut absolument garder certains caches référencés dans un CDN
// on peut donc inhiber la purge de ces répertoires pour eviter tout probleme
if (file_exists(rtrim($dir,'/') . '/inhib_purger_repertoire.txt')) {
if (file_exists(rtrim($dir, '/') . '/inhib_purger_repertoire.txt')) {
return 0;
}

6
ecrire/inc/texte_mini.php

@ -238,8 +238,10 @@ function echappe_html(
$echap = $regs[0];
} // sinon les traiter selon le cas
else {
if (function_exists($f = $callback_prefix . 'traiter_echap_' . strtolower($regs[1]))
or function_exists($f = $f . '_dist')) {
if (
function_exists($f = $callback_prefix . 'traiter_echap_' . strtolower($regs[1]))
or function_exists($f = $f . '_dist')
) {
$echap = $f($regs);
}
}

4
ecrire/inc/utils.php

@ -3232,8 +3232,8 @@ function exec_info_dist() {
foreach ($cookies_masques as $k) {
if (!empty($_COOKIE[$k])) {
$cookies_backup[$k] = $_COOKIE[$k];
$_SERVER['HTTP_COOKIE'] = str_replace("$k=".$_COOKIE[$k], "$k=$mask", $_SERVER['HTTP_COOKIE'] ?? []);
$_ENV['HTTP_COOKIE'] = str_replace("$k=".$_COOKIE[$k], "$k=$mask", $_ENV['HTTP_COOKIE'] ?? []);
$_SERVER['HTTP_COOKIE'] = str_replace("$k=" . $_COOKIE[$k], "$k=$mask", $_SERVER['HTTP_COOKIE'] ?? []);
$_ENV['HTTP_COOKIE'] = str_replace("$k=" . $_COOKIE[$k], "$k=$mask", $_ENV['HTTP_COOKIE'] ?? []);
$_COOKIE[$k] = $mask;
}
}

2
ecrire/install/etape_3.php

@ -370,7 +370,7 @@ function install_etape_3_dist() {
$hidden = predef_ou_cache($adresse_db, $login_db, $pass_db, $server_db)
. (defined('_INSTALL_NAME_DB') ? ''
: "\n<input type='hidden' name='sel_db' value=\"".spip_htmlspecialchars($sel_db)."\" />");
: "\n<input type='hidden' name='sel_db' value=\"" . spip_htmlspecialchars($sel_db) . '" />');
$auteur_obligatoire = ($ldap_present ? 0 : !sql_countsel('spip_auteurs', '', '', '', $server_db));

30
ecrire/install/etape_ldap2.php

@ -49,7 +49,7 @@ function install_etape_ldap2_dist() {
$adresse_ldap = filter_var($adresse_ldap, FILTER_SANITIZE_URL) ?: '';
$ldap_link = ldap_connect($adresse_ldap, $port_ldap);
$erreur = "ldap_connect(".spip_htmlspecialchars($adresse_ldap).", ".spip_htmlspecialchars($port_ldap).")";
$erreur = 'ldap_connect(' . spip_htmlspecialchars($adresse_ldap) . ', ' . spip_htmlspecialchars($port_ldap) . ')';
if ($ldap_link) {
if (!ldap_set_option($ldap_link, LDAP_OPT_PROTOCOL_VERSION, $protocole_ldap)) {
@ -58,19 +58,19 @@ function install_etape_ldap2_dist() {
}
if ($tls === true) {
if (!ldap_start_tls($ldap_link)) {
$erreur = "ldap_start_tls(".spip_htmlspecialchars($ldap_link)
." ".spip_htmlspecialchars($adresse_ldap)
.", ".spip_htmlspecialchars($port_ldap).")";
$erreur = 'ldap_start_tls(' . spip_htmlspecialchars($ldap_link)
. ' ' . spip_htmlspecialchars($adresse_ldap)
. ', ' . spip_htmlspecialchars($port_ldap) . ')';
$ldap_link = false;
}
}
if ($ldap_link) {
$ldap_link = ldap_bind($ldap_link, $login_ldap, $pass_ldap);
$erreur = "ldap_bind('".spip_htmlspecialchars($ldap_link)
."', '".spip_htmlspecialchars($login_ldap)
."', '".spip_htmlspecialchars($pass_ldap)
."'): ".spip_htmlspecialchars($adresse_ldap)
.", ".spip_htmlspecialchars($port_ldap);
$erreur = "ldap_bind('" . spip_htmlspecialchars($ldap_link)
. "', '" . spip_htmlspecialchars($login_ldap)
. "', '" . spip_htmlspecialchars($pass_ldap)
. "'): " . spip_htmlspecialchars($adresse_ldap)
. ', ' . spip_htmlspecialchars($port_ldap);
}
}
@ -81,12 +81,12 @@ function install_etape_ldap2_dist() {
), _T('info_connexion_ldap_ok');
echo generer_form_ecrire('install', (
"\n<input type='hidden' name='etape' value='ldap3' />"
. "\n<input type='hidden' name='adresse_ldap' value=\"".spip_htmlspecialchars($adresse_ldap)."\" />"
. "\n<input type='hidden' name='port_ldap' value=\"".spip_htmlspecialchars($port_ldap)."\" />"
. "\n<input type='hidden' name='login_ldap' value=\"".spip_htmlspecialchars($login_ldap)."\" />"
. "\n<input type='hidden' name='pass_ldap' value=\"".spip_htmlspecialchars($pass_ldap)."\" />"
. "\n<input type='hidden' name='protocole_ldap' value=\"".spip_htmlspecialchars($protocole_ldap)."\" />"
. "\n<input type='hidden' name='tls_ldap' value=\"".spip_htmlspecialchars($tls_ldap)."\" />"
. "\n<input type='hidden' name='adresse_ldap' value=\"" . spip_htmlspecialchars($adresse_ldap) . '" />'
. "\n<input type='hidden' name='port_ldap' value=\"" . spip_htmlspecialchars($port_ldap) . '" />'
. "\n<input type='hidden' name='login_ldap' value=\"" . spip_htmlspecialchars($login_ldap) . '" />'
. "\n<input type='hidden' name='pass_ldap' value=\"" . spip_htmlspecialchars($pass_ldap) . '" />'
. "\n<input type='hidden' name='protocole_ldap' value=\"" . spip_htmlspecialchars($protocole_ldap) . '" />'
. "\n<input type='hidden' name='tls_ldap' value=\"" . spip_htmlspecialchars($tls_ldap) . '" />'
. bouton_suivant()));
} else {
echo info_etape(_T('titre_connexion_ldap')), info_progression_etape(1, 'etape_ldap', 'install/', true),

1
ecrire/iterateur/sql.php

@ -27,7 +27,6 @@ if (!defined('_ECRIRE_INC_VERSION')) {
* Permet d'itérer sur des données en base de données
*/
class IterateurSQL implements Iterator {
/**
* ressource sql
*

4
ecrire/public/debusquer.php

@ -113,8 +113,8 @@ function public_debusquer_dist($message = '', $lieu = '', $opt = []) {
include_spip('inc/filtres');
lang_select($GLOBALS['visiteur_session']['lang']);
$fonc = preg_replace(",\W,", "_", _request('var_mode_objet') ?? '');
$mode = preg_replace(",\W,", "_", _request('var_mode_affiche') ?? '');
$fonc = preg_replace(',\W,', '_', _request('var_mode_objet') ?? '');
$mode = preg_replace(',\W,', '_', _request('var_mode_affiche') ?? '');
$self = str_replace("\\'", '&#39;', self());
$self = parametre_url($self, 'var_mode', 'debug');

4
ecrire/public/interfaces.php

@ -975,9 +975,9 @@ function declarer_interfaces() {
if (!defined('_TRAITEMENT_TYPO_SANS_NUMERO')) {
define('_TRAITEMENT_TYPO_SANS_NUMERO', 'supprimer_numero(typo(%s, "TYPO", $connect, $Pile[0]))');
}
$GLOBALS['table_des_traitements']['BIO'][] = 'safehtml('._TRAITEMENT_RACCOURCIS.')';
$GLOBALS['table_des_traitements']['BIO'][] = 'safehtml(' . _TRAITEMENT_RACCOURCIS . ')';
$GLOBALS['table_des_traitements']['NOM_SITE']['spip_auteurs'] = 'entites_html(%s)';
$GLOBALS['table_des_traitements']['NOM']['spip_auteurs'] = 'safehtml('. _TRAITEMENT_TYPO_SANS_NUMERO.')';
$GLOBALS['table_des_traitements']['NOM']['spip_auteurs'] = 'safehtml(' . _TRAITEMENT_TYPO_SANS_NUMERO . ')';
$GLOBALS['table_des_traitements']['CHAPO'][] = _TRAITEMENT_RACCOURCIS;
$GLOBALS['table_des_traitements']['DATE'][] = 'normaliser_date(%s)';
$GLOBALS['table_des_traitements']['DATE_REDAC'][] = 'normaliser_date(%s)';

4
ecrire/public/iterateur.php

@ -258,7 +258,7 @@ class IterDecorator extends FilterIterator {
// Creer la fonction de filtrage sur $this
if ($this->filtre) {
if ($filtres = $this->assembler_filtres($this->filtre)) {
$filtres = 'return ' . $filtres.';';
$filtres = 'return ' . $filtres . ';';
$this->func_filtre = function () use ($filtres) {
return eval($filtres);
};
@ -295,7 +295,7 @@ class IterDecorator extends FilterIterator {
return null;
}
return "(" . implode( ") $operateur (", $filtres_string) . ")";
return '(' . implode(") $operateur (", $filtres_string) . ')';
}
/**

8
ecrire/public/jointures.php

@ -242,9 +242,11 @@ function fabrique_jointures(&$boucle, $res, $cond = false, $desc = [], $nom = ''
* @return bool
*/
function nogroupby_if($depart, $arrivee, $col) {
if (empty($arrivee['key']['PRIMARY KEY'])
or !($pk = $arrivee['key']['PRIMARY KEY'])
or empty($depart['key']['PRIMARY KEY'])) {
if (
empty($arrivee['key']['PRIMARY KEY'])
or !($pk = $arrivee['key']['PRIMARY KEY'])
or empty($depart['key']['PRIMARY KEY'])
) {
return false;
}
$id_primary = $depart['key']['PRIMARY KEY'];

1
ecrire/xml/indenter.php

@ -15,7 +15,6 @@ if (!defined('_ECRIRE_INC_VERSION')) {
}
class IndenteurXML {
// https://code.spip.net/@debutElement
public function debutElement($phraseur, $name, $attrs) {
xml_debutElement($this, $name, $attrs);

1
ecrire/xml/valider.php

@ -22,7 +22,6 @@ if (!defined('_ECRIRE_INC_VERSION')) {
* on a les memes methodes et variables que l'indenteur
**/
class ValidateurXML {
// https://code.spip.net/@validerElement
public function validerElement($phraseur, $name, $attrs) {
if (!($p = isset($this->dtc->elements[$name]))) {

Loading…
Cancel
Save