Changeset 115288 in spip-zone


Ignore:
Timestamp:
May 9, 2019, 6:32:30 AM (13 days ago)
Author:
abelass@…
Message:

v 2.4.0

  • fusionner deux fonctions semblables en une nouvelle, nommer plus clairement
  • enlever fonctions inutile
  • PHP doc
Location:
_plugins_/prix_objets/branches/v1
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/prix_objets/branches/v1

  • _plugins_/prix_objets/branches/v1/README.md

    r106816 r115288  
    1 prix_objet
     1Prix objets
    22===============
    3 Moved to https://zone.spip.org/trac/spip-zone/browser/_plugins_/prix_objets
     3- [Documentation](https://contrib.spip.net/Prix-Objets)
     4- [Code de référence](https://zone.spip.org/trac/spip-zone/browser/_plugins_/prix_objets)
  • _plugins_/prix_objets/branches/v1/paquet.xml

    r113360 r115288  
    22        prefix="prix_objets"
    33        categorie="edition"
    4         version="2.3.2"
     4        version="2.4.0"
    55        etat="stable"
    66        compatibilite="[3.0.5;3.2.*]"
  • _plugins_/prix_objets/branches/v1/prix_objets_fonctions.php

    r113360 r115288  
    2020 *
    2121 * @return array
     22 *   Les devises disponibles.
    2223 */
    2324function devises() {
     
    175176}
    176177
     178/**
     179 * Donne le prix d'un objet avec sa devise.
     180 *
     181 * @deprecated 2.3.0 Utilisez prix_objet_formate($id_objet, $objet = 'article');
     182 * @param integer $id_objet
     183 *   L'identifiant de l'objet
     184 * @param string $objet
     185 *   L'objet
     186 *
     187 * @return string
     188 *   Le prix formaté.
     189 */
    177190function prix_defaut($id_objet, $objet = 'article') {
    178         if ($_COOKIE['spip_devise']) {
    179                 $devise_defaut = $_COOKIE['spip_devise'];
    180         }
    181         elseif (lire_config('prix_objets/devise_default')) {
    182                 $devise_defaut = lire_config('prix_objets/devise_default');
    183         }
    184         else {
    185                 $devise_defaut = 'EUR';
    186         }
    187 
    188         $req = sql_select('code_devise,prix', 'spip_prix_objets', 'id_objet=' . $id_objet . ' AND objet=' . sql_quote($objet));
    189         while ($row = sql_fetch($req)) {
    190                 $prix = $row['prix'] . ' ' . traduire_devise($row['code_devise']);
    191                 if ($row['code_devise'] == $devise_defaut) {
    192                         $defaut = $row['prix'] . ' ' . traduire_devise($row['code_devise']);
    193                 }
    194         }
    195 
    196         if ($defaut) {
    197                 $defaut = $defaut;
    198         }
    199         else {
    200                 $defaut = $prix;
    201         }
    202 
    203         return $defaut;
    204 }
    205 
     191        prix_objet_formate($id_objet, $objet);
     192}
     193
     194/**
     195 * Donne le prix d'un objet avec sa devise
     196 *
     197 * @param integer $id_objet
     198 *   L'identifiant de l'objet
     199 * @param string $objet
     200 *   L'objet
     201 *
     202 * @return string
     203 *   Le prix formaté.
     204 */
     205function prix_objet_formate($id_objet, $objet = 'article') {
     206
     207        $req = sql_fetsel('code_devise,prix', 'spip_prix_objets', 'id_objet=' . $id_objet . ' AND objet=' . sql_quote($objet));
     208
     209        $devise = isset($reg['code_devise']) ? $reg['code_devise'] : '';
     210        $prix = filtres_prix_formater($req['prix'], $devise);
     211
     212        return $prix;
     213}
     214
     215/**
     216 * Ajoute la devise à un prix
     217 *
     218 * @param mixed $prix
     219 *   Le prix
     220 * @param boolean $traduire
     221 *   Afficher le symbole de la devis, défaut true.
     222 *
     223 * @return string
     224 *   Le prix avec la devise
     225 */
    206226function devise_defaut_prix($prix = '', $traduire = true) {
    207227        if ($_COOKIE['spip_devise']) {
     
    220240}
    221241
     242/**
     243 * Donne le prix d'un objet avec sa devise.
     244 *
     245 * @deprecated 2.3.0 Utilisez prix_objet_formate($id_objet, $objet = 'article');
     246 * @param integer $id_objet
     247 *   L'identifiant de l'objet
     248 * @param string $objet
     249 *   L'objet
     250 *
     251 * @return string
     252 *   Le prix formaté.
     253 */
    222254function devise_defaut_objet($id_objet, $objet = 'article') {
    223         include_spip('inc/config');
    224         $config = lire_config('prix_objets');
    225 
    226         if (!$devise_defaut = $_COOKIE['devise_selectionnee']) {
    227                 $devise_defaut = $config['devise_default'];
    228         }
    229         else {
    230                 $devise_defaut = prix_objets_devise_defaut($config);
    231         }
    232 
    233         $req = sql_select('code_devise,prix', 'spip_prix_objets', 'id_objet=' . $id_objet . ' AND objet=' . sql_quote($objet));
    234 
    235         while ($row = sql_fetch($req)) {
    236                 $prix = $row['prix'] . ' ' . traduire_devise($row['code_devise']);
    237                 if ($row['code_devise'] == $devise_defaut) {
    238                         $defaut = $row['code_devise'];
    239                 }
    240         }
    241 
    242         if ($defaut) {
    243                 $defaut = $defaut;
    244         }
    245         else {
    246                 $defaut = $prix;
    247         }
    248 
    249         return $defaut;
    250 }
    251 
    252 function traduire_code_devise($code_devise, $id_objet, $objet = 'article', $option = "") {
    253         $prix = sql_getfetsel('prix', 'spip_prix_objets', 'id_objet=' . $id_objet . ' AND objet=' . sql_quote($objet) . ' AND code_devise =' . sql_quote($code_devise));
    254 
    255         if ($option == 'prix') {
    256                 $prix = $prix . ' ' . traduire_devise($code_devise);
    257         }
    258 
    259         return $prix;
     255        prix_objet_formate($id_objet, $objet);
    260256}
    261257
     
    321317 * @param string $prix
    322318 * @param string $devise
     319 * @param integer $decimals
    323320 * @return string
    324321 */
     
    346343
    347344        // On détermine la langue du contexte
    348         $lang = $GLOBALS['spip_lang'];
    349 
     345        if (isset($_COOKIE['spip_lang'])) {
     346                $lang = $_COOKIE['spip_lang'];
     347        }
     348        else {
     349                $lang = lire_config('langue_site');
     350        }
    350351
    351352        // Si PECL intl est présent on dermine le format de l'affichage de la devise selon la langue du contexte
     
    400401 *          prix (ttc) ou prix_ht
    401402 * @param array $options
     403 *   mode: 'global' ou 'prorata'
    402404 *
    403405 * @return string Le prix applicable.
     
    470472                set_request('prix_total', $data_source['prix_total']);
    471473
    472                 if (!$extensions = sql_allfetsel(
    473                         'extension,id_extension,titre',
    474                         'spip_prix_objets',
    475                         'id_prix_objet_source=' . $id_prix_objet)) {
    476                         $extensions = [];
    477                 }
    478 
     474                $extensions = sql_allfetsel('extension,id_extension,titre', 'spip_prix_objets', 'id_prix_objet_source=' . $id_prix_objet);
    479475                $prix = $fonction_prix('prix_objet', $id_prix_objet);
    480476                $count_sextensions = count($extensions);
Note: See TracChangeset for help on using the changeset viewer.