a15ea2950e3a342167d17d63cde853d581d4d259
[lhc/web/www.git] / www / plugins / enluminures_typographiques_v3 / base / typoenluminee_upgrade.php
1 <?php
2
3 if (!defined('_ECRIRE_INC_VERSION')) {
4 return;
5 }
6
7 include_spip('inc/meta');
8
9 /**
10 * Installation/maj des tables gis
11 *
12 * @param string $nom_meta_base_version
13 * @param string $version_cible
14 */
15 function typoenluminee_upgrade($nom_meta_base_version, $version_cible) {
16 $current_version = '0.0';
17 if ((!isset($GLOBALS['meta'][$nom_meta_base_version]))
18 || (($current_version = $GLOBALS['meta'][$nom_meta_base_version])!=$version_cible)) {
19 // installation
20 if (version_compare($current_version, '0.0', '<=')) {
21 maj_titres_enlumines();
22 ecrire_meta($nom_meta_base_version, $current_version = $version_cible, 'non');
23 }
24 }
25 }
26
27 /**
28 * Abandon de l'ancienne écriture des intertitres
29 *
30 * {1{...}1} {2{...}2} {3{...}3} {4{...}4} {5{...}5} en intertitres avec étoiles :
31 * {{{...}}} {{{**...}}} {{{***...}}} {{{****...}}} {{{*****...}}}
32 *
33 */
34 function maj_titres_enlumines() {
35 $anciens_titres = sql_allfetsel('id_article,texte', 'spip_articles', 'texte LIKE "%{1{%" OR texte LIKE "%{2{%" OR texte LIKE "%{3{%" OR texte LIKE "%{4{%" OR texte LIKE "%{5{%"');
36 foreach ($anciens_titres as $cle => $article) {
37 $id_article = $article['id_article'];
38 $article['texte'] = preg_replace('/({1{)(.*)(}1})/Uims', '{{{\\2}}}', $article['texte']);
39 $article['texte'] = preg_replace('/({2{)(.*)(}2})/Uims', '{{{**\\2}}}', $article['texte']);
40 $article['texte'] = preg_replace('/({3{)(.*)(}3})/Uims', '{{{***\\2}}}', $article['texte']);
41 $article['texte'] = preg_replace('/({4{)(.*)(}4})/Uims', '{{{****\\2}}}', $article['texte']);
42 $article['texte'] = preg_replace('/({5{)(.*)(}5})/Uims', '{{{*****\\2}}}', $article['texte']);
43 $article['texte'] = trim($article['texte']);
44 sql_updateq('spip_articles', array('texte' => $article['texte']), 'id_article=' . intval($article['id_article']));
45 if (time() >= _UPGRADE_TIME_OUT) {
46 return;
47 }
48 }
49 }
50
51
52
53 /**
54 * Desinstallation
55 *
56 * @param string $nom_meta_base_version
57 */
58 function typoenluminee_vider_tables($nom_meta_base_version) {
59 include_spip('inc/meta');
60 effacer_meta($nom_meta_base_version);
61 }