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

Source for file class.sdi.php

Documentation is available at class.sdi.php

  1. <?php
  2. /**
  3.  * @package linea21.modules
  4.  * @subpackage sdi
  5.  * @author linea21 <info@linea21.com>
  6.  * @version $id SVN
  7.  * @access public
  8.  * @license http://opensource.org/licenses/gpl-3.0.html
  9.  *  SDI (Sustainable Development Indicators) Management
  10.  */
  11.  
  12. class sdi {
  13.   /* @param
  14.    * */
  15.   // nom des tables utilisées dans l'objet.
  16.   var $TDB_SDI_INFO = T_SDI_INFO ;
  17.   var $TDB_SDI_EVAL = T_SDI_EVAL ;
  18.   var $TDB_SDI_PROVIDER = T_SDI_PROVIDER ;
  19.   var $TDB_SDI_RULES = T_SDI_RULES ;
  20.   var $TDB_SDI_VALUE = T_SDI_VALUE ;
  21.   var $TDB_SD_THEME = T_SD_THEME ;
  22.   var $TDB_THEME = T_THEME ;
  23.   // variables utilisées pour caractéristiques principales d'un IDD
  24.   var $I_ID;
  25.   var $I_NAME;
  26.   var $I_DESCRIPTION;
  27.   var $I_COMMENT;
  28.   var $I_THEME;
  29.   var $I_RANGE;
  30.   var $I_GOAL;
  31.   var $I_CONSULTING;
  32.   var $I_UNIT;
  33.   var $I_MAX_VALUE;
  34.   var $I_MIN_VALUE;
  35.   var $I_THRESHOLD;
  36.   var $I_FREQUENCY;
  37.   var $I_PROVIDER;
  38.   var $I_EVALUATION;
  39.   var $I_DATE_CREA;
  40.   var $I_LAST_MODIFY;
  41.   var $I_STATUT;
  42.   // variables utilisées pour critères d'évaluation d'un ID
  43.   var $E_ID;
  44.   var $E_SCALE;
  45.   var $E_FIABILITY;
  46.   var $E_LISIBILITY;
  47.   var $E_RELEVANCE;
  48.   var $E_DATE_CREA;
  49.   var $E_LAST_MODIFY;
  50.   // variables utilisées pour organisme fournisseur d'un IDD
  51.   var $P_ID;
  52.   var $P_NAME;
  53.   var $P_SERVICE;
  54.   var $P_DESCRIPTION;
  55.   var $P_INCHARGE;
  56.   var $P_ADDRESS;
  57.   var $P_PHONE;
  58.   var $P_FAX;
  59.   var $P_EMAIL;
  60.   var $P_DATE_CREA;
  61.   var $P_LAST_MODIFY;
  62.   // variables utilisées pour réglementation d'un IDD
  63.   var $R_ID;
  64.   var $R_TITLE;
  65.   var $R_BODY;
  66.   var $R_REFERER_URI;
  67.   var $R_MASK_URI;
  68.   var $R_DATE_CREA;
  69.   var $R_LAST_MODIFY;
  70.   // variables utilisées pour valeur d'un IDD
  71.   var $V_ID;
  72.   var $V_VALUE;
  73.   var $V_SDI_ID;
  74.   var $V_COMMENT;
  75.   var $V_SCALE;
  76.   var $V_DATE_CREA;
  77.   var $V_LAST_MODIFY;
  78.   var $V_STATUT;
  79.   protected $dispatcher = null;
  80.  
  81.   public function __construct()
  82.   {
  83.     $this->dispatcher = $GLOBALS['dispatcher'];
  84.   }
  85.  
  86.   public function __call($method$arguments)
  87.   {
  88.     $event $this->dispatcher->notifyUntil(new sfEvent($this'sdi.extensible_function'array(
  89.       'method'    => $method,
  90.       'arguments' => $arguments
  91.     )));
  92.     if (!$event->isProcessed())
  93.     {
  94.       throw new Exception(sprintf('Call to undefined method %s::%s.'get_class($this)$method));
  95.     }
  96.  
  97.     return $event->getReturnValue();
  98.   }
  99.  
  100.   /**
  101.    * sdi::CheckDataIntegrity_value()
  102.    * Vérification d'une valeur d'un indicateur
  103.    *
  104.    * @access public
  105.    * @param array $table contient les composants d'un indicateur
  106.    * @return boolean si vrai renvoie true sinon message d'erreurs (string)
  107.    */
  108.   function CheckDataIntegrity_value($table$sql_object)
  109.   {
  110.  
  111.     $notvalue _t('dashboard','object_notvalue');
  112.     $notgoodvalue _t('dashboard','object_notgoodvalue');
  113.  
  114.     if (!is_numeric($table[0])) return $notvalue;
  115.  
  116.     $result $this->_GetInfoSdi($table[1]$sql_object);
  117.  
  118.     if($result[0]['sdii_max_value'$result[0]['sdii_min_value']{
  119.       if ($table[0$result[0]['sdii_min_value'||  $table[0$result[0]['sdii_max_value']return $notgoodvalue;
  120.     else {
  121.       if($table[0$result[0]['sdii_min_value'|| $table[0$result[0]['sdii_max_value']return $notgoodvalue;
  122.     }
  123.     return checkdate_validity($table[3]);
  124.  
  125.   }
  126.  
  127.   /**
  128.    * sdi::CheckDataIntegrity_info()
  129.    * Vérification des données générales d'un indicateur
  130.    *
  131.    * @access public
  132.    * @param array $table contient les composants d'un indicateur
  133.    * @return boolean si vrai renvoie true sinon message d'erreurs (string)
  134.    */
  135.  
  136.   function CheckDataIntegrity_info($table)
  137.   {
  138.  
  139.     $notname _t('sdi','object_notname');
  140.     $notdescription _t('sdi','object_notdescription');
  141.     $nottheme _t('sdi','object_nottheme');
  142.     //$notrange = _t('sdi','object_notrange');
  143.     $notunit _t('sdi','object_notunit');
  144.     $notmax_value _t('sdi','object_notmax_value');
  145.     $notmin_value _t('sdi','object_notmin_value');
  146.     $notthreshold_value _t('sdi','object_notthreshold_value');
  147.     $notfrequency _t('sdi','object_notfrequency');
  148.  
  149.     if (strlen($table[0]2return $notname;
  150.     if (strlen($table[1]2return $notdescription;
  151.     if ($table[3<= || !is_numeric($table[3])) return $nottheme;
  152.  
  153.     $table[7]=trim($table[7]);
  154.     if (empty($table[7])) return $notunit;
  155.     if (!is_numeric($table[8])) return $notmax_value;
  156.     if (!is_numeric($table[9])) return $notmin_value;
  157.     if (!is_numeric($table[10])) return $notthreshold_value;
  158.     if (!is_numeric($table[11])) return $notfrequency;
  159.  
  160.     return true;
  161.   }
  162.  
  163.   /**
  164.    * sdi::CheckDataIntegrity_eval()
  165.    * Vérification des données d'évaluation d'un indicateur
  166.    *
  167.    * @access public
  168.    * @param array $table contient les composants évaluation d'un indicateur
  169.    * @return boolean si vrai renvoie true sinon message d'erreurs (string)
  170.    */
  171.  
  172.   function CheckDataIntegrity_eval($table)
  173.   {
  174.  
  175.     $note_scale_compare _t('sdi','object_note_scale_compare');
  176.     $note_fiability _t('sdi','object_note_fiability');
  177.     $note_accessibility _t('sdi','object_note_accessibility');
  178.     $note_lisibility _t('sdi','object_note_lisibility');
  179.     $note_relevance _t('sdi','object_note_relevance');
  180.     $note_global_performance _t('sdi','object_note_global_performance');
  181.  
  182.     if (!is_numeric($table[13])) return $note_scale_compare;
  183.     if (!is_numeric($table[14])) return $note_fiability;
  184.     if (!is_numeric($table[15])) return $note_accessibility;
  185.     if (!is_numeric($table[16])) return $note_lisibility;
  186.     if (!is_numeric($table[17])) return $note_relevance;
  187.     if (!is_numeric($table[18])) return $note_global_performance;
  188.  
  189.     return true;
  190.   }
  191.  
  192.   /**
  193.    * sdi::CheckDataIntegrity_provider()
  194.    * Vérification des données d'un fournisseur d'un indicateur
  195.    *
  196.    * @access public
  197.    * @param array $table contient les composants évaluation d'un indicateur
  198.    * @return boolean si vrai renvoie true sinon message d'erreurs (string)
  199.    */
  200.   function CheckDataIntegrity_provider($table)
  201.   {
  202.  
  203.     $notp_name _t('sdi','object_notp_name');
  204.     $notp_address _t('sdi','object_notp_address');
  205.     $notp_phone _t('sdi','object_notp_phone');
  206.     $notp_fax _t('sdi','object_notp_fax');
  207.     $notp_mail _t('sdi','object_notp_mail');
  208.  
  209.     if (strlen($table[19]2return $notp_name;
  210.     if (strlen($table[23]2return $notp_address;
  211.  
  212.     if (trim($table[24]!= '' && !is_numeric($table[24])) return $notp_phone;
  213.     if (trim($table[25]!= '' && !is_numeric($table[25])) return $notp_fax;
  214.  
  215.     $testmail $this->_checkEmailValidity($table[26]);
  216.     if ($testmail===falsereturn $notp_mail;
  217.  
  218.     return true;
  219.   }
  220.  
  221.   /**
  222.    * sdi::_checkEmailValidity()
  223.    * Vérification du mail
  224.    *
  225.    * @access private
  226.    * @param string $email contient les composants d'un mail
  227.    * @return boolean si vrai renvoie true sinon message d'erreurs (string)
  228.    */
  229.   function _checkEmailValidity($email)
  230.   {
  231.     return validEmail($email);
  232.   }
  233.  
  234.   /**
  235.    * sdi::CheckDataIntegrity_reglementation()
  236.    * Vérification des données de réglementation d'un indicateur
  237.    *
  238.    * @access public
  239.    * @param array $table contient les composants réglementation d'un indicateur
  240.    * @return boolean si vrai renvoie true sinon message d'erreurs (string)
  241.    */
  242.   function CheckDataIntegrity_reglementation($table)
  243.   {
  244.  
  245.     $notr_title _t('sdi','object_notr_title');
  246.     $notr_body _t('sdi','object_notr_body');
  247.  
  248.     if (strlen($table[27]2return $notr_title;
  249.     if (strlen($table[28]2return $notr_body;
  250.  
  251.     if(CHECK_LINK==true && !empty($table[29])) {
  252.       if (!$this->CheckOnlineFile($table[29])) return _t('sdi','server_noresponse');
  253.     }
  254.  
  255.     return true;
  256.   }
  257.  
  258.   /**
  259.    * resources::CheckOnlineFile()
  260.    * vérifie l'existence d'un fichier en ligne
  261.    *
  262.    * @access public
  263.    * @param  $path 
  264.    * @return boolean 
  265.    */
  266.   function CheckOnlineFile($path)
  267.   {
  268.     $file_pt @fopen($path'r');
  269.     if (!$file_ptreturn false;
  270.     else {
  271.       fclose($file_pt);
  272.       return true;
  273.     }
  274.   }
  275.  
  276.   /**
  277.    * sdi::_AddProvider()
  278.    * Ajout d'un nouveau fournisseur d'un IDD
  279.    *
  280.    * @access private
  281.    * @param object $sql_object 
  282.    * @return integer $last_id
  283.    */
  284.   function _AddProvider($sql_object)
  285.   {
  286.     $requete "INSERT INTO " $this->TDB_SDI_PROVIDER . " (sdip_name, sdip_service, sdip_description, sdip_incharge, sdip_address, sdip_phone, sdip_fax, sdip_email, sdip_date_crea) VALUES ('','','', '', '', '', '', '',NOW());";
  287.     $last_id $sql_object->DBInsert ($requete1);
  288.     return $last_id;
  289.   }
  290.  
  291.   /**
  292.    * sdi::_AddEvaluation()
  293.    * Ajout de critères d'évaluation d'un IDD
  294.    *
  295.    * @access private
  296.    * @param object $sql_object 
  297.    * @return integer $last_id
  298.    */
  299.   function _AddEvaluation ($sql_object)
  300.   {
  301.     $requete "INSERT INTO " $this->TDB_SDI_EVAL . " (sdie_scale_compare, sdie_fiability, sdie_accessibility, sdie_lisibility, sdie_relevance, sdie_global_performance, sdie_date_crea)VALUES (DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT,NOW());";
  302.     $last_id $sql_object->DBInsert ($requete1);
  303.     return $last_id;
  304.   }
  305.  
  306.  
  307.   /**
  308.    * sdi::_AddRules()
  309.    * Ajout d'une réglementation d'un IDD
  310.    *
  311.    * @access private
  312.    * @param object $sql_object 
  313.    * @return integer $last_id
  314.    */
  315.   function _AddRules($sql_object)
  316.   {
  317.     $requete "INSERT INTO " $this->TDB_SDI_RULES . " (sdir_title, sdir_body, sdir_referer_uri, sdir_mask_uri, sdir_date_crea) VALUES ('', '', '', '', NOW());";
  318.     $last_id $sql_object->DBInsert ($requete1);
  319.     return $last_id;
  320.   }
  321.  
  322.  
  323.   /**
  324.    * sdi::AddSdi()
  325.    * Ajout d'un IDD
  326.    *
  327.    * @access public
  328.    * @param array $table_sdi_info contient les infos detaillees d'un IDD
  329.    * @param object $sql_object 
  330.    * @return integer $last_id
  331.    */
  332.   function AddSdi($table_sdi_info$sql_object)
  333.   {
  334.     $table_sdi_info=$sql_object->DBescape($table_sdi_info);
  335.  
  336.     $this->I_NAME = strip_input($table_sdi_info[0]);
  337.     $this->I_DESCRIPTION = strip_input($table_sdi_info[1]true);
  338.     $this->I_COMMENT = strip_input($table_sdi_info[2]true);
  339.     $this->I_THEME = $table_sdi_info[3];
  340.     $this->I_RANGE = $table_sdi_info[4];
  341.     $this->I_GOAL = strip_input($table_sdi_info[5]true);
  342.     $this->I_CONSULTING = strip_input($table_sdi_info[6]true);
  343.     $this->I_UNIT = strip_input($table_sdi_info[7]);
  344.     $this->I_MAX_VALUE = $table_sdi_info[8];
  345.     $this->I_MIN_VALUE = $table_sdi_info[9];
  346.     $this->I_THRESHOLD = $table_sdi_info[10];
  347.     $this->I_FREQUENCY = $table_sdi_info[11];
  348.  
  349.     $this->I_PROVIDER = $this->_AddProvider($sql_object);
  350.     $this->I_EVALUATION = $this->_AddEvaluation($sql_object);
  351.     $this->I_REGLEMENTATION = $this->_AddRules($sql_object);
  352.     $this->I_STATUT = $table_sdi_info[12];
  353.     $this->I_THRESHOLD_RELATIVE = $table_sdi_info[14];
  354.  
  355.  
  356.  
  357.     $requete "INSERT INTO " $this->TDB_SDI_INFO . " (sdii_name, sdii_description, sdii_comment, sdii_theme, sdii_range, sdii_goal,
  358.         sdii_consulting, sdii_unit, sdii_max_value, sdii_min_value, sdii_threshold_value, sdii_threshold_relative, sdii_frequency, sdii_provider, sdii_evaluation,
  359.         sdii_reglementation, sdii_statut, sdii_date_crea) VALUES ('" $this->I_NAME . "', '" $this->I_DESCRIPTION . "', '"
  360.         . $this->I_COMMENT . "', " $this->I_THEME . ", " $this->I_RANGE . ", '" $this->I_GOAL . "', '"
  361.         . $this->I_CONSULTING . "' , '" $this->I_UNIT . "' , " $this->I_MAX_VALUE . " , " $this->I_MIN_VALUE . " , "
  362.         . $this->I_THRESHOLD . " , '" $this->I_THRESHOLD_RELATIVE . "' , " $this->I_FREQUENCY . " , " $this->I_PROVIDER . " , " $this->I_EVALUATION . " , "
  363.         . $this->I_REGLEMENTATION . " ,'" $this->I_STATUT . "' , NOW());";
  364.  
  365.         $result $sql_object->DBInsert ($requete1);
  366.         return $result;
  367.   }
  368.  
  369.   /**
  370.    * sdi::AddValue()
  371.    * Ajout d'une valeur IDD
  372.    *
  373.    * @access public
  374.    * @param array $table_sdi_value contient les composants d'une valeur d'un IDD
  375.    * @param object $sql_object 
  376.    * @return integer $last_id
  377.    */
  378.   function AddValue($table_sdi_value$sql_object)
  379.   {
  380.     $table_sdi_value=$sql_object->DBescape($table_sdi_value);
  381.  
  382.     $this->V_VALUE = $table_sdi_value[0];
  383.     $this->V_SDI_ID = $table_sdi_value[1];
  384.     $this->V_SCALE = $table_sdi_value[2];
  385.     $this->V_DATE_PUBLISHED = formatDate($table_sdi_value[3]true);
  386.     $this->V_STATUT = $table_sdi_value[4];
  387.     $this->V_COMMENT = $table_sdi_value[5];
  388.     $this->V_COMMENT_DISPLAY = $table_sdi_value[6];
  389.  
  390.     $requete "INSERT INTO " $this->TDB_SDI_VALUE . " (sdiv_value, sdiv_sdi_info, sdiv_comment, sdiv_comment_display, sdiv_scale, sdiv_date_published, sdiv_statut, sdiv_date_crea)
  391.         VALUES (" $this->V_VALUE . ", " $this->V_SDI_ID . ", '" $this->V_COMMENT . "', '" $this->V_COMMENT_DISPLAY . "', "
  392.         . $this->V_SCALE . ", '" $this->V_DATE_PUBLISHED . "', '" $this->V_STATUT . "', NOW());";
  393.  
  394.         $last_id $sql_object->DBInsert ($requete1);
  395.         return $last_id;
  396.   }
  397.  
  398.   /**
  399.    * sdi::ModifySdi()
  400.    * modification d'un IDD
  401.    *
  402.    * @access public
  403.    * @param int $ID identifiant de l'IDD
  404.    * @param object $sql_object 
  405.    * @param array $table_sdi_info contient les composants d'un IDD
  406.    * @return bool $result
  407.    */
  408.   function ModifySdi($ID$table_sdi_info$sql_object)
  409.   {
  410.     $table_sdi_info=$sql_object->DBescape($table_sdi_info);
  411.  
  412.     if (is_numeric($ID)) {
  413.       $this->I_ID = $ID;
  414.     else return false;
  415.  
  416.     $this->I_NAME = strip_input($table_sdi_info[0]);
  417.     $this->I_DESCRIPTION = strip_input($table_sdi_info[1]true);
  418.     $this->I_COMMENT = strip_input($table_sdi_info[2]true);
  419.     $this->I_THEME = $table_sdi_info[3];
  420.     $this->I_RANGE = $table_sdi_info[4];
  421.     $this->I_GOAL = strip_input($table_sdi_info[5]true);
  422.     $this->I_CONSULTING = strip_input($table_sdi_info[6]true);
  423.     $this->I_UNIT = strip_input($table_sdi_info[7]);
  424.     $this->I_MAX_VALUE = $table_sdi_info[8];
  425.     $this->I_MIN_VALUE = $table_sdi_info[9];
  426.     $this->I_THRESHOLD = $table_sdi_info[10];
  427.     $this->I_FREQUENCY = $table_sdi_info[11];
  428.     $this->I_STATUT = $table_sdi_info[12];
  429.     $this->I_THRESHOLD_RELATIVE = $table_sdi_info[13];
  430.  
  431.     $requete "UPDATE " $this->TDB_SDI_INFO . " SET sdii_name='" $this->I_NAME . "', sdii_description='"
  432.     . $this->I_DESCRIPTION . "', sdii_comment='" $this->I_COMMENT . "', sdii_theme="
  433.     . $this->I_THEME . ", sdii_range=" $this->I_RANGE . ", sdii_goal='"
  434.     . $this->I_GOAL . "', sdii_consulting='" $this->I_CONSULTING . "', sdii_unit='"
  435.     . $this->I_UNIT . "', sdii_max_value=" $this->I_MAX_VALUE . ", sdii_min_value="
  436.     . $this->I_MIN_VALUE . ", sdii_threshold_value=" $this->I_THRESHOLD . ", sdii_threshold_relative='" $this->I_THRESHOLD_RELATIVE . "', sdii_frequency="
  437.     . $this->I_FREQUENCY . ", sdii_statut='"
  438.     . $this->I_STATUT . "', sdii_last_modify= NOW()
  439.         WHERE sdii_id=" $this->I_ID . ";";
  440.     $result $sql_object->DBQuery ($requete);
  441.     return $result;
  442.   }
  443.  
  444.   /**
  445.    * sdi::_GetKeysSdi()
  446.    * récupération des clés d'un ID
  447.    *
  448.    * @access private
  449.    * @param int $id_id identifiant de l'IDD
  450.    * @param object $sql_object 
  451.    * @return array $table_key
  452.    */
  453.   function _GetKeysSdi($sdi_id$sql_object)
  454.   {
  455.     if (is_numeric($sdi_id)) {
  456.       $this->I_ID = $sdi_id;
  457.     }
  458.     $requete "SELECT sdii_provider, sdii_evaluation, sdii_reglementation
  459.         FROM " $this->TDB_SDI_INFO . "
  460.         WHERE sdii_id=" $this->I_ID . ";";
  461.     $result $sql_object->DBSelect($requete);
  462.  
  463.     return $result;
  464.  
  465.   }
  466.  
  467.   /**
  468.    * sdi::ModifyParam()
  469.    * modification des paramètres d'un IDD en fonction de son sdii_id
  470.    *
  471.    * @access public
  472.    * @param int $ID identifiant de l'IDD
  473.    * @param array $tableparam contient les composants d'un IDD
  474.    * @param string $param paramètre passé :
  475.    *  E -> evaluation
  476.    *  P -> provider
  477.    *  R -> reglementation
  478.    * @param object $sql_object 
  479.    * @return bool $result
  480.    */
  481.   function ModifyParam($ID$tableparam$param$sql_object)
  482.   {
  483.     $param strtoupper($param);
  484.     switch ($param{
  485.       case 'E':
  486.         $data $this->_GetKeysSdi($ID$sql_object);
  487.         $id_e $data[0]['sdii_evaluation'];
  488.         $result $this->_ModifyEvaluation($id_e$tableparam$sql_object);
  489.         break;
  490.       case 'P':
  491.         $data $this->_GetKeysSdi($ID$sql_object);
  492.         $id_p $data[0]['sdii_provider'];
  493.         $result $this->_ModifyProvider($id_p$tableparam$sql_object);
  494.         break;
  495.       case 'R':
  496.         $data $this->_GetKeysSdi($ID$sql_object);
  497.         $id_r $data[0]['sdii_reglementation'];
  498.         $result $this->_ModifyRules($id_r$tableparam$sql_object);
  499.         break;
  500.     }
  501.     return $result;
  502.   }
  503.   /**
  504.    * sdi::DeleteSdi()
  505.    * suppression d'un IDD
  506.    *
  507.    * @access public
  508.    * @param int $id identifiant de l'IDD a supprimer
  509.    * @param object $sql_object 
  510.    * @return bool $result
  511.    */
  512.   function DeleteSdi($ID$sql_object)
  513.   {
  514.     $state "E";
  515.     $result $this->StateSdi($ID$state$sql_object);
  516.     $requete "UPDATE " $this->TDB_SDI_VALUE . " SET sdiv_statut='" $state "' WHERE sdiv_sdi_info=" $ID ";";
  517.     $result2 $sql_object->DBQuery ($requete);
  518.     return $result;
  519.   }
  520.  
  521.   /**
  522.    * sdi::_ModifyEvaluation()
  523.    * modification d'une évaluation IDD
  524.    *
  525.    * @access private
  526.    * @param int $ID identifiant de l'évaluation
  527.    * @param object $sql_object 
  528.    * @param array $table_sdi_eval contient les composants d'un IDD
  529.    * @return bool $result
  530.    */
  531.   function _ModifyEvaluation($ID$table_sdi_eval$sql_object)
  532.   {
  533.     $table_sdi_eval=$sql_object->DBescape($table_sdi_eval);
  534.  
  535.     if (is_numeric($ID)) {
  536.       $this->E_ID = $ID;
  537.     else return false;
  538.  
  539.     $this->E_SCALE = empty_numeric($table_sdi_eval[0]);
  540.     $this->E_FIABILITY = empty_numeric($table_sdi_eval[1]);
  541.     $this->E_ACCESSIBILITY = empty_numeric($table_sdi_eval[2]);
  542.     $this->E_LISIBILITY = empty_numeric($table_sdi_eval[3]);
  543.     $this->E_RELEVANCE = empty_numeric($table_sdi_eval[4]);
  544.     $this->E_GLOBAL_PERFORMANCE = empty_numeric($table_sdi_eval[5]);
  545.  
  546.  
  547.     $requete "UPDATE " $this->TDB_SDI_EVAL . " SET sdie_scale_compare='" $this->E_SCALE . "', sdie_fiability='"
  548.     . $this->E_FIABILITY . "', sdie_accessibility='" $this->E_ACCESSIBILITY . "', sdie_lisibility='"
  549.     . $this->E_LISIBILITY . "', sdie_relevance='" $this->E_RELEVANCE . "', sdie_global_performance='"
  550.     . $this->E_GLOBAL_PERFORMANCE . "', sdie_last_modify = NOW()
  551.         WHERE sdie_id=" $this->E_ID . ";";
  552.     $result $sql_object->DBQuery ($requete);
  553.     return $result;
  554.   }
  555.  
  556.   /**
  557.    * sdi::_ModifyProvider()
  558.    * modification d'un fournisseur IDD
  559.    *
  560.    * @access private
  561.    * @param int $ID identifiant du fournisseur
  562.    * @param object $sql_object 
  563.    * @param array $table_sdi_provider contient les composants d'un fournisseur
  564.    * @return bool $result
  565.    */
  566.   function _ModifyProvider ($ID$table_sdi_provider$sql_object)
  567.   {
  568.     $table_sdi_provider=$sql_object->DBescape($table_sdi_provider);
  569.  
  570.     if (is_numeric($ID)) {
  571.       $this->P_ID = $ID;
  572.     else return false;
  573.  
  574.     $this->P_NAME = strip_input($table_sdi_provider[0]);
  575.     $this->P_SERVICE = strip_input($table_sdi_provider[1]);
  576.     $this->P_DESCRIPTION = strip_input($table_sdi_provider[2]true);
  577.     $this->P_INCHARGE = strip_input($table_sdi_provider[3]);
  578.     $this->P_ADDRESS = strip_input($table_sdi_provider[4]true);
  579.     $this->P_PHONE = strip_input($table_sdi_provider[5]);
  580.     $this->P_FAX = strip_input($table_sdi_provider[6]);
  581.     $this->P_EMAIL = strip_input($table_sdi_provider[7]);
  582.  
  583.     $requete "UPDATE " $this->TDB_SDI_PROVIDER . " SET sdip_name= '" $this->P_NAME . "', sdip_service='"
  584.     . $this->P_SERVICE . "', sdip_description='" $this->P_DESCRIPTION . "', sdip_incharge='"
  585.     . $this->P_INCHARGE . "', sdip_address='" $this->P_ADDRESS . "', sdip_phone='"
  586.     . $this->P_PHONE . "', sdip_fax='" $this->P_FAX . "', sdip_email='"
  587.     . $this->P_EMAIL . "', sdip_last_modify = NOW()
  588.         WHERE sdip_id='" $this->P_ID . "';";
  589.     $result $sql_object->DBQuery ($requete);
  590.     return $result;
  591.   }
  592.  
  593.   /**
  594.    * sdi::_ModifyRules()
  595.    * modification d'une réglementation
  596.    *
  597.    * @access private
  598.    * @param int $ID identifiant d'une réglementation
  599.    * @param object $sql_object 
  600.    * @param array $table_sdi_rules contient les composants d'une réglementation
  601.    * @return bool $result
  602.    */
  603.   function _ModifyRules ($ID$table_sdi_rules$sql_object)
  604.   {
  605.     $table_sdi_rules=$sql_object->DBescape($table_sdi_rules);
  606.  
  607.     if (is_numeric($ID)) {
  608.       $this->R_ID = $ID;
  609.     else return false;
  610.  
  611.     $this->R_TITLE = strip_input($table_sdi_rules[0]);
  612.     $this->R_BODY = strip_input($table_sdi_rules[1]true);
  613.     $this->R_REFERER_URI = strip_input($table_sdi_rules[2]);
  614.     $this->R_MASK_URI = strip_input($table_sdi_rules[3]);
  615.  
  616.     $requete "UPDATE " $this->TDB_SDI_RULES . " SET sdir_title= '" $this->R_TITLE . "', sdir_body='"
  617.     . $this->R_BODY . "', sdir_referer_uri='" $this->R_REFERER_URI . "', sdir_mask_uri='"
  618.     . $this->R_MASK_URI . "',  sdir_last_modify = NOW()
  619.         WHERE sdir_id='" $this->R_ID . "';";
  620.     $result $sql_object->DBQuery ($requete);
  621.     return $result;
  622.   }
  623.  
  624.   /**
  625.    * sdi::ModifyValue()
  626.    * modification d'une valeur
  627.    *
  628.    * @access public
  629.    * @param int $ID identifiant d'une valeur
  630.    * @param object $sql_object 
  631.    * @param array $table_sdi_value contient les composants d'une valeur
  632.    * @return bool $result
  633.    */
  634.   function ModifyValue ($ID$table_sdi_value$sql_object)
  635.   {
  636.     $table_sdi_value=$sql_object->DBescape($table_sdi_value);
  637.  
  638.     if (is_numeric($ID)) {
  639.       $this->V_ID = $ID;
  640.     else return false;
  641.  
  642.     $this->V_VALUE = $table_sdi_value[0];
  643.     $this->V_SDI_ID = $table_sdi_value[1];
  644.     $this->V_SCALE = $table_sdi_value[2];
  645.     $this->V_DATE_PUBLISHED = formatDate($table_sdi_value[3]true);
  646.     $this->V_STATUT = $table_sdi_value[4];
  647.     $this->V_COMMENT = $table_sdi_value[5];
  648.     $this->V_COMMENT_DISPLAY = $table_sdi_value[6];
  649.  
  650.     $requete "UPDATE " $this->TDB_SDI_VALUE . " SET sdiv_value=" $this->V_VALUE . ", sdiv_sdi_info="
  651.     . $this->V_SDI_ID . ", sdiv_comment='".$this->V_COMMENT."', sdiv_comment_display='".$this->V_COMMENT_DISPLAY."', sdiv_scale=" $this->V_SCALE . ",sdiv_date_published='" $this->V_DATE_PUBLISHED . "',sdiv_statut='" $this->V_STATUT . "', sdiv_last_modify = NOW()
  652.         WHERE sdiv_id=" $this->V_ID . ";";
  653.     $result $sql_object->DBQuery ($requete);
  654.     return $result;
  655.   }
  656.  
  657.   /**
  658.    * sdi::ModifyRange()
  659.    * modification simple du rang d'un IDD
  660.    *
  661.    * @access public
  662.    * @param int $ID identifiant de l'IDD
  663.    * @param object $sql_object 
  664.    * @param int $range contient la valeur du rang à modifier
  665.    * @return bool $result
  666.    */
  667.   function ModifyRange ($ID$range$sql_object)
  668.   {
  669.     if (is_numeric($ID)) {
  670.       $this->I_ID = $ID;
  671.     else return false;
  672.  
  673.     if (is_numeric($range)) {
  674.       $this->I_RANGE = $range;
  675.     else return false;
  676.  
  677.     $requete "UPDATE " $this->TDB_SDI_INFO . " SET sdii_range=" $this->I_RANGE . ",
  678.         sdii_last_modify= NOW()
  679.         WHERE sdii_id='" $this->I_ID . "';";
  680.     $result $sql_object->DBQuery ($requete);
  681.     return $result;
  682.   }
  683.  
  684.   /**
  685.    * sdi::StateSdi()
  686.    * modification simple du statut d'un IDD
  687.    *
  688.    * @access public
  689.    * @param int $ID identifiant de l'IDD
  690.    * @param object $sql_object 
  691.    * @param string $state contient la valeur du statut à modifier
  692.    * @return bool $result
  693.    */
  694.   function StateSdi ($ID$state$sql_object)
  695.   {
  696.     if (is_numeric($ID)) {
  697.       $this->ID $ID;
  698.     else return false;
  699.  
  700.     $requete "UPDATE " $this->TDB_SDI_INFO . " SET sdii_statut='" $state "' WHERE sdii_id=" $this->ID ";";
  701.     $result $sql_object->DBQuery ($requete);
  702.     return $result;
  703.   }
  704.  
  705.  
  706.  
  707.   /**
  708.    * sdi::StateValue()
  709.    * modification simple du statut d'une valeur d'un IDD
  710.    *
  711.    * @access public
  712.    * @param int $id identifiant de l'IDD
  713.    * @param object $sql_object 
  714.    * @param string $state contient la valeur du statut à modifier
  715.    * @return bool $result
  716.    */
  717.   function StateValue ($ID$state$sql_object)
  718.   {
  719.     if (is_numeric($ID)) {
  720.       $this->ID $ID;
  721.     else return false;
  722.     $requete "UPDATE " $this->TDB_SDI_VALUE . " SET sdiv_statut='" $state "' WHERE sdiv_id=" $this->ID ";";
  723.     $result $sql_object->DBQuery ($requete);
  724.     return $result;
  725.   }
  726.  
  727.   /**
  728.    * sdi::DeleteValue()
  729.    * suppression  d'une valeur d'un IDD
  730.    *
  731.    * @access public
  732.    * @param int $id identifiant de la valeur a supprimer
  733.    * @param object $sql_object 
  734.    * @return bool $result
  735.    */
  736.   function DeleteValue ($ID$sql_object)
  737.   {
  738.     $state "E";
  739.     $result $this->StateValue($ID$state$sql_object);
  740.     return $result;
  741.   }
  742.  
  743.  
  744.   function _GetInfoSdi($id$sql_object)
  745.   {
  746.     if(SQL=='mysql'$datefunction="DATE_FORMAT";
  747.     if(SQL=='pgsql'$datefunction="to_char";
  748.     $requete "SELECT II.sdii_id, II.sdii_name, II.sdii_description, II.sdii_comment, T.theme_name, II.sdii_theme,
  749.         II.sdii_range, II.sdii_goal, II.sdii_consulting, II.sdii_unit, II.sdii_max_value, II.sdii_min_value,
  750.         II.sdii_threshold_value, II.sdii_threshold_relative, II.sdii_frequency, II.sdii_provider, IP.sdip_name, II.sdii_evaluation, II.sdii_reglementation,
  751.         " $datefunction "(II.sdii_date_crea, '" toStringSqlDate("' ) AS date_c, II.sdii_statut
  752.         FROM " $this->TDB_SDI_INFO . " AS II LEFT OUTER JOIN " $this->TDB_THEME . " as T on II.sdii_theme=T.theme_id
  753.         LEFT OUTER JOIN " $this->TDB_SDI_PROVIDER . " as IP on II.sdii_provider=IP.sdip_id";
  754.     $requete .= " WHERE II.sdii_id=" $id ";";
  755.  
  756.     $result $sql_object->DBSelect ($requete);
  757.  
  758.     return $result;
  759.   }
  760.  
  761.  
  762. }
  763.  
  764. ?>

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