Changeset 110381 in spip-zone for _plugins_/prix_objets/branches/v1


Ignore:
Timestamp:
May 25, 2018, 5:05:26 PM (3 years ago)
Author:
abelass@…
Message:

encore le merge, ça devrait être bon maintenant

Location:
_plugins_/prix_objets/branches/v1
Files:
1 added
7 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/prix_objets/branches/v1

  • _plugins_/prix_objets/branches/v1/formulaires/prix.php

  • _plugins_/prix_objets/branches/v1/paquet.xml

  • _plugins_/prix_objets/branches/v1/prix/prix_objet.php

    r103686 r110381  
    5555        return $prix;
    5656}
    57 
  • _plugins_/prix_objets/branches/v1/prix_objets_administrations.php

    r110380 r110381  
    11<?php
    22/**
    3  * Plugin Prix Objets
    4  * (c) 2012 My Chacra
    5  * Licence GNU/GPL
     3 * Fichier gérant l'installation et désinstallation du plugin Prix Objets
     4 *
     5 * @plugin     Prix Objets
     6 * @copyright  2012 - 2018
     7 * @author     Rainer Müller
     8 * @licence    GNU/GPL
     9 * @package    SPIP\Reservation_evenement\Installation
    610 */
    711
     
    1014
    1115/**
    12  * Fonction d'installation du plugin et de mise à jour.
     16 * Fonction d'installation et de mise à jour du plugin Prix Objets.
     17 *
    1318 * Vous pouvez :
     19 *
    1420 * - créer la structure SQL,
    1521 * - insérer du pre-contenu,
    1622 * - installer des valeurs de configuration,
    1723 * - mettre à jour la structure SQL
    18 **/
     24 *
     25 * @param string $nom_meta_base_version
     26 *              Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
     27 * @param string $version_cible
     28 *              Version du schéma de données dans ce plugin (déclaré dans paquet.xml)
     29 * @return void
     30 *
     31 */
    1932function prix_objets_upgrade($nom_meta_base_version, $version_cible) {
    2033        include_spip('inc/config');
     
    6578
    6679/**
    67  * Fonction de désinstallation du plugin.
     80 * Fonction de désinstallation du plugin Prix Objets.
     81 *
    6882 * Vous devez :
     83 *
    6984 * - nettoyer toutes les données ajoutées par le plugin et son utilisation
    7085 * - supprimer les tables et les champs créés par le plugin.
    71 **/
     86 *
     87 * @param string $nom_meta_base_version
     88 *              Nom de la meta informant de la version du schéma de données du plugin installé dans SPIP
     89 * @return void
     90 *
     91 */
    7292function prix_objets_vider_tables($nom_meta_base_version) {
    7393
     
    7797}
    7898
    79 ?>
  • _plugins_/prix_objets/branches/v1/prix_objets_fonctions.php

    r110047 r110381  
    392392        return $devise_defaut;
    393393}
     394
     395/**
     396 * Donne le prix pour un objet
     397 *
     398 * @param string $objet
     399 *              Objet dont on cherche le prix
     400 * @param string $id_objet
     401 *              Identifiant de l'objet dont on cherche le prix
     402 * @param array $contexte
     403 *              Les variables de l'environnement.
     404 * @param array $options
     405 *
     406 * @return string
     407 *          Le prix applicable.
     408 */
     409function prix_par_objet($objet, $id_objet, $contexte, $type = 'prix_ht', $options = array()) {
     410        $prix = 0;
     411
     412        if ($type == 'prix_ht') {
     413                $fonction_prix = charger_fonction('ht', 'inc/prix');
     414        }
     415        else {
     416                $fonction_prix = charger_fonction('prix', 'inc');
     417        }
     418
     419        $prix_source = sql_select(
     420                        'id_prix_objet',
     421                        'spip_prix_objets',
     422                        'id_prix_objet_source=0 AND objet LIKE ' . sql_quote($objet) . ' AND id_objet=' . $id_objet,
     423                        '',
     424                        array('rang_lien', 'titre', 'prix_ht')
     425                );
     426
     427        // On parcours les extension pour chaque prix principal.
     428        while ($data_source = sql_fetch($prix_source)) {
     429                $id_prix_objet = $data_source['id_prix_objet'];
     430                $extensions = sql_select(
     431                                'extension,id_extension,titre',
     432                                'spip_prix_objets',
     433                                'id_prix_objet_source=' . $id_prix_objet);
     434                $applicables = array();
     435                $i = 0;
     436                while ($data_extension = sql_fetch($extensions)) {
     437                        $i++;
     438
     439                        if($extension = charger_fonction($data_extension['extension'], 'prix_objet/', TRUE)) {
     440                                if ($extension($data_extension['id_extension'], $contexte)) {
     441                                        $applicables[] = 1;
     442                                }
     443                        }
     444                        else {
     445                                $applicables[] = 1;
     446                        }
     447                }
     448
     449                // On choisit le premier prix applicable.
     450                if (count($applicables) == $i) {
     451                        $prix =$fonction_prix('prix_objet', $id_prix_objet);
     452                        break;
     453                }
     454        }
     455
     456
     457        // Permettre d'intervenir sur le prix
     458        return pipeline('prix_par_objet', array(
     459                        'data' => $prix,
     460                        'args' => array(
     461                                'objet' => $objet,
     462                                'id_objet' => $id_objet,
     463                                'contexte' => $contexte,
     464                                'type' => $type,
     465                                'options' => $options,
     466                        )
     467                )
     468        );
     469}
  • _plugins_/prix_objets/branches/v1/prix_objets_pipelines.php

    r108424 r110381  
    9191        return $flux;
    9292}
     93
     94/**
     95 * Active des modules de jquery ui
     96 *
     97 * @pipeline jqueryui_plugins
     98 *
     99 * @param array $scripts
     100 *              Données du pipeline
     101 * @return array
     102 */
     103function prix_objets_jqueryui_plugins($scripts) {
     104        $scripts[] = "jquery.ui.sortable";
     105        return $scripts;
     106}
Note: See TracChangeset for help on using the changeset viewer.