linea21-modules
[ class tree: linea21-modules ] [ index: linea21-modules ] [ all elements ]

Source for file class.level.php

Documentation is available at class.level.php

  1. <?php
  2. /**
  3.  * @package linea21.modules
  4.  * @subpackage level
  5.  * @author linea21 <info@linea21.com>
  6.  * @version $id SVN
  7.  * @access public
  8.  * @license http://opensource.org/licenses/gpl-3.0.html
  9.  *  Level Management
  10.  */
  11.  
  12. class level {
  13.   /* @param
  14.    * */
  15.   var $TDB_LEVEL = T_LEVEL// nom de la table.
  16.   var $URI_INPUT = "level/visual/"// dossier racine de stockage des photos
  17.   var $ID;
  18.   var $NAME;
  19.   var $DESCRIPTION;
  20.   var $COMMENT;
  21.   var $VISUAL_URI;
  22.   var $RANGE;
  23.   var $DATE_CREA;
  24.   var $STATUT;
  25.   var $LAST_MODIFY;
  26.  
  27.   var $UPLOAD_MAX_MO = UPLOAD_MAX_MO// taille maximale d'upload des photos en octets
  28.   var $MAX_PHOTO_MAX_WIDTH = 50;
  29.   var $MAX_PHOTO_MIN_WIDTH = 50;
  30.   protected $dispatcher = null;
  31.  
  32.   public function __construct()
  33.   {
  34.     $this->dispatcher = $GLOBALS['dispatcher'];
  35.   }
  36.  
  37.   public function __call($method$arguments)
  38.   {
  39.     $event $this->dispatcher->notifyUntil(new sfEvent($this'level.extensible_function'array(
  40.       'method'    => $method,
  41.       'arguments' => $arguments
  42.     )));
  43.     if (!$event->isProcessed())
  44.     {
  45.       throw new Exception(sprintf('Call to undefined method %s::%s.'get_class($this)$method));
  46.     }
  47.  
  48.     return $event->getReturnValue();
  49.   }
  50.  
  51.  
  52.   /**
  53.    * level::CheckDataIntegrity()
  54.    * vérifie l'integrité des données d'un niveau
  55.    *
  56.    * @access public
  57.    * @param array $table_level : contient les composants d'un niveau
  58.    * @param object $sql_object 
  59.    * @return boolean true
  60.    *  si verifié, sinon string 'message d'erreur'
  61.    */
  62.   function CheckDataIntegrity($table_level)
  63.   {
  64.     if (strlen($table_level[0]2return _t('level','object_notdenomination');
  65.  
  66.     return true;
  67.   }
  68.  
  69.   /**
  70.    * level::AddLevel()
  71.    * Ajout d'un niveau
  72.    *
  73.    * @access public
  74.    * @param array $table_level contient les composants d'un niveau
  75.    * @param object $sql_object 
  76.    * @return integer $last_id
  77.    */
  78.   function AddLevel($table_level$sql_object)
  79.   {
  80.     $table_level=$sql_object->DBescape($table_level);
  81.     if ($table_level[0!= ''{
  82.       $this->NAME = strip_input($table_level[0]);
  83.     }
  84.     if ($table_level[1!= ''{
  85.       $this->DESCRIPTION = strip_input($table_level[1]true);
  86.     }
  87.     $this->COMMENT = strip_input($table_level[2]true);
  88.  
  89.     $this->VISUAL_URI = strip_input($table_level[3]);
  90.  
  91.     if (is_numeric($table_level[4])) {
  92.       $this->RANGE = $table_level[4];
  93.     }
  94.     if ($table_level[5!= ''{
  95.       strtoupper($table_level[5]);
  96.       switch ($table_level[5]{
  97.         case 'P':
  98.           $this->STATUT = $table_level[5];
  99.           break;
  100.         case 'D':
  101.           $this->STATUT = $table_level[5];
  102.           break;
  103.         default:
  104.           $this->STATUT = 'P';
  105.           break;
  106.       }
  107.     else $this->STATUT = 'P';
  108.  
  109.     $requete "INSERT INTO " $this->TDB_LEVEL . " (level_name, level_description, level_comment, level_visual_identity, " "level_range, level_statut, level_date_crea) " "VALUES('" $this->NAME . "', '" $this->DESCRIPTION . "', '" $this->COMMENT . "', '" $this->VISUAL_URI . "', " $this->RANGE . ", '" $this->STATUT . "', NOW());";
  110.     $last_id $sql_object->DBInsert ($requete1);
  111.     return $last_id;
  112.   }
  113.  
  114.   /**
  115.    * level::ModifyLevel()
  116.    * modification d'un niveau
  117.    *
  118.    * @access public
  119.    * @param int $id identifiant niveau a modifier
  120.    * @param array $table_level contient les composants d'un niveau
  121.    * @param object $sql_object 
  122.    * @return bool $result
  123.    */
  124.   function ModifyLevel($ID$table_level$sql_object)
  125.   {
  126.     $table_level=$sql_object->DBescape($table_level);
  127.     if (is_numeric($ID)) {
  128.       $this->ID = $ID;
  129.     }
  130.     if ($table_level[0!= ''{
  131.       $this->NAME = strip_input($table_level[0]);
  132.     }
  133.     if ($table_level[1!= ''{
  134.       $this->DESCRIPTION = strip_input($table_level[1]true);
  135.     }
  136.     $this->COMMENT = strip_input($table_level[2]true);
  137.  
  138.     $this->VISUAL_URI = strip_input($table_level[3]);
  139.  
  140.     if (is_numeric($table_level[4])) {
  141.       $this->RANGE = $table_level[4];
  142.     }
  143.     if ($table_level[5!= ''{
  144.       strtoupper($table_level[5]);
  145.       switch ($table_level[5]{
  146.         case 'P':
  147.           $this->STATUT = $table_level[5];
  148.           break;
  149.         case 'D':
  150.           $this->STATUT = $table_level[5];
  151.           break;
  152.         default:
  153.           $this->STATUT = 'P';
  154.           break;
  155.       }
  156.     else $this->STATUT = 'P';
  157.  
  158.     $requete "UPDATE  " $this->TDB_LEVEL . " set level_name='" $this->NAME . "', level_description='" $this->DESCRIPTION . "' , level_comment='" $this->COMMENT . "', level_visual_identity='" $this->VISUAL_URI . "',level_range=" $this->RANGE . ", level_statut='" $this->STATUT . "', level_last_modify=NOW() WHERE level_id=" $this->ID . ";";
  159.     $result $sql_object->DBQuery($requete);
  160.     return $result;
  161.   }
  162.  
  163.   /**
  164.    * level::StateLevel()
  165.    * modification du statut d'un niveau
  166.    * -- NE PREND PAS EN CHARGE l'EFFACEMENT --
  167.    *
  168.    * @access public
  169.    * @param int $ID identifiant du niveau
  170.    * @param string $state 'P' Public | 'D' Draft/
  171.    * @param object $sql_object 
  172.    * @return bool $result
  173.    */
  174.   function StateLevel($ID$state$sql_object)
  175.   {
  176.     $this->ID = $ID;
  177.     strtoupper($state);
  178.     switch ($state{
  179.       case 'P':
  180.         $this->STATUT = $state;
  181.         break;
  182.       case 'D':
  183.         $this->STATUT = $state;
  184.         break;
  185.       default:
  186.         $this->STATUT = 'P';
  187.         break;
  188.     }
  189.     $requete "UPDATE  " $this->TDB_LEVEL . " set level_statut='" $this->STATUT . "' WHERE level_id=" $this->ID . ";";
  190.     $result $sql_object->DBQuery($requete);
  191.     return $result;
  192.   }
  193.  
  194.   /**
  195.    * level::DeleteLevel()
  196.    * suppression d'un niveau
  197.    *  -- NON IMPLEMENTEE/NON TESTEE DANS L'APPLICATION --
  198.    *
  199.    * @access public
  200.    * @param int $ID identifiant du niveau
  201.    * @param object $sql_object 
  202.    * @param string $type type : 'MASS_DELETE' toutes les ressources associées à l'échelle sont rendues inactives
  203.    *  'MASS_MODIFY' remplacement de l'ancienne échelle par $ID_new
  204.    * @param int $ID_new identifiant du nouveau niveau a rattacher
  205.    * @return object $affected
  206.    */
  207.  
  208.   function DeleteLevel($ID$sql_object$type$ID_new = -1)
  209.   {
  210.     $affected 0;
  211.     if (is_numeric($ID)) {
  212.       $this->ID = $ID;
  213.     }
  214.     if ($type == 'MASS_MODIFY'{
  215.       if ($ID_new != -&& is_numeric($ID_new)) {
  216.         $requete "UPDATE  " $this->TDB_LEVEL . " set level_statut='E', level_last_modify=NOW() WHERE level_id=" $this->ID . ";";
  217.         $result $sql_object->DBQuery($requete);
  218.         if ($result == true{
  219.           $requete_news "UPDATE  " T_NEWS " set news_level=" $ID_new " WHERE  news_level=" $this->ID . ";";
  220.           $result $sql_object->DBQuery($requete_news);
  221.           $affected += $sql_object->DBaffectedRow();
  222.           $requete_publication "UPDATE  " T_PUBLI " set publi_level=" $ID_new " WHERE  publi_level=" $this->ID . ";";
  223.           $result $sql_object->DBQuery($requete_publication);
  224.           $affected += $sql_object->DBaffectedRow();
  225.         }
  226.       }
  227.     }
  228.     if ($type == 'MASS_DELETE'{
  229.       $requete "UPDATE  " $this->TDB_LEVEL . " set level_statut='E', level_last_modify=NOW() WHERE level_id=" $this->ID . ";";
  230.       $result $sql_object->DBQuery($requete);
  231.       if ($result == true{
  232.         $requete_news "UPDATE  " T_NEWS " set news_statut='E' WHERE  news_level=" $this->ID . ";";
  233.         $result $sql_object->DBQuery($requete_news);
  234.         $affected += $sql_object->DBaffectedRow();
  235.         $requete_publication "UPDATE  " T_PUBLI " set publi_statut='E' WHERE  publi_level=" $this->ID . ";";
  236.         $result $sql_object->DBQuery($requete_publication);
  237.         $affected += $sql_object->DBaffectedRow();
  238.       }
  239.     }
  240.     return $affected;
  241.   }
  242.  
  243.  
  244. }
  245.  
  246. ?>

Documentation generated on Thu, 03 May 2012 15:02:29 +0200 by phpDocumentor 1.4.1