phpDocumentor lodel-logic
[ class tree: lodel-logic ] [ index: lodel-logic ] [ all elements ]

Source for file class.options.php

Documentation is available at class.options.php

  1. <?php
  2. /**    
  3.  * Logique des options
  4.  *
  5.  * PHP versions 4 et 5
  6.  *
  7.  * LODEL - Logiciel d'Edition ELectronique.
  8.  *
  9.  * Home page: http://www.lodel.org
  10.  * E-Mail: lodel@lodel.org
  11.  *
  12.  * All Rights Reserved
  13.  *
  14.  * This program is free software; you can redistribute it and/or modify
  15.  * it under the terms of the GNU General Public License as published by
  16.  * the Free Software Foundation; either version 2 of the License, or
  17.  * (at your option) any later version.
  18.  *
  19.  * This program is distributed in the hope that it will be useful,
  20.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  21.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  22.  * GNU General Public License for more details.
  23.  *
  24.  * You should have received a copy of the GNU General Public License
  25.  * along with this program; if not, write to the Free Software
  26.  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  27.  *
  28.  * @package lodel/logic
  29.  * @author Ghislain Picard
  30.  * @author Jean Lamy
  31.  * @copyright 2001-2002, Ghislain Picard, Marin Dacos
  32.  * @copyright 2003, Ghislain Picard, Marin Dacos, Luc Santeramo, Nicolas Nutten, Anne Gentil-Beccot
  33.  * @copyright 2004, Ghislain Picard, Marin Dacos, Luc Santeramo, Anne Gentil-Beccot, Bruno Cénou
  34.  * @copyright 2005, Ghislain Picard, Marin Dacos, Luc Santeramo, Gautier Poupeau, Jean Lamy, Bruno Cénou
  35.  * @copyright 2006, Marin Dacos, Luc Santeramo, Bruno Cénou, Jean Lamy, Mikaël Cixous, Sophie Malafosse
  36.  * @copyright 2007, Marin Dacos, Bruno Cénou, Sophie Malafosse, Pierre-Alain Mignot
  37.  * @licence http://www.gnu.org/copyleft/gpl.html
  38.  * @since Fichier ajouté depuis la version 0.8
  39.  * @version CVS:$Id: class.options.php 4006 2007-10-05 11:53:41Z malafosse $
  40.  */
  41.  
  42. /**
  43.  * Classe de logique des options
  44.  * 
  45.  * @package lodel/logic
  46.  * @author Ghislain Picard
  47.  * @author Jean Lamy
  48.  * @copyright 2001-2002, Ghislain Picard, Marin Dacos
  49.  * @copyright 2003, Ghislain Picard, Marin Dacos, Luc Santeramo, Nicolas Nutten, Anne Gentil-Beccot
  50.  * @copyright 2004, Ghislain Picard, Marin Dacos, Luc Santeramo, Anne Gentil-Beccot, Bruno Cénou
  51.  * @copyright 2005, Ghislain Picard, Marin Dacos, Luc Santeramo, Gautier Poupeau, Jean Lamy, Bruno Cénou
  52.  * @copyright 2006, Marin Dacos, Luc Santeramo, Bruno Cénou, Jean Lamy, Mikaël Cixous, Sophie Malafosse
  53.  * @copyright 2007, Marin Dacos, Bruno Cénou, Sophie Malafosse, Pierre-Alain Mignot
  54.  * @licence http://www.gnu.org/copyleft/gpl.html
  55.  * @since Classe ajouté depuis la version 0.8
  56.  * @see logic.php
  57.  */
  58. class OptionsLogic extends Logic {
  59.  
  60.     /** Constructor
  61.     */
  62.     function OptionsLogic({
  63.         $this->Logic("options");
  64.     }
  65.  
  66.  
  67.     /**
  68.      * Changement du rang d'un objet
  69.      *
  70.      * @param array &$context le contexte passé par référence
  71.      * @param array &$error le tableau des erreurs éventuelles passé par référence
  72.      */
  73.     function changeRankAction(&$context&$error)
  74.  
  75.     {
  76.         return Logic::changeRankAction(&$context&$error'idgroup');
  77.     }
  78.  
  79.  
  80.     /**
  81.      * Ajout d'un nouvel objet ou Edition d'un objet existant
  82.      *
  83.      * Ajout d'une option
  84.      *
  85.      * @param array &$context le contexte passé par référence
  86.      * @param array &$error le tableau des erreurs éventuelles passé par référence
  87.      */
  88.     function editAction(&$context&$error$clean false)
  89.     
  90.         if (!$context['title']{
  91.             $context['title'$context['name'];
  92.         }
  93.         $ret Logic::editAction($context,$error);
  94.         if (!$error{
  95.             $this->clearCache();
  96.         }
  97.         return $ret;
  98.     }
  99.  
  100.     /**
  101.      * Suppression d'un objet
  102.      *
  103.      * @param array &$context le contexte passé par référence
  104.      * @param array &$error le tableau des erreurs éventuelles passé par référence
  105.      */
  106.     function deleteAction(&$context,&$error)
  107.  
  108.     {
  109.         $ret=Logic::deleteAction($context,$error);
  110.         if (!$error$this->clearCache();
  111.         return $ret;
  112.  
  113.     }
  114.     /**
  115.      * Effacement du cache
  116.      */
  117.     function clearCache()
  118.     {
  119.         @unlink(SITEROOT"CACHE/options_cache.php");
  120.     }
  121.  
  122.  
  123.     /**
  124.      * Construction des balises select HTML pour cet objet
  125.      *
  126.      * @param array &$context le contexte, tableau passé par référence
  127.      * @param string $var le nom de la variable du select
  128.      */
  129.     function makeSelect(&$context,$var)
  130.     {
  131.  
  132.         switch($var{
  133.         case "userrights":
  134.             require_once("commonselect.php");
  135.             makeSelectUserRights($context['userrights']);
  136.             break;
  137.         case "type" :
  138.             require_once("commonselect.php");
  139.             makeSelectFieldTypes($context['type']);
  140.             break;
  141.         case "edition" :
  142.             require_once("commonselect.php");
  143.             makeSelectEdition($context['edition']);
  144.             break;
  145.         }
  146.     }
  147.  
  148.     /**
  149.     * Sauve des données dans des tables liées éventuellement
  150.     *
  151.     * Appelé par editAction pour effectuer des opérations supplémentaires de sauvegarde.
  152.     *
  153.     * @param object $vo l'objet qui a été créé
  154.     * @param array $context le contexte
  155.     */
  156.     function _saveRelatedTables($vo,$context)
  157.     {
  158.         // reinitialise le cache surement.
  159.     }
  160.  
  161.  
  162.     /**
  163.      * Suppression dans les tables liées
  164.      *
  165.      * @param integer $id identifiant numérique de l'objet supprimé
  166.      */
  167.     function _deleteRelatedTables($id
  168.     {
  169.         // reinitialise le cache surement.
  170.     }
  171.  
  172.  
  173.     // begin{publicfields} automatic generation  //
  174.  
  175.     /**
  176.      * Retourne la liste des champs publics
  177.      * @access private
  178.      */
  179.     function _publicfields(
  180.     {
  181.         return array('name' => array('text''+'),
  182.                                     'title' => array('text''+'),
  183.                                     'altertitle' => array('mltext'''),
  184.                                     'idgroup' => array('int''+'),
  185.                                     'type' => array('select'''),
  186.                                     'edition' => array('select'''),
  187.                                     'editionparams' => array('text'''),
  188.                                     'userrights' => array('select''+'),
  189.                                     'defaultvalue' => array('text'''),
  190.                                     'comment' => array('longtext'''));
  191.     }
  192.     // end{publicfields} automatic generation  //
  193.  
  194.     // begin{uniquefields} automatic generation  //
  195.  
  196.     /**
  197.      * Retourne la liste des champs uniques
  198.      * @access private
  199.      */
  200.     function _uniqueFields(
  201.     
  202.         return array(array('name''idgroup'));
  203.     }
  204.     // end{uniquefields} automatic generation  //
  205.  
  206.  
  207. // class 
  208.  
  209.  
  210. /*-----------------------------------*/
  211. /* loops                             */
  212. /*-----------------------------------*/
  213. function humanfieldtype($text)
  214. {
  215.     return $GLOBALS['fieldtypes'][$text];
  216. }
  217. ?>

Documentation generated on Thu, 24 Jul 2008 05:08:00 +0200 by phpDocumentor 1.4.0a2