Changeset 110315 in spip-zone
- Timestamp:
- May 19, 2018, 7:33:42 AM (3 years ago)
- Location:
- _plugins_/prix_objets/branches/v1
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/prix_objets/branches/v1
- Property svn:mergeinfo changed
/_plugins_/prix_objets/trunk merged: 110294-110295,110312,110314
- Property svn:mergeinfo changed
-
_plugins_/prix_objets/branches/v1/base/prix_objets.php
r106816 r110315 1 1 <?php 2 if (!defined("_ECRIRE_INC_VERSION")) return; 2 if (! defined("_ECRIRE_INC_VERSION")) 3 return; 3 4 4 function prix_objets_declarer_tables_interfaces($tables_interfaces){ 5 function prix_objets_declarer_tables_interfaces($tables_interfaces) { 6 $tables_interfaces['table_des_tables']['prix_objets'] = 'prix_objets'; 5 7 6 $tables_interfaces['table_des_tables']['prix_objets'] = 'prix_objets'; 7 8 return $tables_interfaces; 8 return $tables_interfaces; 9 9 } 10 10 11 function prix_objets_declarer_tables_principales($tables_principales) {11 function prix_objets_declarer_tables_principales($tables_principales) { 12 12 $spip_prix_objets = array( 13 "id_prix_objet" => "bigint(21) NOT NULL", 14 "id_objet" => "bigint(21) NOT NULL", 15 "titre" => "varchar(255) DEFAULT '' NOT NULL", 16 "reference" => "varchar(255) DEFAULT '' NOT NULL", 13 "id_prix_objet" => "bigint(21) NOT NULL", 14 "id_prix_objet_source" => "bigint(21) NOT NULL", 17 15 'objet' => 'varchar(25) not null default ""', 18 "code_devise" => "varchar(3) NOT NULL", 19 "prix_ht" => "decimal(15,2) NOT NULL DEFAULT '0.00'", 20 "prix" => "decimal(15,2) NOT NULL DEFAULT '0.00'", 21 "taxe" => "varchar(10) DEFAULT '' NOT NULL", 22 ); 16 "id_objet" => "bigint(21) NOT NULL", 17 "titre" => "varchar(255) DEFAULT '' NOT NULL", 18 "reference" => "varchar(255) DEFAULT '' NOT NULL", 19 "code_devise" => "varchar(3) NOT NULL", 20 "prix_ht" => "decimal(15,2) NOT NULL DEFAULT '0.00'", 21 "prix" => "decimal(15,2) NOT NULL DEFAULT '0.00'", 22 "taxe" => "varchar(10) DEFAULT '' NOT NULL", 23 'extension' => 'varchar(50) not null default ""', 24 "id_extension" => "bigint(21) NOT NULL" 25 ); 23 26 24 27 $spip_prix_objets_key = array( 25 "PRIMARY KEY" 26 "KEY id_objet" => "id_objet",27 28 "PRIMARY KEY" => "id_prix_objet", 29 "KEY id_objet" => "id_prix_objet_source,id_objet,objet,id_extension,extension" 30 ); 28 31 29 32 $spip_prix_objets_join = array( 30 "id_prix_objet" 31 "id_objet" 32 "id_objet" => "id_article",33 33 "id_prix_objet" => "id_prix_objet", 34 "id_objet" => "id_objet", 35 "id_objet" => "id_article" 36 ); 34 37 35 38 $tables_principales['spip_prix_objets'] = array( … … 40 43 41 44 return $tables_principales; 45 } 46 47 /** 48 * Actualise la bd 49 * 50 * @param string $version_cible 51 * la version de la bd 52 */ 53 function po_upgrade($version_cible) { 54 55 // Remplace les champs "id_EXTENSION" par id_extension extension. 56 if ($version_cible == '2.0.0') { 57 $trouver_table = charger_fonction('trouver_table', 'base'); 58 $table = 'spip_prix_objets'; 59 $decription_table = $trouver_table($table); 60 include_spip('inc/prix_objets'); 61 62 $extensions = array( 63 'declinaison', 64 'po_periode' 65 ); 66 67 foreach ($extensions as $extension) { 68 if ($identifiant_extension = id_table_objet($extension) and 69 isset($decription_table['field'][$identifiant_extension])) { 70 $sql = sql_select('*', 'spip_prix_objets', 71 $identifiant_extension . '>0'); 72 73 while ($data = sql_fetch($sql)) { 74 sql_insertq('spip_prix_objets', 75 array( 76 'id_prix_objet_source' => $data['id_prix_objet'], 77 'extension' => $extension, 78 'id_extension' => $data[$identifiant_extension], 79 'objet' => $data['objet'], 80 'id_objet' => $data['id_objet'], 81 'titre' => extraire_multi( 82 supprimer_numero( 83 generer_info_entite( 84 $data[$identifiant_extension], 85 $extension, 86 'titre', '*'))), 87 'prix' => $data['prix_ht'] 88 )); 89 } 90 sql_alter("TABLE $table DROP COLUMN $identifiant_extension"); 91 } 92 } 42 93 } 94 } 43 95 44 96 -
_plugins_/prix_objets/branches/v1/formulaires/prix.php
- Property svn:mergeinfo changed
/_plugins_/prix_objets/trunk/formulaires/prix.php merged: 110295,110312
r110047 r110315 12 12 $taxes_inclus = lire_config('prix_objets/taxes_inclus'); 13 13 $taxes = lire_config('prix_objets/taxes'); 14 $table = 'spip_prix_objets'; 14 15 15 16 // Devise par défaut si rien configuré 16 if (!$devises_dispos) 17 if (!$devises_dispos) { 17 18 $devises_dispos = array( 18 19 '0' => 'EUR' 19 20 ); 21 } 22 20 23 $devises_choisis = array(); 21 24 $prix_choisis = array(); 22 if (is_array($id_objet)) 25 if (is_array($id_objet)) { 23 26 $id_objet_produit = implode(',', $id_objet); 27 } 24 28 25 29 if ($id_objet) { 26 $d = sql_select('*', 'spip_prix_objets', 'id_objet IN(' . $id_objet . ') AND objet =' . sql_quote($objet)); 30 $d = sql_select( 31 '*', 32 'spip_prix_objets', 33 'id_prix_objet_source = 0 AND id_objet IN(' . $id_objet . ') AND objet =' . sql_quote($objet) 34 ); 27 35 } 28 36 29 37 // établit les devises diponible moins ceux déjà utilisés 30 38 while ($row = sql_fetch($d)) { 31 // $devises_choisis[$row['code_devise']] = $row['code_devise'];32 39 $prix_choisis[] = $row; 33 40 } … … 50 57 $valeurs['_hidden'] = '<input type="hidden" name="objet" value="' . $objet . '">'; 51 58 $valeurs['_hidden'] .= '<input type="hidden" name="id_objet" value="' . $id_objet . '">'; 52 // Si le plugin declinaisons est activé 53 /*if (test_plugin_actif('declinaisons')) { 54 $valeurs['id_objet_titre'] = ''; 55 $valeurs['_hidden'] .= '<input type="hidden" name="id_objet_titre" value="' . $id_objet . '">'; 56 $valeurs['id_declinaison'] = ''; 57 }*/ 58 59 // Inclus les extensions. 59 60 // Inclure les extensions. 60 61 $valeurs['_saisies_extras'] = prix_objets_extensions_declaration($valeurs); 61 $extensions = array(); 62 foreach (saisies_lister_par_nom($valeurs['_saisies_extras']) as $nom => $definition) { 63 $valeurs[$nom] = _request($nom); 64 if (preg_match('|id_prix_extension_|', $nom)) { 65 $extension = str_replace('id_prix_extension_', '', $nom); 66 $extensions[] = $extension; 62 $extensions = array_keys($valeurs['_saisies_extras']); 63 $saisies = array(); 64 65 foreach ($valeurs['_saisies_extras'] as $s) { 66 $saisies = array_merge($saisies, $s); 67 foreach (saisies_lister_par_nom($s) as $nom => $definition) { 68 $valeurs[$nom] = _request($nom); 67 69 } 68 70 } … … 70 72 // Déclarer les extensions 71 73 if (count($extensions) > 0) { 72 $saisie = array( 74 75 $valeurs['extensions'] = _request('extensions'); 76 77 $valeurs['_saisies_extras'] = array_merge( 78 $saisies, 79 array( 73 80 array( 74 'saisie' => 'hidden', 75 'options' => array( 76 'nom' => 'extensions', 77 'defaut' => implode(',', $extensions), 81 'saisie' => 'hidden', 82 'options' => array( 83 'nom' => 'extensions', 84 'defaut' => implode(',', $extensions), 85 ) 78 86 ) 79 87 ) 80 88 ); 81 $valeurs['extensions'] = _request('extensions');82 $valeurs['_saisies_extras'] = array_merge($valeurs['_saisies_extras'], $saisie);83 89 } 84 90 … … 115 121 } 116 122 123 // Les infos des extensions 117 124 $titre_secondaire = array(); 118 $valeurs = array();125 $valeurs_extensions = array(); 119 126 foreach($extensions as $extension) { 120 if ($id_prix_extension = _request('id_prix_extension_' . $extension)) { 121 $titre_secondaire[] = extraire_multi( 127 if ($id_extension = _request('id_prix_extension_' . $extension)) { 128 if (!is_array($id_extension)) { 129 $titre_secondaire = extraire_multi( 122 130 supprimer_numero( 131 generer_info_entite( 132 $id_extension, 133 $extension, 134 'titre', '*' 135 ) 136 ) 137 ); 138 $titres_secondaires[] = $titre_secondaire; 139 $valeurs_extensions[] = array( 140 'objet' => $objet, 141 'id_objet' => $id_objet, 142 'titre' => $titre_secondaire, 143 'extension' => $extension, 144 'id_extension' => $id_extension 145 ); 146 } 147 else { 148 foreach ($id_extension as $id) { 149 $titre_secondaire = extraire_multi( 150 supprimer_numero( 123 151 generer_info_entite( 124 $id_prix_extension,125 126 127 152 $id, 153 $extension, 154 'titre', '*' 155 ) 128 156 ) 157 ); 158 $titres_secondaires[] = $titre_secondaire; 159 $valeurs_extensions[] = array( 160 'objet' => $objet, 161 'id_objet' => $id_objet, 162 'titre' => $titre_secondaire, 163 'extension' => $extension, 164 'id_extension' => $id 129 165 ); 130 $valeurs['id_' . $extension] = $id_prix_extension; 166 } 167 } 131 168 } 132 169 } 133 170 134 $titre_secondaire = implode(' / ', $titre_secondaire); 135 136 if ($titre_secondaire) 137 $titre = $titre . ' - ' . $titre_secondaire; 171 $titres_secondaires = implode(' / ', $titres_secondaires); 172 173 if ($titres_secondaires) { 174 $titre = $titre . ' - ' . $titres_secondaires; 175 } 138 176 139 177 // On inscrit dans la bd 140 $valeurs = array_merge($valeurs,array(178 $valeurs = array( 141 179 'id_objet' => $id_objet, 142 180 'objet' => $objet, … … 146 184 'prix' => 0, 147 185 'prix_ht' => 0 148 ) 149 ); 150 151 if ($ttc = _request('taxes_inclus')) 186 ); 187 188 if ($ttc = _request('taxes_inclus')) { 152 189 $valeurs['prix'] = $prix; 153 else 190 } 191 else { 154 192 $valeurs['prix_ht'] = $prix; 155 156 $result = sql_insertq('spip_prix_objets', $valeurs); 193 } 194 195 // Enregistrement du prix 196 $id_prix_objet = sql_insertq('spip_prix_objets', $valeurs); 197 198 // Enregistrement des extensions 199 foreach($valeurs_extensions as $valeur_extension) { 200 $valeur_extension['id_prix_objet_source'] = $id_prix_objet; 201 sql_insertq('spip_prix_objets', $valeur_extension); 202 } 157 203 158 204 // Ivalider le cache … … 162 208 return $valeur['message_ok'] = true; 163 209 } 164 165 ?> - Property svn:mergeinfo changed
-
_plugins_/prix_objets/branches/v1/inc/prix_objets.php
r110045 r110315 9 9 * @return array 10 10 */ 11 function prix_objets_extensions_declaration($valeurs ) {11 function prix_objets_extensions_declaration($valeurs = array()) { 12 12 13 13 return pipeline( -
_plugins_/prix_objets/branches/v1/paquet.xml
- Property svn:mergeinfo changed
/_plugins_/prix_objets/trunk/paquet.xml merged: 110294,110312,110314
r110047 r110315 2 2 prefix="prix_objets" 3 3 categorie="edition" 4 version=" 1.8.0"4 version="2.0.0" 5 5 etat="stable" 6 6 compatibilite="[3.0.5;3.2.*]" 7 7 logo="prive/themes/spip/images/prix_objets-64.png" 8 8 documentation="https://contrib.spip.net/Prix-Objets" 9 schema=" 1.5.0"9 schema="2.0.0" 10 10 > 11 11 - Property svn:mergeinfo changed
-
_plugins_/prix_objets/branches/v1/prix_objets_administrations.php
r106816 r110315 18 18 **/ 19 19 function prix_objets_upgrade($nom_meta_base_version, $version_cible) { 20 20 include_spip('inc/config'); 21 21 22 22 $maj = array(); 23 $maj['create'] = array(array('maj_tables', array('spip_prix_objets'))); 24 $maj['1.1.0'] = array( 25 array('sql_alter','TABLE spip_prix_objets RENAME TO spip_prix_objets') 26 ); 27 $maj['1.1.2'] = array( 28 array('sql_alter','TABLE spip_prix_objets CHANGE prix prix_ht float (38,2) NOT NULL'), 29 array('maj_tables', array('spip_prix_objets')), 30 ); 31 $maj['1.1.3'] = array( 32 array('sql_alter','TABLE spip_prix_objets CHANGE prix prix float (38,2) NOT NULL'), 33 ); 34 $maj['1.1.4'] = array( 35 array('sql_alter','TABLE spip_prix_objets CHANGE id_prix id_prix_objet bigint(21) NOT NULL'), 36 ); 37 $maj['1.1.5'] = array(array('maj_tables', array('spip_prix_objets'))); 38 $maj['1.2.4'] = array(array('maj_tables', array('spip_prix_objets'))); 39 $maj['1.3.0'] = array(array('maj_tables', array('spip_prix_objets'))); 40 $maj['1.4.0'] = array( 41 array('ecrire_config', 'prix_objets',lire_config('shop_prix',array())), 42 array('ecrire_config', 'shop_prix',array()), 43 array('effacer_meta', 'shop_prix_base_version') 44 ); 45 $maj['1.5.0'] = array( 46 array('sql_alter','TABLE spip_prix_objets CHANGE prix prix decimal(15,2) NOT NULL DEFAULT "0.00"'), 47 array('sql_alter','TABLE spip_prix_objets CHANGE prix_ht prix_ht decimal(15,2) NOT NULL DEFAULT "0.00"'), 48 ); 23 $maj['create'] = array( 24 array('maj_tables', array('spip_prix_objets')) 25 ); 26 $maj['1.1.0'] = array( 27 array('sql_alter','TABLE spip_prix_objets RENAME TO spip_prix_objets') 28 ); 29 $maj['1.1.2'] = array( 30 array('sql_alter','TABLE spip_prix_objets CHANGE prix prix_ht float (38,2) NOT NULL'), 31 array('maj_tables', array('spip_prix_objets')), 32 ); 33 $maj['1.1.3'] = array( 34 array('sql_alter','TABLE spip_prix_objets CHANGE prix prix float (38,2) NOT NULL'), 35 ); 36 $maj['1.1.4'] = array( 37 array('sql_alter','TABLE spip_prix_objets CHANGE id_prix id_prix_objet bigint(21) NOT NULL'), 38 ); 39 $maj['1.1.5'] = array(array('maj_tables', array('spip_prix_objets'))); 40 $maj['1.2.4'] = array(array('maj_tables', array('spip_prix_objets'))); 41 $maj['1.3.0'] = array(array('maj_tables', array('spip_prix_objets'))); 42 $maj['1.4.0'] = array( 43 array('ecrire_config', 'prix_objets',lire_config('shop_prix',array())), 44 array('ecrire_config', 'shop_prix',array()), 45 array('effacer_meta', 'shop_prix_base_version') 46 ); 47 $maj['1.5.0'] = array( 48 array('sql_alter','TABLE spip_prix_objets CHANGE prix prix decimal(15,2) NOT NULL DEFAULT "0.00"'), 49 array('sql_alter','TABLE spip_prix_objets CHANGE prix_ht prix_ht decimal(15,2) NOT NULL DEFAULT "0.00"'), 50 ); 51 $maj['2.0.0'] = array( 52 array('maj_tables', array('spip_prix_objets')), 53 array('sql_alter','TABLE spip_prix_objets DROP INDEX id_objet'), 54 array('sql_alter','TABLE spip_prix_objets ADD INDEX `id_objet` (`id_objet`,`id_prix_objet_source`,`objet`,`id_extension`,`extension`)'), 55 array('po_upgrade',$version_cible), 56 ); 49 57 50 58 include_spip('base/upgrade');
Note: See TracChangeset
for help on using the changeset viewer.