This repository was archived by the owner on Jul 30, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathlivraison_administrations.php
104 lines (89 loc) · 3.15 KB
/
livraison_administrations.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<?php
/**
* Fichier gérant l'installation et désinstallation du plugin Livraison
*
* @plugin Livraison
* @copyright 2015
* @author Cédric
* @licence GNU/GPL
* @package SPIP\Livraison\Installation
*/
if (!defined('_ECRIRE_INC_VERSION')) return;
/**
* Fonction d'installation et de mise à jour du plugin Livraison.
*
* @param string $nom_meta_base_version
* Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
* @param string $version_cible
* Version du schéma de données dans ce plugin (déclaré dans paquet.xml)
* @return void
**/
function livraison_upgrade($nom_meta_base_version, $version_cible) {
$maj = array();
$maj['create'] = array(
array('maj_tables', array('spip_livraisonmodes','spip_livraisonmodes_liens','spip_commandes')),
array('livraison_installer_modes'),
);
$maj['1.0.1'] = array(
array('maj_tables', array('spip_livraisonmodes')),
);
$maj['1.1.1'] = array(
array('maj_tables', array('spip_commandes')),
);
$maj['1.2.0'] = array(
array('maj_tables', array('spip_commandes')),
);
$maj['1.3.0'] = array(
array('maj_tables', array('spip_commandes')),
);
// ajout champ facturation_no_tva_intra
$maj['1.3.1'] = array(
array('maj_tables', array('spip_commandes')),
);
// ajout table des liens pour limiter certains modes a certains produits
$maj['1.4.0'] = array(
array('maj_tables', array('spip_livraisonmodes_liens')),
);
include_spip('base/upgrade');
maj_plugin($nom_meta_base_version, $version_cible, $maj);
}
/**
* Fonction de désinstallation du plugin Livraison.
*
* @param string $nom_meta_base_version
* Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
* @return void
**/
function livraison_vider_tables($nom_meta_base_version) {
livraison_generer_csv_installation();
sql_drop_table("spip_livraisonmodes");
# Nettoyer les versionnages et forums
sql_delete("spip_versions", sql_in("objet", array('livraisonmode')));
sql_delete("spip_versions_fragments", sql_in("objet", array('livraisonmode')));
sql_delete("spip_forum", sql_in("objet", array('livraisonmode')));
effacer_meta($nom_meta_base_version);
}
function livraison_installer_modes(){
include_spip("action/editer_objet");
if ($importer_csv = charger_fonction("importer_csv","inc",true)
AND $f = find_in_path("base/livraisonmodes.csv")){
$modes = $importer_csv($f,true);
foreach($modes as $mode){
$id = objet_inserer("livraisonmode");
$set = $mode;
$set['prix_poids_ht'] = preg_replace(",\s+,","\n",$set['prix_poids_ht']);
$set['prix_volume_ht'] = preg_replace(",\s+,","\n",$set['prix_volume_ht']);
$set['statut'] = 'prop';
objet_modifier("livraisonmode",$id,$set);
}
}
}
function livraison_generer_csv_installation(){
if ($exporter_csv = charger_fonction("exporter_csv","inc",true)){
$champs = array(
"titre","descriptif","zone_pays","zone_cp","zone_cp_exclus","taxe","prix_forfait_ht","prix_unit_ht","prix_poids_ht","prix_volume_ht"
);
$modes = sql_allfetsel(implode(",",$champs),"spip_livraisonmodes","statut='publie'");
$exporter_csv("livraisonmodes",$modes,",",$champs,false);
}
}