Changeset 86944 in spip-zone


Ignore:
Timestamp:
Dec 30, 2014, 3:46:09 PM (5 years ago)
Author:
abelass@…
Message:

prix_objets plus obligatoire

Location:
_plugins_/shop_livraison
Files:
50 added
12 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/shop_livraison

    • Property svn:ignore set to
      *.project
  • _plugins_/shop_livraison/branches/v1/base/shop_livraisons.php

    r86899 r86944  
    104104function shop_livraisons_declarer_champs_extras($champs = array()) {
    105105
    106     //Les objets choisis dans shop_prix   
     106    //Les objets actives 
    107107    include_spip('inc/config');
    108108    include_spip('shop_livraisons_fonctions');   
    109     include_spip('shop_prix_fonctions');
    110    
    111     $objets_prix=lire_config('shop_prix/objets_prix',array());
    112     $unite_defaut=lire_config('shop_livraison/unite_defaut',array());
     109
     110    $config=lire_config('shop_livraison',array());
     111    $objets_livraison=isset($config['objets_livraison'])?$config['objets_livraison']:array();
     112        if(!$objets_livraison){
     113                $objets_livraison=lire_config('prix_objets/objets_prix',array());
     114        }
     115    $unite_defaut=isset($config['unite_defaut'])?$config['unite_defaut']:array();
    113116    $mesure_defaut=mesure_defaut();
    114117
    115    
    116118
    117119    /*Pour chaque objet prix on active le champ mesure*/
    118     foreach($objets_prix AS $objet){
    119         $restriction=array();
    120         if($objet=='article')$restriction=rubrique_prix();
     120    foreach($objets_livraison AS $objet){
     121
    121122
    122123       $champs[table_objet_sql($objet)]['mesure'] = array(
     
    129130                'versionner' => true,                                 
    130131                'restrictions'=>array(
    131                     'rubrique' => implode(':',$restriction),
    132132                    'voir' => array('auteur' => ''),//Tout le monde peut voir
    133133                    'modifier' => array('auteur' => 'admin'),//Seuls les administrateurs peuvent modifier
  • _plugins_/shop_livraison/branches/v1/formulaires/configurer_shop_livraisons.html

    r86899 r86944  
     1[(#REM)Les objets spip disponibles]
     2#SET{objets,#ARRAY}
     3<BOUCLE_objets_liste(DATA){source tableau,#VAL|lister_tables_objets_sql}{par cle}{editable = oui}>
     4    [(#VALEUR{page}|is_string|oui)
     5        [(#SET{objets,#GET{objets}|array_merge{#ARRAY{#VALEUR{page},#VALEUR{texte_objets}|_T}}})]
     6    ]
     7</BOUCLE_objets_liste>
     8[(#SET{objets,#GET{objets}|array_merge{#ARRAY{document,#VAL{medias:info_documents}|_T}}})]
     9
     10
    111<div class="formulaire_spip formulaire_configurer formulaire_#FORM">
    212
     
    1121
    1222                <ul>
     23                          [(#SAISIE{checkbox,objets_livraison,
     24                    datas=#GET{objets},
     25                    label=<:livraison:label_selection_objets_livraison:>}
     26                    )]
    1327                   
    1428            [(#SAISIE{input,montant_defaut,
  • _plugins_/shop_livraison/branches/v1/lang/livraison_fr.php

    r86899 r86944  
    11<?php
    22// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
     3// Fichier source, a modifier dans svn://zone.spip.org/spip-zone/_plugins_/shop_livraison/trunk/lang/
     4if (!defined('_ECRIRE_INC_VERSION')) return;
    35
    4 if (!defined('_ECRIRE_INC_VERSION')) return;
    5  
    66$GLOBALS[$GLOBALS['idx_lang']] = array(
    77
    8     //B
    9     'bouton_enlever_selection'=>'Enlever tous les pays sélectionnés',
     8        // B
     9        'bouton_enlever_selection' => 'Enlever tous les pays sélectionnés',
    1010
    1111        // C
    1212        'cfg_titre_parametrages' => 'Paramétrages',
    13        
    14     //E
    15     'explication__mesure'=>'en @unite@',
    16     'explication_montant_defaut'=>'Montant s\'appliquant aux pays non attachés à une zone de livraison',   
    1713
     14        // E
     15        'explication__mesure' => 'en @unite@',
     16        'explication_montant_defaut' => 'Montant s’appliquant aux pays non attachés à une zone de livraison',
    1817
    19     // L
    20     'label_mesure'=>'Mesure',
    21     'label_mesure_poids'=>'Poids',         
    22     'label_montant_defaut'=>'Montant par défaut :',
    23     'label_poids'=>'Poids',           
    24     'label_unite_defaut'=>'L\'unité par défaut',   
    25     'label_unite_rien'=>'Acune unité',
    26     'label_unite_cl'=>'Cl',       
    27     'label_unite_cm3'=>'cm3',     
    28     'label_unite_g'=>'Grammes',
    29     'label_unite_kg'=>'Kg',
    30     'label_unite_l'=>'Litres',     
    31     'label_unite_m3'=>'m3',
    32     'label_volume'=>'Volume',           
     18        // L
     19        'label_mesure' => 'Mesure',
     20        'label_mesure_poids' => 'Poids',
     21        'label_montant_defaut' => 'Montant par défaut :',
     22        'label_poids' => 'Poids',
     23        'label_selection_objets_livraison' => 'Choissisez les objets pris en compte par ce plugin',
     24        'label_unite_cl' => 'Cl',
     25        'label_unite_cm3' => 'cm3',
     26        'label_unite_defaut' => 'L’unité par défaut',
     27        'label_unite_g' => 'Grammes',
     28        'label_unite_kg' => 'Kg',
     29        'label_unite_l' => 'Litres',
     30        'label_unite_m3' => 'm3',
     31        'label_unite_rien' => 'Acune unité',
     32        'label_volume' => 'Volume',
    3333
    3434        // S
    3535        'shop_livraison_titre' => 'Shop Livraisons',
    3636
    37 
    38      
    39 
    4037        // T
    41         'texte_montant_defaut_non_definit'=>'Aucun Montant par défaut n\'est définit, les pays non attachés à une zone seront exemptés de frais de livraison. Dans Configuration vous pouvez definir un montant pas défaut',
    42         'texte_unite_non_definit'=>'(Attention, unité par défaut non définit !)',
     38        'texte_montant_defaut_non_definit' => 'Aucun Montant par défaut n’est définit, les pays non attachés à une zone seront exemptés de frais de livraison. Dans Configuration vous pouvez definir un montant pas défaut',
     39        'texte_unite_non_definit' => '(Attention, unité par défaut non définit !)',
    4340        'titre_ajouter_pays_continent' => 'Ajouter les pays de ce continent à cette zone',
    4441        'titre_livraison' => 'Livraison',
    45         'titre_livraisons' => 'Livraisons',     
    46         'titre_page_configurer_shop_livraison' => 'Shop Livraisons',   
     42        'titre_livraisons' => 'Livraisons',
     43        'titre_page_configurer_shop_livraison' => 'Shop Livraisons'
    4744);
    4845
  • _plugins_/shop_livraison/branches/v1/lang/livraison_montant_fr.php

    r86899 r86944  
    11<?php
    22// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
    3 
     3// Fichier source, a modifier dans svn://zone.spip.org/spip-zone/_plugins_/shop_livraison/trunk/lang/
    44if (!defined('_ECRIRE_INC_VERSION')) return;
    5 
    65
    76$GLOBALS[$GLOBALS['idx_lang']] = array(
     
    1110
    1211        // E
    13         'explication_mesure_max' => 'Valeur maximal d\'application de ce montant (en @unite@)',
    14         'explication_mesure_min' => 'Valeur minimale à partir de laquelle ce montant s\'applique (en @unite@)',
    15         'explication_tranche_frais_livraison' => '(par tranche de max. @mesure_max@ @unite@)', 
    16    
     12        'explication_mesure_max' => 'Valeur maximal d’application de ce montant (en @unite@)',
     13        'explication_mesure_min' => 'Valeur minimale à partir de laquelle ce montant s’applique (en @unite@)',
     14        'explication_tranche_frais_livraison' => '(par tranche de max. @mesure_max@ @unite@)',
    1715
    1816        // I
     
    2826        'label_maj' => 'MAJ',
    2927        'label_mesure_max' => 'Mesure maximale',
    30         'label_mesure_max_poids' => 'Poids maximal',   
     28        'label_mesure_max_poids' => 'Poids maximal',
    3129        'label_mesure_min' => 'Mesure minimale ',
    32         'label_mesure_min_poids' => 'Poids minimal ',   
     30        'label_mesure_min_poids' => 'Poids minimal ',
    3331        'label_montant' => 'Montant',
    3432
     
    4543        'titre_livraison_montants' => 'Frais de livraison',
    4644        'titre_livraison_montants_rubrique' => 'Frais de livraison de la rubrique',
    47         'titre_logo_livraison_montant' => 'Logo de ce frais de livraison',
     45        'titre_logo_livraison_montant' => 'Logo de ce frais de livraison'
    4846);
    4947
  • _plugins_/shop_livraison/branches/v1/lang/livraison_zone_fr.php

    r86899 r86944  
    11<?php
    22// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
    3 
     3// Fichier source, a modifier dans svn://zone.spip.org/spip-zone/_plugins_/shop_livraison/trunk/lang/
    44if (!defined('_ECRIRE_INC_VERSION')) return;
    5 
    65
    76$GLOBALS[$GLOBALS['idx_lang']] = array(
     
    1110
    1211        // E
    13     'eliminer_livraison_zone' => 'Eliminer cette zone de livraison',   
     12        'eliminer_livraison_zone' => 'Eliminer cette zone de livraison',
    1413        'explication_unite' => 'Surcharge la valeur définit par défaut, à changer uniquement si vous devez définir une unité différent pour cette zone',
    1514
     
    2928
    3029        // R
    31 
    3230        'retirer_tous_liens_livraison_zones' => 'Retirer toutes les zones de livraison',
    3331
     
    4139        'titre_livraison_zones_rubrique' => 'Zones de livraison de la rubrique',
    4240        'titre_logo_livraison_zone' => 'Logo de cette zone de livraison',
    43         'titre_pays_zones' => 'Les pays de cette zone de livraison',   
     41        'titre_pays_zones' => 'Les pays de cette zone de livraison'
    4442);
    4543
  • _plugins_/shop_livraison/branches/v1/lang/paquet-shop_livraisons_fr.php

    r86899 r86944  
    11<?php
    22// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
    3 
     3// Fichier source, a modifier dans svn://zone.spip.org/spip-zone/_plugins_/shop_livraison/trunk/lang/
    44if (!defined('_ECRIRE_INC_VERSION')) return;
    55
     
    99        'shop_livraisons_description' => 'Gérer les livraison avec Shop',
    1010        'shop_livraisons_nom' => 'Shop Livraisons',
    11         'shop_livraisons_slogan' => 'Gérer les livraison avec Shop',
     11        'shop_livraisons_slogan' => 'Gérer les livraison avec Shop'
    1212);
    1313
  • _plugins_/shop_livraison/branches/v1/lang/shop_livraisons_fr.php

    r86899 r86944  
    11<?php
    22// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
     3// Fichier source, a modifier dans svn://zone.spip.org/spip-zone/_plugins_/shop_livraison/trunk/lang/
     4if (!defined('_ECRIRE_INC_VERSION')) return;
    35
    4 if (!defined('_ECRIRE_INC_VERSION')) return;
    5  
    66$GLOBALS[$GLOBALS['idx_lang']] = array(
    7 
    8         // S
    9         'shop_livraison_titre' => 'Shop Livraisons',
    107
    118        // C
     
    1411        'cfg_titre_parametrages' => 'Paramétrages',
    1512
     13        // S
     14        'shop_livraison_titre' => 'Shop Livraisons',
     15
    1616        // T
    17         'titre_page_configurer_shop_livraison' => 'Shop Livraisons',
     17        'titre_page_configurer_shop_livraison' => 'Shop Livraisons'
    1818);
    1919
  • _plugins_/shop_livraison/branches/v1/paquet.xml

    r86899 r86944  
    22        prefix="shop_livraisons"
    33        categorie="communication"
    4         version="1.1.3"
    5         etat="dev"
     4        version="1.2.0"
     5        etat="test"
    66        compatibilite="[3.0.10;3.1.*]"
    77        logo="prive/themes/spip/images/shop_livraisons-64.png"
    88        documentation=""
    9         schema="1.1.5"
     9        schema="1.2.0"
    1010>
    1111        <nom>Shop Livraisons</nom>
     
    1515        <licence>GNU/GPL</licence>
    1616       
    17         <necessite nom="saisies" compatibilite="[1.21.0;]" />
    18         <necessite nom="shop" compatibilite="[1.2.2;]" />       
    19         <necessite nom="shop_prix" compatibilite="[1.4.3;]" />         
    20         <necessite nom="pays" compatibilite="[2.1.1;]" />
    21         <necessite nom="continents" compatibilite="[1.0.1;]" />
    22         <necessite nom="cextras" compatibilite="[3.2.4;]" />   
     17        <necessite nom="saisies" compatibilite="[2.0.3;]" />
     18        <necessite nom="shop" compatibilite="[1.4.2;]" />       
     19       
     20        <necessite nom="pays" compatibilite="[3.0.10;]" />
     21        <necessite nom="continents" compatibilite="[1.0.2;]" />
     22        <necessite nom="cextras" compatibilite="[3.4.1;]" />   
     23       
     24        <utilise nom="prix_objets" compatibilite="[1.6.7;]" /> 
    2325       
    2426        <pipeline nom="autoriser" inclure="shop_livraisons_autorisations.php" />
  • _plugins_/shop_livraison/branches/v1/shop_livraisons_administrations.php

    r86899 r86944  
    3030**/
    3131function shop_livraisons_upgrade($nom_meta_base_version, $version_cible) {
     32        include_spip('inc/config');
    3233        $maj = array();
     34       
     35        /*preremplir les objets prix en compte par ce plugin si prix objets l'a déjà défini*/
     36        $config_livraison=lire_config('shop_livraison',array());       
     37        if(!isset($config_livraison['objets_livraison'])){
     38                $config_objets_prix=lire_config('prix_objets/objets_prix','');
     39                $config_livraison['objets_livraison']=$config_objets_prix?$config_objets_prix:'';               
     40        }
     41       
    3342
    3443    /*Installation des tables et champs aditionnels*/
    3544        $maj['create'] = array(array('maj_tables', array('spip_livraison_montants', 'spip_livraison_zones','spip_pays')));
    3645        $maj['1.0.1'] = array(array('maj_tables', array('spip_pays')));
    37    
     46        $maj['1.2.0'] = array( array('ecrire_config', 'shop_livraison', $config_livraison));
     47
    3848    /*Installation de champs via le plugin champs extras*/
    3949    include_spip('inc/cextras');
     
    4252        cextras_api_upgrade(shop_livraisons_declarer_champs_extras(), $maj['create']);   
    4353        cextras_api_upgrade(shop_livraisons_declarer_champs_extras(), $maj['1.1.5']);
     54        cextras_api_upgrade(shop_livraisons_declarer_champs_extras(), $maj['1.2.0']);           
    4455    }
    4556   
  • _plugins_/shop_livraison/branches/v1/shop_livraisons_fonctions.php

    r86899 r86944  
    6060
    6161
     62if(!test_plugin_actif('prix_objets')){
     63        function devise_defaut_prix($prix='',$traduire=true){
     64
     65    if($_COOKIE['spip_devise'])$devise_defaut=$_COOKIE['spip_devise'];
     66    else    $devise_defaut='€';
     67    if($prix)$devise_defaut= $prix.' '.$devise_defaut;
     68
     69    return $devise_defaut;
     70}
     71       
     72       
     73}
    6274?>
  • _plugins_/shop_livraison/branches/v1/shop_livraisons_pipelines.php

    r86899 r86944  
    1414   
    1515function shop_livraisons_post_insertion($flux){
     16        include_spip('inc/config');
    1617    // Après insertion d'une commande "encours" et s'il y a un panier en cours
    1718    if (
     
    3637            //On regarde si on une unité s'applique
    3738            if(isset($row['unite'])){
    38                 //On établit les donées de l'objet auquel un prix est attaché
    39                 $objet_prix=sql_fetsel('objet,id_objet','spip_prix_objets','id_prix_objet='.$data['id_objet']);
    40                  //On  constitue les données de cet objet
    41                 $e = trouver_objet_exec($objet_prix['objet']);
    42                 $table=table_objet_sql($objet_prix['objet']);
    43                 $id_table_objet=$e['id_table_objet']; 
    44                  //On réupère la mesure pour l'objet
    45                 $id_objet[]=$objet_prix['id_objet'];       
    46                 $mesure[]=sql_getfetsel('mesure',$table,$id_table_objet.'='.$objet_prix['id_objet'])*$data['quantite'];
     39                //Si le plugin prix_objets est activé
     40                if(test_plugin_actif('prix_objets')){
     41                        //On chercher l'objet attaché au prix
     42                        $objet_prix=sql_fetsel('objet,id_objet','spip_prix_objets','id_prix_objet='.$data['id_objet']);
     43                                        $objet=$objet_prix['objet'];
     44                                        $id_objet=$objet_prix['id_objet'];
     45                }
     46                                //Sinon on prend les donnés de l'objet depuis le détail de la commande
     47                                else{
     48                                        $objet=$data['objet'];
     49                                        $id_objet=$data['id_objet'];
     50                                }
     51               
     52                 //On constitue les données de cet objet
     53                $e = trouver_objet_exec($objet);
     54                $table=table_objet_sql($objet);
     55                $id_table_objet=$e['id_table_objet'];
     56                                 
     57                 //On récupère la mesure pour l'objet       
     58                $mesure[]=sql_getfetsel('mesure',$table,$id_table_objet.'='.$id_objet)*$data['quantite'];
    4759            }
    4860        }
     
    5769       
    5870       
    59         //On regarde si on une unité s'applique
     71        //On regarde si on a une unité qui s'applique
    6072        if(count($mesure)==0){
    6173            $montant=sql_fetsel('montant,id_livraison_montant','spip_livraison_montants','id_livraison_zone='.$row['id_livraison_zone']); 
     
    7082                }
    7183            }
    72          
    73        
    74         if(!$prix_unitaire_ht=$montant['montant']){
    75             include_spip('inc/config');
    76             $prix_unitaire_ht=lire_config('shop_livraison/montant_defaut');
    77             }
     84               
     85                //Le prix unitaire         
     86        $prix_unitaire_ht=isset($montant['montant'])?$montant['montant']:lire_config('shop_livraison/montant_defaut');
     87
    7888           
    79         $valeurs['id_objet']=$montant['id_livraison_montant'];
    80         $valeurs['prix_unitaire_ht']=$montant['montant'];   
     89        $valeurs['id_objet']=isset($montant['id_livraison_montant'])?$montant['id_livraison_montant']:0;
     90        $valeurs['prix_unitaire_ht']=$prix_unitaire_ht;   
    8191        sql_insertq('spip_commandes_details', $valeurs);
    8292    }
     
    115125   
    116126    // Installer des champs extras après la configuration prix
    117     if ($flux['args']['form'] == 'configurer_shop_prix') {
     127    if ($flux['args']['form'] == 'configurer_shop_livraison' ) {
    118128
    119129    /*Installation de champs via le plugin champs extras*/
Note: See TracChangeset for help on using the changeset viewer.