@@ -16,312 +16,312 @@ |
||
| 16 | 16 | |
| 17 | 17 | function maj_v014_dist($version_installee, $version_cible) |
| 18 | 18 | { |
| 19 | - if (upgrade_vers(1.404, $version_installee, $version_cible)) { |
|
| 20 | - spip_query("UPDATE spip_mots SET type='Mots sans groupe...' WHERE type=''"); |
|
| 21 | - |
|
| 22 | - $result = spip_query("SELECT * FROM spip_mots GROUP BY type"); |
|
| 23 | - while($row = sql_fetch($result)) { |
|
| 24 | - $type = addslashes($row['type']); |
|
| 25 | - // Old style, doit echouer |
|
| 26 | - spip_log('ne pas tenir compte de l erreur spip_groupes_mots ci-dessous:', 'mysql'); |
|
| 27 | - spip_query("INSERT INTO spip_groupes_mots (titre, unseul, obligatoire, articles, breves, rubriques, syndic, 0minirezo, 1comite, 6forum) VALUES (\"$type\", 'non', 'non', 'oui', 'oui', 'non', 'oui', 'oui', 'oui', 'non')"); |
|
| 28 | - // New style, devrait marcher |
|
| 29 | - spip_query("INSERT INTO spip_groupes_mots (titre, unseul, obligatoire, articles, breves, rubriques, syndic, minirezo, comite, forum) VALUES (\"$type\", 'non', 'non', 'oui', 'oui', 'non', 'oui', 'oui', 'oui', 'non')"); |
|
| 30 | - } |
|
| 31 | - sql_delete("spip_mots", "titre='kawax'"); |
|
| 32 | - maj_version (1.404); |
|
| 33 | - } |
|
| 34 | - |
|
| 35 | - if (upgrade_vers(1.405, $version_installee, $version_cible)) { |
|
| 36 | - spip_query("ALTER TABLE spip_mots ADD id_groupe bigint(21) NOT NULL"); |
|
| 19 | + if (upgrade_vers(1.404, $version_installee, $version_cible)) { |
|
| 20 | + spip_query("UPDATE spip_mots SET type='Mots sans groupe...' WHERE type=''"); |
|
| 21 | + |
|
| 22 | + $result = spip_query("SELECT * FROM spip_mots GROUP BY type"); |
|
| 23 | + while($row = sql_fetch($result)) { |
|
| 24 | + $type = addslashes($row['type']); |
|
| 25 | + // Old style, doit echouer |
|
| 26 | + spip_log('ne pas tenir compte de l erreur spip_groupes_mots ci-dessous:', 'mysql'); |
|
| 27 | + spip_query("INSERT INTO spip_groupes_mots (titre, unseul, obligatoire, articles, breves, rubriques, syndic, 0minirezo, 1comite, 6forum) VALUES (\"$type\", 'non', 'non', 'oui', 'oui', 'non', 'oui', 'oui', 'oui', 'non')"); |
|
| 28 | + // New style, devrait marcher |
|
| 29 | + spip_query("INSERT INTO spip_groupes_mots (titre, unseul, obligatoire, articles, breves, rubriques, syndic, minirezo, comite, forum) VALUES (\"$type\", 'non', 'non', 'oui', 'oui', 'non', 'oui', 'oui', 'oui', 'non')"); |
|
| 30 | + } |
|
| 31 | + sql_delete("spip_mots", "titre='kawax'"); |
|
| 32 | + maj_version (1.404); |
|
| 33 | + } |
|
| 34 | + |
|
| 35 | + if (upgrade_vers(1.405, $version_installee, $version_cible)) { |
|
| 36 | + spip_query("ALTER TABLE spip_mots ADD id_groupe bigint(21) NOT NULL"); |
|
| 37 | 37 | |
| 38 | - $result = spip_query("SELECT * FROM spip_groupes_mots"); |
|
| 39 | - while($row = sql_fetch($result)) { |
|
| 40 | - $id_groupe = addslashes($row['id_groupe']); |
|
| 41 | - $type = addslashes($row['titre']); |
|
| 42 | - spip_query("UPDATE spip_mots SET id_groupe = '$id_groupe' WHERE type='$type'"); |
|
| 43 | - } |
|
| 44 | - maj_version (1.405); |
|
| 45 | - } |
|
| 46 | - |
|
| 47 | - if (upgrade_vers(1.408, $version_installee, $version_cible)) { |
|
| 48 | - // Images articles passent dans spip_documents |
|
| 49 | - $result = spip_query("SELECT id_article, images FROM spip_articles WHERE LENGTH(images) > 0"); |
|
| 50 | - |
|
| 51 | - |
|
| 52 | - $types = array('jpg' => 1, 'png' => 2, 'gif' => 3); |
|
| 53 | - |
|
| 54 | - while ($row = @sql_fetch($result)) { |
|
| 55 | - $id_article = $row['id_article']; |
|
| 56 | - $images = $row['images']; |
|
| 57 | - $images = explode(",", $images); |
|
| 58 | - reset($images); |
|
| 59 | - $replace = '_orig_'; |
|
| 60 | - foreach ($images as $val) { |
|
| 61 | - $image = explode("|", $val); |
|
| 62 | - $fichier = $image[0]; |
|
| 63 | - $largeur = $image[1]; |
|
| 64 | - $hauteur = $image[2]; |
|
| 65 | - preg_match(",-([0-9]+)\.(gif|jpg|png)$,i", $fichier, $match); |
|
| 66 | - $id_type = intval($types[$match[2]]); |
|
| 67 | - $num_img = $match[1]; |
|
| 68 | - $fichier = _DIR_IMG . $fichier; |
|
| 69 | - $taille = @filesize($fichier); |
|
| 70 | - // ici on n'a pas les fonctions absctract ! |
|
| 71 | - $s = spip_query("INSERT INTO spip_documents (titre, id_type, fichier, mode, largeur, hauteur, taille) VALUES ('image $largeur x $hauteur', $id_type, '$fichier', 'vignette', '$largeur', '$hauteur', '$taille')"); |
|
| 72 | - $id_document = mysql_insert_id($s); |
|
| 73 | - if ($id_document > 0) { |
|
| 74 | - spip_query("INSERT INTO spip_documents_articles (id_document, id_article) VALUES ($id_document, $id_article)"); |
|
| 75 | - $replace = "REPLACE($replace, '<IMG$num_img|', '<IM_$id_document|')"; |
|
| 76 | - } else { |
|
| 77 | - echo _T('texte_erreur_mise_niveau_base', array('fichier' => $fichier, 'id_article' => $id_article)); |
|
| 78 | - exit; |
|
| 79 | - } |
|
| 80 | - } |
|
| 81 | - $replace = "REPLACE($replace, '<IM_', '<IMG')"; |
|
| 82 | - $replace_chapo = str_replace('_orig_', 'chapo', $replace); |
|
| 83 | - $replace_descriptif = str_replace('_orig_', 'descriptif', $replace); |
|
| 84 | - $replace_texte = str_replace('_orig_', 'texte', $replace); |
|
| 85 | - $replace_ps = str_replace('_orig_', 'ps', $replace); |
|
| 86 | - spip_query("UPDATE spip_articles SET chapo=$replace_chapo, descriptif=$replace_descriptif, texte=$replace_texte, ps=$replace_ps WHERE id_article=$id_article"); |
|
| 87 | - |
|
| 88 | - } |
|
| 89 | - spip_query("ALTER TABLE spip_articles DROP images"); |
|
| 90 | - maj_version (1.408); |
|
| 91 | - } |
|
| 92 | - |
|
| 93 | - if (upgrade_vers(1.414, $version_installee, $version_cible)) { |
|
| 94 | - // Forum par defaut "en dur" dans les spip_articles |
|
| 95 | - // -> non, prio (priori), pos (posteriori), abo (abonnement) |
|
| 96 | - $accepter_forum = substr($GLOBALS['meta']["forums_publics"],0,3) ; |
|
| 97 | - $result = spip_query("ALTER TABLE spip_articles CHANGE accepter_forum accepter_forum CHAR(3) NOT NULL"); |
|
| 98 | - |
|
| 99 | - $result = spip_query("UPDATE spip_articles SET accepter_forum='$accepter_forum' WHERE accepter_forum != 'non'"); |
|
| 100 | - |
|
| 101 | - maj_version (1.414); |
|
| 102 | - } |
|
| 103 | - |
|
| 104 | - /* |
|
| 38 | + $result = spip_query("SELECT * FROM spip_groupes_mots"); |
|
| 39 | + while($row = sql_fetch($result)) { |
|
| 40 | + $id_groupe = addslashes($row['id_groupe']); |
|
| 41 | + $type = addslashes($row['titre']); |
|
| 42 | + spip_query("UPDATE spip_mots SET id_groupe = '$id_groupe' WHERE type='$type'"); |
|
| 43 | + } |
|
| 44 | + maj_version (1.405); |
|
| 45 | + } |
|
| 46 | + |
|
| 47 | + if (upgrade_vers(1.408, $version_installee, $version_cible)) { |
|
| 48 | + // Images articles passent dans spip_documents |
|
| 49 | + $result = spip_query("SELECT id_article, images FROM spip_articles WHERE LENGTH(images) > 0"); |
|
| 50 | + |
|
| 51 | + |
|
| 52 | + $types = array('jpg' => 1, 'png' => 2, 'gif' => 3); |
|
| 53 | + |
|
| 54 | + while ($row = @sql_fetch($result)) { |
|
| 55 | + $id_article = $row['id_article']; |
|
| 56 | + $images = $row['images']; |
|
| 57 | + $images = explode(",", $images); |
|
| 58 | + reset($images); |
|
| 59 | + $replace = '_orig_'; |
|
| 60 | + foreach ($images as $val) { |
|
| 61 | + $image = explode("|", $val); |
|
| 62 | + $fichier = $image[0]; |
|
| 63 | + $largeur = $image[1]; |
|
| 64 | + $hauteur = $image[2]; |
|
| 65 | + preg_match(",-([0-9]+)\.(gif|jpg|png)$,i", $fichier, $match); |
|
| 66 | + $id_type = intval($types[$match[2]]); |
|
| 67 | + $num_img = $match[1]; |
|
| 68 | + $fichier = _DIR_IMG . $fichier; |
|
| 69 | + $taille = @filesize($fichier); |
|
| 70 | + // ici on n'a pas les fonctions absctract ! |
|
| 71 | + $s = spip_query("INSERT INTO spip_documents (titre, id_type, fichier, mode, largeur, hauteur, taille) VALUES ('image $largeur x $hauteur', $id_type, '$fichier', 'vignette', '$largeur', '$hauteur', '$taille')"); |
|
| 72 | + $id_document = mysql_insert_id($s); |
|
| 73 | + if ($id_document > 0) { |
|
| 74 | + spip_query("INSERT INTO spip_documents_articles (id_document, id_article) VALUES ($id_document, $id_article)"); |
|
| 75 | + $replace = "REPLACE($replace, '<IMG$num_img|', '<IM_$id_document|')"; |
|
| 76 | + } else { |
|
| 77 | + echo _T('texte_erreur_mise_niveau_base', array('fichier' => $fichier, 'id_article' => $id_article)); |
|
| 78 | + exit; |
|
| 79 | + } |
|
| 80 | + } |
|
| 81 | + $replace = "REPLACE($replace, '<IM_', '<IMG')"; |
|
| 82 | + $replace_chapo = str_replace('_orig_', 'chapo', $replace); |
|
| 83 | + $replace_descriptif = str_replace('_orig_', 'descriptif', $replace); |
|
| 84 | + $replace_texte = str_replace('_orig_', 'texte', $replace); |
|
| 85 | + $replace_ps = str_replace('_orig_', 'ps', $replace); |
|
| 86 | + spip_query("UPDATE spip_articles SET chapo=$replace_chapo, descriptif=$replace_descriptif, texte=$replace_texte, ps=$replace_ps WHERE id_article=$id_article"); |
|
| 87 | + |
|
| 88 | + } |
|
| 89 | + spip_query("ALTER TABLE spip_articles DROP images"); |
|
| 90 | + maj_version (1.408); |
|
| 91 | + } |
|
| 92 | + |
|
| 93 | + if (upgrade_vers(1.414, $version_installee, $version_cible)) { |
|
| 94 | + // Forum par defaut "en dur" dans les spip_articles |
|
| 95 | + // -> non, prio (priori), pos (posteriori), abo (abonnement) |
|
| 96 | + $accepter_forum = substr($GLOBALS['meta']["forums_publics"],0,3) ; |
|
| 97 | + $result = spip_query("ALTER TABLE spip_articles CHANGE accepter_forum accepter_forum CHAR(3) NOT NULL"); |
|
| 98 | + |
|
| 99 | + $result = spip_query("UPDATE spip_articles SET accepter_forum='$accepter_forum' WHERE accepter_forum != 'non'"); |
|
| 100 | + |
|
| 101 | + maj_version (1.414); |
|
| 102 | + } |
|
| 103 | + |
|
| 104 | + /* |
|
| 105 | 105 | if ($version_installee == 1.415) { |
| 106 | 106 | spip_query("ALTER TABLE spip_documents DROP inclus"); |
| 107 | 107 | maj_version (1.415); |
| 108 | 108 | } |
| 109 | 109 | */ |
| 110 | 110 | |
| 111 | - if (upgrade_vers(1.417, $version_installee, $version_cible)) { |
|
| 112 | - spip_query("ALTER TABLE spip_syndic_articles DROP date_index"); |
|
| 113 | - maj_version (1.417); |
|
| 114 | - } |
|
| 115 | - |
|
| 116 | - if (upgrade_vers(1.418, $version_installee, $version_cible)) { |
|
| 117 | - $result = spip_query("SELECT * FROM spip_auteurs WHERE statut = '0minirezo' AND email != '' ORDER BY id_auteur LIMIT 1"); |
|
| 118 | - |
|
| 119 | - if ($webmaster = sql_fetch($result)) { |
|
| 120 | - ecrire_meta('email_webmaster', $webmaster['email']); |
|
| 121 | - } |
|
| 122 | - maj_version (1.418); |
|
| 123 | - } |
|
| 124 | - |
|
| 125 | - if (upgrade_vers(1.419, $version_installee, $version_cible)) { |
|
| 126 | - spip_query("ALTER TABLE spip_auteurs ADD alea_actuel TINYTEXT DEFAULT ''"); |
|
| 127 | - spip_query("ALTER TABLE spip_auteurs ADD alea_futur TINYTEXT DEFAULT ''"); |
|
| 128 | - spip_query("UPDATE spip_auteurs SET alea_futur = FLOOR(32000*RAND())"); |
|
| 129 | - maj_version (1.419); |
|
| 130 | - } |
|
| 131 | - |
|
| 132 | - if (upgrade_vers(1.420, $version_installee, $version_cible)) { |
|
| 133 | - spip_query("UPDATE spip_auteurs SET alea_actuel='' WHERE statut='nouveau'"); |
|
| 134 | - maj_version (1.420); |
|
| 135 | - } |
|
| 111 | + if (upgrade_vers(1.417, $version_installee, $version_cible)) { |
|
| 112 | + spip_query("ALTER TABLE spip_syndic_articles DROP date_index"); |
|
| 113 | + maj_version (1.417); |
|
| 114 | + } |
|
| 115 | + |
|
| 116 | + if (upgrade_vers(1.418, $version_installee, $version_cible)) { |
|
| 117 | + $result = spip_query("SELECT * FROM spip_auteurs WHERE statut = '0minirezo' AND email != '' ORDER BY id_auteur LIMIT 1"); |
|
| 118 | + |
|
| 119 | + if ($webmaster = sql_fetch($result)) { |
|
| 120 | + ecrire_meta('email_webmaster', $webmaster['email']); |
|
| 121 | + } |
|
| 122 | + maj_version (1.418); |
|
| 123 | + } |
|
| 124 | + |
|
| 125 | + if (upgrade_vers(1.419, $version_installee, $version_cible)) { |
|
| 126 | + spip_query("ALTER TABLE spip_auteurs ADD alea_actuel TINYTEXT DEFAULT ''"); |
|
| 127 | + spip_query("ALTER TABLE spip_auteurs ADD alea_futur TINYTEXT DEFAULT ''"); |
|
| 128 | + spip_query("UPDATE spip_auteurs SET alea_futur = FLOOR(32000*RAND())"); |
|
| 129 | + maj_version (1.419); |
|
| 130 | + } |
|
| 131 | + |
|
| 132 | + if (upgrade_vers(1.420, $version_installee, $version_cible)) { |
|
| 133 | + spip_query("UPDATE spip_auteurs SET alea_actuel='' WHERE statut='nouveau'"); |
|
| 134 | + maj_version (1.420); |
|
| 135 | + } |
|
| 136 | 136 | |
| 137 | - if (upgrade_vers(1.421, $version_installee, $version_cible)) { |
|
| 138 | - spip_query("ALTER TABLE spip_articles ADD auteur_modif bigint(21) DEFAULT '0' NOT NULL"); |
|
| 139 | - spip_query("ALTER TABLE spip_articles ADD date_modif datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"); |
|
| 140 | - maj_version (1.421); |
|
| 141 | - } |
|
| 142 | - |
|
| 143 | - if (upgrade_vers(1.432, $version_installee, $version_cible)) { |
|
| 144 | - spip_query("ALTER TABLE spip_articles DROP referers"); |
|
| 145 | - spip_query("ALTER TABLE spip_articles ADD referers INTEGER DEFAULT '0' NOT NULL"); |
|
| 146 | - spip_query("ALTER TABLE spip_articles ADD popularite INTEGER DEFAULT '0' NOT NULL"); |
|
| 147 | - maj_version (1.432); |
|
| 148 | - } |
|
| 149 | - |
|
| 150 | - if (upgrade_vers(1.436, $version_installee, $version_cible)) { |
|
| 151 | - spip_query("ALTER TABLE spip_documents ADD date datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"); |
|
| 152 | - maj_version (1.436); |
|
| 153 | - } |
|
| 154 | - |
|
| 155 | - if (upgrade_vers(1.437, $version_installee, $version_cible)) { |
|
| 156 | - spip_query("ALTER TABLE spip_visites ADD maj TIMESTAMP"); |
|
| 157 | - spip_query("ALTER TABLE spip_visites_referers ADD maj TIMESTAMP"); |
|
| 158 | - maj_version (1.437); |
|
| 159 | - } |
|
| 160 | - |
|
| 161 | - if (upgrade_vers(1.438, $version_installee, $version_cible)) { |
|
| 162 | - spip_query("ALTER TABLE spip_articles ADD INDEX id_secteur (id_secteur)"); |
|
| 163 | - spip_query("ALTER TABLE spip_articles ADD INDEX statut (statut, date)"); |
|
| 164 | - maj_version (1.438); |
|
| 165 | - } |
|
| 166 | - |
|
| 167 | - if (upgrade_vers(1.439, $version_installee, $version_cible)) { |
|
| 168 | - spip_query("ALTER TABLE spip_syndic ADD INDEX statut (statut, date_syndic)"); |
|
| 169 | - spip_query("ALTER TABLE spip_syndic_articles ADD INDEX statut (statut)"); |
|
| 170 | - spip_query("ALTER TABLE spip_syndic_articles CHANGE url url VARCHAR(255) NOT NULL"); |
|
| 171 | - spip_query("ALTER TABLE spip_syndic_articles ADD INDEX url (url)"); |
|
| 172 | - maj_version (1.439); |
|
| 173 | - } |
|
| 174 | - |
|
| 175 | - if (upgrade_vers(1.440, $version_installee, $version_cible)) { |
|
| 176 | - spip_query("ALTER TABLE spip_visites_temp CHANGE ip ip INTEGER UNSIGNED NOT NULL"); |
|
| 177 | - maj_version (1.440); |
|
| 178 | - } |
|
| 179 | - |
|
| 180 | - if (upgrade_vers(1.441, $version_installee, $version_cible)) { |
|
| 181 | - spip_query("ALTER TABLE spip_visites_temp CHANGE date date DATE NOT NULL"); |
|
| 182 | - spip_query("ALTER TABLE spip_visites CHANGE date date DATE NOT NULL"); |
|
| 183 | - spip_query("ALTER TABLE spip_visites_referers CHANGE date date DATE NOT NULL"); |
|
| 184 | - maj_version (1.441); |
|
| 185 | - } |
|
| 186 | - |
|
| 187 | - if (upgrade_vers(1.442, $version_installee, $version_cible)) { |
|
| 188 | - spip_query("ALTER TABLE spip_auteurs ADD prefs TINYTEXT NOT NULL"); |
|
| 189 | - maj_version (1.442); |
|
| 190 | - } |
|
| 191 | - |
|
| 192 | - if (upgrade_vers(1.443, $version_installee, $version_cible)) { |
|
| 193 | - spip_query("ALTER TABLE spip_auteurs CHANGE login login VARCHAR(255) BINARY NOT NULL"); |
|
| 194 | - spip_query("ALTER TABLE spip_auteurs CHANGE statut statut VARCHAR(255) NOT NULL"); |
|
| 195 | - spip_query("ALTER TABLE spip_auteurs ADD INDEX login (login)"); |
|
| 196 | - spip_query("ALTER TABLE spip_auteurs ADD INDEX statut (statut)"); |
|
| 197 | - maj_version (1.443); |
|
| 198 | - } |
|
| 199 | - |
|
| 200 | - if (upgrade_vers(1.444, $version_installee, $version_cible)) { |
|
| 201 | - spip_query("ALTER TABLE spip_syndic ADD moderation VARCHAR(3) NOT NULL"); |
|
| 202 | - maj_version (1.444); |
|
| 203 | - } |
|
| 204 | - |
|
| 205 | - if (upgrade_vers(1.457, $version_installee, $version_cible)) { |
|
| 206 | - spip_query("DROP TABLE spip_visites"); |
|
| 207 | - spip_query("DROP TABLE spip_visites_temp"); |
|
| 208 | - spip_query("DROP TABLE spip_visites_referers"); |
|
| 209 | - creer_base(); // crade, a ameliorer :-(( |
|
| 210 | - maj_version (1.457); |
|
| 211 | - } |
|
| 212 | - |
|
| 213 | - if (upgrade_vers(1.458, $version_installee, $version_cible)) { |
|
| 214 | - spip_query("ALTER TABLE spip_auteurs ADD cookie_oubli TINYTEXT NOT NULL"); |
|
| 215 | - maj_version (1.458); |
|
| 216 | - } |
|
| 217 | - |
|
| 218 | - if (upgrade_vers(1.459, $version_installee, $version_cible)) { |
|
| 219 | - $result = spip_query("SELECT type FROM spip_mots GROUP BY type"); |
|
| 220 | - while ($row = sql_fetch($result)) { |
|
| 221 | - $type = addslashes($row['type']); |
|
| 222 | - $res = spip_query("SELECT * FROM spip_groupes_mots WHERE titre='$type'"); |
|
| 223 | - if (sql_count($res) == 0) { |
|
| 224 | - $s = spip_query("INSERT INTO spip_groupes_mots (titre, unseul, obligatoire, articles, breves, rubriques, syndic, minirezo, comite, forum) VALUES ('$type', 'non', 'non', 'oui', 'oui', 'non', 'oui', 'oui', 'oui', 'non')"); |
|
| 225 | - if ($id_groupe = mysql_insert_id($s)) |
|
| 226 | - spip_query("UPDATE spip_mots SET id_groupe = '$id_groupe' WHERE type='$type'"); |
|
| 227 | - } |
|
| 228 | - } |
|
| 229 | - spip_query("UPDATE spip_articles SET popularite=0"); |
|
| 230 | - maj_version (1.459); |
|
| 231 | - } |
|
| 232 | - |
|
| 233 | - if (upgrade_vers(1.460, $version_installee, $version_cible)) { |
|
| 234 | - // remettre les mots dans les groupes dupliques par erreur |
|
| 235 | - // dans la precedente version du paragraphe de maj 1.459 |
|
| 236 | - // et supprimer ceux-ci |
|
| 237 | - $result = spip_query("SELECT * FROM spip_groupes_mots ORDER BY id_groupe"); |
|
| 238 | - while ($row = sql_fetch($result)) { |
|
| 239 | - $titre = addslashes($row['titre']); |
|
| 240 | - if (! $vu[$titre] ) { |
|
| 241 | - $vu[$titre] = true; |
|
| 242 | - $id_groupe = $row['id_groupe']; |
|
| 243 | - spip_query("UPDATE spip_mots SET id_groupe=$id_groupe WHERE type='$titre'"); |
|
| 244 | - sql_delete("spip_groupes_mots", "titre='$titre' AND id_groupe<>$id_groupe"); |
|
| 245 | - } |
|
| 246 | - } |
|
| 247 | - maj_version (1.460); |
|
| 248 | - } |
|
| 249 | - |
|
| 250 | - if (upgrade_vers(1.462, $version_installee, $version_cible)) { |
|
| 251 | - spip_query("UPDATE spip_types_documents SET inclus='embed' WHERE inclus!='non' AND extension IN ('aiff', 'asf', 'avi', 'mid', 'mov', 'mp3', 'mpg', 'ogg', 'qt', 'ra', 'ram', 'rm', 'swf', 'wav', 'wmv')"); |
|
| 252 | - maj_version (1.462); |
|
| 253 | - } |
|
| 254 | - |
|
| 255 | - if (upgrade_vers(1.463, $version_installee, $version_cible)) { |
|
| 256 | - spip_query("ALTER TABLE spip_articles CHANGE popularite popularite DOUBLE"); |
|
| 257 | - spip_query("ALTER TABLE spip_visites_temp ADD maj TIMESTAMP"); |
|
| 258 | - spip_query("ALTER TABLE spip_referers_temp ADD maj TIMESTAMP"); |
|
| 259 | - maj_version (1.463); |
|
| 260 | - } |
|
| 261 | - |
|
| 262 | - // l'upgrade < 1.462 ci-dessus etait fausse, d'ou correctif |
|
| 263 | - if (upgrade_vers(1.464, $version_installee, $version_cible) AND ($version_installee >= 1.462)) { |
|
| 264 | - $res = spip_query("SELECT id_type, extension FROM spip_types_documents WHERE id_type NOT IN (1,2,3)"); |
|
| 265 | - while ($row = sql_fetch($res)) { |
|
| 266 | - $extension = $row['extension']; |
|
| 267 | - $id_type = $row['id_type']; |
|
| 268 | - spip_query("UPDATE spip_documents SET id_type=$id_type WHERE fichier like '%.$extension'"); |
|
| 269 | - } |
|
| 270 | - maj_version (1.464); |
|
| 271 | - } |
|
| 272 | - |
|
| 273 | - if (upgrade_vers(1.465, $version_installee, $version_cible)) { |
|
| 274 | - spip_query("ALTER TABLE spip_articles CHANGE popularite popularite DOUBLE NOT NULL"); |
|
| 275 | - maj_version (1.465); |
|
| 276 | - } |
|
| 277 | - |
|
| 278 | - if (upgrade_vers(1.466, $version_installee, $version_cible)) { |
|
| 279 | - spip_query("ALTER TABLE spip_auteurs ADD source VARCHAR(10) DEFAULT 'spip' NOT NULL"); |
|
| 280 | - maj_version (1.466); |
|
| 281 | - } |
|
| 282 | - |
|
| 283 | - if (upgrade_vers(1.468, $version_installee, $version_cible)) { |
|
| 284 | - spip_query("ALTER TABLE spip_auteurs ADD INDEX en_ligne (en_ligne)"); |
|
| 285 | - spip_query("ALTER TABLE spip_forum ADD INDEX statut (statut, date_heure)"); |
|
| 286 | - maj_version (1.468); |
|
| 287 | - } |
|
| 288 | - |
|
| 289 | - if (upgrade_vers(1.470, $version_installee, $version_cible)) { |
|
| 290 | - if ($version_installee >= 1.467) { // annule les "listes de diff" |
|
| 291 | - spip_query("DROP TABLE spip_listes"); |
|
| 292 | - spip_query("ALTER TABLE spip_auteurs DROP abonne"); |
|
| 293 | - spip_query("ALTER TABLE spip_auteurs DROP abonne_pass"); |
|
| 294 | - } |
|
| 295 | - maj_version (1.470); |
|
| 296 | - } |
|
| 297 | - |
|
| 298 | - if (upgrade_vers(1.471, $version_installee, $version_cible)) { |
|
| 299 | - if ($version_installee >= 1.470) { // annule les "maj" |
|
| 300 | - spip_query("ALTER TABLE spip_auteurs_articles DROP maj TIMESTAMP"); |
|
| 301 | - spip_query("ALTER TABLE spip_auteurs_rubriques DROP maj TIMESTAMP"); |
|
| 302 | - spip_query("ALTER TABLE spip_auteurs_messages DROP maj TIMESTAMP"); |
|
| 303 | - spip_query("ALTER TABLE spip_documents_articles DROP maj TIMESTAMP"); |
|
| 304 | - spip_query("ALTER TABLE spip_documents_rubriques DROP maj TIMESTAMP"); |
|
| 305 | - spip_query("ALTER TABLE spip_documents_breves DROP maj TIMESTAMP"); |
|
| 306 | - spip_query("ALTER TABLE spip_mots_articles DROP maj TIMESTAMP"); |
|
| 307 | - spip_query("ALTER TABLE spip_mots_breves DROP maj TIMESTAMP"); |
|
| 308 | - spip_query("ALTER TABLE spip_mots_rubriques DROP maj TIMESTAMP"); |
|
| 309 | - spip_query("ALTER TABLE spip_mots_syndic DROP maj TIMESTAMP"); |
|
| 310 | - spip_query("ALTER TABLE spip_mots_forum DROP maj TIMESTAMP"); |
|
| 311 | - } |
|
| 312 | - maj_version (1.471); |
|
| 313 | - } |
|
| 314 | - |
|
| 315 | - if (upgrade_vers(1.472, $version_installee, $version_cible)) { |
|
| 316 | - spip_query("ALTER TABLE spip_referers ADD visites_jour INTEGER UNSIGNED NOT NULL"); |
|
| 317 | - maj_version (1.472); |
|
| 318 | - } |
|
| 319 | - |
|
| 320 | - if (upgrade_vers(1.473, $version_installee, $version_cible)) { |
|
| 321 | - spip_query("UPDATE spip_syndic_articles SET url = REPLACE(url, '&', '&')"); |
|
| 322 | - spip_query("UPDATE spip_syndic SET url_site = REPLACE(url_site, '&', '&')"); |
|
| 323 | - maj_version (1.473); |
|
| 324 | - } |
|
| 137 | + if (upgrade_vers(1.421, $version_installee, $version_cible)) { |
|
| 138 | + spip_query("ALTER TABLE spip_articles ADD auteur_modif bigint(21) DEFAULT '0' NOT NULL"); |
|
| 139 | + spip_query("ALTER TABLE spip_articles ADD date_modif datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"); |
|
| 140 | + maj_version (1.421); |
|
| 141 | + } |
|
| 142 | + |
|
| 143 | + if (upgrade_vers(1.432, $version_installee, $version_cible)) { |
|
| 144 | + spip_query("ALTER TABLE spip_articles DROP referers"); |
|
| 145 | + spip_query("ALTER TABLE spip_articles ADD referers INTEGER DEFAULT '0' NOT NULL"); |
|
| 146 | + spip_query("ALTER TABLE spip_articles ADD popularite INTEGER DEFAULT '0' NOT NULL"); |
|
| 147 | + maj_version (1.432); |
|
| 148 | + } |
|
| 149 | + |
|
| 150 | + if (upgrade_vers(1.436, $version_installee, $version_cible)) { |
|
| 151 | + spip_query("ALTER TABLE spip_documents ADD date datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"); |
|
| 152 | + maj_version (1.436); |
|
| 153 | + } |
|
| 154 | + |
|
| 155 | + if (upgrade_vers(1.437, $version_installee, $version_cible)) { |
|
| 156 | + spip_query("ALTER TABLE spip_visites ADD maj TIMESTAMP"); |
|
| 157 | + spip_query("ALTER TABLE spip_visites_referers ADD maj TIMESTAMP"); |
|
| 158 | + maj_version (1.437); |
|
| 159 | + } |
|
| 160 | + |
|
| 161 | + if (upgrade_vers(1.438, $version_installee, $version_cible)) { |
|
| 162 | + spip_query("ALTER TABLE spip_articles ADD INDEX id_secteur (id_secteur)"); |
|
| 163 | + spip_query("ALTER TABLE spip_articles ADD INDEX statut (statut, date)"); |
|
| 164 | + maj_version (1.438); |
|
| 165 | + } |
|
| 166 | + |
|
| 167 | + if (upgrade_vers(1.439, $version_installee, $version_cible)) { |
|
| 168 | + spip_query("ALTER TABLE spip_syndic ADD INDEX statut (statut, date_syndic)"); |
|
| 169 | + spip_query("ALTER TABLE spip_syndic_articles ADD INDEX statut (statut)"); |
|
| 170 | + spip_query("ALTER TABLE spip_syndic_articles CHANGE url url VARCHAR(255) NOT NULL"); |
|
| 171 | + spip_query("ALTER TABLE spip_syndic_articles ADD INDEX url (url)"); |
|
| 172 | + maj_version (1.439); |
|
| 173 | + } |
|
| 174 | + |
|
| 175 | + if (upgrade_vers(1.440, $version_installee, $version_cible)) { |
|
| 176 | + spip_query("ALTER TABLE spip_visites_temp CHANGE ip ip INTEGER UNSIGNED NOT NULL"); |
|
| 177 | + maj_version (1.440); |
|
| 178 | + } |
|
| 179 | + |
|
| 180 | + if (upgrade_vers(1.441, $version_installee, $version_cible)) { |
|
| 181 | + spip_query("ALTER TABLE spip_visites_temp CHANGE date date DATE NOT NULL"); |
|
| 182 | + spip_query("ALTER TABLE spip_visites CHANGE date date DATE NOT NULL"); |
|
| 183 | + spip_query("ALTER TABLE spip_visites_referers CHANGE date date DATE NOT NULL"); |
|
| 184 | + maj_version (1.441); |
|
| 185 | + } |
|
| 186 | + |
|
| 187 | + if (upgrade_vers(1.442, $version_installee, $version_cible)) { |
|
| 188 | + spip_query("ALTER TABLE spip_auteurs ADD prefs TINYTEXT NOT NULL"); |
|
| 189 | + maj_version (1.442); |
|
| 190 | + } |
|
| 191 | + |
|
| 192 | + if (upgrade_vers(1.443, $version_installee, $version_cible)) { |
|
| 193 | + spip_query("ALTER TABLE spip_auteurs CHANGE login login VARCHAR(255) BINARY NOT NULL"); |
|
| 194 | + spip_query("ALTER TABLE spip_auteurs CHANGE statut statut VARCHAR(255) NOT NULL"); |
|
| 195 | + spip_query("ALTER TABLE spip_auteurs ADD INDEX login (login)"); |
|
| 196 | + spip_query("ALTER TABLE spip_auteurs ADD INDEX statut (statut)"); |
|
| 197 | + maj_version (1.443); |
|
| 198 | + } |
|
| 199 | + |
|
| 200 | + if (upgrade_vers(1.444, $version_installee, $version_cible)) { |
|
| 201 | + spip_query("ALTER TABLE spip_syndic ADD moderation VARCHAR(3) NOT NULL"); |
|
| 202 | + maj_version (1.444); |
|
| 203 | + } |
|
| 204 | + |
|
| 205 | + if (upgrade_vers(1.457, $version_installee, $version_cible)) { |
|
| 206 | + spip_query("DROP TABLE spip_visites"); |
|
| 207 | + spip_query("DROP TABLE spip_visites_temp"); |
|
| 208 | + spip_query("DROP TABLE spip_visites_referers"); |
|
| 209 | + creer_base(); // crade, a ameliorer :-(( |
|
| 210 | + maj_version (1.457); |
|
| 211 | + } |
|
| 212 | + |
|
| 213 | + if (upgrade_vers(1.458, $version_installee, $version_cible)) { |
|
| 214 | + spip_query("ALTER TABLE spip_auteurs ADD cookie_oubli TINYTEXT NOT NULL"); |
|
| 215 | + maj_version (1.458); |
|
| 216 | + } |
|
| 217 | + |
|
| 218 | + if (upgrade_vers(1.459, $version_installee, $version_cible)) { |
|
| 219 | + $result = spip_query("SELECT type FROM spip_mots GROUP BY type"); |
|
| 220 | + while ($row = sql_fetch($result)) { |
|
| 221 | + $type = addslashes($row['type']); |
|
| 222 | + $res = spip_query("SELECT * FROM spip_groupes_mots WHERE titre='$type'"); |
|
| 223 | + if (sql_count($res) == 0) { |
|
| 224 | + $s = spip_query("INSERT INTO spip_groupes_mots (titre, unseul, obligatoire, articles, breves, rubriques, syndic, minirezo, comite, forum) VALUES ('$type', 'non', 'non', 'oui', 'oui', 'non', 'oui', 'oui', 'oui', 'non')"); |
|
| 225 | + if ($id_groupe = mysql_insert_id($s)) |
|
| 226 | + spip_query("UPDATE spip_mots SET id_groupe = '$id_groupe' WHERE type='$type'"); |
|
| 227 | + } |
|
| 228 | + } |
|
| 229 | + spip_query("UPDATE spip_articles SET popularite=0"); |
|
| 230 | + maj_version (1.459); |
|
| 231 | + } |
|
| 232 | + |
|
| 233 | + if (upgrade_vers(1.460, $version_installee, $version_cible)) { |
|
| 234 | + // remettre les mots dans les groupes dupliques par erreur |
|
| 235 | + // dans la precedente version du paragraphe de maj 1.459 |
|
| 236 | + // et supprimer ceux-ci |
|
| 237 | + $result = spip_query("SELECT * FROM spip_groupes_mots ORDER BY id_groupe"); |
|
| 238 | + while ($row = sql_fetch($result)) { |
|
| 239 | + $titre = addslashes($row['titre']); |
|
| 240 | + if (! $vu[$titre] ) { |
|
| 241 | + $vu[$titre] = true; |
|
| 242 | + $id_groupe = $row['id_groupe']; |
|
| 243 | + spip_query("UPDATE spip_mots SET id_groupe=$id_groupe WHERE type='$titre'"); |
|
| 244 | + sql_delete("spip_groupes_mots", "titre='$titre' AND id_groupe<>$id_groupe"); |
|
| 245 | + } |
|
| 246 | + } |
|
| 247 | + maj_version (1.460); |
|
| 248 | + } |
|
| 249 | + |
|
| 250 | + if (upgrade_vers(1.462, $version_installee, $version_cible)) { |
|
| 251 | + spip_query("UPDATE spip_types_documents SET inclus='embed' WHERE inclus!='non' AND extension IN ('aiff', 'asf', 'avi', 'mid', 'mov', 'mp3', 'mpg', 'ogg', 'qt', 'ra', 'ram', 'rm', 'swf', 'wav', 'wmv')"); |
|
| 252 | + maj_version (1.462); |
|
| 253 | + } |
|
| 254 | + |
|
| 255 | + if (upgrade_vers(1.463, $version_installee, $version_cible)) { |
|
| 256 | + spip_query("ALTER TABLE spip_articles CHANGE popularite popularite DOUBLE"); |
|
| 257 | + spip_query("ALTER TABLE spip_visites_temp ADD maj TIMESTAMP"); |
|
| 258 | + spip_query("ALTER TABLE spip_referers_temp ADD maj TIMESTAMP"); |
|
| 259 | + maj_version (1.463); |
|
| 260 | + } |
|
| 261 | + |
|
| 262 | + // l'upgrade < 1.462 ci-dessus etait fausse, d'ou correctif |
|
| 263 | + if (upgrade_vers(1.464, $version_installee, $version_cible) AND ($version_installee >= 1.462)) { |
|
| 264 | + $res = spip_query("SELECT id_type, extension FROM spip_types_documents WHERE id_type NOT IN (1,2,3)"); |
|
| 265 | + while ($row = sql_fetch($res)) { |
|
| 266 | + $extension = $row['extension']; |
|
| 267 | + $id_type = $row['id_type']; |
|
| 268 | + spip_query("UPDATE spip_documents SET id_type=$id_type WHERE fichier like '%.$extension'"); |
|
| 269 | + } |
|
| 270 | + maj_version (1.464); |
|
| 271 | + } |
|
| 272 | + |
|
| 273 | + if (upgrade_vers(1.465, $version_installee, $version_cible)) { |
|
| 274 | + spip_query("ALTER TABLE spip_articles CHANGE popularite popularite DOUBLE NOT NULL"); |
|
| 275 | + maj_version (1.465); |
|
| 276 | + } |
|
| 277 | + |
|
| 278 | + if (upgrade_vers(1.466, $version_installee, $version_cible)) { |
|
| 279 | + spip_query("ALTER TABLE spip_auteurs ADD source VARCHAR(10) DEFAULT 'spip' NOT NULL"); |
|
| 280 | + maj_version (1.466); |
|
| 281 | + } |
|
| 282 | + |
|
| 283 | + if (upgrade_vers(1.468, $version_installee, $version_cible)) { |
|
| 284 | + spip_query("ALTER TABLE spip_auteurs ADD INDEX en_ligne (en_ligne)"); |
|
| 285 | + spip_query("ALTER TABLE spip_forum ADD INDEX statut (statut, date_heure)"); |
|
| 286 | + maj_version (1.468); |
|
| 287 | + } |
|
| 288 | + |
|
| 289 | + if (upgrade_vers(1.470, $version_installee, $version_cible)) { |
|
| 290 | + if ($version_installee >= 1.467) { // annule les "listes de diff" |
|
| 291 | + spip_query("DROP TABLE spip_listes"); |
|
| 292 | + spip_query("ALTER TABLE spip_auteurs DROP abonne"); |
|
| 293 | + spip_query("ALTER TABLE spip_auteurs DROP abonne_pass"); |
|
| 294 | + } |
|
| 295 | + maj_version (1.470); |
|
| 296 | + } |
|
| 297 | + |
|
| 298 | + if (upgrade_vers(1.471, $version_installee, $version_cible)) { |
|
| 299 | + if ($version_installee >= 1.470) { // annule les "maj" |
|
| 300 | + spip_query("ALTER TABLE spip_auteurs_articles DROP maj TIMESTAMP"); |
|
| 301 | + spip_query("ALTER TABLE spip_auteurs_rubriques DROP maj TIMESTAMP"); |
|
| 302 | + spip_query("ALTER TABLE spip_auteurs_messages DROP maj TIMESTAMP"); |
|
| 303 | + spip_query("ALTER TABLE spip_documents_articles DROP maj TIMESTAMP"); |
|
| 304 | + spip_query("ALTER TABLE spip_documents_rubriques DROP maj TIMESTAMP"); |
|
| 305 | + spip_query("ALTER TABLE spip_documents_breves DROP maj TIMESTAMP"); |
|
| 306 | + spip_query("ALTER TABLE spip_mots_articles DROP maj TIMESTAMP"); |
|
| 307 | + spip_query("ALTER TABLE spip_mots_breves DROP maj TIMESTAMP"); |
|
| 308 | + spip_query("ALTER TABLE spip_mots_rubriques DROP maj TIMESTAMP"); |
|
| 309 | + spip_query("ALTER TABLE spip_mots_syndic DROP maj TIMESTAMP"); |
|
| 310 | + spip_query("ALTER TABLE spip_mots_forum DROP maj TIMESTAMP"); |
|
| 311 | + } |
|
| 312 | + maj_version (1.471); |
|
| 313 | + } |
|
| 314 | + |
|
| 315 | + if (upgrade_vers(1.472, $version_installee, $version_cible)) { |
|
| 316 | + spip_query("ALTER TABLE spip_referers ADD visites_jour INTEGER UNSIGNED NOT NULL"); |
|
| 317 | + maj_version (1.472); |
|
| 318 | + } |
|
| 319 | + |
|
| 320 | + if (upgrade_vers(1.473, $version_installee, $version_cible)) { |
|
| 321 | + spip_query("UPDATE spip_syndic_articles SET url = REPLACE(url, '&', '&')"); |
|
| 322 | + spip_query("UPDATE spip_syndic SET url_site = REPLACE(url_site, '&', '&')"); |
|
| 323 | + maj_version (1.473); |
|
| 324 | + } |
|
| 325 | 325 | } |
| 326 | 326 | |
| 327 | 327 | |
@@ -14,58 +14,58 @@ discard block |
||
| 14 | 14 | |
| 15 | 15 | function v019_pre193($version_installee, $version_cible) |
| 16 | 16 | { |
| 17 | - // Syndication : ajout de l'option resume=oui/non et de la langue |
|
| 18 | - if (upgrade_vers(1.901, $version_installee, $version_cible)) { |
|
| 19 | - spip_query("ALTER TABLE spip_syndic ADD `resume` VARCHAR(3) DEFAULT 'oui'"); |
|
| 20 | - spip_query("ALTER TABLE spip_syndic_articles ADD `lang` VARCHAR(10) DEFAULT '' NOT NULL"); |
|
| 21 | - maj_version(1.901); |
|
| 22 | - } |
|
| 17 | + // Syndication : ajout de l'option resume=oui/non et de la langue |
|
| 18 | + if (upgrade_vers(1.901, $version_installee, $version_cible)) { |
|
| 19 | + spip_query("ALTER TABLE spip_syndic ADD `resume` VARCHAR(3) DEFAULT 'oui'"); |
|
| 20 | + spip_query("ALTER TABLE spip_syndic_articles ADD `lang` VARCHAR(10) DEFAULT '' NOT NULL"); |
|
| 21 | + maj_version(1.901); |
|
| 22 | + } |
|
| 23 | 23 | |
| 24 | - // Syndication : ajout de source, url_source, tags |
|
| 25 | - if (upgrade_vers(1.902, $version_installee, $version_cible)) { |
|
| 26 | - spip_query("ALTER TABLE spip_syndic_articles ADD `url_source` TINYTEXT DEFAULT '' NOT NULL"); |
|
| 27 | - spip_query("ALTER TABLE spip_syndic_articles ADD `source` TINYTEXT DEFAULT '' NOT NULL"); |
|
| 28 | - spip_query("ALTER TABLE spip_syndic_articles ADD `tags` TEXT DEFAULT '' NOT NULL"); |
|
| 29 | - maj_version(1.902); |
|
| 30 | - } |
|
| 24 | + // Syndication : ajout de source, url_source, tags |
|
| 25 | + if (upgrade_vers(1.902, $version_installee, $version_cible)) { |
|
| 26 | + spip_query("ALTER TABLE spip_syndic_articles ADD `url_source` TINYTEXT DEFAULT '' NOT NULL"); |
|
| 27 | + spip_query("ALTER TABLE spip_syndic_articles ADD `source` TINYTEXT DEFAULT '' NOT NULL"); |
|
| 28 | + spip_query("ALTER TABLE spip_syndic_articles ADD `tags` TEXT DEFAULT '' NOT NULL"); |
|
| 29 | + maj_version(1.902); |
|
| 30 | + } |
|
| 31 | 31 | |
| 32 | - // URLs propres des sites (sait-on jamais) |
|
| 33 | - // + oubli des KEY url_propre sur les auteurs si installation neuve |
|
| 34 | - if (upgrade_vers(1.903, $version_installee, $version_cible)) { |
|
| 35 | - spip_query("ALTER TABLE spip_syndic ADD `url_propre` VARCHAR(255) NOT NULL"); |
|
| 36 | - spip_query("ALTER TABLE spip_syndic ADD INDEX `url_propre` (`url_propre`)"); |
|
| 37 | - spip_query("ALTER TABLE spip_auteurs ADD INDEX `url_propre` (`url_propre`)"); |
|
| 38 | - maj_version(1.903); |
|
| 39 | - } |
|
| 32 | + // URLs propres des sites (sait-on jamais) |
|
| 33 | + // + oubli des KEY url_propre sur les auteurs si installation neuve |
|
| 34 | + if (upgrade_vers(1.903, $version_installee, $version_cible)) { |
|
| 35 | + spip_query("ALTER TABLE spip_syndic ADD `url_propre` VARCHAR(255) NOT NULL"); |
|
| 36 | + spip_query("ALTER TABLE spip_syndic ADD INDEX `url_propre` (`url_propre`)"); |
|
| 37 | + spip_query("ALTER TABLE spip_auteurs ADD INDEX `url_propre` (`url_propre`)"); |
|
| 38 | + maj_version(1.903); |
|
| 39 | + } |
|
| 40 | 40 | |
| 41 | - // suppression des anciennes tables temporaires des visites |
|
| 42 | - // (maintenant stockees sous forme de fichiers) |
|
| 43 | - if (upgrade_vers(1.904, $version_installee, $version_cible)) { |
|
| 44 | - spip_query("DROP TABLE IF EXISTS spip_visites_temp"); |
|
| 45 | - spip_query("DROP TABLE IF EXISTS spip_referers_temp"); |
|
| 46 | - maj_version(1.904); |
|
| 47 | - } |
|
| 41 | + // suppression des anciennes tables temporaires des visites |
|
| 42 | + // (maintenant stockees sous forme de fichiers) |
|
| 43 | + if (upgrade_vers(1.904, $version_installee, $version_cible)) { |
|
| 44 | + spip_query("DROP TABLE IF EXISTS spip_visites_temp"); |
|
| 45 | + spip_query("DROP TABLE IF EXISTS spip_referers_temp"); |
|
| 46 | + maj_version(1.904); |
|
| 47 | + } |
|
| 48 | 48 | |
| 49 | - // fusion des 10 tables index en une seule |
|
| 50 | - // pour fonctions futures evoluees du moteur de recherche |
|
| 51 | - if (upgrade_vers(1.905, $version_installee, $version_cible)) { |
|
| 52 | - // agrandir le champ "valeur" de spip_meta pour pouvoir y stocker |
|
| 53 | - // des choses plus sympa |
|
| 54 | - spip_query("ALTER TABLE spip_meta DROP INDEX `valeur`"); |
|
| 55 | - spip_query("ALTER TABLE spip_meta CHANGE `valeur` `valeur` TEXT"); |
|
| 56 | - // table des correspondances table->id_table |
|
| 57 | - $liste_tables = array(); |
|
| 58 | - $liste_tables[1]='spip_articles'; |
|
| 59 | - $liste_tables[2]='spip_auteurs'; |
|
| 60 | - $liste_tables[3]='spip_breves'; |
|
| 61 | - $liste_tables[4]='spip_documents'; |
|
| 62 | - $liste_tables[5]='spip_forum'; |
|
| 63 | - $liste_tables[6]='spip_mots'; |
|
| 64 | - $liste_tables[7]='spip_rubriques'; |
|
| 65 | - $liste_tables[8]='spip_signatures'; |
|
| 66 | - $liste_tables[9]='spip_syndic'; |
|
| 49 | + // fusion des 10 tables index en une seule |
|
| 50 | + // pour fonctions futures evoluees du moteur de recherche |
|
| 51 | + if (upgrade_vers(1.905, $version_installee, $version_cible)) { |
|
| 52 | + // agrandir le champ "valeur" de spip_meta pour pouvoir y stocker |
|
| 53 | + // des choses plus sympa |
|
| 54 | + spip_query("ALTER TABLE spip_meta DROP INDEX `valeur`"); |
|
| 55 | + spip_query("ALTER TABLE spip_meta CHANGE `valeur` `valeur` TEXT"); |
|
| 56 | + // table des correspondances table->id_table |
|
| 57 | + $liste_tables = array(); |
|
| 58 | + $liste_tables[1]='spip_articles'; |
|
| 59 | + $liste_tables[2]='spip_auteurs'; |
|
| 60 | + $liste_tables[3]='spip_breves'; |
|
| 61 | + $liste_tables[4]='spip_documents'; |
|
| 62 | + $liste_tables[5]='spip_forum'; |
|
| 63 | + $liste_tables[6]='spip_mots'; |
|
| 64 | + $liste_tables[7]='spip_rubriques'; |
|
| 65 | + $liste_tables[8]='spip_signatures'; |
|
| 66 | + $liste_tables[9]='spip_syndic'; |
|
| 67 | 67 | |
| 68 | - ecrire_meta('index_table', serialize($liste_tables)); |
|
| 68 | + ecrire_meta('index_table', serialize($liste_tables)); |
|
| 69 | 69 | |
| 70 | 70 | ## devenu inutile car suppression totale de l'indexation |
| 71 | 71 | /* |
@@ -96,207 +96,207 @@ discard block |
||
| 96 | 96 | spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_syndic` as id_objet,'9' as `id_table FROM spip_index_syndic"); |
| 97 | 97 | spip_query("DROP TABLE IF EXISTS spip_index_syndic"); |
| 98 | 98 | */ |
| 99 | - maj_version(1.905); |
|
| 100 | - } |
|
| 99 | + maj_version(1.905); |
|
| 100 | + } |
|
| 101 | 101 | |
| 102 | 102 | |
| 103 | - // cette table est desormais geree par le plugin "podcast_client", on la |
|
| 104 | - // supprime si le plugin n'est pas active ; risque inherent a l'utilisation |
|
| 105 | - // de versions alpha :-) |
|
| 106 | - if (upgrade_vers(1.906, $version_installee, $version_cible)) { |
|
| 107 | - if (!@in_array('podcast_client', $GLOBALS['plugins'])) { |
|
| 108 | - spip_query("DROP TABLE spip_documents_syndic"); |
|
| 109 | - } |
|
| 110 | - maj_version(1.906); |
|
| 111 | - } |
|
| 112 | - if (upgrade_vers(1.907, $version_installee, $version_cible)) { |
|
| 113 | - spip_query("ALTER TABLE spip_forum ADD INDEX `idx` (`idx`)"); |
|
| 114 | - maj_version(1.907); |
|
| 115 | - } |
|
| 116 | - // Oups ! on stockait les tags de syndication sous la forme rel="category" |
|
| 117 | - // au lieu de rel="directory" - http://microformats.org/wiki/rel-directory |
|
| 118 | - if (upgrade_vers(1.908, $version_installee, $version_cible)) { |
|
| 119 | - spip_query("UPDATE spip_syndic_articles SET `tags` = REPLACE(`tags`, 'rel=\"category\">', 'rel=\"directory\">') WHERE `tags` like '%category%'"); |
|
| 120 | - maj_version(1.908); |
|
| 121 | - } |
|
| 122 | - if (upgrade_vers(1.909, $version_installee, $version_cible)) { |
|
| 123 | - spip_query("ALTER IGNORE TABLE spip_mots_articles ADD PRIMARY KEY (`id_article`, `id_mot`)"); |
|
| 124 | - spip_query("ALTER IGNORE TABLE spip_mots_breves ADD PRIMARY KEY (`id_breve`, `id_mot`)"); |
|
| 125 | - spip_query("ALTER IGNORE TABLE spip_mots_rubriques ADD PRIMARY KEY (`id_rubrique`, `id_mot`)"); |
|
| 126 | - spip_query("ALTER IGNORE TABLE spip_mots_syndic ADD PRIMARY KEY (`id_syndic`, `id_mot`)"); |
|
| 127 | - spip_query("ALTER IGNORE TABLE spip_mots_documents ADD PRIMARY KEY (`id_document`, `id_mot`)"); |
|
| 128 | - spip_query("ALTER IGNORE TABLE spip_mots_forum ADD PRIMARY KEY (`id_forum`, `id_mot`)"); |
|
| 129 | - maj_version(1.909); |
|
| 130 | - } |
|
| 103 | + // cette table est desormais geree par le plugin "podcast_client", on la |
|
| 104 | + // supprime si le plugin n'est pas active ; risque inherent a l'utilisation |
|
| 105 | + // de versions alpha :-) |
|
| 106 | + if (upgrade_vers(1.906, $version_installee, $version_cible)) { |
|
| 107 | + if (!@in_array('podcast_client', $GLOBALS['plugins'])) { |
|
| 108 | + spip_query("DROP TABLE spip_documents_syndic"); |
|
| 109 | + } |
|
| 110 | + maj_version(1.906); |
|
| 111 | + } |
|
| 112 | + if (upgrade_vers(1.907, $version_installee, $version_cible)) { |
|
| 113 | + spip_query("ALTER TABLE spip_forum ADD INDEX `idx` (`idx`)"); |
|
| 114 | + maj_version(1.907); |
|
| 115 | + } |
|
| 116 | + // Oups ! on stockait les tags de syndication sous la forme rel="category" |
|
| 117 | + // au lieu de rel="directory" - http://microformats.org/wiki/rel-directory |
|
| 118 | + if (upgrade_vers(1.908, $version_installee, $version_cible)) { |
|
| 119 | + spip_query("UPDATE spip_syndic_articles SET `tags` = REPLACE(`tags`, 'rel=\"category\">', 'rel=\"directory\">') WHERE `tags` like '%category%'"); |
|
| 120 | + maj_version(1.908); |
|
| 121 | + } |
|
| 122 | + if (upgrade_vers(1.909, $version_installee, $version_cible)) { |
|
| 123 | + spip_query("ALTER IGNORE TABLE spip_mots_articles ADD PRIMARY KEY (`id_article`, `id_mot`)"); |
|
| 124 | + spip_query("ALTER IGNORE TABLE spip_mots_breves ADD PRIMARY KEY (`id_breve`, `id_mot`)"); |
|
| 125 | + spip_query("ALTER IGNORE TABLE spip_mots_rubriques ADD PRIMARY KEY (`id_rubrique`, `id_mot`)"); |
|
| 126 | + spip_query("ALTER IGNORE TABLE spip_mots_syndic ADD PRIMARY KEY (`id_syndic`, `id_mot`)"); |
|
| 127 | + spip_query("ALTER IGNORE TABLE spip_mots_documents ADD PRIMARY KEY (`id_document`, `id_mot`)"); |
|
| 128 | + spip_query("ALTER IGNORE TABLE spip_mots_forum ADD PRIMARY KEY (`id_forum`, `id_mot`)"); |
|
| 129 | + maj_version(1.909); |
|
| 130 | + } |
|
| 131 | 131 | |
| 132 | - if (upgrade_vers(1.910, $version_installee, $version_cible)) { |
|
| 133 | - spip_query("ALTER IGNORE TABLE spip_auteurs_articles ADD PRIMARY KEY (`id_auteur`, `id_article`)"); |
|
| 134 | - spip_query("ALTER IGNORE TABLE spip_auteurs_rubriques ADD PRIMARY KEY (`id_auteur`, `id_rubrique`)"); |
|
| 135 | - spip_query("ALTER IGNORE TABLE spip_auteurs_messages ADD PRIMARY KEY (`id_auteur`, `id_message`)"); |
|
| 136 | - maj_version(1.910); |
|
| 137 | - } |
|
| 132 | + if (upgrade_vers(1.910, $version_installee, $version_cible)) { |
|
| 133 | + spip_query("ALTER IGNORE TABLE spip_auteurs_articles ADD PRIMARY KEY (`id_auteur`, `id_article`)"); |
|
| 134 | + spip_query("ALTER IGNORE TABLE spip_auteurs_rubriques ADD PRIMARY KEY (`id_auteur`, `id_rubrique`)"); |
|
| 135 | + spip_query("ALTER IGNORE TABLE spip_auteurs_messages ADD PRIMARY KEY (`id_auteur`, `id_message`)"); |
|
| 136 | + maj_version(1.910); |
|
| 137 | + } |
|
| 138 | 138 | |
| 139 | - if (upgrade_vers(1.911, $version_installee, $version_cible)) { |
|
| 139 | + if (upgrade_vers(1.911, $version_installee, $version_cible)) { |
|
| 140 | 140 | |
| 141 | - spip_query("ALTER IGNORE TABLE spip_auteurs_articles DROP INDEX `id_auteur`"); |
|
| 142 | - spip_query("ALTER IGNORE TABLE spip_auteurs_rubriques DROP INDEX `id_auteur`"); |
|
| 143 | - spip_query("ALTER IGNORE TABLE spip_auteurs_messages DROP INDEX `id_auteur`"); |
|
| 144 | - spip_query("ALTER IGNORE TABLE spip_mots_articles DROP INDEX `id_article`"); |
|
| 145 | - spip_query("ALTER IGNORE TABLE spip_mots_breves DROP INDEX `id_breve`"); |
|
| 146 | - spip_query("ALTER IGNORE TABLE spip_mots_rubriques DROP INDEX `id_rubrique`"); |
|
| 147 | - spip_query("ALTER IGNORE TABLE spip_mots_syndic DROP INDEX `id_syndic`"); |
|
| 148 | - spip_query("ALTER IGNORE TABLE spip_mots_forum DROP INDEX `id_forum`"); |
|
| 149 | - spip_query("ALTER IGNORE TABLE spip_mots_documents DROP INDEX `id_document`"); |
|
| 141 | + spip_query("ALTER IGNORE TABLE spip_auteurs_articles DROP INDEX `id_auteur`"); |
|
| 142 | + spip_query("ALTER IGNORE TABLE spip_auteurs_rubriques DROP INDEX `id_auteur`"); |
|
| 143 | + spip_query("ALTER IGNORE TABLE spip_auteurs_messages DROP INDEX `id_auteur`"); |
|
| 144 | + spip_query("ALTER IGNORE TABLE spip_mots_articles DROP INDEX `id_article`"); |
|
| 145 | + spip_query("ALTER IGNORE TABLE spip_mots_breves DROP INDEX `id_breve`"); |
|
| 146 | + spip_query("ALTER IGNORE TABLE spip_mots_rubriques DROP INDEX `id_rubrique`"); |
|
| 147 | + spip_query("ALTER IGNORE TABLE spip_mots_syndic DROP INDEX `id_syndic`"); |
|
| 148 | + spip_query("ALTER IGNORE TABLE spip_mots_forum DROP INDEX `id_forum`"); |
|
| 149 | + spip_query("ALTER IGNORE TABLE spip_mots_documents DROP INDEX `id_document`"); |
|
| 150 | 150 | # 18 juillet 2007: table depreciee |
| 151 | 151 | # spip_query("ALTER IGNORE TABLE spip_caches DROP INDEX fichier"); |
| 152 | - maj_version(1.911); |
|
| 153 | - } |
|
| 152 | + maj_version(1.911); |
|
| 153 | + } |
|
| 154 | 154 | |
| 155 | - // Le logo du site n'est plus le logo par defaut des rubriques |
|
| 156 | - // mais pour assurer la compatibilite ascendante, on le duplique |
|
| 157 | - if (upgrade_vers(1.912, $version_installee, $version_cible)) { |
|
| 158 | - @copy(_DIR_LOGOS.'rubon0.gif', _DIR_LOGOS.'siteon0.gif'); |
|
| 159 | - @copy(_DIR_LOGOS.'ruboff0.gif', _DIR_LOGOS.'siteoff0.gif'); |
|
| 160 | - @copy(_DIR_LOGOS.'rubon0.jpg', _DIR_LOGOS.'siteon0.jpg'); |
|
| 161 | - @copy(_DIR_LOGOS.'ruboff0.jpg', _DIR_LOGOS.'siteoff0.jpg'); |
|
| 162 | - @copy(_DIR_LOGOS.'rubon0.png', _DIR_LOGOS.'siteon0.png'); |
|
| 163 | - @copy(_DIR_LOGOS.'ruboff0.png', _DIR_LOGOS.'siteoff0.png'); |
|
| 164 | - maj_version(1.912); |
|
| 165 | - } |
|
| 155 | + // Le logo du site n'est plus le logo par defaut des rubriques |
|
| 156 | + // mais pour assurer la compatibilite ascendante, on le duplique |
|
| 157 | + if (upgrade_vers(1.912, $version_installee, $version_cible)) { |
|
| 158 | + @copy(_DIR_LOGOS.'rubon0.gif', _DIR_LOGOS.'siteon0.gif'); |
|
| 159 | + @copy(_DIR_LOGOS.'ruboff0.gif', _DIR_LOGOS.'siteoff0.gif'); |
|
| 160 | + @copy(_DIR_LOGOS.'rubon0.jpg', _DIR_LOGOS.'siteon0.jpg'); |
|
| 161 | + @copy(_DIR_LOGOS.'ruboff0.jpg', _DIR_LOGOS.'siteoff0.jpg'); |
|
| 162 | + @copy(_DIR_LOGOS.'rubon0.png', _DIR_LOGOS.'siteon0.png'); |
|
| 163 | + @copy(_DIR_LOGOS.'ruboff0.png', _DIR_LOGOS.'siteoff0.png'); |
|
| 164 | + maj_version(1.912); |
|
| 165 | + } |
|
| 166 | 166 | |
| 167 | - // suppression de auteur_modif qui n'est plus utilise nulle part |
|
| 168 | - if (upgrade_vers(1.913, $version_installee, $version_cible)) { |
|
| 169 | - spip_query("ALTER TABLE spip_articles DROP `auteur_modif`"); |
|
| 170 | - maj_version(1.913); |
|
| 171 | - } |
|
| 167 | + // suppression de auteur_modif qui n'est plus utilise nulle part |
|
| 168 | + if (upgrade_vers(1.913, $version_installee, $version_cible)) { |
|
| 169 | + spip_query("ALTER TABLE spip_articles DROP `auteur_modif`"); |
|
| 170 | + maj_version(1.913); |
|
| 171 | + } |
|
| 172 | 172 | |
| 173 | - // Ajout de SVG |
|
| 174 | - if (upgrade_vers(1.914, $version_installee, $version_cible)) { |
|
| 175 | - spip_query("INSERT IGNORE INTO spip_types_documents (`extension`, `titre`, `inclus`) VALUES ('svg', 'Scalable Vector Graphics', 'embed')"); |
|
| 176 | - spip_query("UPDATE spip_types_documents SET `mime_type`='image/svg+xml' WHERE `extension`='svg'"); |
|
| 177 | - maj_version(1.914); |
|
| 178 | - } |
|
| 173 | + // Ajout de SVG |
|
| 174 | + if (upgrade_vers(1.914, $version_installee, $version_cible)) { |
|
| 175 | + spip_query("INSERT IGNORE INTO spip_types_documents (`extension`, `titre`, `inclus`) VALUES ('svg', 'Scalable Vector Graphics', 'embed')"); |
|
| 176 | + spip_query("UPDATE spip_types_documents SET `mime_type`='image/svg+xml' WHERE `extension`='svg'"); |
|
| 177 | + maj_version(1.914); |
|
| 178 | + } |
|
| 179 | 179 | |
| 180 | - // Ajout de plein de type mime |
|
| 181 | - if (upgrade_vers(1.915, $version_installee, $version_cible)) { |
|
| 182 | - maj_version(1.915); |
|
| 183 | - } |
|
| 184 | - // refaire l'upgrade 1.905 qui a pu foirer en partie a cause de la requete ALTER sur spip_meta |
|
| 185 | - if (upgrade_vers(1.916, $version_installee, $version_cible)) { |
|
| 186 | - // agrandir le champ "valeur" de spip_meta pour pouvoir y stocker |
|
| 187 | - // des choses plus sympa |
|
| 188 | - spip_query("ALTER TABLE spip_meta DROP INDEX `valeur`"); |
|
| 189 | - spip_query("ALTER TABLE spip_meta CHANGE `valeur` `valeur` TEXT"); |
|
| 180 | + // Ajout de plein de type mime |
|
| 181 | + if (upgrade_vers(1.915, $version_installee, $version_cible)) { |
|
| 182 | + maj_version(1.915); |
|
| 183 | + } |
|
| 184 | + // refaire l'upgrade 1.905 qui a pu foirer en partie a cause de la requete ALTER sur spip_meta |
|
| 185 | + if (upgrade_vers(1.916, $version_installee, $version_cible)) { |
|
| 186 | + // agrandir le champ "valeur" de spip_meta pour pouvoir y stocker |
|
| 187 | + // des choses plus sympa |
|
| 188 | + spip_query("ALTER TABLE spip_meta DROP INDEX `valeur`"); |
|
| 189 | + spip_query("ALTER TABLE spip_meta CHANGE `valeur` `valeur` TEXT"); |
|
| 190 | 190 | #8/08/07 plus d'indexation dans le core |
| 191 | - //include_spip('inc/indexation'); |
|
| 192 | - //update_index_tables(); |
|
| 193 | - maj_version(1.916); |
|
| 194 | - } |
|
| 195 | - if (upgrade_vers(1.917, $version_installee, $version_cible)) { |
|
| 196 | - spip_query("ALTER TABLE spip_documents DROP `inclus`"); |
|
| 197 | - maj_version(1.917); |
|
| 198 | - } |
|
| 191 | + //include_spip('inc/indexation'); |
|
| 192 | + //update_index_tables(); |
|
| 193 | + maj_version(1.916); |
|
| 194 | + } |
|
| 195 | + if (upgrade_vers(1.917, $version_installee, $version_cible)) { |
|
| 196 | + spip_query("ALTER TABLE spip_documents DROP `inclus`"); |
|
| 197 | + maj_version(1.917); |
|
| 198 | + } |
|
| 199 | 199 | |
| 200 | - // Permettre d'enregistrer un numero IP dans les revisions d'articles |
|
| 201 | - // a la place de l'id_auteur |
|
| 202 | - if (upgrade_vers(1.918, $version_installee, $version_cible)) { |
|
| 203 | - spip_query("ALTER TABLE spip_versions CHANGE `id_auteur` `id_auteur` VARCHAR(23)"); |
|
| 204 | - maj_version(1.918); |
|
| 205 | - } |
|
| 200 | + // Permettre d'enregistrer un numero IP dans les revisions d'articles |
|
| 201 | + // a la place de l'id_auteur |
|
| 202 | + if (upgrade_vers(1.918, $version_installee, $version_cible)) { |
|
| 203 | + spip_query("ALTER TABLE spip_versions CHANGE `id_auteur` `id_auteur` VARCHAR(23)"); |
|
| 204 | + maj_version(1.918); |
|
| 205 | + } |
|
| 206 | 206 | |
| 207 | - if (upgrade_vers(1.919, $version_installee, $version_cible)) { |
|
| 208 | - spip_query("ALTER TABLE spip_ajax_fonc DROP `id_auteur`"); |
|
| 209 | - maj_version('1.919'); |
|
| 210 | - } |
|
| 207 | + if (upgrade_vers(1.919, $version_installee, $version_cible)) { |
|
| 208 | + spip_query("ALTER TABLE spip_ajax_fonc DROP `id_auteur`"); |
|
| 209 | + maj_version('1.919'); |
|
| 210 | + } |
|
| 211 | 211 | |
| 212 | - if (upgrade_vers(1.920, $version_installee, $version_cible)) { |
|
| 213 | - spip_query("ALTER IGNORE TABLE spip_documents_articles ADD PRIMARY KEY (`id_article`, `id_document`)"); |
|
| 214 | - spip_query("ALTER IGNORE TABLE spip_documents_breves ADD PRIMARY KEY (`id_breve`, `id_document`)"); |
|
| 215 | - spip_query("ALTER IGNORE TABLE spip_documents_rubriques ADD PRIMARY KEY (`id_rubrique`, `id_document`)"); |
|
| 216 | - spip_query("ALTER IGNORE TABLE spip_documents_articles DROP INDEX `id_article`"); |
|
| 217 | - spip_query("ALTER IGNORE TABLE spip_documents_breves DROP INDEX `id_breve`"); |
|
| 218 | - spip_query("ALTER IGNORE TABLE spip_documents_rubriques DROP INDEX `id_rubrique`"); |
|
| 219 | - maj_version('1.920'); |
|
| 220 | - } |
|
| 221 | - if (upgrade_vers(1.922, $version_installee, $version_cible)) { |
|
| 222 | - spip_query("ALTER TABLE spip_meta ADD `impt` ENUM('non', 'oui') DEFAULT 'oui' NOT NULL AFTER `valeur`"); |
|
| 223 | - $meta_serveur = array('version_installee','adresse_site','alea_ephemere_ancien','alea_ephemere','alea_ephemere_date','langue_site','langues_proposees','date_calcul_rubriques','derniere_modif','optimiser_table','drapeau_edition','creer_preview','taille_preview','creer_htpasswd','creer_htaccess','gd_formats_read','gd_formats', |
|
| 224 | - 'netpbm_formats','formats_graphiques','image_process','plugin_header','plugin'); |
|
| 225 | - foreach($meta_serveur as $nom) |
|
| 226 | - spip_query("UPDATE spip_meta SET `impt`='non' WHERE `nom`="._q($nom)); |
|
| 227 | - maj_version('1.922'); |
|
| 228 | - } |
|
| 229 | - if (upgrade_vers(1.923, $version_installee, $version_cible)) { |
|
| 230 | - if (isset($GLOBALS['meta']['IMPORT_tables_noimport'])){ |
|
| 231 | - $IMPORT_tables_noimport = unserialize($GLOBALS['meta']['IMPORT_tables_noimport']); |
|
| 232 | - foreach ($IMPORT_tables_noimport as $key=>$table) |
|
| 233 | - if ($table=='spip_meta') unset($IMPORT_tables_noimport[$key]); |
|
| 234 | - ecrire_meta('IMPORT_tables_noimport',serialize($IMPORT_tables_noimport),'non'); |
|
| 235 | - } |
|
| 236 | - maj_version('1.923'); |
|
| 237 | - } |
|
| 212 | + if (upgrade_vers(1.920, $version_installee, $version_cible)) { |
|
| 213 | + spip_query("ALTER IGNORE TABLE spip_documents_articles ADD PRIMARY KEY (`id_article`, `id_document`)"); |
|
| 214 | + spip_query("ALTER IGNORE TABLE spip_documents_breves ADD PRIMARY KEY (`id_breve`, `id_document`)"); |
|
| 215 | + spip_query("ALTER IGNORE TABLE spip_documents_rubriques ADD PRIMARY KEY (`id_rubrique`, `id_document`)"); |
|
| 216 | + spip_query("ALTER IGNORE TABLE spip_documents_articles DROP INDEX `id_article`"); |
|
| 217 | + spip_query("ALTER IGNORE TABLE spip_documents_breves DROP INDEX `id_breve`"); |
|
| 218 | + spip_query("ALTER IGNORE TABLE spip_documents_rubriques DROP INDEX `id_rubrique`"); |
|
| 219 | + maj_version('1.920'); |
|
| 220 | + } |
|
| 221 | + if (upgrade_vers(1.922, $version_installee, $version_cible)) { |
|
| 222 | + spip_query("ALTER TABLE spip_meta ADD `impt` ENUM('non', 'oui') DEFAULT 'oui' NOT NULL AFTER `valeur`"); |
|
| 223 | + $meta_serveur = array('version_installee','adresse_site','alea_ephemere_ancien','alea_ephemere','alea_ephemere_date','langue_site','langues_proposees','date_calcul_rubriques','derniere_modif','optimiser_table','drapeau_edition','creer_preview','taille_preview','creer_htpasswd','creer_htaccess','gd_formats_read','gd_formats', |
|
| 224 | + 'netpbm_formats','formats_graphiques','image_process','plugin_header','plugin'); |
|
| 225 | + foreach($meta_serveur as $nom) |
|
| 226 | + spip_query("UPDATE spip_meta SET `impt`='non' WHERE `nom`="._q($nom)); |
|
| 227 | + maj_version('1.922'); |
|
| 228 | + } |
|
| 229 | + if (upgrade_vers(1.923, $version_installee, $version_cible)) { |
|
| 230 | + if (isset($GLOBALS['meta']['IMPORT_tables_noimport'])){ |
|
| 231 | + $IMPORT_tables_noimport = unserialize($GLOBALS['meta']['IMPORT_tables_noimport']); |
|
| 232 | + foreach ($IMPORT_tables_noimport as $key=>$table) |
|
| 233 | + if ($table=='spip_meta') unset($IMPORT_tables_noimport[$key]); |
|
| 234 | + ecrire_meta('IMPORT_tables_noimport',serialize($IMPORT_tables_noimport),'non'); |
|
| 235 | + } |
|
| 236 | + maj_version('1.923'); |
|
| 237 | + } |
|
| 238 | 238 | |
| 239 | - if (upgrade_vers(1.924, $version_installee, $version_cible)) { |
|
| 240 | - spip_query('DROP TABLE spip_ajax_fonc'); |
|
| 241 | - maj_version('1.924'); |
|
| 242 | - } |
|
| 239 | + if (upgrade_vers(1.924, $version_installee, $version_cible)) { |
|
| 240 | + spip_query('DROP TABLE spip_ajax_fonc'); |
|
| 241 | + maj_version('1.924'); |
|
| 242 | + } |
|
| 243 | 243 | |
| 244 | - if (upgrade_vers(1.925, $version_installee, $version_cible)) { |
|
| 245 | - include_spip('inc/flock'); |
|
| 246 | - /* deplacement des sessions */ |
|
| 247 | - $f_session = preg_files('data', 'session_'); |
|
| 248 | - $repertoire = _DIR_SESSIONS; |
|
| 249 | - if(!@file_exists($repertoire)) { |
|
| 250 | - $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire); |
|
| 251 | - $repertoire = sous_repertoire(_DIR_TMP, $repertoire); |
|
| 252 | - } |
|
| 253 | - foreach($f_session as $f) { |
|
| 254 | - $d = basename($f); |
|
| 255 | - @copy($f, $repertoire.$d); |
|
| 256 | - } |
|
| 257 | - /* deplacement des visites */ |
|
| 258 | - $f_visites = preg_files('data/visites'); |
|
| 259 | - $repertoire = sous_repertoire(_DIR_TMP, 'visites'); |
|
| 260 | - foreach($f_visites as $f) { |
|
| 261 | - $d = basename($f); |
|
| 262 | - @copy($f, $repertoire.$d); |
|
| 263 | - } |
|
| 264 | - /* deplacement des upload */ |
|
| 265 | - $auteurs = array(); |
|
| 266 | - $req = spip_query("SELECT `login` FROM spip_auteurs WHERE `statut` = '0minirezo'"); |
|
| 267 | - while($row = sql_fetch($req)) |
|
| 268 | - $auteurs[] = $row['login']; |
|
| 269 | - $f_upload = preg_files('upload', -1, 10000, $auteurs); |
|
| 270 | - $repertoire = _DIR_TRANSFERT; |
|
| 271 | - if(!@file_exists($repertoire)) { |
|
| 272 | - $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire); |
|
| 273 | - $repertoire = sous_repertoire(_DIR_TMP, $repertoire); |
|
| 274 | - } |
|
| 275 | - foreach($auteurs as $login) { |
|
| 276 | - if(is_dir('upload/'.$login)) |
|
| 277 | - $sous_repertoire = sous_repertoire(_DIR_TRANSFERT, $login); |
|
| 278 | - } |
|
| 279 | - foreach($f_upload as $f) { |
|
| 280 | - @copy($f, _DIR_TMP.$f); |
|
| 281 | - } |
|
| 282 | - /* deplacement des dumps */ |
|
| 283 | - $f_session = preg_files('data', 'dump'); |
|
| 284 | - $repertoire = _DIR_DUMP; |
|
| 285 | - if(!@file_exists($repertoire)) { |
|
| 286 | - $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire); |
|
| 287 | - $repertoire = sous_repertoire(_DIR_TMP, $repertoire); |
|
| 288 | - } |
|
| 289 | - foreach($f_session as $f) { |
|
| 290 | - $d = basename($f); |
|
| 291 | - @copy($f, $repertoire.$d); |
|
| 292 | - } |
|
| 293 | - maj_version('1.925'); |
|
| 294 | - } |
|
| 295 | - // Ajout de MP4 |
|
| 296 | - if (upgrade_vers(1.926, $version_installee, $version_cible)) { |
|
| 297 | - spip_query("INSERT IGNORE INTO spip_types_documents (`extension`, `titre`, `inclus`) VALUES ('mp4', 'MPEG4', 'embed')"); |
|
| 298 | - spip_query("UPDATE spip_types_documents SET `mime_type`='application/mp4' WHERE `extension`='mp4'"); |
|
| 299 | - maj_version('1.926'); |
|
| 300 | - } |
|
| 244 | + if (upgrade_vers(1.925, $version_installee, $version_cible)) { |
|
| 245 | + include_spip('inc/flock'); |
|
| 246 | + /* deplacement des sessions */ |
|
| 247 | + $f_session = preg_files('data', 'session_'); |
|
| 248 | + $repertoire = _DIR_SESSIONS; |
|
| 249 | + if(!@file_exists($repertoire)) { |
|
| 250 | + $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire); |
|
| 251 | + $repertoire = sous_repertoire(_DIR_TMP, $repertoire); |
|
| 252 | + } |
|
| 253 | + foreach($f_session as $f) { |
|
| 254 | + $d = basename($f); |
|
| 255 | + @copy($f, $repertoire.$d); |
|
| 256 | + } |
|
| 257 | + /* deplacement des visites */ |
|
| 258 | + $f_visites = preg_files('data/visites'); |
|
| 259 | + $repertoire = sous_repertoire(_DIR_TMP, 'visites'); |
|
| 260 | + foreach($f_visites as $f) { |
|
| 261 | + $d = basename($f); |
|
| 262 | + @copy($f, $repertoire.$d); |
|
| 263 | + } |
|
| 264 | + /* deplacement des upload */ |
|
| 265 | + $auteurs = array(); |
|
| 266 | + $req = spip_query("SELECT `login` FROM spip_auteurs WHERE `statut` = '0minirezo'"); |
|
| 267 | + while($row = sql_fetch($req)) |
|
| 268 | + $auteurs[] = $row['login']; |
|
| 269 | + $f_upload = preg_files('upload', -1, 10000, $auteurs); |
|
| 270 | + $repertoire = _DIR_TRANSFERT; |
|
| 271 | + if(!@file_exists($repertoire)) { |
|
| 272 | + $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire); |
|
| 273 | + $repertoire = sous_repertoire(_DIR_TMP, $repertoire); |
|
| 274 | + } |
|
| 275 | + foreach($auteurs as $login) { |
|
| 276 | + if(is_dir('upload/'.$login)) |
|
| 277 | + $sous_repertoire = sous_repertoire(_DIR_TRANSFERT, $login); |
|
| 278 | + } |
|
| 279 | + foreach($f_upload as $f) { |
|
| 280 | + @copy($f, _DIR_TMP.$f); |
|
| 281 | + } |
|
| 282 | + /* deplacement des dumps */ |
|
| 283 | + $f_session = preg_files('data', 'dump'); |
|
| 284 | + $repertoire = _DIR_DUMP; |
|
| 285 | + if(!@file_exists($repertoire)) { |
|
| 286 | + $repertoire = preg_replace(','._DIR_TMP.',', '', $repertoire); |
|
| 287 | + $repertoire = sous_repertoire(_DIR_TMP, $repertoire); |
|
| 288 | + } |
|
| 289 | + foreach($f_session as $f) { |
|
| 290 | + $d = basename($f); |
|
| 291 | + @copy($f, $repertoire.$d); |
|
| 292 | + } |
|
| 293 | + maj_version('1.925'); |
|
| 294 | + } |
|
| 295 | + // Ajout de MP4 |
|
| 296 | + if (upgrade_vers(1.926, $version_installee, $version_cible)) { |
|
| 297 | + spip_query("INSERT IGNORE INTO spip_types_documents (`extension`, `titre`, `inclus`) VALUES ('mp4', 'MPEG4', 'embed')"); |
|
| 298 | + spip_query("UPDATE spip_types_documents SET `mime_type`='application/mp4' WHERE `extension`='mp4'"); |
|
| 299 | + maj_version('1.926'); |
|
| 300 | + } |
|
| 301 | 301 | } |
| 302 | 302 | ?> |
@@ -14,210 +14,210 @@ |
||
| 14 | 14 | |
| 15 | 15 | function maj_v018_dist($version_installee, $version_cible) |
| 16 | 16 | { |
| 17 | - if (upgrade_vers(1.801, $version_installee, $version_cible)) { |
|
| 18 | - spip_query("ALTER TABLE spip_rubriques ADD statut_tmp VARCHAR(10) NOT NULL, ADD date_tmp datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"); |
|
| 19 | - include_spip('inc/rubriques'); |
|
| 20 | - calculer_rubriques(); |
|
| 21 | - maj_version(1.801); |
|
| 22 | - } |
|
| 23 | - |
|
| 24 | - // Nouvelles tables d'invalidation |
|
| 25 | - if (upgrade_vers(1.802, $version_installee, $version_cible)) { |
|
| 26 | - spip_query("DROP TABLE spip_id_article_caches"); |
|
| 27 | - spip_query("DROP TABLE spip_id_auteur_caches"); |
|
| 28 | - spip_query("DROP TABLE spip_id_breve_caches"); |
|
| 29 | - spip_query("DROP TABLE spip_id_document_caches"); |
|
| 30 | - spip_query("DROP TABLE spip_id_forum_caches"); |
|
| 31 | - spip_query("DROP TABLE spip_id_groupe_caches"); |
|
| 32 | - spip_query("DROP TABLE spip_id_message_caches"); |
|
| 33 | - spip_query("DROP TABLE spip_id_mot_caches"); |
|
| 34 | - spip_query("DROP TABLE spip_id_rubrique_caches"); |
|
| 35 | - spip_query("DROP TABLE spip_id_signature_caches"); |
|
| 36 | - spip_query("DROP TABLE spip_id_syndic_article_caches"); |
|
| 37 | - spip_query("DROP TABLE spip_id_syndic_caches"); |
|
| 38 | - spip_query("DROP TABLE spip_id_type_caches"); |
|
| 39 | - spip_query("DROP TABLE spip_inclure_caches"); |
|
| 40 | - maj_version(1.802); |
|
| 41 | - } |
|
| 42 | - if (upgrade_vers(1.803, $version_installee, $version_cible)) { |
|
| 43 | - |
|
| 44 | - # 27 AOUT 2004 : conservons cette table pour autoriser les retours |
|
| 45 | - # de SPIP 1.8a6 CVS vers 1.7.2 |
|
| 46 | - # spip_query("DROP TABLE spip_forum_cache"); |
|
| 47 | - |
|
| 48 | - spip_query("DROP TABLE spip_inclure_caches"); |
|
| 49 | - maj_version(1.803); |
|
| 50 | - } |
|
| 51 | - if (upgrade_vers(1.804, $version_installee, $version_cible)) { |
|
| 52 | - // recreer la table spip_caches |
|
| 53 | - spip_query("DROP TABLE spip_caches"); |
|
| 54 | - creer_base(); |
|
| 55 | - maj_version(1.804); |
|
| 56 | - } |
|
| 57 | - |
|
| 58 | - // |
|
| 59 | - // Recalculer tous les threads |
|
| 60 | - // function du plugin forum recopiee ici pour assurer la montee de version dans tous les cas de figure |
|
| 61 | - function maj_v018_calculer_threads() { |
|
| 62 | - // fixer les id_thread des debuts de discussion |
|
| 63 | - sql_update('spip_forum', array('id_thread'=>'id_forum'), "id_parent=0"); |
|
| 64 | - // reparer les messages qui n'ont pas l'id_secteur de leur parent |
|
| 65 | - do { |
|
| 66 | - $discussion = "0"; |
|
| 67 | - $precedent = 0; |
|
| 68 | - $r = sql_select("fille.id_forum AS id, maman.id_thread AS thread", 'spip_forum AS fille, spip_forum AS maman', "fille.id_parent = maman.id_forum AND fille.id_thread <> maman.id_thread",'', "thread"); |
|
| 69 | - while ($row = sql_fetch($r)) { |
|
| 70 | - if ($row['thread'] == $precedent) |
|
| 71 | - $discussion .= "," . $row['id']; |
|
| 72 | - else { |
|
| 73 | - if ($precedent) |
|
| 74 | - sql_updateq("spip_forum", array("id_thread" => $precedent), "id_forum IN ($discussion)"); |
|
| 75 | - $precedent = $row['thread']; |
|
| 76 | - $discussion = $row['id']; |
|
| 77 | - } |
|
| 78 | - } |
|
| 79 | - sql_updateq("spip_forum", array("id_thread" => $precedent), "id_forum IN ($discussion)"); |
|
| 80 | - } while ($discussion != "0"); |
|
| 81 | - } |
|
| 82 | - if (upgrade_vers(1.805, $version_installee, $version_cible)) { |
|
| 83 | - spip_query("ALTER TABLE spip_forum ADD id_thread bigint(21) DEFAULT '0' NOT NULL"); |
|
| 84 | - maj_v018_calculer_threads(); |
|
| 85 | - maj_version(1.805); |
|
| 86 | - } |
|
| 87 | - |
|
| 88 | - // tables d'orthographe |
|
| 89 | - #if ($version_installee < 1.806) |
|
| 90 | - # maj_version(1.806); |
|
| 91 | - |
|
| 92 | - // URLs propres (inc_version = 0.12) |
|
| 93 | - if (upgrade_vers(1.807, $version_installee, $version_cible)) { |
|
| 94 | - foreach (array('articles', 'breves', 'rubriques', 'mots') as $objets) { |
|
| 95 | - spip_query("ALTER TABLE spip_$objets ADD url_propre VARCHAR(255) NOT NULL"); |
|
| 96 | - spip_query("ALTER TABLE spip_$objets ADD INDEX url_propre (url_propre)"); |
|
| 97 | - } |
|
| 98 | - maj_version(1.807); |
|
| 99 | - } |
|
| 100 | - |
|
| 101 | - // referers de la veille |
|
| 102 | - if (upgrade_vers(1.808, $version_installee, $version_cible)) { |
|
| 103 | - spip_query("ALTER TABLE spip_referers ADD visites_veille INT UNSIGNED NOT NULL"); |
|
| 104 | - maj_version(1.808); |
|
| 105 | - } |
|
| 106 | - |
|
| 107 | - |
|
| 108 | - // corrections diverses |
|
| 109 | - if (upgrade_vers(1.809, $version_installee, $version_cible)) { |
|
| 110 | - // plus de retour possible vers 1.7.2 |
|
| 111 | - spip_query("DROP TABLE spip_forum_cache"); |
|
| 112 | - |
|
| 113 | - // les requetes ci-dessous ne s'appliqueront que si on est passe |
|
| 114 | - // par une certaine version de developpement - oublie de le faire |
|
| 115 | - // plus tot, car le code d'alors recreait purement et simplement |
|
| 116 | - // cette table |
|
| 117 | - spip_query("ALTER TABLE spip_versions DROP chapo"); |
|
| 118 | - spip_query("ALTER TABLE spip_versions DROP texte"); |
|
| 119 | - spip_query("ALTER TABLE spip_versions DROP ps"); |
|
| 120 | - spip_query("ALTER TABLE spip_versions DROP extra"); |
|
| 121 | - spip_query("ALTER TABLE spip_versions ADD champs text NOT NULL"); |
|
| 122 | - |
|
| 123 | - maj_version(1.809); |
|
| 124 | - } |
|
| 125 | - |
|
| 126 | - // Annuler les brouillons de forum jamais valides |
|
| 127 | - if (upgrade_vers(1.810, $version_installee, $version_cible)) { |
|
| 128 | - sql_delete("spip_forum", "statut='redac'"); |
|
| 129 | - maj_version(1.810); |
|
| 130 | - } |
|
| 131 | - |
|
| 132 | - if (upgrade_vers(1.811, $version_installee, $version_cible)) { |
|
| 133 | - spip_query("ALTER TABLE spip_syndic ADD extra longblob NULL"); |
|
| 134 | - maj_version(1.811); |
|
| 135 | - } |
|
| 17 | + if (upgrade_vers(1.801, $version_installee, $version_cible)) { |
|
| 18 | + spip_query("ALTER TABLE spip_rubriques ADD statut_tmp VARCHAR(10) NOT NULL, ADD date_tmp datetime DEFAULT '0000-00-00 00:00:00' NOT NULL"); |
|
| 19 | + include_spip('inc/rubriques'); |
|
| 20 | + calculer_rubriques(); |
|
| 21 | + maj_version(1.801); |
|
| 22 | + } |
|
| 23 | + |
|
| 24 | + // Nouvelles tables d'invalidation |
|
| 25 | + if (upgrade_vers(1.802, $version_installee, $version_cible)) { |
|
| 26 | + spip_query("DROP TABLE spip_id_article_caches"); |
|
| 27 | + spip_query("DROP TABLE spip_id_auteur_caches"); |
|
| 28 | + spip_query("DROP TABLE spip_id_breve_caches"); |
|
| 29 | + spip_query("DROP TABLE spip_id_document_caches"); |
|
| 30 | + spip_query("DROP TABLE spip_id_forum_caches"); |
|
| 31 | + spip_query("DROP TABLE spip_id_groupe_caches"); |
|
| 32 | + spip_query("DROP TABLE spip_id_message_caches"); |
|
| 33 | + spip_query("DROP TABLE spip_id_mot_caches"); |
|
| 34 | + spip_query("DROP TABLE spip_id_rubrique_caches"); |
|
| 35 | + spip_query("DROP TABLE spip_id_signature_caches"); |
|
| 36 | + spip_query("DROP TABLE spip_id_syndic_article_caches"); |
|
| 37 | + spip_query("DROP TABLE spip_id_syndic_caches"); |
|
| 38 | + spip_query("DROP TABLE spip_id_type_caches"); |
|
| 39 | + spip_query("DROP TABLE spip_inclure_caches"); |
|
| 40 | + maj_version(1.802); |
|
| 41 | + } |
|
| 42 | + if (upgrade_vers(1.803, $version_installee, $version_cible)) { |
|
| 43 | + |
|
| 44 | + # 27 AOUT 2004 : conservons cette table pour autoriser les retours |
|
| 45 | + # de SPIP 1.8a6 CVS vers 1.7.2 |
|
| 46 | + # spip_query("DROP TABLE spip_forum_cache"); |
|
| 47 | + |
|
| 48 | + spip_query("DROP TABLE spip_inclure_caches"); |
|
| 49 | + maj_version(1.803); |
|
| 50 | + } |
|
| 51 | + if (upgrade_vers(1.804, $version_installee, $version_cible)) { |
|
| 52 | + // recreer la table spip_caches |
|
| 53 | + spip_query("DROP TABLE spip_caches"); |
|
| 54 | + creer_base(); |
|
| 55 | + maj_version(1.804); |
|
| 56 | + } |
|
| 57 | + |
|
| 58 | + // |
|
| 59 | + // Recalculer tous les threads |
|
| 60 | + // function du plugin forum recopiee ici pour assurer la montee de version dans tous les cas de figure |
|
| 61 | + function maj_v018_calculer_threads() { |
|
| 62 | + // fixer les id_thread des debuts de discussion |
|
| 63 | + sql_update('spip_forum', array('id_thread'=>'id_forum'), "id_parent=0"); |
|
| 64 | + // reparer les messages qui n'ont pas l'id_secteur de leur parent |
|
| 65 | + do { |
|
| 66 | + $discussion = "0"; |
|
| 67 | + $precedent = 0; |
|
| 68 | + $r = sql_select("fille.id_forum AS id, maman.id_thread AS thread", 'spip_forum AS fille, spip_forum AS maman', "fille.id_parent = maman.id_forum AND fille.id_thread <> maman.id_thread",'', "thread"); |
|
| 69 | + while ($row = sql_fetch($r)) { |
|
| 70 | + if ($row['thread'] == $precedent) |
|
| 71 | + $discussion .= "," . $row['id']; |
|
| 72 | + else { |
|
| 73 | + if ($precedent) |
|
| 74 | + sql_updateq("spip_forum", array("id_thread" => $precedent), "id_forum IN ($discussion)"); |
|
| 75 | + $precedent = $row['thread']; |
|
| 76 | + $discussion = $row['id']; |
|
| 77 | + } |
|
| 78 | + } |
|
| 79 | + sql_updateq("spip_forum", array("id_thread" => $precedent), "id_forum IN ($discussion)"); |
|
| 80 | + } while ($discussion != "0"); |
|
| 81 | + } |
|
| 82 | + if (upgrade_vers(1.805, $version_installee, $version_cible)) { |
|
| 83 | + spip_query("ALTER TABLE spip_forum ADD id_thread bigint(21) DEFAULT '0' NOT NULL"); |
|
| 84 | + maj_v018_calculer_threads(); |
|
| 85 | + maj_version(1.805); |
|
| 86 | + } |
|
| 87 | + |
|
| 88 | + // tables d'orthographe |
|
| 89 | + #if ($version_installee < 1.806) |
|
| 90 | + # maj_version(1.806); |
|
| 91 | + |
|
| 92 | + // URLs propres (inc_version = 0.12) |
|
| 93 | + if (upgrade_vers(1.807, $version_installee, $version_cible)) { |
|
| 94 | + foreach (array('articles', 'breves', 'rubriques', 'mots') as $objets) { |
|
| 95 | + spip_query("ALTER TABLE spip_$objets ADD url_propre VARCHAR(255) NOT NULL"); |
|
| 96 | + spip_query("ALTER TABLE spip_$objets ADD INDEX url_propre (url_propre)"); |
|
| 97 | + } |
|
| 98 | + maj_version(1.807); |
|
| 99 | + } |
|
| 100 | + |
|
| 101 | + // referers de la veille |
|
| 102 | + if (upgrade_vers(1.808, $version_installee, $version_cible)) { |
|
| 103 | + spip_query("ALTER TABLE spip_referers ADD visites_veille INT UNSIGNED NOT NULL"); |
|
| 104 | + maj_version(1.808); |
|
| 105 | + } |
|
| 106 | + |
|
| 107 | + |
|
| 108 | + // corrections diverses |
|
| 109 | + if (upgrade_vers(1.809, $version_installee, $version_cible)) { |
|
| 110 | + // plus de retour possible vers 1.7.2 |
|
| 111 | + spip_query("DROP TABLE spip_forum_cache"); |
|
| 112 | + |
|
| 113 | + // les requetes ci-dessous ne s'appliqueront que si on est passe |
|
| 114 | + // par une certaine version de developpement - oublie de le faire |
|
| 115 | + // plus tot, car le code d'alors recreait purement et simplement |
|
| 116 | + // cette table |
|
| 117 | + spip_query("ALTER TABLE spip_versions DROP chapo"); |
|
| 118 | + spip_query("ALTER TABLE spip_versions DROP texte"); |
|
| 119 | + spip_query("ALTER TABLE spip_versions DROP ps"); |
|
| 120 | + spip_query("ALTER TABLE spip_versions DROP extra"); |
|
| 121 | + spip_query("ALTER TABLE spip_versions ADD champs text NOT NULL"); |
|
| 122 | + |
|
| 123 | + maj_version(1.809); |
|
| 124 | + } |
|
| 125 | + |
|
| 126 | + // Annuler les brouillons de forum jamais valides |
|
| 127 | + if (upgrade_vers(1.810, $version_installee, $version_cible)) { |
|
| 128 | + sql_delete("spip_forum", "statut='redac'"); |
|
| 129 | + maj_version(1.810); |
|
| 130 | + } |
|
| 131 | + |
|
| 132 | + if (upgrade_vers(1.811, $version_installee, $version_cible)) { |
|
| 133 | + spip_query("ALTER TABLE spip_syndic ADD extra longblob NULL"); |
|
| 134 | + maj_version(1.811); |
|
| 135 | + } |
|
| 136 | 136 | |
| 137 | - if (upgrade_vers(1.812, $version_installee, $version_cible)) { |
|
| 138 | - spip_query("ALTER TABLE spip_documents ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL"); |
|
| 139 | - maj_version(1.812); |
|
| 140 | - } |
|
| 141 | - |
|
| 142 | - // Mise a jour des types MIME |
|
| 143 | - if (upgrade_vers(1.813, $version_installee, $version_cible)) { |
|
| 144 | - # rien a faire car c'est creer_base() qui s'en charge |
|
| 145 | - maj_version(1.813); |
|
| 146 | - } |
|
| 147 | - |
|
| 148 | - // URLs propres auteurs |
|
| 149 | - if (upgrade_vers(1.814, $version_installee, $version_cible)) { |
|
| 150 | - spip_query("ALTER TABLE spip_auteurs ADD url_propre VARCHAR(255) NOT NULL"); |
|
| 151 | - spip_query("ALTER TABLE spip_auteurs ADD INDEX url_propre (url_propre)"); |
|
| 152 | - maj_version(1.814); |
|
| 153 | - } |
|
| 154 | - |
|
| 155 | - // Mots-cles sur les documents |
|
| 156 | - // + liens documents <-> sites et articles syndiques (podcasting) |
|
| 157 | - if (upgrade_vers(1.815, $version_installee, $version_cible)) { |
|
| 158 | - spip_query("ALTER TABLE spip_documents ADD distant VARCHAR(3) DEFAULT 'non'"); |
|
| 159 | - maj_version(1.815); |
|
| 160 | - } |
|
| 161 | - |
|
| 162 | - // Indexation des documents (rien a faire sauf reinstaller inc_auxbase) |
|
| 163 | - if (upgrade_vers(1.816, $version_installee, $version_cible)) { |
|
| 164 | - maj_version(1.816); |
|
| 165 | - } |
|
| 166 | - |
|
| 167 | - // Texte et descriptif des groupes de mots-cles |
|
| 168 | - if (upgrade_vers(1.817, $version_installee, $version_cible)) { |
|
| 169 | - spip_query("ALTER TABLE spip_groupes_mots ADD descriptif text NOT NULL AFTER titre"); |
|
| 170 | - spip_query("ALTER TABLE spip_groupes_mots ADD COLUMN texte longblob NOT NULL AFTER descriptif"); |
|
| 171 | - maj_version(1.817); |
|
| 172 | - } |
|
| 173 | - |
|
| 174 | - // Conformite des noms de certains champs (0minirezo => minirezo) |
|
| 175 | - if (upgrade_vers(1.818, $version_installee, $version_cible)) { |
|
| 176 | - spip_query("ALTER TABLE spip_groupes_mots CHANGE COLUMN 0minirezo minirezo char(3) NOT NULL"); |
|
| 177 | - spip_query("ALTER TABLE spip_groupes_mots CHANGE COLUMN 1comite comite char(3) NOT NULL"); |
|
| 178 | - spip_query("ALTER TABLE spip_groupes_mots CHANGE COLUMN 6forum forum char(3) NOT NULL"); |
|
| 179 | - maj_version(1.818); |
|
| 180 | - } |
|
| 181 | - |
|
| 182 | - // Options de syndication : miroir + oubli |
|
| 183 | - if (upgrade_vers(1.819, $version_installee, $version_cible)) { |
|
| 184 | - spip_query("ALTER TABLE spip_syndic ADD miroir VARCHAR(3) DEFAULT 'non'"); |
|
| 185 | - spip_query("ALTER TABLE spip_syndic ADD oubli VARCHAR(3) DEFAULT 'non'"); |
|
| 186 | - maj_version(1.819); |
|
| 187 | - } |
|
| 188 | - |
|
| 189 | - // Un bug dans les 1.730 (il manquait le "ADD") |
|
| 190 | - if (upgrade_vers(1.820, $version_installee, $version_cible)) { |
|
| 191 | - spip_query("ALTER TABLE spip_articles ADD INDEX idx (idx)"); |
|
| 192 | - spip_query("ALTER TABLE spip_auteurs ADD INDEX idx (idx)"); |
|
| 193 | - spip_query("ALTER TABLE spip_breves ADD INDEX idx (idx)"); |
|
| 194 | - spip_query("ALTER TABLE spip_mots ADD INDEX idx (idx)"); |
|
| 195 | - spip_query("ALTER TABLE spip_rubriques ADD INDEX idx (idx)"); |
|
| 196 | - spip_query("ALTER TABLE spip_syndic ADD INDEX idx (idx)"); |
|
| 197 | - spip_query("ALTER TABLE spip_forum ADD INDEX idx (idx)"); |
|
| 198 | - spip_query("ALTER TABLE spip_signatures ADD INDEX idx (idx)"); |
|
| 199 | - maj_version(1.820); |
|
| 200 | - } |
|
| 201 | - |
|
| 202 | - // reindexer les articles (on avait oublie les auteurs) |
|
| 203 | - if (upgrade_vers(1.821, $version_installee, $version_cible)) { |
|
| 204 | - spip_query("UPDATE spip_articles SET idx='1' WHERE idx='oui'"); |
|
| 205 | - maj_version(1.821); |
|
| 206 | - } |
|
| 207 | - // le 'type' des mots doit etre du texte, sinon on depasse en champ multi |
|
| 208 | - if (upgrade_vers(1.822, $version_installee, $version_cible)) { |
|
| 209 | - spip_query("ALTER TABLE spip_mots DROP INDEX type"); |
|
| 210 | - spip_query("ALTER TABLE spip_mots CHANGE type type TEXT NOT NULL"); |
|
| 211 | - maj_version(1.822); |
|
| 212 | - } |
|
| 213 | - // ajouter une table de fonctions pour ajax |
|
| 214 | - if (upgrade_vers(1.825, $version_installee, $version_cible)) { |
|
| 215 | - maj_version(1.825); |
|
| 216 | - } |
|
| 217 | - if (upgrade_vers(1.826, $version_installee, $version_cible)) { |
|
| 218 | - spip_query("ALTER TABLE spip_ajax_fonc DROP fonction"); |
|
| 219 | - maj_version(1.826); |
|
| 220 | - } |
|
| 137 | + if (upgrade_vers(1.812, $version_installee, $version_cible)) { |
|
| 138 | + spip_query("ALTER TABLE spip_documents ADD idx ENUM('', '1', 'non', 'oui', 'idx') DEFAULT '' NOT NULL"); |
|
| 139 | + maj_version(1.812); |
|
| 140 | + } |
|
| 141 | + |
|
| 142 | + // Mise a jour des types MIME |
|
| 143 | + if (upgrade_vers(1.813, $version_installee, $version_cible)) { |
|
| 144 | + # rien a faire car c'est creer_base() qui s'en charge |
|
| 145 | + maj_version(1.813); |
|
| 146 | + } |
|
| 147 | + |
|
| 148 | + // URLs propres auteurs |
|
| 149 | + if (upgrade_vers(1.814, $version_installee, $version_cible)) { |
|
| 150 | + spip_query("ALTER TABLE spip_auteurs ADD url_propre VARCHAR(255) NOT NULL"); |
|
| 151 | + spip_query("ALTER TABLE spip_auteurs ADD INDEX url_propre (url_propre)"); |
|
| 152 | + maj_version(1.814); |
|
| 153 | + } |
|
| 154 | + |
|
| 155 | + // Mots-cles sur les documents |
|
| 156 | + // + liens documents <-> sites et articles syndiques (podcasting) |
|
| 157 | + if (upgrade_vers(1.815, $version_installee, $version_cible)) { |
|
| 158 | + spip_query("ALTER TABLE spip_documents ADD distant VARCHAR(3) DEFAULT 'non'"); |
|
| 159 | + maj_version(1.815); |
|
| 160 | + } |
|
| 161 | + |
|
| 162 | + // Indexation des documents (rien a faire sauf reinstaller inc_auxbase) |
|
| 163 | + if (upgrade_vers(1.816, $version_installee, $version_cible)) { |
|
| 164 | + maj_version(1.816); |
|
| 165 | + } |
|
| 166 | + |
|
| 167 | + // Texte et descriptif des groupes de mots-cles |
|
| 168 | + if (upgrade_vers(1.817, $version_installee, $version_cible)) { |
|
| 169 | + spip_query("ALTER TABLE spip_groupes_mots ADD descriptif text NOT NULL AFTER titre"); |
|
| 170 | + spip_query("ALTER TABLE spip_groupes_mots ADD COLUMN texte longblob NOT NULL AFTER descriptif"); |
|
| 171 | + maj_version(1.817); |
|
| 172 | + } |
|
| 173 | + |
|
| 174 | + // Conformite des noms de certains champs (0minirezo => minirezo) |
|
| 175 | + if (upgrade_vers(1.818, $version_installee, $version_cible)) { |
|
| 176 | + spip_query("ALTER TABLE spip_groupes_mots CHANGE COLUMN 0minirezo minirezo char(3) NOT NULL"); |
|
| 177 | + spip_query("ALTER TABLE spip_groupes_mots CHANGE COLUMN 1comite comite char(3) NOT NULL"); |
|
| 178 | + spip_query("ALTER TABLE spip_groupes_mots CHANGE COLUMN 6forum forum char(3) NOT NULL"); |
|
| 179 | + maj_version(1.818); |
|
| 180 | + } |
|
| 181 | + |
|
| 182 | + // Options de syndication : miroir + oubli |
|
| 183 | + if (upgrade_vers(1.819, $version_installee, $version_cible)) { |
|
| 184 | + spip_query("ALTER TABLE spip_syndic ADD miroir VARCHAR(3) DEFAULT 'non'"); |
|
| 185 | + spip_query("ALTER TABLE spip_syndic ADD oubli VARCHAR(3) DEFAULT 'non'"); |
|
| 186 | + maj_version(1.819); |
|
| 187 | + } |
|
| 188 | + |
|
| 189 | + // Un bug dans les 1.730 (il manquait le "ADD") |
|
| 190 | + if (upgrade_vers(1.820, $version_installee, $version_cible)) { |
|
| 191 | + spip_query("ALTER TABLE spip_articles ADD INDEX idx (idx)"); |
|
| 192 | + spip_query("ALTER TABLE spip_auteurs ADD INDEX idx (idx)"); |
|
| 193 | + spip_query("ALTER TABLE spip_breves ADD INDEX idx (idx)"); |
|
| 194 | + spip_query("ALTER TABLE spip_mots ADD INDEX idx (idx)"); |
|
| 195 | + spip_query("ALTER TABLE spip_rubriques ADD INDEX idx (idx)"); |
|
| 196 | + spip_query("ALTER TABLE spip_syndic ADD INDEX idx (idx)"); |
|
| 197 | + spip_query("ALTER TABLE spip_forum ADD INDEX idx (idx)"); |
|
| 198 | + spip_query("ALTER TABLE spip_signatures ADD INDEX idx (idx)"); |
|
| 199 | + maj_version(1.820); |
|
| 200 | + } |
|
| 201 | + |
|
| 202 | + // reindexer les articles (on avait oublie les auteurs) |
|
| 203 | + if (upgrade_vers(1.821, $version_installee, $version_cible)) { |
|
| 204 | + spip_query("UPDATE spip_articles SET idx='1' WHERE idx='oui'"); |
|
| 205 | + maj_version(1.821); |
|
| 206 | + } |
|
| 207 | + // le 'type' des mots doit etre du texte, sinon on depasse en champ multi |
|
| 208 | + if (upgrade_vers(1.822, $version_installee, $version_cible)) { |
|
| 209 | + spip_query("ALTER TABLE spip_mots DROP INDEX type"); |
|
| 210 | + spip_query("ALTER TABLE spip_mots CHANGE type type TEXT NOT NULL"); |
|
| 211 | + maj_version(1.822); |
|
| 212 | + } |
|
| 213 | + // ajouter une table de fonctions pour ajax |
|
| 214 | + if (upgrade_vers(1.825, $version_installee, $version_cible)) { |
|
| 215 | + maj_version(1.825); |
|
| 216 | + } |
|
| 217 | + if (upgrade_vers(1.826, $version_installee, $version_cible)) { |
|
| 218 | + spip_query("ALTER TABLE spip_ajax_fonc DROP fonction"); |
|
| 219 | + maj_version(1.826); |
|
| 220 | + } |
|
| 221 | 221 | } |
| 222 | 222 | |
| 223 | 223 | |
@@ -15,31 +15,31 @@ |
||
| 15 | 15 | function maj_v010_dist($version_installee, $version_cible) |
| 16 | 16 | { |
| 17 | 17 | |
| 18 | - if (upgrade_vers(1.01, $version_installee, $version_cible)) { |
|
| 19 | - spip_query("UPDATE spip_forum SET statut='publie' WHERE statut=''"); |
|
| 20 | - maj_version (1.01); |
|
| 21 | - } |
|
| 18 | + if (upgrade_vers(1.01, $version_installee, $version_cible)) { |
|
| 19 | + spip_query("UPDATE spip_forum SET statut='publie' WHERE statut=''"); |
|
| 20 | + maj_version (1.01); |
|
| 21 | + } |
|
| 22 | 22 | |
| 23 | - if (upgrade_vers(1.02, $version_installee, $version_cible)) { |
|
| 24 | - spip_query("ALTER TABLE spip_forum ADD id_auteur BIGINT DEFAULT '0' NOT NULL"); |
|
| 25 | - maj_version (1.02); |
|
| 26 | - } |
|
| 27 | - |
|
| 28 | - if (upgrade_vers(1.03, $version_installee, $version_cible)) { |
|
| 29 | - spip_query("DROP TABLE spip_maj"); |
|
| 30 | - maj_version (1.03); |
|
| 31 | - } |
|
| 32 | - |
|
| 33 | - if (upgrade_vers(1.04, $version_installee, $version_cible)) { |
|
| 34 | - spip_query("ALTER TABLE spip_articles ADD accepter_forum VARCHAR(3)"); |
|
| 35 | - maj_version (1.04); |
|
| 36 | - } |
|
| 37 | - |
|
| 38 | - if (upgrade_vers(1.05, $version_installee, $version_cible)) { |
|
| 39 | - spip_query("DROP TABLE spip_petition"); |
|
| 40 | - spip_query("DROP TABLE spip_signatures_petition"); |
|
| 41 | - maj_version (1.05); |
|
| 42 | - } |
|
| 23 | + if (upgrade_vers(1.02, $version_installee, $version_cible)) { |
|
| 24 | + spip_query("ALTER TABLE spip_forum ADD id_auteur BIGINT DEFAULT '0' NOT NULL"); |
|
| 25 | + maj_version (1.02); |
|
| 26 | + } |
|
| 27 | + |
|
| 28 | + if (upgrade_vers(1.03, $version_installee, $version_cible)) { |
|
| 29 | + spip_query("DROP TABLE spip_maj"); |
|
| 30 | + maj_version (1.03); |
|
| 31 | + } |
|
| 32 | + |
|
| 33 | + if (upgrade_vers(1.04, $version_installee, $version_cible)) { |
|
| 34 | + spip_query("ALTER TABLE spip_articles ADD accepter_forum VARCHAR(3)"); |
|
| 35 | + maj_version (1.04); |
|
| 36 | + } |
|
| 37 | + |
|
| 38 | + if (upgrade_vers(1.05, $version_installee, $version_cible)) { |
|
| 39 | + spip_query("DROP TABLE spip_petition"); |
|
| 40 | + spip_query("DROP TABLE spip_signatures_petition"); |
|
| 41 | + maj_version (1.05); |
|
| 42 | + } |
|
| 43 | 43 | } |
| 44 | 44 | |
| 45 | 45 | |
@@ -73,7 +73,7 @@ discard block |
||
| 73 | 73 | // php 4 - 5 compatable class properties |
| 74 | 74 | var $toUpper; |
| 75 | 75 | var $platform; |
| 76 | - var $bytesString = 16; |
|
| 76 | + var $bytesString = 16; |
|
| 77 | 77 | |
| 78 | 78 | // Php 4 - 6 compatable constructor |
| 79 | 79 | function nanoSha2($toUpper = false) { |
@@ -144,94 +144,94 @@ discard block |
||
| 144 | 144 | function sigma_1($x) { return (int) ($this->ROTR($x, 17)^$this->ROTR($x, 19)^$this->SHR($x, 10)); } |
| 145 | 145 | |
| 146 | 146 | |
| 147 | - function string2ordUTF8($s,&$byteSize){ |
|
| 148 | - $chars = array(); |
|
| 149 | - // par defaut sur 8bits |
|
| 150 | - $byteSize = 8; |
|
| 151 | - $i = 0; |
|
| 152 | - while ($i<strlen($s)){ |
|
| 153 | - $chars[] = $this->ordUTF8($s, $i, $bytes); |
|
| 154 | - $i+=$bytes; |
|
| 155 | - // mais si un char necessite 16bits, on passe tout sur 16 |
|
| 156 | - // sinon on ne concorde pas avec le lecture de la chaine en js |
|
| 157 | - // et le sha256 js |
|
| 158 | - if ($bytes>1) $byteSize = 16; |
|
| 159 | - } |
|
| 160 | - return $chars; |
|
| 161 | - } |
|
| 162 | - |
|
| 163 | - function ordUTF8($c, $index = 0, &$bytes) |
|
| 164 | - { |
|
| 165 | - $len = strlen($c); |
|
| 166 | - $bytes = 0; |
|
| 167 | - |
|
| 168 | - if ($index >= $len) |
|
| 169 | - return false; |
|
| 170 | - |
|
| 171 | - $h = ord($c{$index}); |
|
| 172 | - |
|
| 173 | - if ($h <= 0x7F) { |
|
| 174 | - $bytes = 1; |
|
| 175 | - return $h; |
|
| 176 | - } |
|
| 177 | - else if ($h < 0xC2){ |
|
| 178 | - // pas utf mais renvoyer quand meme ce qu'on a |
|
| 179 | - $bytes = 1; |
|
| 180 | - return $h; |
|
| 181 | - } |
|
| 182 | - else if ($h <= 0xDF && $index < $len - 1) { |
|
| 183 | - $bytes = 2; |
|
| 184 | - return ($h & 0x1F) << 6 | (ord($c{$index + 1}) & 0x3F); |
|
| 185 | - } |
|
| 186 | - else if ($h <= 0xEF && $index < $len - 2) { |
|
| 187 | - $bytes = 3; |
|
| 188 | - return ($h & 0x0F) << 12 | (ord($c{$index + 1}) & 0x3F) << 6 |
|
| 189 | - | (ord($c{$index + 2}) & 0x3F); |
|
| 190 | - } |
|
| 191 | - else if ($h <= 0xF4 && $index < $len - 3) { |
|
| 192 | - $bytes = 4; |
|
| 193 | - return ($h & 0x0F) << 18 | (ord($c{$index + 1}) & 0x3F) << 12 |
|
| 194 | - | (ord($c{$index + 2}) & 0x3F) << 6 |
|
| 195 | - | (ord($c{$index + 3}) & 0x3F); |
|
| 196 | - } |
|
| 197 | - else { |
|
| 198 | - // pas utf mais renvoyer quand meme ce qu'on a |
|
| 199 | - $bytes = 1; |
|
| 200 | - return $h; |
|
| 201 | - } |
|
| 202 | - } |
|
| 203 | - |
|
| 204 | - function string2binint ($str,$npad=512) { |
|
| 205 | - $bin = array(); |
|
| 206 | - $ords = $this->string2ordUTF8($str,$this->bytesString); |
|
| 207 | - $npad = $npad/$this->bytesString; |
|
| 208 | - $length = count($ords); |
|
| 209 | - $ords[] = 0x80; // append the "1" bit followed by 7 0's |
|
| 210 | - $pad = ceil(($length+1+32/$this->bytesString)/$npad)*$npad-32/$this->bytesString; |
|
| 211 | - $ords = array_pad($ords,$pad,0); |
|
| 212 | - $mask = (1 << $this->bytesString) - 1; |
|
| 213 | - for($i = 0; $i < count($ords) * $this->bytesString; $i += $this->bytesString) { |
|
| 214 | - if (!isset($bin[$i>>5])) { $bin[$i>>5] = 0; } // pour eviter des notices. |
|
| 215 | - $bin[$i>>5] |= ($ords[$i / $this->bytesString] & $mask) << (24 - $i%32); |
|
| 216 | - } |
|
| 217 | - $bin[] = $length*$this->bytesString; |
|
| 218 | - return $bin; |
|
| 219 | - } |
|
| 220 | - |
|
| 221 | - function array_split($a, $n) { |
|
| 222 | - $split = array(); |
|
| 223 | - while (count($a)>$n) { |
|
| 224 | - $s = array(); |
|
| 225 | - for($i = 0;$i<$n;$i++) |
|
| 226 | - $s[] = array_shift($a); |
|
| 227 | - $split[] = $s; |
|
| 228 | - } |
|
| 229 | - if (count($a)){ |
|
| 230 | - $a = array_pad($a,$n,0); |
|
| 231 | - $split[] = $a; |
|
| 232 | - } |
|
| 233 | - return $split; |
|
| 234 | - } |
|
| 147 | + function string2ordUTF8($s,&$byteSize){ |
|
| 148 | + $chars = array(); |
|
| 149 | + // par defaut sur 8bits |
|
| 150 | + $byteSize = 8; |
|
| 151 | + $i = 0; |
|
| 152 | + while ($i<strlen($s)){ |
|
| 153 | + $chars[] = $this->ordUTF8($s, $i, $bytes); |
|
| 154 | + $i+=$bytes; |
|
| 155 | + // mais si un char necessite 16bits, on passe tout sur 16 |
|
| 156 | + // sinon on ne concorde pas avec le lecture de la chaine en js |
|
| 157 | + // et le sha256 js |
|
| 158 | + if ($bytes>1) $byteSize = 16; |
|
| 159 | + } |
|
| 160 | + return $chars; |
|
| 161 | + } |
|
| 162 | + |
|
| 163 | + function ordUTF8($c, $index = 0, &$bytes) |
|
| 164 | + { |
|
| 165 | + $len = strlen($c); |
|
| 166 | + $bytes = 0; |
|
| 167 | + |
|
| 168 | + if ($index >= $len) |
|
| 169 | + return false; |
|
| 170 | + |
|
| 171 | + $h = ord($c{$index}); |
|
| 172 | + |
|
| 173 | + if ($h <= 0x7F) { |
|
| 174 | + $bytes = 1; |
|
| 175 | + return $h; |
|
| 176 | + } |
|
| 177 | + else if ($h < 0xC2){ |
|
| 178 | + // pas utf mais renvoyer quand meme ce qu'on a |
|
| 179 | + $bytes = 1; |
|
| 180 | + return $h; |
|
| 181 | + } |
|
| 182 | + else if ($h <= 0xDF && $index < $len - 1) { |
|
| 183 | + $bytes = 2; |
|
| 184 | + return ($h & 0x1F) << 6 | (ord($c{$index + 1}) & 0x3F); |
|
| 185 | + } |
|
| 186 | + else if ($h <= 0xEF && $index < $len - 2) { |
|
| 187 | + $bytes = 3; |
|
| 188 | + return ($h & 0x0F) << 12 | (ord($c{$index + 1}) & 0x3F) << 6 |
|
| 189 | + | (ord($c{$index + 2}) & 0x3F); |
|
| 190 | + } |
|
| 191 | + else if ($h <= 0xF4 && $index < $len - 3) { |
|
| 192 | + $bytes = 4; |
|
| 193 | + return ($h & 0x0F) << 18 | (ord($c{$index + 1}) & 0x3F) << 12 |
|
| 194 | + | (ord($c{$index + 2}) & 0x3F) << 6 |
|
| 195 | + | (ord($c{$index + 3}) & 0x3F); |
|
| 196 | + } |
|
| 197 | + else { |
|
| 198 | + // pas utf mais renvoyer quand meme ce qu'on a |
|
| 199 | + $bytes = 1; |
|
| 200 | + return $h; |
|
| 201 | + } |
|
| 202 | + } |
|
| 203 | + |
|
| 204 | + function string2binint ($str,$npad=512) { |
|
| 205 | + $bin = array(); |
|
| 206 | + $ords = $this->string2ordUTF8($str,$this->bytesString); |
|
| 207 | + $npad = $npad/$this->bytesString; |
|
| 208 | + $length = count($ords); |
|
| 209 | + $ords[] = 0x80; // append the "1" bit followed by 7 0's |
|
| 210 | + $pad = ceil(($length+1+32/$this->bytesString)/$npad)*$npad-32/$this->bytesString; |
|
| 211 | + $ords = array_pad($ords,$pad,0); |
|
| 212 | + $mask = (1 << $this->bytesString) - 1; |
|
| 213 | + for($i = 0; $i < count($ords) * $this->bytesString; $i += $this->bytesString) { |
|
| 214 | + if (!isset($bin[$i>>5])) { $bin[$i>>5] = 0; } // pour eviter des notices. |
|
| 215 | + $bin[$i>>5] |= ($ords[$i / $this->bytesString] & $mask) << (24 - $i%32); |
|
| 216 | + } |
|
| 217 | + $bin[] = $length*$this->bytesString; |
|
| 218 | + return $bin; |
|
| 219 | + } |
|
| 220 | + |
|
| 221 | + function array_split($a, $n) { |
|
| 222 | + $split = array(); |
|
| 223 | + while (count($a)>$n) { |
|
| 224 | + $s = array(); |
|
| 225 | + for($i = 0;$i<$n;$i++) |
|
| 226 | + $s[] = array_shift($a); |
|
| 227 | + $split[] = $s; |
|
| 228 | + } |
|
| 229 | + if (count($a)){ |
|
| 230 | + $a = array_pad($a,$n,0); |
|
| 231 | + $split[] = $a; |
|
| 232 | + } |
|
| 233 | + return $split; |
|
| 234 | + } |
|
| 235 | 235 | |
| 236 | 236 | /** |
| 237 | 237 | * Process and return the hash. |
@@ -261,27 +261,27 @@ discard block |
||
| 261 | 261 | * of the first sixtyfour prime numbers. |
| 262 | 262 | */ |
| 263 | 263 | $K = array((int)0x428a2f98, (int)0x71374491, (int)0xb5c0fbcf, |
| 264 | - (int)0xe9b5dba5, (int)0x3956c25b, (int)0x59f111f1, |
|
| 265 | - (int)0x923f82a4, (int)0xab1c5ed5, (int)0xd807aa98, |
|
| 266 | - (int)0x12835b01, (int)0x243185be, (int)0x550c7dc3, |
|
| 267 | - (int)0x72be5d74, (int)0x80deb1fe, (int)0x9bdc06a7, |
|
| 268 | - (int)0xc19bf174, (int)0xe49b69c1, (int)0xefbe4786, |
|
| 269 | - (int)0x0fc19dc6, (int)0x240ca1cc, (int)0x2de92c6f, |
|
| 270 | - (int)0x4a7484aa, (int)0x5cb0a9dc, (int)0x76f988da, |
|
| 271 | - (int)0x983e5152, (int)0xa831c66d, (int)0xb00327c8, |
|
| 272 | - (int)0xbf597fc7, (int)0xc6e00bf3, (int)0xd5a79147, |
|
| 273 | - (int)0x06ca6351, (int)0x14292967, (int)0x27b70a85, |
|
| 274 | - (int)0x2e1b2138, (int)0x4d2c6dfc, (int)0x53380d13, |
|
| 275 | - (int)0x650a7354, (int)0x766a0abb, (int)0x81c2c92e, |
|
| 276 | - (int)0x92722c85, (int)0xa2bfe8a1, (int)0xa81a664b, |
|
| 277 | - (int)0xc24b8b70, (int)0xc76c51a3, (int)0xd192e819, |
|
| 278 | - (int)0xd6990624, (int)0xf40e3585, (int)0x106aa070, |
|
| 279 | - (int)0x19a4c116, (int)0x1e376c08, (int)0x2748774c, |
|
| 280 | - (int)0x34b0bcb5, (int)0x391c0cb3, (int)0x4ed8aa4a, |
|
| 281 | - (int)0x5b9cca4f, (int)0x682e6ff3, (int)0x748f82ee, |
|
| 282 | - (int)0x78a5636f, (int)0x84c87814, (int)0x8cc70208, |
|
| 283 | - (int)0x90befffa, (int)0xa4506ceb, (int)0xbef9a3f7, |
|
| 284 | - (int)0xc67178f2); |
|
| 264 | + (int)0xe9b5dba5, (int)0x3956c25b, (int)0x59f111f1, |
|
| 265 | + (int)0x923f82a4, (int)0xab1c5ed5, (int)0xd807aa98, |
|
| 266 | + (int)0x12835b01, (int)0x243185be, (int)0x550c7dc3, |
|
| 267 | + (int)0x72be5d74, (int)0x80deb1fe, (int)0x9bdc06a7, |
|
| 268 | + (int)0xc19bf174, (int)0xe49b69c1, (int)0xefbe4786, |
|
| 269 | + (int)0x0fc19dc6, (int)0x240ca1cc, (int)0x2de92c6f, |
|
| 270 | + (int)0x4a7484aa, (int)0x5cb0a9dc, (int)0x76f988da, |
|
| 271 | + (int)0x983e5152, (int)0xa831c66d, (int)0xb00327c8, |
|
| 272 | + (int)0xbf597fc7, (int)0xc6e00bf3, (int)0xd5a79147, |
|
| 273 | + (int)0x06ca6351, (int)0x14292967, (int)0x27b70a85, |
|
| 274 | + (int)0x2e1b2138, (int)0x4d2c6dfc, (int)0x53380d13, |
|
| 275 | + (int)0x650a7354, (int)0x766a0abb, (int)0x81c2c92e, |
|
| 276 | + (int)0x92722c85, (int)0xa2bfe8a1, (int)0xa81a664b, |
|
| 277 | + (int)0xc24b8b70, (int)0xc76c51a3, (int)0xd192e819, |
|
| 278 | + (int)0xd6990624, (int)0xf40e3585, (int)0x106aa070, |
|
| 279 | + (int)0x19a4c116, (int)0x1e376c08, (int)0x2748774c, |
|
| 280 | + (int)0x34b0bcb5, (int)0x391c0cb3, (int)0x4ed8aa4a, |
|
| 281 | + (int)0x5b9cca4f, (int)0x682e6ff3, (int)0x748f82ee, |
|
| 282 | + (int)0x78a5636f, (int)0x84c87814, (int)0x8cc70208, |
|
| 283 | + (int)0x90befffa, (int)0xa4506ceb, (int)0xbef9a3f7, |
|
| 284 | + (int)0xc67178f2); |
|
| 285 | 285 | |
| 286 | 286 | // Pre-processing: Padding the string |
| 287 | 287 | $binStr = $this->string2binint($str,512); |
@@ -382,7 +382,7 @@ discard block |
||
| 382 | 382 | */ |
| 383 | 383 | function str_split($string, $split_length = 1) |
| 384 | 384 | { |
| 385 | - $result = array(); |
|
| 385 | + $result = array(); |
|
| 386 | 386 | $sign = ($split_length < 0) ? -1 : 1; |
| 387 | 387 | $strlen = strlen($string); |
| 388 | 388 | $split_length = abs($split_length); |
@@ -17,11 +17,11 @@ discard block |
||
| 17 | 17 | // Attributs LDAP correspondants a ceux de SPIP, notamment pour le login |
| 18 | 18 | // ne pas ecraser une definition perso dans mes_options |
| 19 | 19 | if (!isset($GLOBALS['ldap_attributes']) OR !is_array($GLOBALS['ldap_attributes'])){ |
| 20 | - $GLOBALS['ldap_attributes'] = array( |
|
| 21 | - 'login' => array('sAMAccountName', 'uid', 'login', 'userid', 'cn','sn'), |
|
| 22 | - 'nom' => "cn", |
|
| 23 | - 'email' => "mail", |
|
| 24 | - 'bio' => "description"); |
|
| 20 | + $GLOBALS['ldap_attributes'] = array( |
|
| 21 | + 'login' => array('sAMAccountName', 'uid', 'login', 'userid', 'cn','sn'), |
|
| 22 | + 'nom' => "cn", |
|
| 23 | + 'email' => "mail", |
|
| 24 | + 'bio' => "description"); |
|
| 25 | 25 | } |
| 26 | 26 | |
| 27 | 27 | /** |
@@ -48,42 +48,42 @@ discard block |
||
| 48 | 48 | // http://doc.spip.org/@inc_auth_ldap_dist |
| 49 | 49 | function auth_ldap_dist ($login, $pass, $serveur='', $phpauth=false) { |
| 50 | 50 | |
| 51 | - #spip_log("ldap $login " . ($pass ? "mdp fourni" : "mdp absent")); |
|
| 51 | + #spip_log("ldap $login " . ($pass ? "mdp fourni" : "mdp absent")); |
|
| 52 | 52 | |
| 53 | - // Utilisateur connu ? |
|
| 54 | - // si http auth, inutile de reauthentifier: cela |
|
| 55 | - // ne marchera pas avec auth http autre que basic. |
|
| 56 | - $checkpass = isset($_SERVER["REMOTE_USER"])?false:true; |
|
| 57 | - if (!($dn = auth_ldap_search($login, $pass, $checkpass, $serveur))) return array(); |
|
| 58 | - $credentials_ldap = array('ldap_dn' => $dn, 'ldap_password' => $pass); |
|
| 53 | + // Utilisateur connu ? |
|
| 54 | + // si http auth, inutile de reauthentifier: cela |
|
| 55 | + // ne marchera pas avec auth http autre que basic. |
|
| 56 | + $checkpass = isset($_SERVER["REMOTE_USER"])?false:true; |
|
| 57 | + if (!($dn = auth_ldap_search($login, $pass, $checkpass, $serveur))) return array(); |
|
| 58 | + $credentials_ldap = array('ldap_dn' => $dn, 'ldap_password' => $pass); |
|
| 59 | 59 | |
| 60 | - // Si l'utilisateur figure deja dans la base, y recuperer les infos |
|
| 61 | - $r = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($login) . " AND source='ldap'",'','','','',$serveur); |
|
| 60 | + // Si l'utilisateur figure deja dans la base, y recuperer les infos |
|
| 61 | + $r = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($login) . " AND source='ldap'",'','','','',$serveur); |
|
| 62 | 62 | |
| 63 | - if ($r) return array_merge($r, $credentials_ldap); |
|
| 63 | + if ($r) return array_merge($r, $credentials_ldap); |
|
| 64 | 64 | |
| 65 | - // sinon importer les infos depuis LDAP, |
|
| 65 | + // sinon importer les infos depuis LDAP, |
|
| 66 | 66 | |
| 67 | - if ($GLOBALS['meta']["ldap_statut_import"] |
|
| 68 | - AND $desc = auth_ldap_retrouver($dn, array(), $serveur)) { |
|
| 69 | - // rajouter le statut indique a l'install |
|
| 70 | - $desc['statut'] = $GLOBALS['meta']["ldap_statut_import"]; |
|
| 71 | - $desc['login'] = $login; |
|
| 72 | - $desc['source'] = 'ldap'; |
|
| 73 | - $desc['pass'] = ''; |
|
| 67 | + if ($GLOBALS['meta']["ldap_statut_import"] |
|
| 68 | + AND $desc = auth_ldap_retrouver($dn, array(), $serveur)) { |
|
| 69 | + // rajouter le statut indique a l'install |
|
| 70 | + $desc['statut'] = $GLOBALS['meta']["ldap_statut_import"]; |
|
| 71 | + $desc['login'] = $login; |
|
| 72 | + $desc['source'] = 'ldap'; |
|
| 73 | + $desc['pass'] = ''; |
|
| 74 | 74 | |
| 75 | - $r = sql_insertq('spip_auteurs', $desc,'',$serveur); |
|
| 76 | - } |
|
| 75 | + $r = sql_insertq('spip_auteurs', $desc,'',$serveur); |
|
| 76 | + } |
|
| 77 | 77 | |
| 78 | - if ($r) |
|
| 79 | - return array_merge( |
|
| 80 | - $credentials_ldap, |
|
| 81 | - sql_fetsel("*", "spip_auteurs", "id_auteur=".intval($r),'','','','',$serveur) |
|
| 82 | - ); |
|
| 78 | + if ($r) |
|
| 79 | + return array_merge( |
|
| 80 | + $credentials_ldap, |
|
| 81 | + sql_fetsel("*", "spip_auteurs", "id_auteur=".intval($r),'','','','',$serveur) |
|
| 82 | + ); |
|
| 83 | 83 | |
| 84 | - // sinon echec |
|
| 85 | - spip_log("Creation de l'auteur '$login' impossible"); |
|
| 86 | - return array(); |
|
| 84 | + // sinon echec |
|
| 85 | + spip_log("Creation de l'auteur '$login' impossible"); |
|
| 86 | + return array(); |
|
| 87 | 87 | } |
| 88 | 88 | |
| 89 | 89 | /** |
@@ -96,24 +96,24 @@ discard block |
||
| 96 | 96 | * @return string |
| 97 | 97 | */ |
| 98 | 98 | function auth_ldap_connect($serveur='') { |
| 99 | - include_spip('base/connect_sql'); |
|
| 100 | - static $connexions_ldap = array(); |
|
| 101 | - if (isset($connexions_ldap[$serveur])) return $connexions_ldap[$serveur]; |
|
| 102 | - $connexion = spip_connect($serveur); |
|
| 103 | - if (!is_array($connexion['ldap'])) { |
|
| 104 | - if ($connexion['authentification']['ldap']) { |
|
| 105 | - $f = _DIR_CONNECT . $connexion['authentification']['ldap']; |
|
| 106 | - unset($GLOBALS['ldap_link']); |
|
| 107 | - if (is_readable($f)) { include_once($f); }; |
|
| 108 | - if (isset($GLOBALS['ldap_link'])) |
|
| 109 | - $connexion['ldap'] = array('link' => $GLOBALS['ldap_link'], |
|
| 110 | - 'base' => $GLOBALS['ldap_base']); |
|
| 111 | - else spip_log("connection LDAP $serveur mal definie dans $f"); |
|
| 112 | - if (isset($GLOBALS['ldap_champs'])) |
|
| 113 | - $connexion['ldap']['attributes'] = $GLOBALS['ldap_champs']; |
|
| 114 | - } else spip_log("connection LDAP $serveur inconnue"); |
|
| 115 | - } |
|
| 116 | - return $connexions_ldap[$serveur]=$connexion['ldap']; |
|
| 99 | + include_spip('base/connect_sql'); |
|
| 100 | + static $connexions_ldap = array(); |
|
| 101 | + if (isset($connexions_ldap[$serveur])) return $connexions_ldap[$serveur]; |
|
| 102 | + $connexion = spip_connect($serveur); |
|
| 103 | + if (!is_array($connexion['ldap'])) { |
|
| 104 | + if ($connexion['authentification']['ldap']) { |
|
| 105 | + $f = _DIR_CONNECT . $connexion['authentification']['ldap']; |
|
| 106 | + unset($GLOBALS['ldap_link']); |
|
| 107 | + if (is_readable($f)) { include_once($f); }; |
|
| 108 | + if (isset($GLOBALS['ldap_link'])) |
|
| 109 | + $connexion['ldap'] = array('link' => $GLOBALS['ldap_link'], |
|
| 110 | + 'base' => $GLOBALS['ldap_base']); |
|
| 111 | + else spip_log("connection LDAP $serveur mal definie dans $f"); |
|
| 112 | + if (isset($GLOBALS['ldap_champs'])) |
|
| 113 | + $connexion['ldap']['attributes'] = $GLOBALS['ldap_champs']; |
|
| 114 | + } else spip_log("connection LDAP $serveur inconnue"); |
|
| 115 | + } |
|
| 116 | + return $connexions_ldap[$serveur]=$connexion['ldap']; |
|
| 117 | 117 | } |
| 118 | 118 | |
| 119 | 119 | /** |
@@ -127,44 +127,44 @@ discard block |
||
| 127 | 127 | * le login trouve ou chaine vide si non trouve |
| 128 | 128 | */ |
| 129 | 129 | function auth_ldap_search($login, $pass, $checkpass=true, $serveur=''){ |
| 130 | - // Securite anti-injection et contre un serveur LDAP laxiste |
|
| 131 | - $login_search = preg_replace("/[^-@._\s\d\w]/", "", $login); |
|
| 132 | - if (!strlen($login_search) OR ($checkpass AND !strlen($pass)) ) |
|
| 133 | - return ''; |
|
| 134 | - |
|
| 135 | - // verifier la connexion |
|
| 136 | - if (!$ldap = auth_ldap_connect($serveur)) |
|
| 137 | - return ''; |
|
| 138 | - |
|
| 139 | - $ldap_link = isset($ldap['link']) ? $ldap['link'] : null; |
|
| 140 | - $ldap_base = isset($ldap['base']) ? $ldap['base'] : null; |
|
| 141 | - $desc = isset($ldap['attributes']) && $ldap['attributes'] ? $ldap['attributes'] : $GLOBALS['ldap_attributes'] ; |
|
| 142 | - |
|
| 143 | - $logins = is_array($desc['login']) ? $desc['login'] : array($desc['login']); |
|
| 144 | - |
|
| 145 | - // Tenter une recherche pour essayer de retrouver le DN |
|
| 146 | - foreach($logins as $att) { |
|
| 147 | - $result = @ldap_search($ldap_link, $ldap_base, "$att=$login_search", array("dn")); |
|
| 148 | - $info = @ldap_get_entries($ldap_link, $result); |
|
| 149 | - // Ne pas accepter les resultats si plus d'une entree |
|
| 150 | - // (on veut un attribut unique) |
|
| 151 | - |
|
| 152 | - if (is_array($info) AND $info['count'] == 1) { |
|
| 153 | - $dn = $info[0]['dn']; |
|
| 154 | - if (!$checkpass) return $dn; |
|
| 155 | - if (@ldap_bind($ldap_link, $dn, $pass)) return $dn; |
|
| 156 | - } |
|
| 157 | - } |
|
| 158 | - |
|
| 159 | - if ($checkpass AND !isset($dn)) { |
|
| 160 | - // Si echec, essayer de deviner le DN |
|
| 161 | - foreach($logins as $att) { |
|
| 162 | - $dn = "$att=$login_search, $ldap_base"; |
|
| 163 | - if (@ldap_bind($ldap_link, $dn, $pass)) |
|
| 164 | - return "$att=$login_search, $ldap_base"; |
|
| 165 | - } |
|
| 166 | - } |
|
| 167 | - return ''; |
|
| 130 | + // Securite anti-injection et contre un serveur LDAP laxiste |
|
| 131 | + $login_search = preg_replace("/[^-@._\s\d\w]/", "", $login); |
|
| 132 | + if (!strlen($login_search) OR ($checkpass AND !strlen($pass)) ) |
|
| 133 | + return ''; |
|
| 134 | + |
|
| 135 | + // verifier la connexion |
|
| 136 | + if (!$ldap = auth_ldap_connect($serveur)) |
|
| 137 | + return ''; |
|
| 138 | + |
|
| 139 | + $ldap_link = isset($ldap['link']) ? $ldap['link'] : null; |
|
| 140 | + $ldap_base = isset($ldap['base']) ? $ldap['base'] : null; |
|
| 141 | + $desc = isset($ldap['attributes']) && $ldap['attributes'] ? $ldap['attributes'] : $GLOBALS['ldap_attributes'] ; |
|
| 142 | + |
|
| 143 | + $logins = is_array($desc['login']) ? $desc['login'] : array($desc['login']); |
|
| 144 | + |
|
| 145 | + // Tenter une recherche pour essayer de retrouver le DN |
|
| 146 | + foreach($logins as $att) { |
|
| 147 | + $result = @ldap_search($ldap_link, $ldap_base, "$att=$login_search", array("dn")); |
|
| 148 | + $info = @ldap_get_entries($ldap_link, $result); |
|
| 149 | + // Ne pas accepter les resultats si plus d'une entree |
|
| 150 | + // (on veut un attribut unique) |
|
| 151 | + |
|
| 152 | + if (is_array($info) AND $info['count'] == 1) { |
|
| 153 | + $dn = $info[0]['dn']; |
|
| 154 | + if (!$checkpass) return $dn; |
|
| 155 | + if (@ldap_bind($ldap_link, $dn, $pass)) return $dn; |
|
| 156 | + } |
|
| 157 | + } |
|
| 158 | + |
|
| 159 | + if ($checkpass AND !isset($dn)) { |
|
| 160 | + // Si echec, essayer de deviner le DN |
|
| 161 | + foreach($logins as $att) { |
|
| 162 | + $dn = "$att=$login_search, $ldap_base"; |
|
| 163 | + if (@ldap_bind($ldap_link, $dn, $pass)) |
|
| 164 | + return "$att=$login_search, $ldap_base"; |
|
| 165 | + } |
|
| 166 | + } |
|
| 167 | + return ''; |
|
| 168 | 168 | } |
| 169 | 169 | |
| 170 | 170 | /** |
@@ -176,33 +176,33 @@ discard block |
||
| 176 | 176 | */ |
| 177 | 177 | function auth_ldap_retrouver($dn, $desc=array(), $serveur='') |
| 178 | 178 | { |
| 179 | - // Lire les infos sur l'utilisateur a partir de son DN depuis LDAP |
|
| 179 | + // Lire les infos sur l'utilisateur a partir de son DN depuis LDAP |
|
| 180 | 180 | |
| 181 | - if (!$ldap = spip_connect_ldap($serveur)) { |
|
| 182 | - spip_log("ldap $serveur injoignable"); |
|
| 183 | - return array(); |
|
| 184 | - } |
|
| 181 | + if (!$ldap = spip_connect_ldap($serveur)) { |
|
| 182 | + spip_log("ldap $serveur injoignable"); |
|
| 183 | + return array(); |
|
| 184 | + } |
|
| 185 | 185 | |
| 186 | - $ldap_link = $ldap['link']; |
|
| 187 | - if (!$desc) { |
|
| 188 | - $desc = $ldap['attributes'] ? $ldap['attributes'] : $GLOBALS['ldap_attributes'] ; |
|
| 189 | - unset($desc['login']); |
|
| 190 | - } |
|
| 191 | - $result = @ldap_read($ldap_link, $dn, "objectClass=*", array_values($desc)); |
|
| 186 | + $ldap_link = $ldap['link']; |
|
| 187 | + if (!$desc) { |
|
| 188 | + $desc = $ldap['attributes'] ? $ldap['attributes'] : $GLOBALS['ldap_attributes'] ; |
|
| 189 | + unset($desc['login']); |
|
| 190 | + } |
|
| 191 | + $result = @ldap_read($ldap_link, $dn, "objectClass=*", array_values($desc)); |
|
| 192 | 192 | |
| 193 | - if (!$result) return array(); |
|
| 193 | + if (!$result) return array(); |
|
| 194 | 194 | |
| 195 | - // Recuperer les donnees du premier (unique?) compte de l'auteur |
|
| 196 | - $val = @ldap_get_entries($ldap_link, $result); |
|
| 197 | - if (!is_array($val) OR !is_array($val[0])) return array(); |
|
| 198 | - $val = $val[0]; |
|
| 195 | + // Recuperer les donnees du premier (unique?) compte de l'auteur |
|
| 196 | + $val = @ldap_get_entries($ldap_link, $result); |
|
| 197 | + if (!is_array($val) OR !is_array($val[0])) return array(); |
|
| 198 | + $val = $val[0]; |
|
| 199 | 199 | |
| 200 | - // Convertir depuis UTF-8 (jeu de caracteres par defaut) |
|
| 201 | - include_spip('inc/charsets'); |
|
| 200 | + // Convertir depuis UTF-8 (jeu de caracteres par defaut) |
|
| 201 | + include_spip('inc/charsets'); |
|
| 202 | 202 | |
| 203 | - foreach ($desc as $k => $v) |
|
| 204 | - $desc[$k] = importer_charset($val[strtolower($v)][0], 'utf-8'); |
|
| 205 | - return $desc; |
|
| 203 | + foreach ($desc as $k => $v) |
|
| 204 | + $desc[$k] = importer_charset($val[strtolower($v)][0], 'utf-8'); |
|
| 205 | + return $desc; |
|
| 206 | 206 | } |
| 207 | 207 | |
| 208 | 208 | |
@@ -215,7 +215,7 @@ discard block |
||
| 215 | 215 | */ |
| 216 | 216 | function auth_ldap_retrouver_login($login, $serveur='') |
| 217 | 217 | { |
| 218 | - return auth_ldap_search($login, '', false, $serveur) ? $login : ''; |
|
| 218 | + return auth_ldap_search($login, '', false, $serveur) ? $login : ''; |
|
| 219 | 219 | } |
| 220 | 220 | |
| 221 | 221 | /** |
@@ -274,7 +274,7 @@ discard block |
||
| 274 | 274 | return false; |
| 275 | 275 | } |
| 276 | 276 | if (!$ldap = auth_ldap_connect($serveur)) |
| 277 | - return ''; |
|
| 277 | + return ''; |
|
| 278 | 278 | $link = $ldap['link']; |
| 279 | 279 | include_spip("inc/session"); |
| 280 | 280 | $dn = session_get('ldap_dn'); |
@@ -282,7 +282,7 @@ discard block |
||
| 282 | 282 | return false; |
| 283 | 283 | } |
| 284 | 284 | if (!ldap_bind($link, $dn, session_get('ldap_password'))) { |
| 285 | - return false; |
|
| 285 | + return false; |
|
| 286 | 286 | } |
| 287 | 287 | $encoded_pass = "{MD5}".base64_encode(pack("H*",md5($new_pass))); |
| 288 | 288 | $success = ldap_mod_replace($link, $dn, array('userPassword' => $encoded_pass)); |
@@ -24,62 +24,62 @@ discard block |
||
| 24 | 24 | */ |
| 25 | 25 | function auth_spip_dist ($login, $pass, $serveur='', $phpauth=false) { |
| 26 | 26 | |
| 27 | - // retrouver le login |
|
| 28 | - $login = auth_spip_retrouver_login($login); |
|
| 29 | - // login inconnu, n'allons pas plus loin |
|
| 30 | - if (!$login) return array(); |
|
| 31 | - |
|
| 32 | - $md5pass = ""; |
|
| 33 | - $shapass = $shanext = ""; |
|
| 34 | - |
|
| 35 | - if (preg_match(",^\{([0-9a-f]{64});([0-9a-f]{64})\}$,i",$pass,$regs)){ |
|
| 36 | - $shapass = $regs[1]; |
|
| 37 | - $shanext = $regs[2]; |
|
| 38 | - } |
|
| 39 | - // compat avec une base mixte md5/sha256 : le js a envoye les 2 hash |
|
| 40 | - elseif (preg_match(",^\{([0-9a-f]{64});([0-9a-f]{64});([0-9a-f]{32});([0-9a-f]{32})\}$,i",$pass,$regs)){ |
|
| 41 | - $shapass = $regs[1]; |
|
| 42 | - $shanext = $regs[2]; |
|
| 43 | - $md5pass = $regs[3]; |
|
| 44 | - //$md5next = $regs[4]; |
|
| 45 | - } |
|
| 46 | - |
|
| 47 | - // si envoi non crypte, crypter maintenant |
|
| 48 | - elseif ($pass) { |
|
| 49 | - $row = sql_fetsel("alea_actuel, alea_futur", "spip_auteurs", "login=" . sql_quote($login,$serveur,'text'),'','','','',$serveur); |
|
| 50 | - |
|
| 51 | - if ($row) { |
|
| 52 | - include_spip('auth/sha256.inc'); |
|
| 53 | - $shapass = _nano_sha256($row['alea_actuel'] . $pass); |
|
| 54 | - $shanext = _nano_sha256($row['alea_futur'] . $pass); |
|
| 55 | - $md5pass = md5($row['alea_actuel'] . $pass); |
|
| 56 | - } |
|
| 57 | - } |
|
| 58 | - |
|
| 59 | - // login inexistant ou mot de passe vide |
|
| 60 | - if (!$shapass AND !$md5pass) return array(); |
|
| 61 | - |
|
| 62 | - $row = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($login,$serveur,'text') . " AND pass=" . sql_quote($shapass,$serveur,'text') . " AND statut<>'5poubelle'",'','','','',$serveur); |
|
| 63 | - |
|
| 64 | - // compat avec les anciennes bases en md5 |
|
| 65 | - if (!$row AND $md5pass) |
|
| 66 | - $row = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($login,$serveur,'text') . " AND pass=" . sql_quote($md5pass,$serveur,'text') . " AND statut<>'5poubelle'",'','','','',$serveur); |
|
| 67 | - |
|
| 68 | - // login/mot de passe incorrect |
|
| 69 | - if (!$row) return array(); |
|
| 70 | - |
|
| 71 | - // fait tourner le codage du pass dans la base |
|
| 72 | - // sauf si phpauth : cela reviendrait a changer l'alea a chaque hit, et aucune action verifiable par securiser_action() |
|
| 73 | - if ($shanext AND !$phpauth) { |
|
| 74 | - |
|
| 75 | - include_spip('inc/acces'); // pour creer_uniqid |
|
| 76 | - @sql_update('spip_auteurs', array('alea_actuel' => 'alea_futur', 'pass' => sql_quote($shanext,$serveur,'text'), 'alea_futur' => sql_quote(creer_uniqid(),$serveur,'text')), "id_auteur=" . $row['id_auteur'].' AND pass IN ('.sql_quote($shapass,$serveur,'text').', '.sql_quote($md5pass,$serveur,'text').')','',$serveur); |
|
| 77 | - // En profiter pour verifier la securite de tmp/ |
|
| 78 | - // Si elle ne fonctionne pas a l'installation, prevenir |
|
| 79 | - if (!verifier_htaccess(_DIR_TMP) AND defined('_ECRIRE_INSTALL')) |
|
| 80 | - return false; |
|
| 81 | - } |
|
| 82 | - return $row; |
|
| 27 | + // retrouver le login |
|
| 28 | + $login = auth_spip_retrouver_login($login); |
|
| 29 | + // login inconnu, n'allons pas plus loin |
|
| 30 | + if (!$login) return array(); |
|
| 31 | + |
|
| 32 | + $md5pass = ""; |
|
| 33 | + $shapass = $shanext = ""; |
|
| 34 | + |
|
| 35 | + if (preg_match(",^\{([0-9a-f]{64});([0-9a-f]{64})\}$,i",$pass,$regs)){ |
|
| 36 | + $shapass = $regs[1]; |
|
| 37 | + $shanext = $regs[2]; |
|
| 38 | + } |
|
| 39 | + // compat avec une base mixte md5/sha256 : le js a envoye les 2 hash |
|
| 40 | + elseif (preg_match(",^\{([0-9a-f]{64});([0-9a-f]{64});([0-9a-f]{32});([0-9a-f]{32})\}$,i",$pass,$regs)){ |
|
| 41 | + $shapass = $regs[1]; |
|
| 42 | + $shanext = $regs[2]; |
|
| 43 | + $md5pass = $regs[3]; |
|
| 44 | + //$md5next = $regs[4]; |
|
| 45 | + } |
|
| 46 | + |
|
| 47 | + // si envoi non crypte, crypter maintenant |
|
| 48 | + elseif ($pass) { |
|
| 49 | + $row = sql_fetsel("alea_actuel, alea_futur", "spip_auteurs", "login=" . sql_quote($login,$serveur,'text'),'','','','',$serveur); |
|
| 50 | + |
|
| 51 | + if ($row) { |
|
| 52 | + include_spip('auth/sha256.inc'); |
|
| 53 | + $shapass = _nano_sha256($row['alea_actuel'] . $pass); |
|
| 54 | + $shanext = _nano_sha256($row['alea_futur'] . $pass); |
|
| 55 | + $md5pass = md5($row['alea_actuel'] . $pass); |
|
| 56 | + } |
|
| 57 | + } |
|
| 58 | + |
|
| 59 | + // login inexistant ou mot de passe vide |
|
| 60 | + if (!$shapass AND !$md5pass) return array(); |
|
| 61 | + |
|
| 62 | + $row = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($login,$serveur,'text') . " AND pass=" . sql_quote($shapass,$serveur,'text') . " AND statut<>'5poubelle'",'','','','',$serveur); |
|
| 63 | + |
|
| 64 | + // compat avec les anciennes bases en md5 |
|
| 65 | + if (!$row AND $md5pass) |
|
| 66 | + $row = sql_fetsel("*", "spip_auteurs", "login=" . sql_quote($login,$serveur,'text') . " AND pass=" . sql_quote($md5pass,$serveur,'text') . " AND statut<>'5poubelle'",'','','','',$serveur); |
|
| 67 | + |
|
| 68 | + // login/mot de passe incorrect |
|
| 69 | + if (!$row) return array(); |
|
| 70 | + |
|
| 71 | + // fait tourner le codage du pass dans la base |
|
| 72 | + // sauf si phpauth : cela reviendrait a changer l'alea a chaque hit, et aucune action verifiable par securiser_action() |
|
| 73 | + if ($shanext AND !$phpauth) { |
|
| 74 | + |
|
| 75 | + include_spip('inc/acces'); // pour creer_uniqid |
|
| 76 | + @sql_update('spip_auteurs', array('alea_actuel' => 'alea_futur', 'pass' => sql_quote($shanext,$serveur,'text'), 'alea_futur' => sql_quote(creer_uniqid(),$serveur,'text')), "id_auteur=" . $row['id_auteur'].' AND pass IN ('.sql_quote($shapass,$serveur,'text').', '.sql_quote($md5pass,$serveur,'text').')','',$serveur); |
|
| 77 | + // En profiter pour verifier la securite de tmp/ |
|
| 78 | + // Si elle ne fonctionne pas a l'installation, prevenir |
|
| 79 | + if (!verifier_htaccess(_DIR_TMP) AND defined('_ECRIRE_INSTALL')) |
|
| 80 | + return false; |
|
| 81 | + } |
|
| 82 | + return $row; |
|
| 83 | 83 | } |
| 84 | 84 | |
| 85 | 85 | /** |
@@ -89,40 +89,40 @@ discard block |
||
| 89 | 89 | * @return array |
| 90 | 90 | */ |
| 91 | 91 | function auth_spip_formulaire_login($flux){ |
| 92 | - // faut il encore envoyer md5 ? |
|
| 93 | - // on regarde si il reste des pass md5 en base pour des auteurs en statut pas poubelle |
|
| 94 | - // les hash md5 ont une longueur 32, les sha 64 |
|
| 95 | - // en evitant une requete sql a chaque affichage du formulaire login sans session |
|
| 96 | - // (perf issue pour les sites qui mettent le formulaire de login sur la home) |
|
| 97 | - $compat_md5 = false; |
|
| 98 | - if (!isset($GLOBALS['meta']['sha_256_only']) OR _request('var_mode')){ |
|
| 99 | - $compat_md5 = sql_countsel("spip_auteurs", "length(pass)=32 AND statut<>'poubelle'"); |
|
| 100 | - if ($compat_md5 AND isset($GLOBALS['meta']['sha_256_only'])) effacer_meta('sha_256_only'); |
|
| 101 | - if (!$compat_md5) ecrire_meta('sha_256_only','oui'); |
|
| 102 | - } |
|
| 103 | - |
|
| 104 | - // javascript qui gere la securite du login en evitant de faire circuler le pass en clair |
|
| 105 | - $flux['data'].= |
|
| 106 | - ($compat_md5?'<script type="text/javascript" src="'._DIR_JAVASCRIPT.'md5.js"></script>':'') |
|
| 107 | - .'<script type="text/javascript" src="'._DIR_JAVASCRIPT.'login-sha-min.js"></script>' |
|
| 108 | - .'<script type="text/javascript">/*<![CDATA[*/' |
|
| 109 | - ."var alea_actuel='".$flux['args']['contexte']['_alea_actuel']."';" |
|
| 110 | - ."var alea_futur='".$flux['args']['contexte']['_alea_futur']."';" |
|
| 111 | - ."var login='".$flux['args']['contexte']['var_login']."';" |
|
| 112 | - ."var page_auteur = '".generer_url_public('informer_auteur')."';" |
|
| 113 | - ."var informe_auteur_en_cours = false;" |
|
| 114 | - ."var attente_informe = 0;" |
|
| 115 | - ."var compat_md5 = ".($compat_md5?"true;":"false;") |
|
| 116 | - ."jQuery(function(){ |
|
| 92 | + // faut il encore envoyer md5 ? |
|
| 93 | + // on regarde si il reste des pass md5 en base pour des auteurs en statut pas poubelle |
|
| 94 | + // les hash md5 ont une longueur 32, les sha 64 |
|
| 95 | + // en evitant une requete sql a chaque affichage du formulaire login sans session |
|
| 96 | + // (perf issue pour les sites qui mettent le formulaire de login sur la home) |
|
| 97 | + $compat_md5 = false; |
|
| 98 | + if (!isset($GLOBALS['meta']['sha_256_only']) OR _request('var_mode')){ |
|
| 99 | + $compat_md5 = sql_countsel("spip_auteurs", "length(pass)=32 AND statut<>'poubelle'"); |
|
| 100 | + if ($compat_md5 AND isset($GLOBALS['meta']['sha_256_only'])) effacer_meta('sha_256_only'); |
|
| 101 | + if (!$compat_md5) ecrire_meta('sha_256_only','oui'); |
|
| 102 | + } |
|
| 103 | + |
|
| 104 | + // javascript qui gere la securite du login en evitant de faire circuler le pass en clair |
|
| 105 | + $flux['data'].= |
|
| 106 | + ($compat_md5?'<script type="text/javascript" src="'._DIR_JAVASCRIPT.'md5.js"></script>':'') |
|
| 107 | + .'<script type="text/javascript" src="'._DIR_JAVASCRIPT.'login-sha-min.js"></script>' |
|
| 108 | + .'<script type="text/javascript">/*<![CDATA[*/' |
|
| 109 | + ."var alea_actuel='".$flux['args']['contexte']['_alea_actuel']."';" |
|
| 110 | + ."var alea_futur='".$flux['args']['contexte']['_alea_futur']."';" |
|
| 111 | + ."var login='".$flux['args']['contexte']['var_login']."';" |
|
| 112 | + ."var page_auteur = '".generer_url_public('informer_auteur')."';" |
|
| 113 | + ."var informe_auteur_en_cours = false;" |
|
| 114 | + ."var attente_informe = 0;" |
|
| 115 | + ."var compat_md5 = ".($compat_md5?"true;":"false;") |
|
| 116 | + ."jQuery(function(){ |
|
| 117 | 117 | jQuery('#password') |
| 118 | 118 | .after(\"<em id='pass_securise'><img src='".chemin_image('cadenas-16.png')."' width='16' height='16' alt='" . attribut_html(_T('login_securise')) . "' title='" . attribut_html(_T('login_securise')) . "' \/><\/em>\"); |
| 119 | 119 | affiche_login_secure(); |
| 120 | 120 | jQuery('#var_login').change(actualise_auteur); |
| 121 | 121 | jQuery('form#formulaire_login').submit(login_submit); |
| 122 | 122 | });" |
| 123 | - ."/*]]>*/</script>"; |
|
| 123 | + ."/*]]>*/</script>"; |
|
| 124 | 124 | |
| 125 | - return $flux; |
|
| 125 | + return $flux; |
|
| 126 | 126 | } |
| 127 | 127 | |
| 128 | 128 | |
@@ -133,9 +133,9 @@ discard block |
||
| 133 | 133 | * toujours true pour un auteur cree dans SPIP |
| 134 | 134 | */ |
| 135 | 135 | function auth_spip_autoriser_modifier_login($serveur=''){ |
| 136 | - if (strlen($serveur)) |
|
| 137 | - return false; // les fonctions d'ecriture sur base distante sont encore incompletes |
|
| 138 | - return true; |
|
| 136 | + if (strlen($serveur)) |
|
| 137 | + return false; // les fonctions d'ecriture sur base distante sont encore incompletes |
|
| 138 | + return true; |
|
| 139 | 139 | } |
| 140 | 140 | |
| 141 | 141 | /** |
@@ -149,17 +149,17 @@ discard block |
||
| 149 | 149 | * message d'erreur si login non valide, chaine vide sinon |
| 150 | 150 | */ |
| 151 | 151 | function auth_spip_verifier_login($new_login, $id_auteur=0, $serveur=''){ |
| 152 | - // login et mot de passe |
|
| 153 | - if (strlen($new_login)){ |
|
| 154 | - if (strlen($new_login) < _LOGIN_TROP_COURT) |
|
| 155 | - return _T('info_login_trop_court_car_pluriel',array('nb'=>_LOGIN_TROP_COURT)); |
|
| 156 | - else { |
|
| 157 | - $n = sql_countsel('spip_auteurs', "login=" . sql_quote($new_login) . " AND id_auteur!=".intval($id_auteur)." AND statut!='5poubelle'",'','',$serveur); |
|
| 158 | - if ($n) |
|
| 159 | - return _T('info_login_existant'); |
|
| 160 | - } |
|
| 161 | - } |
|
| 162 | - return ''; |
|
| 152 | + // login et mot de passe |
|
| 153 | + if (strlen($new_login)){ |
|
| 154 | + if (strlen($new_login) < _LOGIN_TROP_COURT) |
|
| 155 | + return _T('info_login_trop_court_car_pluriel',array('nb'=>_LOGIN_TROP_COURT)); |
|
| 156 | + else { |
|
| 157 | + $n = sql_countsel('spip_auteurs', "login=" . sql_quote($new_login) . " AND id_auteur!=".intval($id_auteur)." AND statut!='5poubelle'",'','',$serveur); |
|
| 158 | + if ($n) |
|
| 159 | + return _T('info_login_existant'); |
|
| 160 | + } |
|
| 161 | + } |
|
| 162 | + return ''; |
|
| 163 | 163 | } |
| 164 | 164 | |
| 165 | 165 | /** |
@@ -171,27 +171,27 @@ discard block |
||
| 171 | 171 | * @return bool |
| 172 | 172 | */ |
| 173 | 173 | function auth_spip_modifier_login($new_login, $id_auteur, $serveur=''){ |
| 174 | - if (is_null($new_login) OR auth_spip_verifier_login($new_login,$id_auteur,$serveur)!='') |
|
| 175 | - return false; |
|
| 176 | - if (!$id_auteur = intval($id_auteur) |
|
| 177 | - OR !$auteur = sql_fetsel('login','spip_auteurs','id_auteur='.intval($id_auteur),'','','','',$serveur)) |
|
| 178 | - return false; |
|
| 179 | - if ($new_login == $auteur['login']) |
|
| 180 | - return true; // on a rien fait mais c'est bon ! |
|
| 181 | - |
|
| 182 | - include_spip('action/editer_auteur'); |
|
| 183 | - |
|
| 184 | - // vider le login des auteurs a la poubelle qui avaient ce meme login |
|
| 185 | - if (strlen($new_login)){ |
|
| 186 | - $anciens = sql_allfetsel('id_auteur','spip_auteurs','login='.sql_quote($new_login,$serveur,'text')." AND statut='5poubelle'",'','','','',$serveur); |
|
| 187 | - while ($row = array_pop($anciens)){ |
|
| 188 | - auteur_modifier($row['id_auteur'], array('login'=>''), true); // manque la gestion de $serveur |
|
| 189 | - } |
|
| 190 | - } |
|
| 191 | - |
|
| 192 | - auteur_modifier($id_auteur, array('login'=>$new_login), true); // manque la gestion de $serveur |
|
| 193 | - |
|
| 194 | - return true; |
|
| 174 | + if (is_null($new_login) OR auth_spip_verifier_login($new_login,$id_auteur,$serveur)!='') |
|
| 175 | + return false; |
|
| 176 | + if (!$id_auteur = intval($id_auteur) |
|
| 177 | + OR !$auteur = sql_fetsel('login','spip_auteurs','id_auteur='.intval($id_auteur),'','','','',$serveur)) |
|
| 178 | + return false; |
|
| 179 | + if ($new_login == $auteur['login']) |
|
| 180 | + return true; // on a rien fait mais c'est bon ! |
|
| 181 | + |
|
| 182 | + include_spip('action/editer_auteur'); |
|
| 183 | + |
|
| 184 | + // vider le login des auteurs a la poubelle qui avaient ce meme login |
|
| 185 | + if (strlen($new_login)){ |
|
| 186 | + $anciens = sql_allfetsel('id_auteur','spip_auteurs','login='.sql_quote($new_login,$serveur,'text')." AND statut='5poubelle'",'','','','',$serveur); |
|
| 187 | + while ($row = array_pop($anciens)){ |
|
| 188 | + auteur_modifier($row['id_auteur'], array('login'=>''), true); // manque la gestion de $serveur |
|
| 189 | + } |
|
| 190 | + } |
|
| 191 | + |
|
| 192 | + auteur_modifier($id_auteur, array('login'=>$new_login), true); // manque la gestion de $serveur |
|
| 193 | + |
|
| 194 | + return true; |
|
| 195 | 195 | } |
| 196 | 196 | |
| 197 | 197 | /** |
@@ -203,21 +203,21 @@ discard block |
||
| 203 | 203 | * @return string |
| 204 | 204 | */ |
| 205 | 205 | function auth_spip_retrouver_login($login, $serveur=''){ |
| 206 | - if (!strlen($login)) return null; // pas la peine de requeter |
|
| 207 | - $l = sql_quote($login,$serveur,'text'); |
|
| 208 | - if ($r = sql_getfetsel('login', 'spip_auteurs', |
|
| 209 | - "statut<>'5poubelle'" . |
|
| 210 | - " AND (length(pass)>0)" . |
|
| 211 | - " AND (login=$l)",'','','','',$serveur)) |
|
| 212 | - return $r; |
|
| 213 | - // Si pas d'auteur avec ce login |
|
| 214 | - // regarder s'il a saisi son nom ou son mail. |
|
| 215 | - // Ne pas fusionner avec la requete precedente |
|
| 216 | - // car un nom peut etre homonyme d'un autre login |
|
| 217 | - else return sql_getfetsel('login', 'spip_auteurs', |
|
| 218 | - "statut<>'5poubelle'" . |
|
| 219 | - " AND (length(pass)>0)" . |
|
| 220 | - " AND (login<>'' AND (nom=$l OR email=$l))",'','','','',$serveur); |
|
| 206 | + if (!strlen($login)) return null; // pas la peine de requeter |
|
| 207 | + $l = sql_quote($login,$serveur,'text'); |
|
| 208 | + if ($r = sql_getfetsel('login', 'spip_auteurs', |
|
| 209 | + "statut<>'5poubelle'" . |
|
| 210 | + " AND (length(pass)>0)" . |
|
| 211 | + " AND (login=$l)",'','','','',$serveur)) |
|
| 212 | + return $r; |
|
| 213 | + // Si pas d'auteur avec ce login |
|
| 214 | + // regarder s'il a saisi son nom ou son mail. |
|
| 215 | + // Ne pas fusionner avec la requete precedente |
|
| 216 | + // car un nom peut etre homonyme d'un autre login |
|
| 217 | + else return sql_getfetsel('login', 'spip_auteurs', |
|
| 218 | + "statut<>'5poubelle'" . |
|
| 219 | + " AND (length(pass)>0)" . |
|
| 220 | + " AND (login<>'' AND (nom=$l OR email=$l))",'','','','',$serveur); |
|
| 221 | 221 | } |
| 222 | 222 | |
| 223 | 223 | |
@@ -235,11 +235,11 @@ discard block |
||
| 235 | 235 | */ |
| 236 | 236 | function auth_spip_informer_login($infos, $row, $serveur=''){ |
| 237 | 237 | |
| 238 | - // pour la methode SPIP on a besoin des alea en plus pour encoder le pass avec |
|
| 239 | - $infos['alea_actuel'] = $row['alea_actuel']; |
|
| 240 | - $infos['alea_futur'] = $row['alea_futur']; |
|
| 238 | + // pour la methode SPIP on a besoin des alea en plus pour encoder le pass avec |
|
| 239 | + $infos['alea_actuel'] = $row['alea_actuel']; |
|
| 240 | + $infos['alea_futur'] = $row['alea_futur']; |
|
| 241 | 241 | |
| 242 | - return $infos; |
|
| 242 | + return $infos; |
|
| 243 | 243 | } |
| 244 | 244 | |
| 245 | 245 | /** |
@@ -249,9 +249,9 @@ discard block |
||
| 249 | 249 | * toujours true pour un auteur cree dans SPIP |
| 250 | 250 | */ |
| 251 | 251 | function auth_spip_autoriser_modifier_pass($serveur=''){ |
| 252 | - if (strlen($serveur)) |
|
| 253 | - return false; // les fonctions d'ecriture sur base distante sont encore incompletes |
|
| 254 | - return true; |
|
| 252 | + if (strlen($serveur)) |
|
| 253 | + return false; // les fonctions d'ecriture sur base distante sont encore incompletes |
|
| 254 | + return true; |
|
| 255 | 255 | } |
| 256 | 256 | |
| 257 | 257 | |
@@ -272,11 +272,11 @@ discard block |
||
| 272 | 272 | * message d'erreur si login non valide, chaine vide sinon |
| 273 | 273 | */ |
| 274 | 274 | function auth_spip_verifier_pass($login, $new_pass, $id_auteur=0, $serveur=''){ |
| 275 | - // login et mot de passe |
|
| 276 | - if (strlen($new_pass) < _PASS_LONGUEUR_MINI) |
|
| 277 | - return _T('info_passe_trop_court_car_pluriel',array('nb'=>_PASS_LONGUEUR_MINI)); |
|
| 275 | + // login et mot de passe |
|
| 276 | + if (strlen($new_pass) < _PASS_LONGUEUR_MINI) |
|
| 277 | + return _T('info_passe_trop_court_car_pluriel',array('nb'=>_PASS_LONGUEUR_MINI)); |
|
| 278 | 278 | |
| 279 | - return ''; |
|
| 279 | + return ''; |
|
| 280 | 280 | } |
| 281 | 281 | |
| 282 | 282 | /** |
@@ -289,30 +289,30 @@ discard block |
||
| 289 | 289 | * @return bool |
| 290 | 290 | */ |
| 291 | 291 | function auth_spip_modifier_pass($login, $new_pass, $id_auteur, $serveur=''){ |
| 292 | - if (is_null($new_pass) OR auth_spip_verifier_pass($login, $new_pass,$id_auteur,$serveur)!='') |
|
| 293 | - return false; |
|
| 294 | - |
|
| 295 | - if (!$id_auteur = intval($id_auteur) |
|
| 296 | - OR !sql_fetsel('login','spip_auteurs','id_auteur='.intval($id_auteur),'','','','',$serveur)) |
|
| 297 | - return false; |
|
| 298 | - |
|
| 299 | - $c = array(); |
|
| 300 | - include_spip('inc/acces'); |
|
| 301 | - include_spip('auth/sha256.inc'); |
|
| 302 | - $htpass = generer_htpass($new_pass); |
|
| 303 | - $alea_actuel = creer_uniqid(); |
|
| 304 | - $alea_futur = creer_uniqid(); |
|
| 305 | - $pass = _nano_sha256($alea_actuel.$new_pass); |
|
| 306 | - $c['pass'] = $pass; |
|
| 307 | - $c['htpass'] = $htpass; |
|
| 308 | - $c['alea_actuel'] = $alea_actuel; |
|
| 309 | - $c['alea_futur'] = $alea_futur; |
|
| 310 | - $c['low_sec'] = ''; |
|
| 311 | - |
|
| 312 | - include_spip('action/editer_auteur'); |
|
| 313 | - auteur_modifier($id_auteur, $c, true); // manque la gestion de $serveur |
|
| 314 | - |
|
| 315 | - return true; // on a bien modifie le pass |
|
| 292 | + if (is_null($new_pass) OR auth_spip_verifier_pass($login, $new_pass,$id_auteur,$serveur)!='') |
|
| 293 | + return false; |
|
| 294 | + |
|
| 295 | + if (!$id_auteur = intval($id_auteur) |
|
| 296 | + OR !sql_fetsel('login','spip_auteurs','id_auteur='.intval($id_auteur),'','','','',$serveur)) |
|
| 297 | + return false; |
|
| 298 | + |
|
| 299 | + $c = array(); |
|
| 300 | + include_spip('inc/acces'); |
|
| 301 | + include_spip('auth/sha256.inc'); |
|
| 302 | + $htpass = generer_htpass($new_pass); |
|
| 303 | + $alea_actuel = creer_uniqid(); |
|
| 304 | + $alea_futur = creer_uniqid(); |
|
| 305 | + $pass = _nano_sha256($alea_actuel.$new_pass); |
|
| 306 | + $c['pass'] = $pass; |
|
| 307 | + $c['htpass'] = $htpass; |
|
| 308 | + $c['alea_actuel'] = $alea_actuel; |
|
| 309 | + $c['alea_futur'] = $alea_futur; |
|
| 310 | + $c['low_sec'] = ''; |
|
| 311 | + |
|
| 312 | + include_spip('action/editer_auteur'); |
|
| 313 | + auteur_modifier($id_auteur, $c, true); // manque la gestion de $serveur |
|
| 314 | + |
|
| 315 | + return true; // on a bien modifie le pass |
|
| 316 | 316 | } |
| 317 | 317 | |
| 318 | 318 | /** |
@@ -326,51 +326,51 @@ discard block |
||
| 326 | 326 | * @return void |
| 327 | 327 | */ |
| 328 | 328 | function auth_spip_synchroniser_distant($id_auteur, $champs, $options = array(), $serveur=''){ |
| 329 | - // ne rien faire pour une base distante : on ne sait pas regenerer les htaccess |
|
| 330 | - if (strlen($serveur)) |
|
| 331 | - return; |
|
| 332 | - // si un login, pass ou statut a ete modifie |
|
| 333 | - // regenerer les fichier htpass |
|
| 334 | - if (isset($champs['login']) |
|
| 335 | - OR isset($champs['pass']) |
|
| 336 | - OR isset($champs['statut']) |
|
| 337 | - OR (isset($options['all']) AND $options['all']) |
|
| 338 | - ) { |
|
| 339 | - |
|
| 340 | - $htaccess = _DIR_RESTREINT . _ACCESS_FILE_NAME; |
|
| 341 | - $htpasswd = _DIR_TMP . _AUTH_USER_FILE; |
|
| 342 | - |
|
| 343 | - // Cette variable de configuration peut etre posee par un plugin |
|
| 344 | - // par exemple acces_restreint ; |
|
| 345 | - // si .htaccess existe, outrepasser spip_meta |
|
| 346 | - if (($GLOBALS['meta']['creer_htpasswd'] != 'oui') |
|
| 347 | - AND !@file_exists($htaccess)) { |
|
| 348 | - spip_unlink($htpasswd); |
|
| 349 | - spip_unlink($htpasswd."-admin"); |
|
| 350 | - return; |
|
| 351 | - } |
|
| 352 | - |
|
| 353 | - # remarque : ici on laisse passer les "nouveau" de maniere a leur permettre |
|
| 354 | - # de devenir redacteur le cas echeant (auth http)... a nettoyer |
|
| 355 | - // attention, il faut au prealable se connecter a la base (necessaire car utilise par install) |
|
| 356 | - |
|
| 357 | - $p1 = ''; // login:htpass pour tous |
|
| 358 | - $p2 = ''; // login:htpass pour les admins |
|
| 359 | - $s = sql_select("login, htpass, statut", "spip_auteurs", sql_in("statut", array('1comite','0minirezo','nouveau'))); |
|
| 360 | - while ($t = sql_fetch($s)) { |
|
| 361 | - if (strlen($t['login']) AND strlen($t['htpass'])) { |
|
| 362 | - $p1 .= $t['login'].':'.$t['htpass']."\n"; |
|
| 363 | - if ($t['statut'] == '0minirezo') |
|
| 364 | - $p2 .= $t['login'].':'.$t['htpass']."\n"; |
|
| 365 | - } |
|
| 366 | - } |
|
| 367 | - sql_free($s); |
|
| 368 | - if ($p1) { |
|
| 369 | - ecrire_fichier($htpasswd, $p1); |
|
| 370 | - ecrire_fichier($htpasswd.'-admin', $p2); |
|
| 371 | - spip_log("Ecriture de $htpasswd et $htpasswd-admin"); |
|
| 372 | - } |
|
| 373 | - } |
|
| 329 | + // ne rien faire pour une base distante : on ne sait pas regenerer les htaccess |
|
| 330 | + if (strlen($serveur)) |
|
| 331 | + return; |
|
| 332 | + // si un login, pass ou statut a ete modifie |
|
| 333 | + // regenerer les fichier htpass |
|
| 334 | + if (isset($champs['login']) |
|
| 335 | + OR isset($champs['pass']) |
|
| 336 | + OR isset($champs['statut']) |
|
| 337 | + OR (isset($options['all']) AND $options['all']) |
|
| 338 | + ) { |
|
| 339 | + |
|
| 340 | + $htaccess = _DIR_RESTREINT . _ACCESS_FILE_NAME; |
|
| 341 | + $htpasswd = _DIR_TMP . _AUTH_USER_FILE; |
|
| 342 | + |
|
| 343 | + // Cette variable de configuration peut etre posee par un plugin |
|
| 344 | + // par exemple acces_restreint ; |
|
| 345 | + // si .htaccess existe, outrepasser spip_meta |
|
| 346 | + if (($GLOBALS['meta']['creer_htpasswd'] != 'oui') |
|
| 347 | + AND !@file_exists($htaccess)) { |
|
| 348 | + spip_unlink($htpasswd); |
|
| 349 | + spip_unlink($htpasswd."-admin"); |
|
| 350 | + return; |
|
| 351 | + } |
|
| 352 | + |
|
| 353 | + # remarque : ici on laisse passer les "nouveau" de maniere a leur permettre |
|
| 354 | + # de devenir redacteur le cas echeant (auth http)... a nettoyer |
|
| 355 | + // attention, il faut au prealable se connecter a la base (necessaire car utilise par install) |
|
| 356 | + |
|
| 357 | + $p1 = ''; // login:htpass pour tous |
|
| 358 | + $p2 = ''; // login:htpass pour les admins |
|
| 359 | + $s = sql_select("login, htpass, statut", "spip_auteurs", sql_in("statut", array('1comite','0minirezo','nouveau'))); |
|
| 360 | + while ($t = sql_fetch($s)) { |
|
| 361 | + if (strlen($t['login']) AND strlen($t['htpass'])) { |
|
| 362 | + $p1 .= $t['login'].':'.$t['htpass']."\n"; |
|
| 363 | + if ($t['statut'] == '0minirezo') |
|
| 364 | + $p2 .= $t['login'].':'.$t['htpass']."\n"; |
|
| 365 | + } |
|
| 366 | + } |
|
| 367 | + sql_free($s); |
|
| 368 | + if ($p1) { |
|
| 369 | + ecrire_fichier($htpasswd, $p1); |
|
| 370 | + ecrire_fichier($htpasswd.'-admin', $p2); |
|
| 371 | + spip_log("Ecriture de $htpasswd et $htpasswd-admin"); |
|
| 372 | + } |
|
| 373 | + } |
|
| 374 | 374 | } |
| 375 | 375 | |
| 376 | 376 | ?> |
@@ -7,242 +7,242 @@ discard block |
||
| 7 | 7 | |
| 8 | 8 | $GLOBALS[$GLOBALS['idx_lang']] = array( |
| 9 | 9 | |
| 10 | - // 0 |
|
| 11 | - '0_URL' => 'http://listes.rezo.net/mailman/listinfo/spip-dev', |
|
| 12 | - '0_langue' => 'عربي [ar]', |
|
| 13 | - '0_liste' => '[email protected]', |
|
| 14 | - '0_mainteneur' => 'جورج قندلفت ([email protected]) ', |
|
| 10 | + // 0 |
|
| 11 | + '0_URL' => 'http://listes.rezo.net/mailman/listinfo/spip-dev', |
|
| 12 | + '0_langue' => 'عربي [ar]', |
|
| 13 | + '0_liste' => '[email protected]', |
|
| 14 | + '0_mainteneur' => 'جورج قندلفت ([email protected]) ', |
|
| 15 | 15 | |
| 16 | - // A |
|
| 17 | - 'access_interface_graphique' => 'عودة إلى الواجهة الرسومية الكاملة', |
|
| 18 | - 'access_mode_texte' => 'عرض الواجهة النصية المبسّطة', |
|
| 19 | - 'admin_debug' => 'اكتشاف الأخطاء', |
|
| 20 | - 'admin_modifier_article' => 'تعديل هذا المقال', |
|
| 21 | - 'admin_modifier_auteur' => 'تغيير هذا المؤلف', |
|
| 22 | - 'admin_modifier_breve' => 'تعديل هذا الخبر', |
|
| 23 | - 'admin_modifier_mot' => 'تغيير هذا المفتاح', |
|
| 24 | - 'admin_modifier_rubrique' => 'تعديل هذا القسم', |
|
| 25 | - 'admin_recalculer' => 'إعادة تحديث هذه الصفحة', |
|
| 26 | - 'afficher_calendrier' => 'عرض الروزنامة', |
|
| 27 | - 'afficher_trad' => 'عرض الترجمات', |
|
| 28 | - 'alerte_maj_impossible' => '<b>تحذير!</b> ترقية قاعدة SQL إلى الإصدار @version@ متعذر. قد يكون السبب مشكلة في حقل التعديل. الرجاء الاتصال بمضيف موقعك.', |
|
| 29 | - 'alerte_modif_info_concourante' => 'تحذير:هذه المعلومة عُدلت في مكان آخر. القيمة الحالية هي:', |
|
| 30 | - 'analyse_xml' => 'تحليل XML', |
|
| 31 | - 'annuler' => 'إلغاء', |
|
| 32 | - 'antispam_champ_vide' => 'الرجاء الإبقاء على هذا الحقل فارغاً:', |
|
| 33 | - 'articles_recents' => 'أحدث المقالات', |
|
| 34 | - 'avis_archive_incorrect' => 'ملف الأرشيف ليس ملف SPIP', |
|
| 35 | - 'avis_archive_invalide' => 'ملف الأرشيف غير صالح', |
|
| 36 | - 'avis_attention' => 'تحذير!', |
|
| 37 | - 'avis_champ_incorrect_type_objet' => 'إسم حقل @name@ غير صالح لنوع العنصر @type@', |
|
| 38 | - 'avis_colonne_inexistante' => 'العمود @col@ غير موجود', |
|
| 39 | - 'avis_erreur' => 'خطأ: انظر أدناه', |
|
| 40 | - 'avis_erreur_connexion' => 'خطأ اتصال', |
|
| 41 | - 'avis_erreur_cookie' => 'مشكلة في الكعكة', |
|
| 42 | - 'avis_erreur_fonction_contexte' => 'خطأ برمجة. لا يجب المناداة على هذه الوظيفة في هذا السياق.', |
|
| 43 | - 'avis_erreur_mysql' => 'خطأ SQL ', |
|
| 44 | - 'avis_erreur_sauvegarde' => 'خطأ في النسخة الاحتياطية (@type@ @id_objet@)!', |
|
| 45 | - 'avis_erreur_visiteur' => 'هناك مشكلة في الدخول إلى المجال الخاص', |
|
| 16 | + // A |
|
| 17 | + 'access_interface_graphique' => 'عودة إلى الواجهة الرسومية الكاملة', |
|
| 18 | + 'access_mode_texte' => 'عرض الواجهة النصية المبسّطة', |
|
| 19 | + 'admin_debug' => 'اكتشاف الأخطاء', |
|
| 20 | + 'admin_modifier_article' => 'تعديل هذا المقال', |
|
| 21 | + 'admin_modifier_auteur' => 'تغيير هذا المؤلف', |
|
| 22 | + 'admin_modifier_breve' => 'تعديل هذا الخبر', |
|
| 23 | + 'admin_modifier_mot' => 'تغيير هذا المفتاح', |
|
| 24 | + 'admin_modifier_rubrique' => 'تعديل هذا القسم', |
|
| 25 | + 'admin_recalculer' => 'إعادة تحديث هذه الصفحة', |
|
| 26 | + 'afficher_calendrier' => 'عرض الروزنامة', |
|
| 27 | + 'afficher_trad' => 'عرض الترجمات', |
|
| 28 | + 'alerte_maj_impossible' => '<b>تحذير!</b> ترقية قاعدة SQL إلى الإصدار @version@ متعذر. قد يكون السبب مشكلة في حقل التعديل. الرجاء الاتصال بمضيف موقعك.', |
|
| 29 | + 'alerte_modif_info_concourante' => 'تحذير:هذه المعلومة عُدلت في مكان آخر. القيمة الحالية هي:', |
|
| 30 | + 'analyse_xml' => 'تحليل XML', |
|
| 31 | + 'annuler' => 'إلغاء', |
|
| 32 | + 'antispam_champ_vide' => 'الرجاء الإبقاء على هذا الحقل فارغاً:', |
|
| 33 | + 'articles_recents' => 'أحدث المقالات', |
|
| 34 | + 'avis_archive_incorrect' => 'ملف الأرشيف ليس ملف SPIP', |
|
| 35 | + 'avis_archive_invalide' => 'ملف الأرشيف غير صالح', |
|
| 36 | + 'avis_attention' => 'تحذير!', |
|
| 37 | + 'avis_champ_incorrect_type_objet' => 'إسم حقل @name@ غير صالح لنوع العنصر @type@', |
|
| 38 | + 'avis_colonne_inexistante' => 'العمود @col@ غير موجود', |
|
| 39 | + 'avis_erreur' => 'خطأ: انظر أدناه', |
|
| 40 | + 'avis_erreur_connexion' => 'خطأ اتصال', |
|
| 41 | + 'avis_erreur_cookie' => 'مشكلة في الكعكة', |
|
| 42 | + 'avis_erreur_fonction_contexte' => 'خطأ برمجة. لا يجب المناداة على هذه الوظيفة في هذا السياق.', |
|
| 43 | + 'avis_erreur_mysql' => 'خطأ SQL ', |
|
| 44 | + 'avis_erreur_sauvegarde' => 'خطأ في النسخة الاحتياطية (@type@ @id_objet@)!', |
|
| 45 | + 'avis_erreur_visiteur' => 'هناك مشكلة في الدخول إلى المجال الخاص', |
|
| 46 | 46 | |
| 47 | - // B |
|
| 48 | - 'barre_a_accent_grave' => 'إدراج حرف A كبير مع نبر الإطالة', |
|
| 49 | - 'barre_aide' => 'استخدم شريط اختصارات الكتابة لإثراء تصميم صفحتك', |
|
| 50 | - 'barre_e_accent_aigu' => 'إدراج حرف E كبير مع نبر حاد', |
|
| 51 | - 'barre_eo' => 'إدراج E داخل O', |
|
| 52 | - 'barre_eo_maj' => 'إدراج E كبير داخل O كبير', |
|
| 53 | - 'barre_euro' => 'إدراج رمز €', |
|
| 54 | - 'barre_gras' => '{{غامق{{', |
|
| 55 | - 'barre_guillemets' => 'إحاطة «بعلامتي اقتباس مزدوجة»', |
|
| 56 | - 'barre_guillemets_simples' => 'وضع بين "علامتي اقتباس مزدوجة من المستوى الثاني"', |
|
| 57 | - 'barre_intertitre' => 'تحويل إلى {{{عنوان فقرة}}}', |
|
| 58 | - 'barre_italic' => '{مائل{', |
|
| 59 | - 'barre_lien' => 'تحويل إلى [وصلة هايبرتكست->http://...]', |
|
| 60 | - 'barre_lien_input' => 'الرجاء إدخال عنوان الوصلة (يمكنك إدخال عنوان نسيج على شكل http://www.mysite.com أو إدخال رقم مقال من الموقع الحالي فقط).', |
|
| 61 | - 'barre_note' => 'تحويل إلى [[حاشية]]', |
|
| 62 | - 'barre_paragraphe' => 'إنشاء فقرة', |
|
| 63 | - 'barre_quote' => '<quote>اقتباس رسالة</quote>', |
|
| 64 | - 'bouton_changer' => 'تغيير', |
|
| 65 | - 'bouton_chercher' => 'بحث', |
|
| 66 | - 'bouton_choisir' => 'تحديد', |
|
| 67 | - 'bouton_deplacer' => 'نقل', |
|
| 68 | - 'bouton_download' => 'تحميل', |
|
| 69 | - 'bouton_enregistrer' => 'إدخال', |
|
| 70 | - 'bouton_radio_desactiver_messagerie_interne' => 'إيقاف المراسلة الداخلية', |
|
| 71 | - 'bouton_radio_envoi_annonces' => 'إرسال إعلانات التحرير', |
|
| 72 | - 'bouton_radio_non_envoi_annonces' => 'عدم إرسال الإعلانات', |
|
| 73 | - 'bouton_radio_non_envoi_liste_nouveautes' => 'عدم إرسال قائمة بآخر الأخبار', |
|
| 74 | - 'bouton_recharger_page' => 'إعادة تحميل الصفحة', |
|
| 75 | - 'bouton_telecharger' => 'تحميل', |
|
| 76 | - 'bouton_upload' => 'تنزيل', |
|
| 77 | - 'bouton_valider' => 'إدخال', |
|
| 47 | + // B |
|
| 48 | + 'barre_a_accent_grave' => 'إدراج حرف A كبير مع نبر الإطالة', |
|
| 49 | + 'barre_aide' => 'استخدم شريط اختصارات الكتابة لإثراء تصميم صفحتك', |
|
| 50 | + 'barre_e_accent_aigu' => 'إدراج حرف E كبير مع نبر حاد', |
|
| 51 | + 'barre_eo' => 'إدراج E داخل O', |
|
| 52 | + 'barre_eo_maj' => 'إدراج E كبير داخل O كبير', |
|
| 53 | + 'barre_euro' => 'إدراج رمز €', |
|
| 54 | + 'barre_gras' => '{{غامق{{', |
|
| 55 | + 'barre_guillemets' => 'إحاطة «بعلامتي اقتباس مزدوجة»', |
|
| 56 | + 'barre_guillemets_simples' => 'وضع بين "علامتي اقتباس مزدوجة من المستوى الثاني"', |
|
| 57 | + 'barre_intertitre' => 'تحويل إلى {{{عنوان فقرة}}}', |
|
| 58 | + 'barre_italic' => '{مائل{', |
|
| 59 | + 'barre_lien' => 'تحويل إلى [وصلة هايبرتكست->http://...]', |
|
| 60 | + 'barre_lien_input' => 'الرجاء إدخال عنوان الوصلة (يمكنك إدخال عنوان نسيج على شكل http://www.mysite.com أو إدخال رقم مقال من الموقع الحالي فقط).', |
|
| 61 | + 'barre_note' => 'تحويل إلى [[حاشية]]', |
|
| 62 | + 'barre_paragraphe' => 'إنشاء فقرة', |
|
| 63 | + 'barre_quote' => '<quote>اقتباس رسالة</quote>', |
|
| 64 | + 'bouton_changer' => 'تغيير', |
|
| 65 | + 'bouton_chercher' => 'بحث', |
|
| 66 | + 'bouton_choisir' => 'تحديد', |
|
| 67 | + 'bouton_deplacer' => 'نقل', |
|
| 68 | + 'bouton_download' => 'تحميل', |
|
| 69 | + 'bouton_enregistrer' => 'إدخال', |
|
| 70 | + 'bouton_radio_desactiver_messagerie_interne' => 'إيقاف المراسلة الداخلية', |
|
| 71 | + 'bouton_radio_envoi_annonces' => 'إرسال إعلانات التحرير', |
|
| 72 | + 'bouton_radio_non_envoi_annonces' => 'عدم إرسال الإعلانات', |
|
| 73 | + 'bouton_radio_non_envoi_liste_nouveautes' => 'عدم إرسال قائمة بآخر الأخبار', |
|
| 74 | + 'bouton_recharger_page' => 'إعادة تحميل الصفحة', |
|
| 75 | + 'bouton_telecharger' => 'تحميل', |
|
| 76 | + 'bouton_upload' => 'تنزيل', |
|
| 77 | + 'bouton_valider' => 'إدخال', |
|
| 78 | 78 | |
| 79 | - // C |
|
| 80 | - 'cal_apresmidi' => 'بعد الظهر', |
|
| 81 | - 'cal_jour_entier' => 'يوم كامل', |
|
| 82 | - 'cal_matin' => 'الصباح', |
|
| 83 | - 'cal_par_jour' => 'روزنامة يومية', |
|
| 84 | - 'cal_par_mois' => 'روزنامة شهرية', |
|
| 85 | - 'cal_par_semaine' => 'روزنامة أسبوعية', |
|
| 86 | - 'choix_couleur_interface' => 'اللون', |
|
| 87 | - 'choix_interface' => 'اختيار الواجهة', |
|
| 88 | - 'colonne' => 'عمود', |
|
| 89 | - 'confirm_changer_statut' => 'تحذير، لقد طلبت تغيير حالة هذا العنصر. هل تريد المتابعة؟', |
|
| 90 | - 'correcte' => 'صحيح', |
|
| 79 | + // C |
|
| 80 | + 'cal_apresmidi' => 'بعد الظهر', |
|
| 81 | + 'cal_jour_entier' => 'يوم كامل', |
|
| 82 | + 'cal_matin' => 'الصباح', |
|
| 83 | + 'cal_par_jour' => 'روزنامة يومية', |
|
| 84 | + 'cal_par_mois' => 'روزنامة شهرية', |
|
| 85 | + 'cal_par_semaine' => 'روزنامة أسبوعية', |
|
| 86 | + 'choix_couleur_interface' => 'اللون', |
|
| 87 | + 'choix_interface' => 'اختيار الواجهة', |
|
| 88 | + 'colonne' => 'عمود', |
|
| 89 | + 'confirm_changer_statut' => 'تحذير، لقد طلبت تغيير حالة هذا العنصر. هل تريد المتابعة؟', |
|
| 90 | + 'correcte' => 'صحيح', |
|
| 91 | 91 | |
| 92 | - // D |
|
| 93 | - 'date_aujourdhui' => 'اليوم', |
|
| 94 | - 'date_avant_jc' => 'قبل الميلاد', |
|
| 95 | - 'date_dans' => 'بعد @delai@', |
|
| 96 | - 'date_de_mois_1' => '@j@ @nommois@', |
|
| 97 | - 'date_de_mois_10' => '@j@ @nommois@', |
|
| 98 | - 'date_de_mois_11' => '@j@ @nommois@', |
|
| 99 | - 'date_de_mois_12' => '@j@ @nommois@', |
|
| 100 | - 'date_de_mois_2' => '@j@ @nommois@', |
|
| 101 | - 'date_de_mois_3' => '@j@ @nommois@', |
|
| 102 | - 'date_de_mois_4' => '@j@ @nommois@', |
|
| 103 | - 'date_de_mois_5' => '@j@ @nommois@', |
|
| 104 | - 'date_de_mois_6' => '@j@ @nommois@', |
|
| 105 | - 'date_de_mois_7' => '@j@ @nommois@', |
|
| 106 | - 'date_de_mois_8' => '@j@ @nommois@', |
|
| 107 | - 'date_de_mois_9' => '@j@ @nommois@', |
|
| 108 | - 'date_demain' => 'غداً', |
|
| 109 | - 'date_fmt_heures_minutes' => '@h@ و@m@ دقيقة', |
|
| 110 | - 'date_fmt_heures_minutes_court' => '@h@h@m@', |
|
| 111 | - 'date_fmt_jour' => '@nomjour@ @jour@', |
|
| 112 | - 'date_fmt_jour_heure' => '@jour@ الساعة @heure@', |
|
| 113 | - 'date_fmt_jour_heure_debut_fin' => 'في @jour@ من @heure_debut@ الى @heure_fin@', |
|
| 114 | - 'date_fmt_jour_heure_debut_fin_abbr' => 'في @dtstart@@jour@ من @heure_debut@@dtabbr@ الى @dtstart@@heure_fin@@dtend@', |
|
| 115 | - 'date_fmt_jour_mois' => '@jour@ @nommois@', |
|
| 116 | - 'date_fmt_jour_mois_annee' => '@jour@ @nommois@ @annee@', |
|
| 117 | - 'date_fmt_mois_annee' => '@nommois@ @annee@', |
|
| 118 | - 'date_fmt_nomjour' => '@nomjour@ @date@', |
|
| 119 | - 'date_fmt_nomjour_date' => 'في @nomjour@ @date@', |
|
| 120 | - 'date_fmt_periode' => 'من @date_debut@ الى @date_fin@', |
|
| 121 | - 'date_fmt_periode_abbr' => 'من @dtart@@date_debut@@dtabbr@ الى @dtend@@date_fin@@dtabbr@', |
|
| 122 | - 'date_fmt_periode_from' => 'من', |
|
| 123 | - 'date_fmt_periode_to' => 'الى', |
|
| 124 | - 'date_heures' => 'ساعة', |
|
| 125 | - 'date_hier' => 'البارحة', |
|
| 126 | - 'date_il_y_a' => 'منذ @delai@', |
|
| 127 | - 'date_jnum1' => '1', |
|
| 128 | - 'date_jnum10' => '10', |
|
| 129 | - 'date_jnum11' => '11', |
|
| 130 | - 'date_jnum12' => '12', |
|
| 131 | - 'date_jnum13' => '13', |
|
| 132 | - 'date_jnum14' => '14', |
|
| 133 | - 'date_jnum15' => '15', |
|
| 134 | - 'date_jnum16' => '16', |
|
| 135 | - 'date_jnum17' => '17', |
|
| 136 | - 'date_jnum18' => '18', |
|
| 137 | - 'date_jnum19' => '19', |
|
| 138 | - 'date_jnum2' => '2', |
|
| 139 | - 'date_jnum20' => '20', |
|
| 140 | - 'date_jnum21' => '21', |
|
| 141 | - 'date_jnum22' => '22', |
|
| 142 | - 'date_jnum23' => '23', |
|
| 143 | - 'date_jnum24' => '24', |
|
| 144 | - 'date_jnum25' => '25', |
|
| 145 | - 'date_jnum26' => '26', |
|
| 146 | - 'date_jnum27' => '27', |
|
| 147 | - 'date_jnum28' => '28', |
|
| 148 | - 'date_jnum29' => '29', |
|
| 149 | - 'date_jnum3' => '3', |
|
| 150 | - 'date_jnum30' => '30', |
|
| 151 | - 'date_jnum31' => '31', |
|
| 152 | - 'date_jnum4' => '4', |
|
| 153 | - 'date_jnum5' => '5', |
|
| 154 | - 'date_jnum6' => '6', |
|
| 155 | - 'date_jnum7' => '7', |
|
| 156 | - 'date_jnum8' => '8', |
|
| 157 | - 'date_jnum9' => '9', |
|
| 158 | - 'date_jour_1' => 'الأحد', |
|
| 159 | - 'date_jour_1_abbr' => 'الأحد', |
|
| 160 | - 'date_jour_1_initiale' => 'أحد', |
|
| 161 | - 'date_jour_2' => 'الاثنين', |
|
| 162 | - 'date_jour_2_abbr' => 'اثنين', |
|
| 163 | - 'date_jour_2_initiale' => 'اثنين', |
|
| 164 | - 'date_jour_3' => 'الثلاثاء', |
|
| 165 | - 'date_jour_3_abbr' => 'ثلاثاء', |
|
| 166 | - 'date_jour_3_initiale' => 'ثلاثاء', |
|
| 167 | - 'date_jour_4' => 'الأربعاء', |
|
| 168 | - 'date_jour_4_abbr' => 'أربعاء', |
|
| 169 | - 'date_jour_4_initiale' => 'أربعاء', |
|
| 170 | - 'date_jour_5' => 'الخميس', |
|
| 171 | - 'date_jour_5_abbr' => 'خميس', |
|
| 172 | - 'date_jour_5_initiale' => 'خميس', |
|
| 173 | - 'date_jour_6' => 'الجمعة', |
|
| 174 | - 'date_jour_6_abbr' => 'جمعة', |
|
| 175 | - 'date_jour_6_initiale' => 'جمعة', |
|
| 176 | - 'date_jour_7' => 'السبت', |
|
| 177 | - 'date_jour_7_abbr' => 'سبت', |
|
| 178 | - 'date_jour_7_initiale' => 'سبت', |
|
| 179 | - 'date_jours' => 'يوم', |
|
| 180 | - 'date_minutes' => 'دقيقة', |
|
| 181 | - 'date_mois' => 'شهر', |
|
| 182 | - 'date_mois_1' => 'كانون الثاني (يناير)', |
|
| 183 | - 'date_mois_10' => 'تشرين الأول (أكتوبر)', |
|
| 184 | - 'date_mois_10_abbr' => 'ت١', |
|
| 185 | - 'date_mois_11' => 'تشرين الثاني (نوفمبر)', |
|
| 186 | - 'date_mois_11_abbr' => 'ت٢', |
|
| 187 | - 'date_mois_12' => 'كانون الأول (ديسمبر)', |
|
| 188 | - 'date_mois_12_abbr' => 'ك١', |
|
| 189 | - 'date_mois_1_abbr' => 'ك٢', |
|
| 190 | - 'date_mois_2' => 'شباط (فبراير)', |
|
| 191 | - 'date_mois_2_abbr' => 'شباط', |
|
| 192 | - 'date_mois_3' => 'آذار (مارس)', |
|
| 193 | - 'date_mois_3_abbr' => 'آذار', |
|
| 194 | - 'date_mois_4' => 'نيسان (أبريل)', |
|
| 195 | - 'date_mois_4_abbr' => 'نيسان', |
|
| 196 | - 'date_mois_5' => 'أيار (مايو)', |
|
| 197 | - 'date_mois_5_abbr' => 'أيار', |
|
| 198 | - 'date_mois_6' => 'حزيران (يونيو)', |
|
| 199 | - 'date_mois_6_abbr' => 'جزيران', |
|
| 200 | - 'date_mois_7' => 'تموز (يوليو)', |
|
| 201 | - 'date_mois_7_abbr' => 'تموز', |
|
| 202 | - 'date_mois_8' => 'آب (أغسطس)', |
|
| 203 | - 'date_mois_8_abbr' => 'آب', |
|
| 204 | - 'date_mois_9' => 'أيلول (سبتمبر)', |
|
| 205 | - 'date_mois_9_abbr' => 'أيلول', |
|
| 206 | - 'date_saison_1' => 'الشتاء', |
|
| 207 | - 'date_saison_2' => 'الربيع', |
|
| 208 | - 'date_saison_3' => 'الصيف', |
|
| 209 | - 'date_saison_4' => 'الخريف', |
|
| 210 | - 'date_secondes' => 'ثانية', |
|
| 211 | - 'date_semaines' => 'أسبوع', |
|
| 212 | - 'date_un_mois' => 'شهر', |
|
| 213 | - 'date_une_heure' => 'ساعة', |
|
| 214 | - 'date_une_minute' => 'دقيقة', |
|
| 215 | - 'date_une_seconde' => 'ثانية', |
|
| 216 | - 'date_une_semaine' => 'أسبوع', |
|
| 217 | - 'dirs_commencer' => 'للبدء فعلاً بعملية التثبيت', |
|
| 218 | - 'dirs_preliminaire' => 'تمهيد: <b>إعداد امتيازات الدخول</b>', |
|
| 219 | - 'dirs_probleme_droits' => 'مشكلة في امتيازات الدخول', |
|
| 220 | - 'dirs_repertoires_absents' => '<p><b>لم يتم العثور على الأدلة التالية: </b></p><ul>@bad_dirs@</ul> |
|
| 92 | + // D |
|
| 93 | + 'date_aujourdhui' => 'اليوم', |
|
| 94 | + 'date_avant_jc' => 'قبل الميلاد', |
|
| 95 | + 'date_dans' => 'بعد @delai@', |
|
| 96 | + 'date_de_mois_1' => '@j@ @nommois@', |
|
| 97 | + 'date_de_mois_10' => '@j@ @nommois@', |
|
| 98 | + 'date_de_mois_11' => '@j@ @nommois@', |
|
| 99 | + 'date_de_mois_12' => '@j@ @nommois@', |
|
| 100 | + 'date_de_mois_2' => '@j@ @nommois@', |
|
| 101 | + 'date_de_mois_3' => '@j@ @nommois@', |
|
| 102 | + 'date_de_mois_4' => '@j@ @nommois@', |
|
| 103 | + 'date_de_mois_5' => '@j@ @nommois@', |
|
| 104 | + 'date_de_mois_6' => '@j@ @nommois@', |
|
| 105 | + 'date_de_mois_7' => '@j@ @nommois@', |
|
| 106 | + 'date_de_mois_8' => '@j@ @nommois@', |
|
| 107 | + 'date_de_mois_9' => '@j@ @nommois@', |
|
| 108 | + 'date_demain' => 'غداً', |
|
| 109 | + 'date_fmt_heures_minutes' => '@h@ و@m@ دقيقة', |
|
| 110 | + 'date_fmt_heures_minutes_court' => '@h@h@m@', |
|
| 111 | + 'date_fmt_jour' => '@nomjour@ @jour@', |
|
| 112 | + 'date_fmt_jour_heure' => '@jour@ الساعة @heure@', |
|
| 113 | + 'date_fmt_jour_heure_debut_fin' => 'في @jour@ من @heure_debut@ الى @heure_fin@', |
|
| 114 | + 'date_fmt_jour_heure_debut_fin_abbr' => 'في @dtstart@@jour@ من @heure_debut@@dtabbr@ الى @dtstart@@heure_fin@@dtend@', |
|
| 115 | + 'date_fmt_jour_mois' => '@jour@ @nommois@', |
|
| 116 | + 'date_fmt_jour_mois_annee' => '@jour@ @nommois@ @annee@', |
|
| 117 | + 'date_fmt_mois_annee' => '@nommois@ @annee@', |
|
| 118 | + 'date_fmt_nomjour' => '@nomjour@ @date@', |
|
| 119 | + 'date_fmt_nomjour_date' => 'في @nomjour@ @date@', |
|
| 120 | + 'date_fmt_periode' => 'من @date_debut@ الى @date_fin@', |
|
| 121 | + 'date_fmt_periode_abbr' => 'من @dtart@@date_debut@@dtabbr@ الى @dtend@@date_fin@@dtabbr@', |
|
| 122 | + 'date_fmt_periode_from' => 'من', |
|
| 123 | + 'date_fmt_periode_to' => 'الى', |
|
| 124 | + 'date_heures' => 'ساعة', |
|
| 125 | + 'date_hier' => 'البارحة', |
|
| 126 | + 'date_il_y_a' => 'منذ @delai@', |
|
| 127 | + 'date_jnum1' => '1', |
|
| 128 | + 'date_jnum10' => '10', |
|
| 129 | + 'date_jnum11' => '11', |
|
| 130 | + 'date_jnum12' => '12', |
|
| 131 | + 'date_jnum13' => '13', |
|
| 132 | + 'date_jnum14' => '14', |
|
| 133 | + 'date_jnum15' => '15', |
|
| 134 | + 'date_jnum16' => '16', |
|
| 135 | + 'date_jnum17' => '17', |
|
| 136 | + 'date_jnum18' => '18', |
|
| 137 | + 'date_jnum19' => '19', |
|
| 138 | + 'date_jnum2' => '2', |
|
| 139 | + 'date_jnum20' => '20', |
|
| 140 | + 'date_jnum21' => '21', |
|
| 141 | + 'date_jnum22' => '22', |
|
| 142 | + 'date_jnum23' => '23', |
|
| 143 | + 'date_jnum24' => '24', |
|
| 144 | + 'date_jnum25' => '25', |
|
| 145 | + 'date_jnum26' => '26', |
|
| 146 | + 'date_jnum27' => '27', |
|
| 147 | + 'date_jnum28' => '28', |
|
| 148 | + 'date_jnum29' => '29', |
|
| 149 | + 'date_jnum3' => '3', |
|
| 150 | + 'date_jnum30' => '30', |
|
| 151 | + 'date_jnum31' => '31', |
|
| 152 | + 'date_jnum4' => '4', |
|
| 153 | + 'date_jnum5' => '5', |
|
| 154 | + 'date_jnum6' => '6', |
|
| 155 | + 'date_jnum7' => '7', |
|
| 156 | + 'date_jnum8' => '8', |
|
| 157 | + 'date_jnum9' => '9', |
|
| 158 | + 'date_jour_1' => 'الأحد', |
|
| 159 | + 'date_jour_1_abbr' => 'الأحد', |
|
| 160 | + 'date_jour_1_initiale' => 'أحد', |
|
| 161 | + 'date_jour_2' => 'الاثنين', |
|
| 162 | + 'date_jour_2_abbr' => 'اثنين', |
|
| 163 | + 'date_jour_2_initiale' => 'اثنين', |
|
| 164 | + 'date_jour_3' => 'الثلاثاء', |
|
| 165 | + 'date_jour_3_abbr' => 'ثلاثاء', |
|
| 166 | + 'date_jour_3_initiale' => 'ثلاثاء', |
|
| 167 | + 'date_jour_4' => 'الأربعاء', |
|
| 168 | + 'date_jour_4_abbr' => 'أربعاء', |
|
| 169 | + 'date_jour_4_initiale' => 'أربعاء', |
|
| 170 | + 'date_jour_5' => 'الخميس', |
|
| 171 | + 'date_jour_5_abbr' => 'خميس', |
|
| 172 | + 'date_jour_5_initiale' => 'خميس', |
|
| 173 | + 'date_jour_6' => 'الجمعة', |
|
| 174 | + 'date_jour_6_abbr' => 'جمعة', |
|
| 175 | + 'date_jour_6_initiale' => 'جمعة', |
|
| 176 | + 'date_jour_7' => 'السبت', |
|
| 177 | + 'date_jour_7_abbr' => 'سبت', |
|
| 178 | + 'date_jour_7_initiale' => 'سبت', |
|
| 179 | + 'date_jours' => 'يوم', |
|
| 180 | + 'date_minutes' => 'دقيقة', |
|
| 181 | + 'date_mois' => 'شهر', |
|
| 182 | + 'date_mois_1' => 'كانون الثاني (يناير)', |
|
| 183 | + 'date_mois_10' => 'تشرين الأول (أكتوبر)', |
|
| 184 | + 'date_mois_10_abbr' => 'ت١', |
|
| 185 | + 'date_mois_11' => 'تشرين الثاني (نوفمبر)', |
|
| 186 | + 'date_mois_11_abbr' => 'ت٢', |
|
| 187 | + 'date_mois_12' => 'كانون الأول (ديسمبر)', |
|
| 188 | + 'date_mois_12_abbr' => 'ك١', |
|
| 189 | + 'date_mois_1_abbr' => 'ك٢', |
|
| 190 | + 'date_mois_2' => 'شباط (فبراير)', |
|
| 191 | + 'date_mois_2_abbr' => 'شباط', |
|
| 192 | + 'date_mois_3' => 'آذار (مارس)', |
|
| 193 | + 'date_mois_3_abbr' => 'آذار', |
|
| 194 | + 'date_mois_4' => 'نيسان (أبريل)', |
|
| 195 | + 'date_mois_4_abbr' => 'نيسان', |
|
| 196 | + 'date_mois_5' => 'أيار (مايو)', |
|
| 197 | + 'date_mois_5_abbr' => 'أيار', |
|
| 198 | + 'date_mois_6' => 'حزيران (يونيو)', |
|
| 199 | + 'date_mois_6_abbr' => 'جزيران', |
|
| 200 | + 'date_mois_7' => 'تموز (يوليو)', |
|
| 201 | + 'date_mois_7_abbr' => 'تموز', |
|
| 202 | + 'date_mois_8' => 'آب (أغسطس)', |
|
| 203 | + 'date_mois_8_abbr' => 'آب', |
|
| 204 | + 'date_mois_9' => 'أيلول (سبتمبر)', |
|
| 205 | + 'date_mois_9_abbr' => 'أيلول', |
|
| 206 | + 'date_saison_1' => 'الشتاء', |
|
| 207 | + 'date_saison_2' => 'الربيع', |
|
| 208 | + 'date_saison_3' => 'الصيف', |
|
| 209 | + 'date_saison_4' => 'الخريف', |
|
| 210 | + 'date_secondes' => 'ثانية', |
|
| 211 | + 'date_semaines' => 'أسبوع', |
|
| 212 | + 'date_un_mois' => 'شهر', |
|
| 213 | + 'date_une_heure' => 'ساعة', |
|
| 214 | + 'date_une_minute' => 'دقيقة', |
|
| 215 | + 'date_une_seconde' => 'ثانية', |
|
| 216 | + 'date_une_semaine' => 'أسبوع', |
|
| 217 | + 'dirs_commencer' => 'للبدء فعلاً بعملية التثبيت', |
|
| 218 | + 'dirs_preliminaire' => 'تمهيد: <b>إعداد امتيازات الدخول</b>', |
|
| 219 | + 'dirs_probleme_droits' => 'مشكلة في امتيازات الدخول', |
|
| 220 | + 'dirs_repertoires_absents' => '<p><b>لم يتم العثور على الأدلة التالية: </b></p><ul>@bad_dirs@</ul> |
|
| 221 | 221 | <p>قد يكون السبب خطأ في اعتماد الحروف الكبيرة أو الصغيرة في أسمائها. الرجاء التأكد من أن الحروف الكبيرة والصغيرة في أسماء هذه الأدلة تناسب ما هو معروض أعلاه؛ إذا لم يكن الأمر كذلك، الرجاء إعادة تسمية الأدلة بواسطة برنامج FTP لتصحيح الخطأ. |
| 222 | 222 | <p>بعد تنفيذ هذه العملية يمكنك </p>', |
| 223 | - 'dirs_repertoires_suivants' => '<p><b>الأدلة التالية ممنوعة على الكتابة: </b></p |
|
| 223 | + 'dirs_repertoires_suivants' => '<p><b>الأدلة التالية ممنوعة على الكتابة: </b></p |
|
| 224 | 224 | <ul>@bad_dirs@</ul> |
| 225 | 225 | <p>لحل هذه المشكلة، استخدم برنامج FTP لإعداد امتيازات الدخول لكل من هذه الأدلة. ويوضح دليل الاستخدام هذه العملية بالتفصيل. |
| 226 | 226 | <p>بعد إتمام هذه العملية يمكنك</p>', |
| 227 | - 'double_occurrence' => 'ظهور مكرر لعلامة @balise@', |
|
| 227 | + 'double_occurrence' => 'ظهور مكرر لعلامة @balise@', |
|
| 228 | 228 | |
| 229 | - // E |
|
| 230 | - 'en_cours' => 'جاري', |
|
| 231 | - 'envoi_via_le_site' => 'إرسال عبر الموقع', |
|
| 232 | - 'erreur' => 'خطأ', |
|
| 233 | - 'erreur_balise_non_fermee' => 'آخر علامة غير مغلقة:', |
|
| 234 | - 'erreur_technique_ajaxform' => 'عفواً. حدث خطأ غير متوقع خلال إرسال الاستمارة. الرجاء المحاولة من جديد.', |
|
| 235 | - 'erreur_technique_enregistrement_champs' => 'خطأ تقني منع التسجيل السليم للحقل @champs@. ', |
|
| 236 | - 'erreur_technique_enregistrement_impossible' => 'خطأ تقني منع التسجيل.', |
|
| 237 | - 'erreur_texte' => 'خطأ (أخطاء)', |
|
| 238 | - 'etape' => 'خطوة', |
|
| 229 | + // E |
|
| 230 | + 'en_cours' => 'جاري', |
|
| 231 | + 'envoi_via_le_site' => 'إرسال عبر الموقع', |
|
| 232 | + 'erreur' => 'خطأ', |
|
| 233 | + 'erreur_balise_non_fermee' => 'آخر علامة غير مغلقة:', |
|
| 234 | + 'erreur_technique_ajaxform' => 'عفواً. حدث خطأ غير متوقع خلال إرسال الاستمارة. الرجاء المحاولة من جديد.', |
|
| 235 | + 'erreur_technique_enregistrement_champs' => 'خطأ تقني منع التسجيل السليم للحقل @champs@. ', |
|
| 236 | + 'erreur_technique_enregistrement_impossible' => 'خطأ تقني منع التسجيل.', |
|
| 237 | + 'erreur_texte' => 'خطأ (أخطاء)', |
|
| 238 | + 'etape' => 'خطوة', |
|
| 239 | 239 | |
| 240 | - // F |
|
| 241 | - 'fichier_introuvable' => 'لا يمكن العثور على الملف @fichier@', |
|
| 242 | - 'form_auteur_confirmation' => 'تأكيد عنوان البريد الالكتروني', |
|
| 243 | - 'form_auteur_email_modifie' => 'تغير عنوان بريدك.', |
|
| 244 | - 'form_auteur_envoi_mail_confirmation' => 'لفد تم ارسال بريد تأكيد الى @email@. عليك زيارة عنوان الموقع الموجود في الرسالة للتصديق على عنوان بريدك.', |
|
| 245 | - 'form_auteur_mail_confirmation' => 'أهلاً وسهلاً |
|
| 240 | + // F |
|
| 241 | + 'fichier_introuvable' => 'لا يمكن العثور على الملف @fichier@', |
|
| 242 | + 'form_auteur_confirmation' => 'تأكيد عنوان البريد الالكتروني', |
|
| 243 | + 'form_auteur_email_modifie' => 'تغير عنوان بريدك.', |
|
| 244 | + 'form_auteur_envoi_mail_confirmation' => 'لفد تم ارسال بريد تأكيد الى @email@. عليك زيارة عنوان الموقع الموجود في الرسالة للتصديق على عنوان بريدك.', |
|
| 245 | + 'form_auteur_mail_confirmation' => 'أهلاً وسهلاً |
|
| 246 | 246 | |
| 247 | 247 | لقد طلبت تغيير عنوان بريدك. |
| 248 | 248 | للتصديق على العنوان الجديد، يكفي الاتصال |
@@ -251,333 +251,333 @@ discard block |
||
| 251 | 251 | |
| 252 | 252 | @url@ |
| 253 | 253 | ', |
| 254 | - 'form_deja_inscrit' => 'سبق لك التسجيل.', |
|
| 255 | - 'form_email_non_valide' => 'عنوانك البريدي غير صالح.', |
|
| 256 | - 'form_forum_access_refuse' => 'لم تعد تملك امتياز الدحول إلى هذا الموقع.', |
|
| 257 | - 'form_forum_bonjour' => 'مرحباً @nom@،', |
|
| 258 | - 'form_forum_confirmer_email' => 'لتأكيد عنوان بريدك، إذهب الى:@url_confirm@', |
|
| 259 | - 'form_forum_email_deja_enregistre' => 'سبق تسجيل هذا العنوان البريدي، يمكنك إذاً استخدام كلمة سرك الاعتيادية.', |
|
| 260 | - 'form_forum_identifiant_mail' => 'لقد تم إرسال معرّفك الجديد بالبريد الالكتروني.', |
|
| 261 | - 'form_forum_identifiants' => 'بيانات الاتصال الشخصية', |
|
| 262 | - 'form_forum_indiquer_nom_email' => 'قم بإدخال اسمك وعنوانك البريدي هنا. ستحصل على بيانات اتصالك قريباً في البريد الإلكتروني.', |
|
| 263 | - 'form_forum_login' => 'المعرّف:', |
|
| 264 | - 'form_forum_message_auto' => '(هذه رسالة آلية)', |
|
| 265 | - 'form_forum_pass' => 'كلمة السر:', |
|
| 266 | - 'form_forum_probleme_mail' => 'مشكلة بريد إلكتروني: لا يمكن إرسال بيانات الدخول.', |
|
| 267 | - 'form_forum_voici1' => 'هذه هي بياناتك للاشتراك في نشاط |
|
| 254 | + 'form_deja_inscrit' => 'سبق لك التسجيل.', |
|
| 255 | + 'form_email_non_valide' => 'عنوانك البريدي غير صالح.', |
|
| 256 | + 'form_forum_access_refuse' => 'لم تعد تملك امتياز الدحول إلى هذا الموقع.', |
|
| 257 | + 'form_forum_bonjour' => 'مرحباً @nom@،', |
|
| 258 | + 'form_forum_confirmer_email' => 'لتأكيد عنوان بريدك، إذهب الى:@url_confirm@', |
|
| 259 | + 'form_forum_email_deja_enregistre' => 'سبق تسجيل هذا العنوان البريدي، يمكنك إذاً استخدام كلمة سرك الاعتيادية.', |
|
| 260 | + 'form_forum_identifiant_mail' => 'لقد تم إرسال معرّفك الجديد بالبريد الالكتروني.', |
|
| 261 | + 'form_forum_identifiants' => 'بيانات الاتصال الشخصية', |
|
| 262 | + 'form_forum_indiquer_nom_email' => 'قم بإدخال اسمك وعنوانك البريدي هنا. ستحصل على بيانات اتصالك قريباً في البريد الإلكتروني.', |
|
| 263 | + 'form_forum_login' => 'المعرّف:', |
|
| 264 | + 'form_forum_message_auto' => '(هذه رسالة آلية)', |
|
| 265 | + 'form_forum_pass' => 'كلمة السر:', |
|
| 266 | + 'form_forum_probleme_mail' => 'مشكلة بريد إلكتروني: لا يمكن إرسال بيانات الدخول.', |
|
| 267 | + 'form_forum_voici1' => 'هذه هي بياناتك للاشتراك في نشاط |
|
| 268 | 268 | الموقع "@nom_site_spip@" (@adresse_site@):', |
| 269 | - 'form_forum_voici2' => 'هذه هي بياناتك لاقتراح مقالات |
|
| 269 | + 'form_forum_voici2' => 'هذه هي بياناتك لاقتراح مقالات |
|
| 270 | 270 | للموقع "@nom_site_spip@" (@adresse_login@):', |
| 271 | - 'form_indiquer_email' => 'الرجاء إدخال عنوانك الإلكتروني.', |
|
| 272 | - 'form_indiquer_nom' => 'الرجاء إدخال اسمك.', |
|
| 273 | - 'form_indiquer_nom_site' => 'الرجاء إدخال إسم موقعك.', |
|
| 274 | - 'form_pet_deja_enregistre' => 'سبق تسجيل هذا الموقع', |
|
| 275 | - 'form_pet_signature_pasprise' => 'تم تجاهل توقيعك.', |
|
| 276 | - 'form_prop_confirmer_envoi' => 'تأكيد الإرسال', |
|
| 277 | - 'form_prop_description' => 'وصف/تعليق', |
|
| 278 | - 'form_prop_enregistre' => 'تم تسجيل اقتراحك، سوف يظهر بعد تصديقه من قبل مسئولي هذا الموقع.', |
|
| 279 | - 'form_prop_envoyer' => 'ابعث برسالة', |
|
| 280 | - 'form_prop_indiquer_email' => 'الرجاء إدخال عنوان بريد إلكتروني صالح', |
|
| 281 | - 'form_prop_indiquer_nom_site' => 'الرجاء إدخال اسم الموقع.', |
|
| 282 | - 'form_prop_indiquer_sujet' => 'الرجاء إدخال موضوع', |
|
| 283 | - 'form_prop_message_envoye' => 'تم بعث الرسالة', |
|
| 284 | - 'form_prop_non_enregistre' => 'لم يتم تسجيل اقتراحك.', |
|
| 285 | - 'form_prop_sujet' => 'الموضوع', |
|
| 286 | - 'form_prop_url_site' => 'عنوان الموقع', |
|
| 287 | - 'forum_non_inscrit' => 'إما انك غير مسجل أو هناك خطأ في العنوان أو كلمة السر.', |
|
| 288 | - 'forum_par_auteur' => 'من @auteur@', |
|
| 289 | - 'forum_titre_erreur' => 'خطأ...', |
|
| 271 | + 'form_indiquer_email' => 'الرجاء إدخال عنوانك الإلكتروني.', |
|
| 272 | + 'form_indiquer_nom' => 'الرجاء إدخال اسمك.', |
|
| 273 | + 'form_indiquer_nom_site' => 'الرجاء إدخال إسم موقعك.', |
|
| 274 | + 'form_pet_deja_enregistre' => 'سبق تسجيل هذا الموقع', |
|
| 275 | + 'form_pet_signature_pasprise' => 'تم تجاهل توقيعك.', |
|
| 276 | + 'form_prop_confirmer_envoi' => 'تأكيد الإرسال', |
|
| 277 | + 'form_prop_description' => 'وصف/تعليق', |
|
| 278 | + 'form_prop_enregistre' => 'تم تسجيل اقتراحك، سوف يظهر بعد تصديقه من قبل مسئولي هذا الموقع.', |
|
| 279 | + 'form_prop_envoyer' => 'ابعث برسالة', |
|
| 280 | + 'form_prop_indiquer_email' => 'الرجاء إدخال عنوان بريد إلكتروني صالح', |
|
| 281 | + 'form_prop_indiquer_nom_site' => 'الرجاء إدخال اسم الموقع.', |
|
| 282 | + 'form_prop_indiquer_sujet' => 'الرجاء إدخال موضوع', |
|
| 283 | + 'form_prop_message_envoye' => 'تم بعث الرسالة', |
|
| 284 | + 'form_prop_non_enregistre' => 'لم يتم تسجيل اقتراحك.', |
|
| 285 | + 'form_prop_sujet' => 'الموضوع', |
|
| 286 | + 'form_prop_url_site' => 'عنوان الموقع', |
|
| 287 | + 'forum_non_inscrit' => 'إما انك غير مسجل أو هناك خطأ في العنوان أو كلمة السر.', |
|
| 288 | + 'forum_par_auteur' => 'من @auteur@', |
|
| 289 | + 'forum_titre_erreur' => 'خطأ...', |
|
| 290 | 290 | |
| 291 | - // I |
|
| 292 | - 'ical_texte_rss_articles' => 'يوجد ملف «الترخيص الخلفي» لمقالات هذا الموقع على العنوان: ', |
|
| 293 | - 'ical_texte_rss_articles2' => 'يمكنك أيضاً الحصول على ملفات «الترخيص الخلفي» لمقالات كل قسم في الموقع:', |
|
| 294 | - 'ical_texte_rss_breves' => 'يوجد كذلك ملف يحتوي على أخبار الموقع. وبإدخال رقم قسم ما، تحصل على أخبار هذا القسم فقط.', |
|
| 295 | - 'icone_a_suivre' => 'للمتابعة', |
|
| 296 | - 'icone_admin_site' => 'إدارة الموقع', |
|
| 297 | - 'icone_agenda' => 'المفكرة', |
|
| 298 | - 'icone_aide_ligne' => 'التعليمات الفورية', |
|
| 299 | - 'icone_articles' => 'المقالات', |
|
| 300 | - 'icone_auteurs' => 'المؤلفون', |
|
| 301 | - 'icone_brouteur' => 'تصفح سريع', |
|
| 302 | - 'icone_configuration_site' => 'إعداد', |
|
| 303 | - 'icone_configurer_site' => 'إعداد موقعك', |
|
| 304 | - 'icone_creer_nouvel_auteur' => 'إضافة مؤلف جديد', |
|
| 305 | - 'icone_creer_rubrique' => 'إنشاء قسم', |
|
| 306 | - 'icone_creer_sous_rubrique' => 'إنشاء قسم فرعي', |
|
| 307 | - 'icone_deconnecter' => 'خروج', |
|
| 308 | - 'icone_discussions' => 'نقاشات', |
|
| 309 | - 'icone_doc_rubrique' => 'مستندات الأقسام', |
|
| 310 | - 'icone_ecrire_article' => 'كتابة مقال جديد', |
|
| 311 | - 'icone_edition_site' => 'تحرير الموقع', |
|
| 312 | - 'icone_gestion_langues' => 'إدارة اللغات', |
|
| 313 | - 'icone_informations_personnelles' => 'المعلومات الشخصية', |
|
| 314 | - 'icone_interface_complet' => 'واجهة كاملة', |
|
| 315 | - 'icone_interface_simple' => 'واجهة مبسّطة', |
|
| 316 | - 'icone_maintenance_site' => 'صيانة الموقع', |
|
| 317 | - 'icone_messagerie_personnelle' => 'المراسلة الشخصية', |
|
| 318 | - 'icone_repartition_debut' => 'إظهار التوزيع منذ البداية', |
|
| 319 | - 'icone_rubriques' => 'الأقسام', |
|
| 320 | - 'icone_sauver_site' => 'نسخة احتياطية للموقع', |
|
| 321 | - 'icone_site_entier' => 'الموقع بالكامل', |
|
| 322 | - 'icone_sites_references' => 'المواقع المبوبة', |
|
| 323 | - 'icone_statistiques' => 'إحصاءات الموقع', |
|
| 324 | - 'icone_suivi_activite' => 'متابعة نشاط الموقع', |
|
| 325 | - 'icone_suivi_actualite' => 'تطور الموقع', |
|
| 326 | - 'icone_suivi_pettions' => 'متابعة/إدارة العرائض', |
|
| 327 | - 'icone_suivi_revisions' => 'تعديل المقالات', |
|
| 328 | - 'icone_supprimer_document' => 'حذف هذا المستند', |
|
| 329 | - 'icone_supprimer_image' => 'حذف هذه الصورة', |
|
| 330 | - 'icone_tous_articles' => 'كل مقالاتك', |
|
| 331 | - 'icone_tous_auteur' => 'جميع المؤلفين', |
|
| 332 | - 'icone_tous_visiteur' => 'جميع الزوار', |
|
| 333 | - 'icone_visiter_site' => 'تصفح الموقع العمومي', |
|
| 334 | - 'icone_voir_en_ligne' => 'عرض مباشر', |
|
| 335 | - 'img_indisponible' => 'صورة غير متوفرة', |
|
| 336 | - 'impossible' => 'مستحيل', |
|
| 337 | - 'info_a_suivre' => 'للمتابعة»', |
|
| 338 | - 'info_acces_interdit' => 'الدخول محظور', |
|
| 339 | - 'info_acces_refuse' => 'دخول محظور', |
|
| 340 | - 'info_action' => 'عملية: @action@', |
|
| 341 | - 'info_administrer_rubriques' => 'يمكنك إدارة هذا القسم وأقسامه الفرعية', |
|
| 342 | - 'info_adresse_non_indiquee' => 'لم تدخل أي عنوان لاختباره!', |
|
| 343 | - 'info_aide' => 'تعليمات :', |
|
| 344 | - 'info_ajouter_mot' => 'إضافة هذا المفتاح', |
|
| 345 | - 'info_annonce' => 'إعلان', |
|
| 346 | - 'info_annonces_generales' => 'إعلانات عامة:', |
|
| 347 | - 'info_article_propose' => 'مقال مقترح', |
|
| 348 | - 'info_article_publie' => 'مقال منشور', |
|
| 349 | - 'info_article_redaction' => 'مقال قيد التحرير', |
|
| 350 | - 'info_article_refuse' => 'مقال مرفوض', |
|
| 351 | - 'info_article_supprime' => 'مقال محذوف', |
|
| 352 | - 'info_articles' => 'المقالات', |
|
| 353 | - 'info_articles_a_valider' => 'مقالات معروضة للتصديق', |
|
| 354 | - 'info_articles_nb' => '@nb@ مقال', |
|
| 355 | - 'info_articles_proposes' => 'المقالات المعروضة', |
|
| 356 | - 'info_articles_un' => 'مقال واحد', |
|
| 357 | - 'info_auteurs_nombre' => 'مؤلف (مؤلفون):', |
|
| 358 | - 'info_authentification_ftp' => 'التحقق ( عبر بروتوكول FTP ).', |
|
| 359 | - 'info_breves_2' => 'خبر', |
|
| 360 | - 'info_breves_nb' => '@nb@ خبر', |
|
| 361 | - 'info_breves_un' => 'خبر واحد', |
|
| 362 | - 'info_connexion_refusee' => 'رفض الاتصال', |
|
| 363 | - 'info_contact_developpeur' => 'الرجاء الاتصال بمطوّر.', |
|
| 364 | - 'info_contenance' => 'هذا الموقع يحتوي على:', |
|
| 365 | - 'info_contribution' => 'مشاركة منتديات', |
|
| 366 | - 'info_copyright' => '@spip@ برنامج حر موزع @lien_gpl@.', |
|
| 367 | - 'info_copyright_doc' => 'لمزيد من المعلومات راجع الموقع<a href="@spipnet@">@spipnet_affiche@</a>.', |
|
| 368 | - 'info_copyright_gpl' => 'بموجب الترخيص العام GPL', |
|
| 369 | - 'info_cours_edition' => 'قيد التحرير', |
|
| 370 | - 'info_creer_repertoire' => 'الرجاء إنشاء ملف أو دليل باسم', |
|
| 371 | - 'info_creer_repertoire_2' => 'داخل الدليل الفرعي <b>@repertoire@</b>، ثم:', |
|
| 372 | - 'info_creer_vignette' => 'إنشاء آلي للمصغر', |
|
| 373 | - 'info_creerdansrubrique_non_autorise' => 'لا تملك الحقوق الكافية لإنشاء اي محتوى في هذا القسم', |
|
| 374 | - 'info_deplier' => 'بسط', |
|
| 375 | - 'info_descriptif_nombre' => 'الوصف:', |
|
| 376 | - 'info_description' => 'الوصف:', |
|
| 377 | - 'info_description_2' => 'الوصف:', |
|
| 378 | - 'info_dimension' => 'الحجم:', |
|
| 379 | - 'info_documents_nb' => '@nb@ مستند', |
|
| 380 | - 'info_documents_un' => 'مستند واحد', |
|
| 381 | - 'info_ecire_message_prive' => 'تحرير رسالة خاصة', |
|
| 382 | - 'info_email_invalide' => 'عنوان بريد غير صالح.', |
|
| 383 | - 'info_en_cours_validation' => 'مقالاتك قيد التحرير', |
|
| 384 | - 'info_en_ligne' => 'متصل حالياً:', |
|
| 385 | - 'info_envoyer_message_prive' => 'ابعث برسالة خاصة لهذا المؤلف', |
|
| 386 | - 'info_erreur_requete' => 'خطأ في الاستفسار:', |
|
| 387 | - 'info_erreur_squelette2' => 'لا توجد صفحة نموذجية <b>@fichier@</b> متاحة...', |
|
| 388 | - 'info_erreur_systeme' => 'خطأ في النظام (خطأ رقم @errsys@)', |
|
| 389 | - 'info_erreur_systeme2' => 'قد يكون القرص الصلب ممتلئاً أو قد تكون قاعدة البيانات معطلة.<br /> |
|
| 291 | + // I |
|
| 292 | + 'ical_texte_rss_articles' => 'يوجد ملف «الترخيص الخلفي» لمقالات هذا الموقع على العنوان: ', |
|
| 293 | + 'ical_texte_rss_articles2' => 'يمكنك أيضاً الحصول على ملفات «الترخيص الخلفي» لمقالات كل قسم في الموقع:', |
|
| 294 | + 'ical_texte_rss_breves' => 'يوجد كذلك ملف يحتوي على أخبار الموقع. وبإدخال رقم قسم ما، تحصل على أخبار هذا القسم فقط.', |
|
| 295 | + 'icone_a_suivre' => 'للمتابعة', |
|
| 296 | + 'icone_admin_site' => 'إدارة الموقع', |
|
| 297 | + 'icone_agenda' => 'المفكرة', |
|
| 298 | + 'icone_aide_ligne' => 'التعليمات الفورية', |
|
| 299 | + 'icone_articles' => 'المقالات', |
|
| 300 | + 'icone_auteurs' => 'المؤلفون', |
|
| 301 | + 'icone_brouteur' => 'تصفح سريع', |
|
| 302 | + 'icone_configuration_site' => 'إعداد', |
|
| 303 | + 'icone_configurer_site' => 'إعداد موقعك', |
|
| 304 | + 'icone_creer_nouvel_auteur' => 'إضافة مؤلف جديد', |
|
| 305 | + 'icone_creer_rubrique' => 'إنشاء قسم', |
|
| 306 | + 'icone_creer_sous_rubrique' => 'إنشاء قسم فرعي', |
|
| 307 | + 'icone_deconnecter' => 'خروج', |
|
| 308 | + 'icone_discussions' => 'نقاشات', |
|
| 309 | + 'icone_doc_rubrique' => 'مستندات الأقسام', |
|
| 310 | + 'icone_ecrire_article' => 'كتابة مقال جديد', |
|
| 311 | + 'icone_edition_site' => 'تحرير الموقع', |
|
| 312 | + 'icone_gestion_langues' => 'إدارة اللغات', |
|
| 313 | + 'icone_informations_personnelles' => 'المعلومات الشخصية', |
|
| 314 | + 'icone_interface_complet' => 'واجهة كاملة', |
|
| 315 | + 'icone_interface_simple' => 'واجهة مبسّطة', |
|
| 316 | + 'icone_maintenance_site' => 'صيانة الموقع', |
|
| 317 | + 'icone_messagerie_personnelle' => 'المراسلة الشخصية', |
|
| 318 | + 'icone_repartition_debut' => 'إظهار التوزيع منذ البداية', |
|
| 319 | + 'icone_rubriques' => 'الأقسام', |
|
| 320 | + 'icone_sauver_site' => 'نسخة احتياطية للموقع', |
|
| 321 | + 'icone_site_entier' => 'الموقع بالكامل', |
|
| 322 | + 'icone_sites_references' => 'المواقع المبوبة', |
|
| 323 | + 'icone_statistiques' => 'إحصاءات الموقع', |
|
| 324 | + 'icone_suivi_activite' => 'متابعة نشاط الموقع', |
|
| 325 | + 'icone_suivi_actualite' => 'تطور الموقع', |
|
| 326 | + 'icone_suivi_pettions' => 'متابعة/إدارة العرائض', |
|
| 327 | + 'icone_suivi_revisions' => 'تعديل المقالات', |
|
| 328 | + 'icone_supprimer_document' => 'حذف هذا المستند', |
|
| 329 | + 'icone_supprimer_image' => 'حذف هذه الصورة', |
|
| 330 | + 'icone_tous_articles' => 'كل مقالاتك', |
|
| 331 | + 'icone_tous_auteur' => 'جميع المؤلفين', |
|
| 332 | + 'icone_tous_visiteur' => 'جميع الزوار', |
|
| 333 | + 'icone_visiter_site' => 'تصفح الموقع العمومي', |
|
| 334 | + 'icone_voir_en_ligne' => 'عرض مباشر', |
|
| 335 | + 'img_indisponible' => 'صورة غير متوفرة', |
|
| 336 | + 'impossible' => 'مستحيل', |
|
| 337 | + 'info_a_suivre' => 'للمتابعة»', |
|
| 338 | + 'info_acces_interdit' => 'الدخول محظور', |
|
| 339 | + 'info_acces_refuse' => 'دخول محظور', |
|
| 340 | + 'info_action' => 'عملية: @action@', |
|
| 341 | + 'info_administrer_rubriques' => 'يمكنك إدارة هذا القسم وأقسامه الفرعية', |
|
| 342 | + 'info_adresse_non_indiquee' => 'لم تدخل أي عنوان لاختباره!', |
|
| 343 | + 'info_aide' => 'تعليمات :', |
|
| 344 | + 'info_ajouter_mot' => 'إضافة هذا المفتاح', |
|
| 345 | + 'info_annonce' => 'إعلان', |
|
| 346 | + 'info_annonces_generales' => 'إعلانات عامة:', |
|
| 347 | + 'info_article_propose' => 'مقال مقترح', |
|
| 348 | + 'info_article_publie' => 'مقال منشور', |
|
| 349 | + 'info_article_redaction' => 'مقال قيد التحرير', |
|
| 350 | + 'info_article_refuse' => 'مقال مرفوض', |
|
| 351 | + 'info_article_supprime' => 'مقال محذوف', |
|
| 352 | + 'info_articles' => 'المقالات', |
|
| 353 | + 'info_articles_a_valider' => 'مقالات معروضة للتصديق', |
|
| 354 | + 'info_articles_nb' => '@nb@ مقال', |
|
| 355 | + 'info_articles_proposes' => 'المقالات المعروضة', |
|
| 356 | + 'info_articles_un' => 'مقال واحد', |
|
| 357 | + 'info_auteurs_nombre' => 'مؤلف (مؤلفون):', |
|
| 358 | + 'info_authentification_ftp' => 'التحقق ( عبر بروتوكول FTP ).', |
|
| 359 | + 'info_breves_2' => 'خبر', |
|
| 360 | + 'info_breves_nb' => '@nb@ خبر', |
|
| 361 | + 'info_breves_un' => 'خبر واحد', |
|
| 362 | + 'info_connexion_refusee' => 'رفض الاتصال', |
|
| 363 | + 'info_contact_developpeur' => 'الرجاء الاتصال بمطوّر.', |
|
| 364 | + 'info_contenance' => 'هذا الموقع يحتوي على:', |
|
| 365 | + 'info_contribution' => 'مشاركة منتديات', |
|
| 366 | + 'info_copyright' => '@spip@ برنامج حر موزع @lien_gpl@.', |
|
| 367 | + 'info_copyright_doc' => 'لمزيد من المعلومات راجع الموقع<a href="@spipnet@">@spipnet_affiche@</a>.', |
|
| 368 | + 'info_copyright_gpl' => 'بموجب الترخيص العام GPL', |
|
| 369 | + 'info_cours_edition' => 'قيد التحرير', |
|
| 370 | + 'info_creer_repertoire' => 'الرجاء إنشاء ملف أو دليل باسم', |
|
| 371 | + 'info_creer_repertoire_2' => 'داخل الدليل الفرعي <b>@repertoire@</b>، ثم:', |
|
| 372 | + 'info_creer_vignette' => 'إنشاء آلي للمصغر', |
|
| 373 | + 'info_creerdansrubrique_non_autorise' => 'لا تملك الحقوق الكافية لإنشاء اي محتوى في هذا القسم', |
|
| 374 | + 'info_deplier' => 'بسط', |
|
| 375 | + 'info_descriptif_nombre' => 'الوصف:', |
|
| 376 | + 'info_description' => 'الوصف:', |
|
| 377 | + 'info_description_2' => 'الوصف:', |
|
| 378 | + 'info_dimension' => 'الحجم:', |
|
| 379 | + 'info_documents_nb' => '@nb@ مستند', |
|
| 380 | + 'info_documents_un' => 'مستند واحد', |
|
| 381 | + 'info_ecire_message_prive' => 'تحرير رسالة خاصة', |
|
| 382 | + 'info_email_invalide' => 'عنوان بريد غير صالح.', |
|
| 383 | + 'info_en_cours_validation' => 'مقالاتك قيد التحرير', |
|
| 384 | + 'info_en_ligne' => 'متصل حالياً:', |
|
| 385 | + 'info_envoyer_message_prive' => 'ابعث برسالة خاصة لهذا المؤلف', |
|
| 386 | + 'info_erreur_requete' => 'خطأ في الاستفسار:', |
|
| 387 | + 'info_erreur_squelette2' => 'لا توجد صفحة نموذجية <b>@fichier@</b> متاحة...', |
|
| 388 | + 'info_erreur_systeme' => 'خطأ في النظام (خطأ رقم @errsys@)', |
|
| 389 | + 'info_erreur_systeme2' => 'قد يكون القرص الصلب ممتلئاً أو قد تكون قاعدة البيانات معطلة.<br /> |
|
| 390 | 390 | <span style="color:red;">حاول <a href=\'@script@\'>إصلاح القاعدة</a>، أو الاتصال بمضيف موقعك.</font> ', |
| 391 | - 'info_fini' => 'انتهى!', |
|
| 392 | - 'info_format_image' => 'تنسيق ملفات الصور الذي يمكن استخدامه لإنشاء المصغرات: @gd_formats@ .', |
|
| 393 | - 'info_format_non_defini' => 'تنسيق غير معروف', |
|
| 394 | - 'info_grand_ecran' => 'شاشة كبيرة', |
|
| 395 | - 'info_image_aide' => 'تعليمات', |
|
| 396 | - 'info_image_process_titre' => 'طريقة إنشاء المصغرات', |
|
| 397 | - 'info_impossible_lire_page' => '<b>خطأ!</b> لا يمكن قراءة الصفحة <tt><html>@test_proxy@</html></tt> عبر الجهاز الوكيل', |
|
| 398 | - 'info_installation_systeme_publication' => 'تثبيت نظام النشر...', |
|
| 399 | - 'info_installer_documents' => 'يمكنك تثبيت كل المستندات الموجودة في المجلد @upload@ آلياً.', |
|
| 400 | - 'info_installer_ftp' => 'بصفتك مديراً، يمكنك تثبيت (بواسطة بروتوكول FTP) ملفات في المجلد@upload@ من أجل تحديدهم في ما بعد مباشرة من هنا.', |
|
| 401 | - 'info_installer_images' => 'يمكنك تثبيت صور بتنسيقات JPEG وGIF وPNG.', |
|
| 402 | - 'info_installer_images_dossier' => 'تثبيت صور في المجلد @upload@ للتمكن من تحديدها هنا.', |
|
| 403 | - 'info_interface_complete' => 'واجهة كاملة', |
|
| 404 | - 'info_interface_simple' => 'واجهة مبسّطة', |
|
| 405 | - 'info_joindre_document_article' => 'يمكنك إرفاق مقالك بمستندات من الأنواع', |
|
| 406 | - 'info_joindre_document_rubrique' => 'يمكنك إضافة مستندات من الأنواع التالية إلى هذا القسم', |
|
| 407 | - 'info_joindre_documents_article' => 'يمكنك إرفاق مستندات من الأنواع التالية بمقالك :', |
|
| 408 | - 'info_l_article' => 'المقال', |
|
| 409 | - 'info_la_breve' => 'الخبر', |
|
| 410 | - 'info_la_rubrique' => 'القسم', |
|
| 411 | - 'info_langue_principale' => 'اللغة الأساسية للموقع', |
|
| 412 | - 'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ نقطة', |
|
| 413 | - 'info_les_auteurs_1' => 'من @les_auteurs@', |
|
| 414 | - 'info_logo_format_interdit' => 'الرموز بتنسيق @formats@ هي الوحيدة المسموح بها.', |
|
| 415 | - 'info_logo_max_poids' => 'يجب ألا يتعدى حجم الرموز @maxi@ (يبلغ حجم الملف الحالي @actuel@). ', |
|
| 416 | - 'info_mail_fournisseur' => '[email protected]', |
|
| 417 | - 'info_message_2' => 'رسالة', |
|
| 418 | - 'info_message_supprime' => 'تم حذف المشاركة', |
|
| 419 | - 'info_messages_nb' => '@nb@ رسالة', |
|
| 420 | - 'info_messages_un' => 'رسالة واحدة', |
|
| 421 | - 'info_mise_en_ligne' => 'تاريخ النشر:', |
|
| 422 | - 'info_modification_parametres_securite' => 'تعديل إعدادات الأمان', |
|
| 423 | - 'info_mois_courant' => 'في بحر الشهر:', |
|
| 424 | - 'info_mot_cle_ajoute' => 'تمت إضافة المفتاح التالي إلى', |
|
| 425 | - 'info_multi_herit' => 'اللغة الافتراضية', |
|
| 426 | - 'info_multi_langues_soulignees' => '<u>اللغات التي تحتها خط</u> تتمتع بترجمة كاملة او جزئية لكل نصوص الواجهة. فإذا حددت هذه اللغات، سيتم ترجمة العديد من عناصر الموقع العمومي (التواريخ والاستمارات) آلياً. أما بالنسبة للغات التي ليس تحتها خط، فستظهر هذه العناصر في لغة الموقع الأساسية.', |
|
| 427 | - 'info_multilinguisme' => 'تعدد اللغات', |
|
| 428 | - 'info_nom_non_utilisateurs_connectes' => 'اسمك لا يظهر في قائمة المستخدمين المتصلين.', |
|
| 429 | - 'info_nom_utilisateurs_connectes' => 'اسمك يظهر في قائمة المستخدمين المتصلين.', |
|
| 430 | - 'info_nombre_en_ligne' => 'متصل حالياً:', |
|
| 431 | - 'info_non_resultat' => 'لا توجد نتائج لـ "@cherche_mot@"', |
|
| 432 | - 'info_non_utilisation_messagerie' => 'أنت لا تستخدم المراسلة الداخلية في هذا الموقع.', |
|
| 433 | - 'info_nouveau_message' => 'وصلت رسالة جديدة', |
|
| 434 | - 'info_nouveaux_messages' => 'وصلت @total_messages@ رسالة جديدة', |
|
| 435 | - 'info_numero_abbreviation' => 'رقم', |
|
| 436 | - 'info_obligatoire' => 'هذه المعلومة إجبارية', |
|
| 437 | - 'info_pense_bete' => 'مذكرة', |
|
| 438 | - 'info_petit_ecran' => 'شاشة صغيرة', |
|
| 439 | - 'info_petition_close' => 'عريضة مقفلة', |
|
| 440 | - 'info_pixels' => 'نقطة', |
|
| 441 | - 'info_plusieurs_mots_trouves' => 'تم العثور على عدة مفاتيح لـ "@cherche_mot@" :', |
|
| 442 | - 'info_portfolio_automatique' => 'محفظة آلية:', |
|
| 443 | - 'info_premier_resultat' => '[النتائج الـ@debut_limit@ الأولى من أصل @total@]', |
|
| 444 | - 'info_premier_resultat_sur' => '[النتائج الـ@debut_limit@ الأولى من أصل @total@]', |
|
| 445 | - 'info_propose_1' => '[@nom_site_spip@] يقترح: @titre@', |
|
| 446 | - 'info_propose_2' => 'مقال معروض |
|
| 391 | + 'info_fini' => 'انتهى!', |
|
| 392 | + 'info_format_image' => 'تنسيق ملفات الصور الذي يمكن استخدامه لإنشاء المصغرات: @gd_formats@ .', |
|
| 393 | + 'info_format_non_defini' => 'تنسيق غير معروف', |
|
| 394 | + 'info_grand_ecran' => 'شاشة كبيرة', |
|
| 395 | + 'info_image_aide' => 'تعليمات', |
|
| 396 | + 'info_image_process_titre' => 'طريقة إنشاء المصغرات', |
|
| 397 | + 'info_impossible_lire_page' => '<b>خطأ!</b> لا يمكن قراءة الصفحة <tt><html>@test_proxy@</html></tt> عبر الجهاز الوكيل', |
|
| 398 | + 'info_installation_systeme_publication' => 'تثبيت نظام النشر...', |
|
| 399 | + 'info_installer_documents' => 'يمكنك تثبيت كل المستندات الموجودة في المجلد @upload@ آلياً.', |
|
| 400 | + 'info_installer_ftp' => 'بصفتك مديراً، يمكنك تثبيت (بواسطة بروتوكول FTP) ملفات في المجلد@upload@ من أجل تحديدهم في ما بعد مباشرة من هنا.', |
|
| 401 | + 'info_installer_images' => 'يمكنك تثبيت صور بتنسيقات JPEG وGIF وPNG.', |
|
| 402 | + 'info_installer_images_dossier' => 'تثبيت صور في المجلد @upload@ للتمكن من تحديدها هنا.', |
|
| 403 | + 'info_interface_complete' => 'واجهة كاملة', |
|
| 404 | + 'info_interface_simple' => 'واجهة مبسّطة', |
|
| 405 | + 'info_joindre_document_article' => 'يمكنك إرفاق مقالك بمستندات من الأنواع', |
|
| 406 | + 'info_joindre_document_rubrique' => 'يمكنك إضافة مستندات من الأنواع التالية إلى هذا القسم', |
|
| 407 | + 'info_joindre_documents_article' => 'يمكنك إرفاق مستندات من الأنواع التالية بمقالك :', |
|
| 408 | + 'info_l_article' => 'المقال', |
|
| 409 | + 'info_la_breve' => 'الخبر', |
|
| 410 | + 'info_la_rubrique' => 'القسم', |
|
| 411 | + 'info_langue_principale' => 'اللغة الأساسية للموقع', |
|
| 412 | + 'info_largeur_vignette' => '@largeur_vignette@ × @hauteur_vignette@ نقطة', |
|
| 413 | + 'info_les_auteurs_1' => 'من @les_auteurs@', |
|
| 414 | + 'info_logo_format_interdit' => 'الرموز بتنسيق @formats@ هي الوحيدة المسموح بها.', |
|
| 415 | + 'info_logo_max_poids' => 'يجب ألا يتعدى حجم الرموز @maxi@ (يبلغ حجم الملف الحالي @actuel@). ', |
|
| 416 | + 'info_mail_fournisseur' => '[email protected]', |
|
| 417 | + 'info_message_2' => 'رسالة', |
|
| 418 | + 'info_message_supprime' => 'تم حذف المشاركة', |
|
| 419 | + 'info_messages_nb' => '@nb@ رسالة', |
|
| 420 | + 'info_messages_un' => 'رسالة واحدة', |
|
| 421 | + 'info_mise_en_ligne' => 'تاريخ النشر:', |
|
| 422 | + 'info_modification_parametres_securite' => 'تعديل إعدادات الأمان', |
|
| 423 | + 'info_mois_courant' => 'في بحر الشهر:', |
|
| 424 | + 'info_mot_cle_ajoute' => 'تمت إضافة المفتاح التالي إلى', |
|
| 425 | + 'info_multi_herit' => 'اللغة الافتراضية', |
|
| 426 | + 'info_multi_langues_soulignees' => '<u>اللغات التي تحتها خط</u> تتمتع بترجمة كاملة او جزئية لكل نصوص الواجهة. فإذا حددت هذه اللغات، سيتم ترجمة العديد من عناصر الموقع العمومي (التواريخ والاستمارات) آلياً. أما بالنسبة للغات التي ليس تحتها خط، فستظهر هذه العناصر في لغة الموقع الأساسية.', |
|
| 427 | + 'info_multilinguisme' => 'تعدد اللغات', |
|
| 428 | + 'info_nom_non_utilisateurs_connectes' => 'اسمك لا يظهر في قائمة المستخدمين المتصلين.', |
|
| 429 | + 'info_nom_utilisateurs_connectes' => 'اسمك يظهر في قائمة المستخدمين المتصلين.', |
|
| 430 | + 'info_nombre_en_ligne' => 'متصل حالياً:', |
|
| 431 | + 'info_non_resultat' => 'لا توجد نتائج لـ "@cherche_mot@"', |
|
| 432 | + 'info_non_utilisation_messagerie' => 'أنت لا تستخدم المراسلة الداخلية في هذا الموقع.', |
|
| 433 | + 'info_nouveau_message' => 'وصلت رسالة جديدة', |
|
| 434 | + 'info_nouveaux_messages' => 'وصلت @total_messages@ رسالة جديدة', |
|
| 435 | + 'info_numero_abbreviation' => 'رقم', |
|
| 436 | + 'info_obligatoire' => 'هذه المعلومة إجبارية', |
|
| 437 | + 'info_pense_bete' => 'مذكرة', |
|
| 438 | + 'info_petit_ecran' => 'شاشة صغيرة', |
|
| 439 | + 'info_petition_close' => 'عريضة مقفلة', |
|
| 440 | + 'info_pixels' => 'نقطة', |
|
| 441 | + 'info_plusieurs_mots_trouves' => 'تم العثور على عدة مفاتيح لـ "@cherche_mot@" :', |
|
| 442 | + 'info_portfolio_automatique' => 'محفظة آلية:', |
|
| 443 | + 'info_premier_resultat' => '[النتائج الـ@debut_limit@ الأولى من أصل @total@]', |
|
| 444 | + 'info_premier_resultat_sur' => '[النتائج الـ@debut_limit@ الأولى من أصل @total@]', |
|
| 445 | + 'info_propose_1' => '[@nom_site_spip@] يقترح: @titre@', |
|
| 446 | + 'info_propose_2' => 'مقال معروض |
|
| 447 | 447 | ----------', |
| 448 | - 'info_propose_3' => 'المقال "@titre@" معروض للنشر.', |
|
| 449 | - 'info_propose_4' => 'أنت مدعو لمراجعته وإبداء رأيك', |
|
| 450 | - 'info_propose_5' => 'في المنتدى المرتبط به. إنه موجود على العنوان:', |
|
| 451 | - 'info_publie_01' => 'تم التصديق على المقال "@titre@" من قبل @connect_nom@ .', |
|
| 452 | - 'info_publie_1' => '[@nom_site_spip@] ينشر: @titre@', |
|
| 453 | - 'info_publie_2' => 'مقال منشور |
|
| 448 | + 'info_propose_3' => 'المقال "@titre@" معروض للنشر.', |
|
| 449 | + 'info_propose_4' => 'أنت مدعو لمراجعته وإبداء رأيك', |
|
| 450 | + 'info_propose_5' => 'في المنتدى المرتبط به. إنه موجود على العنوان:', |
|
| 451 | + 'info_publie_01' => 'تم التصديق على المقال "@titre@" من قبل @connect_nom@ .', |
|
| 452 | + 'info_publie_1' => '[@nom_site_spip@] ينشر: @titre@', |
|
| 453 | + 'info_publie_2' => 'مقال منشور |
|
| 454 | 454 | ----------', |
| 455 | - 'info_rechercher' => 'بحث', |
|
| 456 | - 'info_rechercher_02' => 'بحث:', |
|
| 457 | - 'info_remplacer_vignette' => 'استبدال المصغر الافتراضي بشعار شخصي:', |
|
| 458 | - 'info_rubriques_nb' => '@nb@ قسم', |
|
| 459 | - 'info_rubriques_un' => 'قسم واحد', |
|
| 460 | - 'info_sans_titre_2' => 'بدون عنوان', |
|
| 461 | - 'info_selectionner_fichier' => 'يمكنك تحديد ملف من المجلد @upload@:', |
|
| 462 | - 'info_selectionner_fichier_2' => 'تحديد ملف:', |
|
| 463 | - 'info_sites_nb' => '@nb@ موقع', |
|
| 464 | - 'info_sites_un' => 'موقع واحد', |
|
| 465 | - 'info_supprimer_vignette' => 'حذف المصغر', |
|
| 466 | - 'info_symbole_bleu' => 'الرمز <b>أزرق</b> يرمز إلى <b>مذكرة</b>: أي رسالة لاستخدامك الشخصي.', |
|
| 467 | - 'info_symbole_jaune' => 'الرمز <b>أصفر</b> يرمز إلى <b>إعلان لجميع المحررين</b>: يمكن لجميع المدراء تحريره وهو ظاهر لجميع المحررين.', |
|
| 468 | - 'info_symbole_vert' => 'الرمز <b>أخضر</b> يرمز إلى <b>الرسائل المتبادلة بين مستخدمي</b> الموقع.', |
|
| 469 | - 'info_telecharger_nouveau_logo' => 'تحميل شعار جديد:', |
|
| 470 | - 'info_telecharger_ordinateur' => 'تحميل من جهازك:', |
|
| 471 | - 'info_tous_resultats_enregistres' => '[تم تسجيل كل النتائج]', |
|
| 472 | - 'info_tout_afficher' => 'إظهار الكل', |
|
| 473 | - 'info_travaux_texte' => 'هذا الموقع قيد الإعداد. برجاء العودة في وقت لاحق...', |
|
| 474 | - 'info_travaux_titre' => 'موقع قيد التصميم', |
|
| 475 | - 'info_trop_resultat' => 'تم العثور على عدد كبير جداً من النتائج لـ "@cherche_mot@" ، الرجاء زيادة دقة البحث.', |
|
| 476 | - 'info_utilisation_messagerie_interne' => 'أنت تستخدم المراسلة الداخلية في هذا الموقع.', |
|
| 477 | - 'info_valider_lien' => 'التصديق على هذه الوصلة', |
|
| 478 | - 'info_verifier_image' => '، الرجاء التأكد من أنه تم نقل الصور بشكل سليم.', |
|
| 479 | - 'info_vignette_defaut' => 'المصغر الافتراضي', |
|
| 480 | - 'info_vignette_personnalisee' => 'مصغر شخصي', |
|
| 481 | - 'info_visite' => 'زيارة:', |
|
| 482 | - 'info_vos_rendez_vous' => 'مواعيدك القادمة', |
|
| 483 | - 'infos_vos_pense_bete' => 'مذكراتك', |
|
| 455 | + 'info_rechercher' => 'بحث', |
|
| 456 | + 'info_rechercher_02' => 'بحث:', |
|
| 457 | + 'info_remplacer_vignette' => 'استبدال المصغر الافتراضي بشعار شخصي:', |
|
| 458 | + 'info_rubriques_nb' => '@nb@ قسم', |
|
| 459 | + 'info_rubriques_un' => 'قسم واحد', |
|
| 460 | + 'info_sans_titre_2' => 'بدون عنوان', |
|
| 461 | + 'info_selectionner_fichier' => 'يمكنك تحديد ملف من المجلد @upload@:', |
|
| 462 | + 'info_selectionner_fichier_2' => 'تحديد ملف:', |
|
| 463 | + 'info_sites_nb' => '@nb@ موقع', |
|
| 464 | + 'info_sites_un' => 'موقع واحد', |
|
| 465 | + 'info_supprimer_vignette' => 'حذف المصغر', |
|
| 466 | + 'info_symbole_bleu' => 'الرمز <b>أزرق</b> يرمز إلى <b>مذكرة</b>: أي رسالة لاستخدامك الشخصي.', |
|
| 467 | + 'info_symbole_jaune' => 'الرمز <b>أصفر</b> يرمز إلى <b>إعلان لجميع المحررين</b>: يمكن لجميع المدراء تحريره وهو ظاهر لجميع المحررين.', |
|
| 468 | + 'info_symbole_vert' => 'الرمز <b>أخضر</b> يرمز إلى <b>الرسائل المتبادلة بين مستخدمي</b> الموقع.', |
|
| 469 | + 'info_telecharger_nouveau_logo' => 'تحميل شعار جديد:', |
|
| 470 | + 'info_telecharger_ordinateur' => 'تحميل من جهازك:', |
|
| 471 | + 'info_tous_resultats_enregistres' => '[تم تسجيل كل النتائج]', |
|
| 472 | + 'info_tout_afficher' => 'إظهار الكل', |
|
| 473 | + 'info_travaux_texte' => 'هذا الموقع قيد الإعداد. برجاء العودة في وقت لاحق...', |
|
| 474 | + 'info_travaux_titre' => 'موقع قيد التصميم', |
|
| 475 | + 'info_trop_resultat' => 'تم العثور على عدد كبير جداً من النتائج لـ "@cherche_mot@" ، الرجاء زيادة دقة البحث.', |
|
| 476 | + 'info_utilisation_messagerie_interne' => 'أنت تستخدم المراسلة الداخلية في هذا الموقع.', |
|
| 477 | + 'info_valider_lien' => 'التصديق على هذه الوصلة', |
|
| 478 | + 'info_verifier_image' => '، الرجاء التأكد من أنه تم نقل الصور بشكل سليم.', |
|
| 479 | + 'info_vignette_defaut' => 'المصغر الافتراضي', |
|
| 480 | + 'info_vignette_personnalisee' => 'مصغر شخصي', |
|
| 481 | + 'info_visite' => 'زيارة:', |
|
| 482 | + 'info_vos_rendez_vous' => 'مواعيدك القادمة', |
|
| 483 | + 'infos_vos_pense_bete' => 'مذكراتك', |
|
| 484 | 484 | |
| 485 | - // L |
|
| 486 | - 'label_ajout_id_rapide' => 'إضافة سريعة', |
|
| 487 | - 'label_poids_fichier' => 'الحجم', |
|
| 488 | - 'lien_afficher_icones_seuls' => 'عرض الرموز فقط', |
|
| 489 | - 'lien_afficher_texte_icones' => 'عرض الرموز والعناوين', |
|
| 490 | - 'lien_afficher_texte_seul' => 'عرض العناوين فقط', |
|
| 491 | - 'lien_liberer' => 'فك الحجز', |
|
| 492 | - 'lien_liberer_tous' => 'فك حجز الكل', |
|
| 493 | - 'lien_nouvea_pense_bete' => 'مذكرة جديدة', |
|
| 494 | - 'lien_nouveau_message' => 'رسالة جديدة', |
|
| 495 | - 'lien_nouvelle_annonce' => 'إعلان جديد', |
|
| 496 | - 'lien_petitions' => 'عريضة', |
|
| 497 | - 'lien_popularite' => 'شعبية: @popularite@%', |
|
| 498 | - 'lien_racine_site' => 'أصل الموقع', |
|
| 499 | - 'lien_reessayer' => 'إعادة المحاولة', |
|
| 500 | - 'lien_repondre_message' => 'الرد على هذه المشاركة', |
|
| 501 | - 'lien_supprimer' => 'حذف', |
|
| 502 | - 'lien_tout_afficher' => 'إظهار الكل', |
|
| 503 | - 'lien_visite_site' => 'زيارة هذا الموقع', |
|
| 504 | - 'lien_visites' => '@visites@ زيارة', |
|
| 505 | - 'lien_voir_auteur' => 'مراجعة هذا المؤلف', |
|
| 506 | - 'ligne' => 'سطر', |
|
| 507 | - 'login' => 'الدخول', |
|
| 508 | - 'login_acces_prive' => 'الدخول إلى المجال الخاص', |
|
| 509 | - 'login_autre_identifiant' => 'الاتصال بمعرّف آخر', |
|
| 510 | - 'login_cookie_accepte' => 'الرجاء تهيئ برنامج التصفح ليتقبلها (من هذا الموقع على الأقل)', |
|
| 511 | - 'login_cookie_oblige' => 'للتعريف عن نفسك بشكل آمن في هذا الموقع، يجب قبول الكعكات (cookies).', |
|
| 512 | - 'login_deconnexion_ok' => 'تم قطع الاتصال.', |
|
| 513 | - 'login_erreur_pass' => 'خطأ في كلمة السر.', |
|
| 514 | - 'login_espace_prive' => 'المجال الخاص', |
|
| 515 | - 'login_identifiant_inconnu' => 'المعرّف «@login@» غير معروف.', |
|
| 516 | - 'login_login' => 'المعرّف:', |
|
| 517 | - 'login_login2' => 'المعرّف او عنوان البريد الالكتروني:', |
|
| 518 | - 'login_login_pass_incorrect' => '(خطأ في المعرّف أو كلمة السر).', |
|
| 519 | - 'login_motpasseoublie' => 'هل نسيت كلمة السر؟', |
|
| 520 | - 'login_non_securise' => 'لطفا، هذه الاستمارة غير آمنة. |
|
| 485 | + // L |
|
| 486 | + 'label_ajout_id_rapide' => 'إضافة سريعة', |
|
| 487 | + 'label_poids_fichier' => 'الحجم', |
|
| 488 | + 'lien_afficher_icones_seuls' => 'عرض الرموز فقط', |
|
| 489 | + 'lien_afficher_texte_icones' => 'عرض الرموز والعناوين', |
|
| 490 | + 'lien_afficher_texte_seul' => 'عرض العناوين فقط', |
|
| 491 | + 'lien_liberer' => 'فك الحجز', |
|
| 492 | + 'lien_liberer_tous' => 'فك حجز الكل', |
|
| 493 | + 'lien_nouvea_pense_bete' => 'مذكرة جديدة', |
|
| 494 | + 'lien_nouveau_message' => 'رسالة جديدة', |
|
| 495 | + 'lien_nouvelle_annonce' => 'إعلان جديد', |
|
| 496 | + 'lien_petitions' => 'عريضة', |
|
| 497 | + 'lien_popularite' => 'شعبية: @popularite@%', |
|
| 498 | + 'lien_racine_site' => 'أصل الموقع', |
|
| 499 | + 'lien_reessayer' => 'إعادة المحاولة', |
|
| 500 | + 'lien_repondre_message' => 'الرد على هذه المشاركة', |
|
| 501 | + 'lien_supprimer' => 'حذف', |
|
| 502 | + 'lien_tout_afficher' => 'إظهار الكل', |
|
| 503 | + 'lien_visite_site' => 'زيارة هذا الموقع', |
|
| 504 | + 'lien_visites' => '@visites@ زيارة', |
|
| 505 | + 'lien_voir_auteur' => 'مراجعة هذا المؤلف', |
|
| 506 | + 'ligne' => 'سطر', |
|
| 507 | + 'login' => 'الدخول', |
|
| 508 | + 'login_acces_prive' => 'الدخول إلى المجال الخاص', |
|
| 509 | + 'login_autre_identifiant' => 'الاتصال بمعرّف آخر', |
|
| 510 | + 'login_cookie_accepte' => 'الرجاء تهيئ برنامج التصفح ليتقبلها (من هذا الموقع على الأقل)', |
|
| 511 | + 'login_cookie_oblige' => 'للتعريف عن نفسك بشكل آمن في هذا الموقع، يجب قبول الكعكات (cookies).', |
|
| 512 | + 'login_deconnexion_ok' => 'تم قطع الاتصال.', |
|
| 513 | + 'login_erreur_pass' => 'خطأ في كلمة السر.', |
|
| 514 | + 'login_espace_prive' => 'المجال الخاص', |
|
| 515 | + 'login_identifiant_inconnu' => 'المعرّف «@login@» غير معروف.', |
|
| 516 | + 'login_login' => 'المعرّف:', |
|
| 517 | + 'login_login2' => 'المعرّف او عنوان البريد الالكتروني:', |
|
| 518 | + 'login_login_pass_incorrect' => '(خطأ في المعرّف أو كلمة السر).', |
|
| 519 | + 'login_motpasseoublie' => 'هل نسيت كلمة السر؟', |
|
| 520 | + 'login_non_securise' => 'لطفا، هذه الاستمارة غير آمنة. |
|
| 521 | 521 | إذا كنت ترغب أن تكون كلمة سرك |
| 522 | 522 | آمنة على الشبكة، يجب تفعيل جافاسكريبت |
| 523 | 523 | في برنامج التصفح', |
| 524 | - 'login_nouvelle_tentative' => 'محاولة جديدة', |
|
| 525 | - 'login_par_ici' => 'أنت مسجّل... توجه من هنا...', |
|
| 526 | - 'login_pass2' => 'كلمة السر:', |
|
| 527 | - 'login_preferez_refuser' => '<b>إذا كنت تفضل عدم قبول الكعكات</b>، يمكنك استخدام طريقة دخول أخرى (أقل أماناً):', |
|
| 528 | - 'login_recharger' => 'وإعادة تحميل الصفحة', |
|
| 529 | - 'login_rester_identifie' => 'ابقى متصلاً بضعة أيام', |
|
| 530 | - 'login_retour_public' => 'عودة إلى الموقع العام', |
|
| 531 | - 'login_retour_site' => 'عودة إلى الموقع العام', |
|
| 532 | - 'login_retoursitepublic' => 'عودة إلى الموقع العام', |
|
| 533 | - 'login_sans_cookiie' => 'تعريف بدون الكعكة', |
|
| 534 | - 'login_securise' => 'تعريف مؤمّن', |
|
| 535 | - 'login_sinscrire' => 'تسجيل', |
|
| 536 | - 'login_test_navigateur' => 'تجربة المتصفح/إعادة الاتصال', |
|
| 537 | - 'login_verifiez_navigateur' => '(على أي حال، تأكد من أن المتصفح لم يقم بحفظ كلمة سرك...)', |
|
| 524 | + 'login_nouvelle_tentative' => 'محاولة جديدة', |
|
| 525 | + 'login_par_ici' => 'أنت مسجّل... توجه من هنا...', |
|
| 526 | + 'login_pass2' => 'كلمة السر:', |
|
| 527 | + 'login_preferez_refuser' => '<b>إذا كنت تفضل عدم قبول الكعكات</b>، يمكنك استخدام طريقة دخول أخرى (أقل أماناً):', |
|
| 528 | + 'login_recharger' => 'وإعادة تحميل الصفحة', |
|
| 529 | + 'login_rester_identifie' => 'ابقى متصلاً بضعة أيام', |
|
| 530 | + 'login_retour_public' => 'عودة إلى الموقع العام', |
|
| 531 | + 'login_retour_site' => 'عودة إلى الموقع العام', |
|
| 532 | + 'login_retoursitepublic' => 'عودة إلى الموقع العام', |
|
| 533 | + 'login_sans_cookiie' => 'تعريف بدون الكعكة', |
|
| 534 | + 'login_securise' => 'تعريف مؤمّن', |
|
| 535 | + 'login_sinscrire' => 'تسجيل', |
|
| 536 | + 'login_test_navigateur' => 'تجربة المتصفح/إعادة الاتصال', |
|
| 537 | + 'login_verifiez_navigateur' => '(على أي حال، تأكد من أن المتصفح لم يقم بحفظ كلمة سرك...)', |
|
| 538 | 538 | |
| 539 | - // M |
|
| 540 | - 'masquer_colonne' => 'حجب هذا العمود', |
|
| 541 | - 'masquer_trad' => 'حجب الترجمات', |
|
| 542 | - 'module_fichiers_langues' => 'ملفات اللغة', |
|
| 539 | + // M |
|
| 540 | + 'masquer_colonne' => 'حجب هذا العمود', |
|
| 541 | + 'masquer_trad' => 'حجب الترجمات', |
|
| 542 | + 'module_fichiers_langues' => 'ملفات اللغة', |
|
| 543 | 543 | |
| 544 | - // N |
|
| 545 | - 'navigateur_pas_redirige' => 'إذا لم تتم إعادة توجيه متصفحك، انقر هنا للمتابعة.', |
|
| 546 | - 'numero' => 'رقم', |
|
| 544 | + // N |
|
| 545 | + 'navigateur_pas_redirige' => 'إذا لم تتم إعادة توجيه متصفحك، انقر هنا للمتابعة.', |
|
| 546 | + 'numero' => 'رقم', |
|
| 547 | 547 | |
| 548 | - // O |
|
| 549 | - 'occurence' => 'ظهور', |
|
| 550 | - 'onglet_affacer_base' => 'حذف قاعدة البيانات', |
|
| 551 | - 'onglet_auteur' => 'المؤلف', |
|
| 552 | - 'onglet_contenu_site' => 'محتوى الموقع', |
|
| 553 | - 'onglet_evolution_visite_mod' => 'تطور', |
|
| 554 | - 'onglet_fonctions_avances' => 'الوظائف المتطورة', |
|
| 555 | - 'onglet_informations_personnelles' => 'المعلومات الشخصية', |
|
| 556 | - 'onglet_interactivite' => 'التفاعلية', |
|
| 557 | - 'onglet_messagerie' => 'المراسلة', |
|
| 558 | - 'onglet_repartition_rubrique' => 'التوزيع حسب الأقسام', |
|
| 559 | - 'onglet_save_restaur_base' => 'نسخ احتياطي / استرجاع القاعدة', |
|
| 560 | - 'onglet_vider_cache' => 'تفريغ الذاكرة المخبأة', |
|
| 548 | + // O |
|
| 549 | + 'occurence' => 'ظهور', |
|
| 550 | + 'onglet_affacer_base' => 'حذف قاعدة البيانات', |
|
| 551 | + 'onglet_auteur' => 'المؤلف', |
|
| 552 | + 'onglet_contenu_site' => 'محتوى الموقع', |
|
| 553 | + 'onglet_evolution_visite_mod' => 'تطور', |
|
| 554 | + 'onglet_fonctions_avances' => 'الوظائف المتطورة', |
|
| 555 | + 'onglet_informations_personnelles' => 'المعلومات الشخصية', |
|
| 556 | + 'onglet_interactivite' => 'التفاعلية', |
|
| 557 | + 'onglet_messagerie' => 'المراسلة', |
|
| 558 | + 'onglet_repartition_rubrique' => 'التوزيع حسب الأقسام', |
|
| 559 | + 'onglet_save_restaur_base' => 'نسخ احتياطي / استرجاع القاعدة', |
|
| 560 | + 'onglet_vider_cache' => 'تفريغ الذاكرة المخبأة', |
|
| 561 | 561 | |
| 562 | - // P |
|
| 563 | - 'pass_choix_pass' => 'الرجاء اختيار كلمة السر الجديدة:', |
|
| 564 | - 'pass_erreur' => 'خطأ', |
|
| 565 | - 'pass_erreur_acces_refuse' => '<b>خطأ:< b> لم تعد تملك حق الدخول إلى هذا الموقع.', |
|
| 566 | - 'pass_erreur_code_inconnu' => '<b>خطأ:< b> هذا المعرّف لا يتناسب مع أي من الزوار الذين يتمتعون بحق الدخول إلى هذا الموقع.', |
|
| 567 | - 'pass_erreur_non_enregistre' => '<b>خطأ:< b> العنوان <tt>@email_oubli@</tt> ليس مسجلاً في هذا الموقع.', |
|
| 568 | - 'pass_erreur_non_valide' => '<b>خطأ:< b> العنوان <tt>@email_oubli@</tt> ليس صالحاً.', |
|
| 569 | - 'pass_erreur_probleme_technique' => '<b>خطأ:< b> لم يتم بعث هذه الرسالة بسبب مشكلة تقنية.', |
|
| 570 | - 'pass_espace_prive_bla' => 'المجال الخاص لهذا الموقع مفتوح |
|
| 562 | + // P |
|
| 563 | + 'pass_choix_pass' => 'الرجاء اختيار كلمة السر الجديدة:', |
|
| 564 | + 'pass_erreur' => 'خطأ', |
|
| 565 | + 'pass_erreur_acces_refuse' => '<b>خطأ:< b> لم تعد تملك حق الدخول إلى هذا الموقع.', |
|
| 566 | + 'pass_erreur_code_inconnu' => '<b>خطأ:< b> هذا المعرّف لا يتناسب مع أي من الزوار الذين يتمتعون بحق الدخول إلى هذا الموقع.', |
|
| 567 | + 'pass_erreur_non_enregistre' => '<b>خطأ:< b> العنوان <tt>@email_oubli@</tt> ليس مسجلاً في هذا الموقع.', |
|
| 568 | + 'pass_erreur_non_valide' => '<b>خطأ:< b> العنوان <tt>@email_oubli@</tt> ليس صالحاً.', |
|
| 569 | + 'pass_erreur_probleme_technique' => '<b>خطأ:< b> لم يتم بعث هذه الرسالة بسبب مشكلة تقنية.', |
|
| 570 | + 'pass_espace_prive_bla' => 'المجال الخاص لهذا الموقع مفتوح |
|
| 571 | 571 | للزوار بعد تسجيلهم. بعد تسجيلك |
| 572 | 572 | يمكنك مراجعة المقالات قيد التحرير |
| 573 | 573 | واقتراح مقالات والمشاركة في كل المنتديات.', |
| 574 | - 'pass_forum_bla' => 'طلبت المشاركة في منتدى |
|
| 574 | + 'pass_forum_bla' => 'طلبت المشاركة في منتدى |
|
| 575 | 575 | محصور بالزوار المسجلين.', |
| 576 | - 'pass_indiquez_cidessous' => 'قم بإدخال العنوان الإلكتروني الذي |
|
| 576 | + 'pass_indiquez_cidessous' => 'قم بإدخال العنوان الإلكتروني الذي |
|
| 577 | 577 | تسجلت بواستطه سابقاً. |
| 578 | 578 | ستحصل على رسالة تفسر لك كيفية |
| 579 | 579 | استعادة دخولك.', |
| 580 | - 'pass_mail_passcookie' => '(هذه رسالة آلية) |
|
| 580 | + 'pass_mail_passcookie' => '(هذه رسالة آلية) |
|
| 581 | 581 | لاستعادة دخولك إلى الموقع |
| 582 | 582 | @nom_site_spip@ (@adresse_site@) |
| 583 | 583 | |
@@ -589,141 +589,141 @@ discard block |
||
| 589 | 589 | وإعادة الاتصال بالموقع. |
| 590 | 590 | |
| 591 | 591 | ', |
| 592 | - 'pass_mot_oublie' => 'نسيان كلمة السر', |
|
| 593 | - 'pass_nouveau_enregistre' => 'تم تسجيل كلمة سرك الجديدة.', |
|
| 594 | - 'pass_nouveau_pass' => 'كلمة السر الجديدة', |
|
| 595 | - 'pass_ok' => 'موافق', |
|
| 596 | - 'pass_oubli_mot' => 'نسيان كلمة السر', |
|
| 597 | - 'pass_procedure_changer' => 'من أجل تغيير كلمة السر يتحتم اولاً التأكد من هويتك. لذلك، قم بأدخال عنوان البريد الالكتروني المرتبط بهذا الحساب.', |
|
| 598 | - 'pass_quitter_fenetre' => 'إقفال هذه النافذة', |
|
| 599 | - 'pass_rappel_login' => 'تذكير: معرّفك هو «@login@».', |
|
| 600 | - 'pass_recevoir_mail' => 'ستحصل على رسالة تفسر لك كيف تستعيد دخولك إلى الموقع.', |
|
| 601 | - 'pass_retour_public' => 'عودة إلى الموقع العام', |
|
| 602 | - 'pass_rien_a_faire_ici' => 'لا شغل لك هنا.', |
|
| 603 | - 'pass_vousinscrire' => 'تسجيلك في الموقع', |
|
| 604 | - 'precedent' => 'السابق', |
|
| 605 | - 'previsualisation' => 'عرض مسبق', |
|
| 606 | - 'previsualiser' => 'عرض مسبق', |
|
| 592 | + 'pass_mot_oublie' => 'نسيان كلمة السر', |
|
| 593 | + 'pass_nouveau_enregistre' => 'تم تسجيل كلمة سرك الجديدة.', |
|
| 594 | + 'pass_nouveau_pass' => 'كلمة السر الجديدة', |
|
| 595 | + 'pass_ok' => 'موافق', |
|
| 596 | + 'pass_oubli_mot' => 'نسيان كلمة السر', |
|
| 597 | + 'pass_procedure_changer' => 'من أجل تغيير كلمة السر يتحتم اولاً التأكد من هويتك. لذلك، قم بأدخال عنوان البريد الالكتروني المرتبط بهذا الحساب.', |
|
| 598 | + 'pass_quitter_fenetre' => 'إقفال هذه النافذة', |
|
| 599 | + 'pass_rappel_login' => 'تذكير: معرّفك هو «@login@».', |
|
| 600 | + 'pass_recevoir_mail' => 'ستحصل على رسالة تفسر لك كيف تستعيد دخولك إلى الموقع.', |
|
| 601 | + 'pass_retour_public' => 'عودة إلى الموقع العام', |
|
| 602 | + 'pass_rien_a_faire_ici' => 'لا شغل لك هنا.', |
|
| 603 | + 'pass_vousinscrire' => 'تسجيلك في الموقع', |
|
| 604 | + 'precedent' => 'السابق', |
|
| 605 | + 'previsualisation' => 'عرض مسبق', |
|
| 606 | + 'previsualiser' => 'عرض مسبق', |
|
| 607 | 607 | |
| 608 | - // R |
|
| 609 | - 'retour' => 'عودة', |
|
| 608 | + // R |
|
| 609 | + 'retour' => 'عودة', |
|
| 610 | 610 | |
| 611 | - // S |
|
| 612 | - 'spip_conforme_dtd' => 'يعتبر SPIP أن هذا المستند مطابق لتحديد DOCTYPE:', |
|
| 613 | - 'squelette' => 'صفحة نموذجية', |
|
| 614 | - 'squelette_inclus_ligne' => 'صفحة نموذجية مدمجة، سطر', |
|
| 615 | - 'squelette_ligne' => 'صفحة نموذجية، سطر', |
|
| 616 | - 'stats_visites_et_popularite' => '@visites@ زيارة؛ شعبية: @popularite@', |
|
| 617 | - 'suivant' => 'التالي', |
|
| 611 | + // S |
|
| 612 | + 'spip_conforme_dtd' => 'يعتبر SPIP أن هذا المستند مطابق لتحديد DOCTYPE:', |
|
| 613 | + 'squelette' => 'صفحة نموذجية', |
|
| 614 | + 'squelette_inclus_ligne' => 'صفحة نموذجية مدمجة، سطر', |
|
| 615 | + 'squelette_ligne' => 'صفحة نموذجية، سطر', |
|
| 616 | + 'stats_visites_et_popularite' => '@visites@ زيارة؛ شعبية: @popularite@', |
|
| 617 | + 'suivant' => 'التالي', |
|
| 618 | 618 | |
| 619 | - // T |
|
| 620 | - 'taille_go' => '@taille@ غيغابايت', |
|
| 621 | - 'taille_ko' => '@taille@ كيلوبايت', |
|
| 622 | - 'taille_mo' => '@taille@ ميغابايت', |
|
| 623 | - 'taille_octets' => '@taille@ بايت', |
|
| 624 | - 'texte_actualite_site_1' => 'عندما تتأقلم مع واجهة النظام انقر على «', |
|
| 625 | - 'texte_actualite_site_2' => 'الواجهة الكاملة', |
|
| 626 | - 'texte_actualite_site_3' => '» لإتاحة المزيد من الوظائف.', |
|
| 627 | - 'texte_creation_automatique_vignette' => 'لقد تم تفعيل الإنشاء الآلي لمصغرات المعاينة. إذا استخدمت هذه الاستمارة لإدخال صور بتنسيق (أو تنسيقات) @gd_formats@، سيتم تزويدها بمصغر لا يزيد حجمه عن @taille_preview@ نقطة. ', |
|
| 628 | - 'texte_documents_associes' => 'المستندات التالية ترافق المقال، |
|
| 619 | + // T |
|
| 620 | + 'taille_go' => '@taille@ غيغابايت', |
|
| 621 | + 'taille_ko' => '@taille@ كيلوبايت', |
|
| 622 | + 'taille_mo' => '@taille@ ميغابايت', |
|
| 623 | + 'taille_octets' => '@taille@ بايت', |
|
| 624 | + 'texte_actualite_site_1' => 'عندما تتأقلم مع واجهة النظام انقر على «', |
|
| 625 | + 'texte_actualite_site_2' => 'الواجهة الكاملة', |
|
| 626 | + 'texte_actualite_site_3' => '» لإتاحة المزيد من الوظائف.', |
|
| 627 | + 'texte_creation_automatique_vignette' => 'لقد تم تفعيل الإنشاء الآلي لمصغرات المعاينة. إذا استخدمت هذه الاستمارة لإدخال صور بتنسيق (أو تنسيقات) @gd_formats@، سيتم تزويدها بمصغر لا يزيد حجمه عن @taille_preview@ نقطة. ', |
|
| 628 | + 'texte_documents_associes' => 'المستندات التالية ترافق المقال، |
|
| 629 | 629 | لكنها لم تُدرج |
| 630 | 630 | مباشرة. بالاعتماد على تصميم الموقع العمومي، |
| 631 | 631 | قد تظهر على شكل مستندات مرفقة.', |
| 632 | - 'texte_erreur_mise_niveau_base' => 'خطأ في قاعدة البيانات خلال الترقية. |
|
| 632 | + 'texte_erreur_mise_niveau_base' => 'خطأ في قاعدة البيانات خلال الترقية. |
|
| 633 | 633 | تعذر تمرير الصورة <b>@fichier@</b> (المقال @id_article@). |
| 634 | 634 | سجل هذا المرجع وحاول إعادة عملية |
| 635 | 635 | الترقية، وأخيراً تأكد من أن الصور لا تزال تظهر |
| 636 | 636 | في المقالات.', |
| 637 | - 'texte_erreur_visiteur' => 'حاولت الدخول إلى المجال الخاص بمعرّف لا يسمح بذلك.', |
|
| 638 | - 'texte_inc_auth_1' => 'عرّفت عن نفسك |
|
| 637 | + 'texte_erreur_visiteur' => 'حاولت الدخول إلى المجال الخاص بمعرّف لا يسمح بذلك.', |
|
| 638 | + 'texte_inc_auth_1' => 'عرّفت عن نفسك |
|
| 639 | 639 | بالمعرّف <b>@auth_login@</b>، لكنه غير (لم يعد) موجود في قاعدة البيانات. |
| 640 | 640 | حاول ', |
| 641 | - 'texte_inc_auth_2' => 'إعادة الاتصال', |
|
| 642 | - 'texte_inc_auth_3' => '، بعد إنهاء المتصفح ثم |
|
| 641 | + 'texte_inc_auth_2' => 'إعادة الاتصال', |
|
| 642 | + 'texte_inc_auth_3' => '، بعد إنهاء المتصفح ثم |
|
| 643 | 643 | إعادة تشغيله إذا اقتضت الحاجة.', |
| 644 | - 'texte_inc_config' => 'التغييرات الداخلة على هذه الصفحة تؤثر بشكل ملحوظ على |
|
| 644 | + 'texte_inc_config' => 'التغييرات الداخلة على هذه الصفحة تؤثر بشكل ملحوظ على |
|
| 645 | 645 | تشغيل الموقع. يستحسن عدم إدخال تغييرات قبل |
| 646 | 646 | التأقلم مع نظام SPIP للنشر. <br /><br /><b>بشكل |
| 647 | 647 | عام، ننصحك |
| 648 | 648 | بحصر التعامل مع هذه الصفحات بالمسؤول الأساسي عن تصميم الموقع.</b>', |
| 649 | - 'texte_inc_meta_1' => 'واجه النظام خطأً خلال كتابة الملف <code>@fichier@</code>. بصفتك أحد مدراء الموقع، الرجاء', |
|
| 650 | - 'texte_inc_meta_2' => 'التأكد من حقوق الكتابة', |
|
| 651 | - 'texte_inc_meta_3' => 'الخاصة بالدليل <code>@repertoire@</code>. ', |
|
| 652 | - 'texte_statut_en_cours_redaction' => 'قيد التحرير', |
|
| 653 | - 'texte_statut_poubelle' => 'إلى المهملات', |
|
| 654 | - 'texte_statut_propose_evaluation' => 'معروض للتقييم', |
|
| 655 | - 'texte_statut_publie' => 'منشور', |
|
| 656 | - 'texte_statut_refuse' => 'مرفوض', |
|
| 657 | - 'titre_ajouter_mot_cle' => 'إضافة مفتاح:', |
|
| 658 | - 'titre_cadre_raccourcis' => 'اختصارات:', |
|
| 659 | - 'titre_changer_couleur_interface' => 'تغيير لون الواجهة', |
|
| 660 | - 'titre_image_admin_article' => 'أنت مخول إدارة هذا المقال', |
|
| 661 | - 'titre_image_administrateur' => 'مدير', |
|
| 662 | - 'titre_image_aide' => 'تعليمات حول هذا العنصر', |
|
| 663 | - 'titre_image_auteur_supprime' => 'مؤلف محذوف', |
|
| 664 | - 'titre_image_redacteur' => 'محرر دون إذن دخول', |
|
| 665 | - 'titre_image_redacteur_02' => 'محرر', |
|
| 666 | - 'titre_image_selecteur' => 'عرض القائمة', |
|
| 667 | - 'titre_image_visiteur' => 'زائر', |
|
| 668 | - 'titre_joindre_document' => 'إرفاق مستند', |
|
| 669 | - 'titre_mots_cles' => 'المفاتيح', |
|
| 670 | - 'titre_probleme_technique' => 'تحذير: مشكلة تقنية (خادم SQL) تمنع الدخول إلى هذا الجزء من الموقع. شكراً على تفهمكم.', |
|
| 671 | - 'titre_publier_document' => 'نشر مستند في هذا القسم', |
|
| 672 | - 'titre_signatures_attente' => 'تواقيع بانتظار التصديق', |
|
| 673 | - 'titre_signatures_confirmees' => 'توقيعات مصدّقة', |
|
| 674 | - 'titre_statistiques' => 'إحصاءات الموقع', |
|
| 675 | - 'titre_titre_document' => 'اسم المستند: ', |
|
| 676 | - 'todo' => 'قريباً', |
|
| 677 | - 'trad_reference' => '(مرجع الترجمات)', |
|
| 649 | + 'texte_inc_meta_1' => 'واجه النظام خطأً خلال كتابة الملف <code>@fichier@</code>. بصفتك أحد مدراء الموقع، الرجاء', |
|
| 650 | + 'texte_inc_meta_2' => 'التأكد من حقوق الكتابة', |
|
| 651 | + 'texte_inc_meta_3' => 'الخاصة بالدليل <code>@repertoire@</code>. ', |
|
| 652 | + 'texte_statut_en_cours_redaction' => 'قيد التحرير', |
|
| 653 | + 'texte_statut_poubelle' => 'إلى المهملات', |
|
| 654 | + 'texte_statut_propose_evaluation' => 'معروض للتقييم', |
|
| 655 | + 'texte_statut_publie' => 'منشور', |
|
| 656 | + 'texte_statut_refuse' => 'مرفوض', |
|
| 657 | + 'titre_ajouter_mot_cle' => 'إضافة مفتاح:', |
|
| 658 | + 'titre_cadre_raccourcis' => 'اختصارات:', |
|
| 659 | + 'titre_changer_couleur_interface' => 'تغيير لون الواجهة', |
|
| 660 | + 'titre_image_admin_article' => 'أنت مخول إدارة هذا المقال', |
|
| 661 | + 'titre_image_administrateur' => 'مدير', |
|
| 662 | + 'titre_image_aide' => 'تعليمات حول هذا العنصر', |
|
| 663 | + 'titre_image_auteur_supprime' => 'مؤلف محذوف', |
|
| 664 | + 'titre_image_redacteur' => 'محرر دون إذن دخول', |
|
| 665 | + 'titre_image_redacteur_02' => 'محرر', |
|
| 666 | + 'titre_image_selecteur' => 'عرض القائمة', |
|
| 667 | + 'titre_image_visiteur' => 'زائر', |
|
| 668 | + 'titre_joindre_document' => 'إرفاق مستند', |
|
| 669 | + 'titre_mots_cles' => 'المفاتيح', |
|
| 670 | + 'titre_probleme_technique' => 'تحذير: مشكلة تقنية (خادم SQL) تمنع الدخول إلى هذا الجزء من الموقع. شكراً على تفهمكم.', |
|
| 671 | + 'titre_publier_document' => 'نشر مستند في هذا القسم', |
|
| 672 | + 'titre_signatures_attente' => 'تواقيع بانتظار التصديق', |
|
| 673 | + 'titre_signatures_confirmees' => 'توقيعات مصدّقة', |
|
| 674 | + 'titre_statistiques' => 'إحصاءات الموقع', |
|
| 675 | + 'titre_titre_document' => 'اسم المستند: ', |
|
| 676 | + 'todo' => 'قريباً', |
|
| 677 | + 'trad_reference' => '(مرجع الترجمات)', |
|
| 678 | 678 | |
| 679 | - // Z |
|
| 680 | - 'zbug_balise_b_aval' => ': العلامة B متأخرة', |
|
| 681 | - 'zbug_balise_inexistante' => 'خطأ في الاعلان عن العلامة @balise@ لـ@from@', |
|
| 682 | - 'zbug_balise_sans_argument' => 'عامل غير موجود في علامة @balise@', |
|
| 683 | - 'zbug_boucle' => 'حلقة', |
|
| 684 | - 'zbug_boucle_recursive_undef' => 'حلقة دورية غير معرّفة: @nom@', |
|
| 685 | - 'zbug_calcul' => 'حساب', |
|
| 686 | - 'zbug_champ_hors_boucle' => 'الحقل @champ@ خارج الحلقة', |
|
| 687 | - 'zbug_champ_hors_motif' => 'الحقل @champ@ خارج سياق @motif@', |
|
| 688 | - 'zbug_code' => 'الرموز البرمجية', |
|
| 689 | - 'zbug_critere_inconnu' => 'معيار غير معروف @critere@', |
|
| 690 | - 'zbug_distant_interdit' => 'عملية خارجية ممنوعة', |
|
| 691 | - 'zbug_doublon_table_sans_cle_primaire' => 'قيمة مكررة في جدول لا يملك مفتاح أساسي', |
|
| 692 | - 'zbug_doublon_table_sans_index' => 'تكرار في جدول غير مفهرس', |
|
| 693 | - 'zbug_erreur_boucle_double' => 'تعريف متكرر للحلقة @id@', |
|
| 694 | - 'zbug_erreur_boucle_fermant' => 'علامة إغلاق غائبة في حلقة @id@', |
|
| 695 | - 'zbug_erreur_boucle_syntaxe' => 'تركيب حلقة @id@ غير صحيح', |
|
| 696 | - 'zbug_erreur_compilation' => 'خطأ تصنيف', |
|
| 697 | - 'zbug_erreur_execution_page' => 'خطأ في التنفيذ', |
|
| 698 | - 'zbug_erreur_filtre' => 'المرشح @filtre@ غير معرّف ', |
|
| 699 | - 'zbug_erreur_meme_parent' => 'لا ينطبق معيار {meme_parent} إلا على حلقتي (FORUMS) أو (RUBRIQUES)', |
|
| 700 | - 'zbug_erreur_squelette' => 'خطأ في الصفحة النموذجية', |
|
| 701 | - 'zbug_hors_compilation' => 'خارج التصنيف', |
|
| 702 | - 'zbug_info_erreur_squelette' => 'خطأ في الموفع', |
|
| 703 | - 'zbug_inversion_ordre_inexistant' => 'عكس ترتيب غير موجود أصلاً', |
|
| 704 | - 'zbug_pagination_sans_critere' => 'علامة PAGINATION# بدون معيار {pagination} أو مستخدمة في حلقة دورية', |
|
| 705 | - 'zbug_parametres_inclus_incorrects' => 'عامل إدراج غير صحيحة: @param@', |
|
| 706 | - 'zbug_profile' => 'فترة المعالجة: @time@', |
|
| 707 | - 'zbug_resultat' => 'النتيجة', |
|
| 708 | - 'zbug_serveur_indefini' => 'خادم SQL غير محدد', |
|
| 709 | - 'zbug_statistiques' => 'احصاءات استفسارات SQL مرتبة حسب المدة', |
|
| 710 | - 'zbug_table_inconnue' => 'جدول SQL هو «@table@» غير معروف', |
|
| 711 | - 'zxml_connus_attributs' => 'خاصيات معروفة', |
|
| 712 | - 'zxml_de' => 'من', |
|
| 713 | - 'zxml_inconnu_attribut' => 'خاصية غير معروفة', |
|
| 714 | - 'zxml_inconnu_balise' => 'علامة غير معروفة', |
|
| 715 | - 'zxml_inconnu_entite' => 'كائن غير معروف', |
|
| 716 | - 'zxml_inconnu_id' => 'هوية ID غير معروفة', |
|
| 717 | - 'zxml_mais_de' => 'لكن من', |
|
| 718 | - 'zxml_non_conforme' => 'غير مطابق للشكل', |
|
| 719 | - 'zxml_non_fils' => 'ليس من سلالة', |
|
| 720 | - 'zxml_nonvide_balise' => 'علامة غير فارغة', |
|
| 721 | - 'zxml_obligatoire_attribut' => 'خاصية إجبارية لكنها غير موجودة في', |
|
| 722 | - 'zxml_succession_fils_incorrecte' => 'تتابع سلالات غير سليم', |
|
| 723 | - 'zxml_survoler' => 'الحوم لعرض الصحيح', |
|
| 724 | - 'zxml_valeur_attribut' => 'قيمة الخاصية', |
|
| 725 | - 'zxml_vide_balise' => 'علامة فارغة', |
|
| 726 | - 'zxml_vu' => 'ظهر مسبقاً' |
|
| 679 | + // Z |
|
| 680 | + 'zbug_balise_b_aval' => ': العلامة B متأخرة', |
|
| 681 | + 'zbug_balise_inexistante' => 'خطأ في الاعلان عن العلامة @balise@ لـ@from@', |
|
| 682 | + 'zbug_balise_sans_argument' => 'عامل غير موجود في علامة @balise@', |
|
| 683 | + 'zbug_boucle' => 'حلقة', |
|
| 684 | + 'zbug_boucle_recursive_undef' => 'حلقة دورية غير معرّفة: @nom@', |
|
| 685 | + 'zbug_calcul' => 'حساب', |
|
| 686 | + 'zbug_champ_hors_boucle' => 'الحقل @champ@ خارج الحلقة', |
|
| 687 | + 'zbug_champ_hors_motif' => 'الحقل @champ@ خارج سياق @motif@', |
|
| 688 | + 'zbug_code' => 'الرموز البرمجية', |
|
| 689 | + 'zbug_critere_inconnu' => 'معيار غير معروف @critere@', |
|
| 690 | + 'zbug_distant_interdit' => 'عملية خارجية ممنوعة', |
|
| 691 | + 'zbug_doublon_table_sans_cle_primaire' => 'قيمة مكررة في جدول لا يملك مفتاح أساسي', |
|
| 692 | + 'zbug_doublon_table_sans_index' => 'تكرار في جدول غير مفهرس', |
|
| 693 | + 'zbug_erreur_boucle_double' => 'تعريف متكرر للحلقة @id@', |
|
| 694 | + 'zbug_erreur_boucle_fermant' => 'علامة إغلاق غائبة في حلقة @id@', |
|
| 695 | + 'zbug_erreur_boucle_syntaxe' => 'تركيب حلقة @id@ غير صحيح', |
|
| 696 | + 'zbug_erreur_compilation' => 'خطأ تصنيف', |
|
| 697 | + 'zbug_erreur_execution_page' => 'خطأ في التنفيذ', |
|
| 698 | + 'zbug_erreur_filtre' => 'المرشح @filtre@ غير معرّف ', |
|
| 699 | + 'zbug_erreur_meme_parent' => 'لا ينطبق معيار {meme_parent} إلا على حلقتي (FORUMS) أو (RUBRIQUES)', |
|
| 700 | + 'zbug_erreur_squelette' => 'خطأ في الصفحة النموذجية', |
|
| 701 | + 'zbug_hors_compilation' => 'خارج التصنيف', |
|
| 702 | + 'zbug_info_erreur_squelette' => 'خطأ في الموفع', |
|
| 703 | + 'zbug_inversion_ordre_inexistant' => 'عكس ترتيب غير موجود أصلاً', |
|
| 704 | + 'zbug_pagination_sans_critere' => 'علامة PAGINATION# بدون معيار {pagination} أو مستخدمة في حلقة دورية', |
|
| 705 | + 'zbug_parametres_inclus_incorrects' => 'عامل إدراج غير صحيحة: @param@', |
|
| 706 | + 'zbug_profile' => 'فترة المعالجة: @time@', |
|
| 707 | + 'zbug_resultat' => 'النتيجة', |
|
| 708 | + 'zbug_serveur_indefini' => 'خادم SQL غير محدد', |
|
| 709 | + 'zbug_statistiques' => 'احصاءات استفسارات SQL مرتبة حسب المدة', |
|
| 710 | + 'zbug_table_inconnue' => 'جدول SQL هو «@table@» غير معروف', |
|
| 711 | + 'zxml_connus_attributs' => 'خاصيات معروفة', |
|
| 712 | + 'zxml_de' => 'من', |
|
| 713 | + 'zxml_inconnu_attribut' => 'خاصية غير معروفة', |
|
| 714 | + 'zxml_inconnu_balise' => 'علامة غير معروفة', |
|
| 715 | + 'zxml_inconnu_entite' => 'كائن غير معروف', |
|
| 716 | + 'zxml_inconnu_id' => 'هوية ID غير معروفة', |
|
| 717 | + 'zxml_mais_de' => 'لكن من', |
|
| 718 | + 'zxml_non_conforme' => 'غير مطابق للشكل', |
|
| 719 | + 'zxml_non_fils' => 'ليس من سلالة', |
|
| 720 | + 'zxml_nonvide_balise' => 'علامة غير فارغة', |
|
| 721 | + 'zxml_obligatoire_attribut' => 'خاصية إجبارية لكنها غير موجودة في', |
|
| 722 | + 'zxml_succession_fils_incorrecte' => 'تتابع سلالات غير سليم', |
|
| 723 | + 'zxml_survoler' => 'الحوم لعرض الصحيح', |
|
| 724 | + 'zxml_valeur_attribut' => 'قيمة الخاصية', |
|
| 725 | + 'zxml_vide_balise' => 'علامة فارغة', |
|
| 726 | + 'zxml_vu' => 'ظهر مسبقاً' |
|
| 727 | 727 | ); |
| 728 | 728 | |
| 729 | 729 | ?> |
@@ -7,101 +7,101 @@ |
||
| 7 | 7 | |
| 8 | 8 | $GLOBALS[$GLOBALS['idx_lang']] = array( |
| 9 | 9 | |
| 10 | - // A |
|
| 11 | - 'accueil_site' => 'Acuelh dau sit', # MODIF |
|
| 12 | - 'articles' => 'Articles', |
|
| 13 | - 'articles_auteur' => 'Articles d’aquel autor', |
|
| 14 | - 'articles_populaires' => 'Los articles mai populars', |
|
| 15 | - 'articles_rubrique' => 'Articles d’aquela rubrica', |
|
| 16 | - 'aucun_article' => 'I a ges d’article a aquela adreiça ', |
|
| 17 | - 'aucun_auteur' => 'I a ges d’autor a aquela adreiça ', |
|
| 18 | - 'aucun_site' => 'I a ges de sit a aquela adreiça ', |
|
| 19 | - 'aucune_breve' => 'I a ges de brèva a aquela adreiça ', |
|
| 20 | - 'aucune_rubrique' => 'I a ges de rubrica a aquela adreiça ', |
|
| 21 | - 'autres_breves' => 'Autras brèvas', |
|
| 22 | - 'autres_groupes_mots_clefs' => 'Autres grops de mots clau', |
|
| 23 | - 'autres_sites' => 'Autres sits', |
|
| 24 | - |
|
| 25 | - // B |
|
| 26 | - 'bonjour' => 'Bonjorn', |
|
| 27 | - |
|
| 28 | - // C |
|
| 29 | - 'commenter_site' => 'Comentar aqueu sit', |
|
| 30 | - |
|
| 31 | - // D |
|
| 32 | - 'date' => 'Data', |
|
| 33 | - 'dernier_ajout' => 'Darrier apondon', |
|
| 34 | - 'dernieres_breves' => 'Darrieras brèvas', |
|
| 35 | - 'derniers_articles' => 'Darriers articles', |
|
| 36 | - 'derniers_commentaires' => 'Darriers comentaris', |
|
| 37 | - 'derniers_messages_forum' => 'Darriers messatges publicats dins los forums', |
|
| 38 | - |
|
| 39 | - // E |
|
| 40 | - 'edition_mode_texte' => 'Edicion en mòde tèxt de', |
|
| 41 | - 'en_reponse' => 'En respònsa a:', |
|
| 42 | - 'en_resume' => 'En resumit', |
|
| 43 | - 'envoyer_message' => 'Mandar un messatge', |
|
| 44 | - 'espace_prive' => 'Espaci privat', |
|
| 45 | - |
|
| 46 | - // H |
|
| 47 | - 'hierarchie_site' => 'Ierarquia dau sit', |
|
| 48 | - |
|
| 49 | - // J |
|
| 50 | - 'jours' => 'jorns', |
|
| 51 | - |
|
| 52 | - // M |
|
| 53 | - 'meme_auteur' => 'Dau mesme autor', |
|
| 54 | - 'meme_rubrique' => 'Dins la mesma rubrica', |
|
| 55 | - 'memes_auteurs' => 'Dels mesmes autors', |
|
| 56 | - 'message' => 'Messatge', |
|
| 57 | - 'messages_forum' => 'Messatges de forum', # MODIF |
|
| 58 | - 'messages_recents' => 'Los messatges de forums mai recents', |
|
| 59 | - 'mots_clefs' => 'Mots clau', |
|
| 60 | - 'mots_clefs_meme_groupe' => 'Mots clau dins lo mesme grop', |
|
| 61 | - |
|
| 62 | - // N |
|
| 63 | - 'navigation' => 'Navigacion', |
|
| 64 | - 'nom' => 'Nom', |
|
| 65 | - 'nouveautes' => 'Las novetats', |
|
| 66 | - 'nouveautes_web' => 'Novetats sobre lo web', |
|
| 67 | - 'nouveaux_articles' => 'Articles nòus', |
|
| 68 | - 'nouvelles_breves' => 'Brèvas nòvas', |
|
| 69 | - |
|
| 70 | - // P |
|
| 71 | - 'page_precedente' => 'pagina precedenta', |
|
| 72 | - 'page_suivante' => 'pagina seguenta', |
|
| 73 | - 'par_auteur' => 'per ', |
|
| 74 | - 'participer_site' => 'Poètz participar a la vita d’aqueu sit e prepausar los articles vòstres en vos inscrivent çai sos. Recebretz sus lo còp un e-mail que vos indicarà vòstres còdes per accedir a l’espaci privat dau sit.', |
|
| 75 | - 'plan_site' => 'Plan dau sit', |
|
| 76 | - 'popularite' => 'Popularitat', |
|
| 77 | - 'poster_message' => 'Postar un messatge', |
|
| 78 | - 'proposer_site' => 'Poètz prepausar un sit d’apondre a aquesta rubrica:', |
|
| 79 | - |
|
| 80 | - // R |
|
| 81 | - 'repondre_article' => 'Respòndre a aquel article', |
|
| 82 | - 'repondre_breve' => 'Respòndre a aquela brèva', |
|
| 83 | - 'resultats_recherche' => 'Resultats de la recèrcha', |
|
| 84 | - 'retour_debut_forums' => 'Retorn au començament dels forums', |
|
| 85 | - 'rubrique' => 'Rubrica', |
|
| 86 | - 'rubriques' => 'Rubricas', |
|
| 87 | - |
|
| 88 | - // S |
|
| 89 | - 'signatures_petition' => 'Signaturas', |
|
| 90 | - 'site_realise_avec_spip' => 'Sit realizat amb SPIP', |
|
| 91 | - 'sites_web' => 'Sits web', |
|
| 92 | - 'sous_rubriques' => 'Sosrubricas', |
|
| 93 | - 'suite' => 'segua', |
|
| 94 | - 'sur_web' => 'Sobre lo web', |
|
| 95 | - 'syndiquer_rubrique' => 'Sindicar aquela rubrica', |
|
| 96 | - 'syndiquer_site' => 'Sindicar tot lo sit', |
|
| 97 | - |
|
| 98 | - // T |
|
| 99 | - 'texte_lettre_information' => 'Vaicí la letra d’informacion dau sit', |
|
| 100 | - 'texte_lettre_information_2' => 'Aquela letra recensa los articles e brèvas publicats despuei', # MODIF |
|
| 101 | - |
|
| 102 | - // V |
|
| 103 | - 'ver_imprimer' => 'Version d’estampar', |
|
| 104 | - 'voir_en_ligne' => 'Veètz en linha' |
|
| 10 | + // A |
|
| 11 | + 'accueil_site' => 'Acuelh dau sit', # MODIF |
|
| 12 | + 'articles' => 'Articles', |
|
| 13 | + 'articles_auteur' => 'Articles d’aquel autor', |
|
| 14 | + 'articles_populaires' => 'Los articles mai populars', |
|
| 15 | + 'articles_rubrique' => 'Articles d’aquela rubrica', |
|
| 16 | + 'aucun_article' => 'I a ges d’article a aquela adreiça ', |
|
| 17 | + 'aucun_auteur' => 'I a ges d’autor a aquela adreiça ', |
|
| 18 | + 'aucun_site' => 'I a ges de sit a aquela adreiça ', |
|
| 19 | + 'aucune_breve' => 'I a ges de brèva a aquela adreiça ', |
|
| 20 | + 'aucune_rubrique' => 'I a ges de rubrica a aquela adreiça ', |
|
| 21 | + 'autres_breves' => 'Autras brèvas', |
|
| 22 | + 'autres_groupes_mots_clefs' => 'Autres grops de mots clau', |
|
| 23 | + 'autres_sites' => 'Autres sits', |
|
| 24 | + |
|
| 25 | + // B |
|
| 26 | + 'bonjour' => 'Bonjorn', |
|
| 27 | + |
|
| 28 | + // C |
|
| 29 | + 'commenter_site' => 'Comentar aqueu sit', |
|
| 30 | + |
|
| 31 | + // D |
|
| 32 | + 'date' => 'Data', |
|
| 33 | + 'dernier_ajout' => 'Darrier apondon', |
|
| 34 | + 'dernieres_breves' => 'Darrieras brèvas', |
|
| 35 | + 'derniers_articles' => 'Darriers articles', |
|
| 36 | + 'derniers_commentaires' => 'Darriers comentaris', |
|
| 37 | + 'derniers_messages_forum' => 'Darriers messatges publicats dins los forums', |
|
| 38 | + |
|
| 39 | + // E |
|
| 40 | + 'edition_mode_texte' => 'Edicion en mòde tèxt de', |
|
| 41 | + 'en_reponse' => 'En respònsa a:', |
|
| 42 | + 'en_resume' => 'En resumit', |
|
| 43 | + 'envoyer_message' => 'Mandar un messatge', |
|
| 44 | + 'espace_prive' => 'Espaci privat', |
|
| 45 | + |
|
| 46 | + // H |
|
| 47 | + 'hierarchie_site' => 'Ierarquia dau sit', |
|
| 48 | + |
|
| 49 | + // J |
|
| 50 | + 'jours' => 'jorns', |
|
| 51 | + |
|
| 52 | + // M |
|
| 53 | + 'meme_auteur' => 'Dau mesme autor', |
|
| 54 | + 'meme_rubrique' => 'Dins la mesma rubrica', |
|
| 55 | + 'memes_auteurs' => 'Dels mesmes autors', |
|
| 56 | + 'message' => 'Messatge', |
|
| 57 | + 'messages_forum' => 'Messatges de forum', # MODIF |
|
| 58 | + 'messages_recents' => 'Los messatges de forums mai recents', |
|
| 59 | + 'mots_clefs' => 'Mots clau', |
|
| 60 | + 'mots_clefs_meme_groupe' => 'Mots clau dins lo mesme grop', |
|
| 61 | + |
|
| 62 | + // N |
|
| 63 | + 'navigation' => 'Navigacion', |
|
| 64 | + 'nom' => 'Nom', |
|
| 65 | + 'nouveautes' => 'Las novetats', |
|
| 66 | + 'nouveautes_web' => 'Novetats sobre lo web', |
|
| 67 | + 'nouveaux_articles' => 'Articles nòus', |
|
| 68 | + 'nouvelles_breves' => 'Brèvas nòvas', |
|
| 69 | + |
|
| 70 | + // P |
|
| 71 | + 'page_precedente' => 'pagina precedenta', |
|
| 72 | + 'page_suivante' => 'pagina seguenta', |
|
| 73 | + 'par_auteur' => 'per ', |
|
| 74 | + 'participer_site' => 'Poètz participar a la vita d’aqueu sit e prepausar los articles vòstres en vos inscrivent çai sos. Recebretz sus lo còp un e-mail que vos indicarà vòstres còdes per accedir a l’espaci privat dau sit.', |
|
| 75 | + 'plan_site' => 'Plan dau sit', |
|
| 76 | + 'popularite' => 'Popularitat', |
|
| 77 | + 'poster_message' => 'Postar un messatge', |
|
| 78 | + 'proposer_site' => 'Poètz prepausar un sit d’apondre a aquesta rubrica:', |
|
| 79 | + |
|
| 80 | + // R |
|
| 81 | + 'repondre_article' => 'Respòndre a aquel article', |
|
| 82 | + 'repondre_breve' => 'Respòndre a aquela brèva', |
|
| 83 | + 'resultats_recherche' => 'Resultats de la recèrcha', |
|
| 84 | + 'retour_debut_forums' => 'Retorn au començament dels forums', |
|
| 85 | + 'rubrique' => 'Rubrica', |
|
| 86 | + 'rubriques' => 'Rubricas', |
|
| 87 | + |
|
| 88 | + // S |
|
| 89 | + 'signatures_petition' => 'Signaturas', |
|
| 90 | + 'site_realise_avec_spip' => 'Sit realizat amb SPIP', |
|
| 91 | + 'sites_web' => 'Sits web', |
|
| 92 | + 'sous_rubriques' => 'Sosrubricas', |
|
| 93 | + 'suite' => 'segua', |
|
| 94 | + 'sur_web' => 'Sobre lo web', |
|
| 95 | + 'syndiquer_rubrique' => 'Sindicar aquela rubrica', |
|
| 96 | + 'syndiquer_site' => 'Sindicar tot lo sit', |
|
| 97 | + |
|
| 98 | + // T |
|
| 99 | + 'texte_lettre_information' => 'Vaicí la letra d’informacion dau sit', |
|
| 100 | + 'texte_lettre_information_2' => 'Aquela letra recensa los articles e brèvas publicats despuei', # MODIF |
|
| 101 | + |
|
| 102 | + // V |
|
| 103 | + 'ver_imprimer' => 'Version d’estampar', |
|
| 104 | + 'voir_en_ligne' => 'Veètz en linha' |
|
| 105 | 105 | ); |
| 106 | 106 | |
| 107 | 107 | ?> |