Skip to content
Extraits de code Groupes Projets
Valider cf576ec0 rédigé par marcimat's avatar marcimat
Parcourir les fichiers

fix: Notices diverses, simplification de code

parent 35c68e4b
Aucune branche associée trouvée
Étiquettes 4.0.0
Aucune requête de fusion associée trouvée
...@@ -32,35 +32,22 @@ function action_tradlang_exporter_langue_dist() { ...@@ -32,35 +32,22 @@ function action_tradlang_exporter_langue_dist() {
$tradlang_sauvegarde_module = charger_fonction('tradlang_sauvegarde_module', 'inc'); $tradlang_sauvegarde_module = charger_fonction('tradlang_sauvegarde_module', 'inc');
$fichier = $tradlang_sauvegarde_module($module, $lang_cible, false, $type, $tout); $fichier = $tradlang_sauvegarde_module($module, $lang_cible, false, $type, $tout);
if (file_exists($fichier)) { if (file_exists($fichier)) {
// supprimer et vider les buffers qui posent des problemes de memory limit
// http://www.php.net/manual/en/function.readfile.php#81032
// Copie du plugin acces restreint action/api_docrestreint.php
@ini_set('zlib.output_compression', '0'); // pour permettre l'affichage au fur et a mesure
@ini_set('output_buffering', 'off');
@ini_set('implicit_flush', 1);
@ob_implicit_flush(1);
while ($level--) {
@ob_end_clean();
}
switch ($type) { switch ($type) {
case 'po': case 'po':
header('Content-Type: application/x-gettext;'); $content_type = 'application/x-gettext';
break; break;
case 'csv': case 'csv':
header('Content-type: text/csv'); $content_type = 'text/csv';
break;
case 'php':
$content_type = 'application/x-httpd-php';
break; break;
default: default:
header('Content-Type: application/x-httpd-php;'); $content_type = 'application/octet-stream';
break;
} }
header('Content-Length: ' . filesize($fichier)); include_spip('inc/livrer_fichier');
header('Content-Transfer-Encoding: binary'); spip_livrer_fichier($fichier, $content_type);
header('Pragma: public'); // required
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private', false); // required for certain browsers
header('Content-Disposition: attachment; filename="' . basename($fichier) . '"');
readfile($fichier);
die(); die();
} else { } else {
include_spip('inc/minipres'); include_spip('inc/minipres');
......
...@@ -30,7 +30,6 @@ if (!defined('_ECRIRE_INC_VERSION')) { ...@@ -30,7 +30,6 @@ if (!defined('_ECRIRE_INC_VERSION')) {
*/ */
function export_lang_po_dist($module, $langue, $dir_lang) { function export_lang_po_dist($module, $langue, $dir_lang) {
$traducteurs = []; $traducteurs = [];
$lang = null;
$x = $tous = []; $x = $tous = [];
$contenu = ''; $contenu = '';
...@@ -64,22 +63,30 @@ function export_lang_po_dist($module, $langue, $dir_lang) { ...@@ -64,22 +63,30 @@ function export_lang_po_dist($module, $langue, $dir_lang) {
$last_auteur = sql_fetsel('nom,email', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur); $last_auteur = sql_fetsel('nom,email', 'spip_auteurs', 'id_auteur=' . (int) $id_auteur);
$traducteurs[$lang] = []; $traducteurs[$langue] = [];
$people_unique = []; $people_unique = [];
$liste_traducteurs = sql_select('DISTINCT(traducteur)', 'spip_tradlangs', 'id_tradlang_module = ' . (int) $info_module['id_tradlang_module'] . ' AND lang = ' . sql_quote($langue)); $liste_traducteurs = sql_allfetsel(
while ($t = sql_fetch($liste_traducteurs)) { 'DISTINCT(traducteur)',
'spip_tradlangs',
[
'id_tradlang_module = ' . (int) $info_module['id_tradlang_module'],
'lang = ' . sql_quote($langue),
'traducteur IS NOT NULL'
]
);
foreach ($liste_traducteurs as $t) {
$traducteurs_lang = explode(',', $t['traducteur']); $traducteurs_lang = explode(',', $t['traducteur']);
foreach ($traducteurs_lang as $traducteur) { foreach ($traducteurs_lang as $traducteur) {
if (!in_array($traducteur, $people_unique)) { if (!in_array($traducteur, $people_unique)) {
if (is_numeric($traducteur) && ($id_auteur = (int) $traducteur)) { if (is_numeric($traducteur) && ($id_auteur = (int) $traducteur)) {
$traducteur_supp['nom'] = extraire_multi(sql_getfetsel('nom', 'spip_auteurs', 'id_auteur = ' . $id_auteur)); $traducteur_supp['nom'] = extraire_multi(sql_getfetsel('nom', 'spip_auteurs', 'id_auteur = ' . $id_auteur));
$traducteur_supp['lien'] = url_absolue(generer_objet_url($id_auteur, 'auteur'), $url_site); $traducteur_supp['lien'] = url_absolue(generer_objet_url($id_auteur, 'auteur'));
} elseif (trim(strlen($traducteur)) > 0) { } elseif (trim(strlen($traducteur)) > 0) {
$traducteur_supp['nom'] = trim($traducteur); $traducteur_supp['nom'] = trim($traducteur);
$traducteur_supp['lien'] = ''; $traducteur_supp['lien'] = '';
} }
if (isset($traducteur_supp['nom'])) { if (isset($traducteur_supp['nom'])) {
$traducteurs[$lang][] = $traducteur_supp; $traducteurs[$langue][] = $traducteur_supp;
} }
unset($traducteur_supp); unset($traducteur_supp);
$people_unique[] = $traducteur; $people_unique[] = $traducteur;
......
...@@ -43,14 +43,7 @@ function export_lang_spip_dist($module, $langue, $dir_lang, $tout = false) { ...@@ -43,14 +43,7 @@ function export_lang_spip_dist($module, $langue, $dir_lang, $tout = false) {
$res = sql_allfetsel('id,str,comm,statut', 'spip_tradlangs', $where, 'id'); $res = sql_allfetsel('id,str,comm,statut', 'spip_tradlangs', $where, 'id');
$x = []; $x = [];
$prev = ''; $prev = '';
/** $tous = array_column($res, null, 'id');
* on part de l'origine comme ca on a tout
* meme si c'est pas dans la base de donnees (import de salvatore/lecteur.php)
*/
$tous = $lorigine;
foreach ($res as $row) {
$tous[$row['id']] = $row;
}
ksort($tous); ksort($tous);
foreach ($tous as $row) { foreach ($tous as $row) {
if ($prev !== strtoupper($row['id'][0])) { if ($prev !== strtoupper($row['id'][0])) {
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter