/[openfoncier]/trunk/obj/dossier.class.php
ViewVC logotype

Diff of /trunk/obj/dossier.class.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2241 by nhaye, Wed Sep 4 14:27:32 2013 UTC revision 2313 by softime, Wed Sep 18 15:31:34 2013 UTC
# Line 93  class dossier extends dossier_gen { Line 93  class dossier extends dossier_gen {
93                  $this->actions_sup['donnees_techniques'] = NULL;                  $this->actions_sup['donnees_techniques'] = NULL;
94              }              }
95          }          }
96    
97            // Si l'option sig n'est pas réglé sur 'sig_externe',
98            // l'action géolocalisation n'est pas affiché
99            if ($this->f->getParameter('option_sig') != 'sig_externe') {
100                //
101                $this->actions_sup["geolocalisation"] = NULL;
102            }
103      }      }
104    
105      /**      /**
# Line 578  class dossier extends dossier_gen { Line 585  class dossier extends dossier_gen {
585              $form->setType('parcelle_archive','hidden');              $form->setType('parcelle_archive','hidden');
586              $form->setType('parcelle_lot_archive','hidden');              $form->setType('parcelle_lot_archive','hidden');
587              $form->setType('geom1','hidden');              $form->setType('geom1','hidden');
588              $form->setType('geom','hiddenstatic');              $form->setType('geom','static');
589              $form->setType('a_qualifier', 'checkboxstatic');              $form->setType('a_qualifier', 'checkboxstatic');
590              $form->setType('terrain_references_cadastrales','referencescadastralesstatic'); // PC              $form->setType('terrain_references_cadastrales','referencescadastralesstatic'); // PC
591              $form->setType('parcelle', 'hidden');              $form->setType('parcelle', 'hidden');
# Line 638  class dossier extends dossier_gen { Line 645  class dossier extends dossier_gen {
645      function setVal(&$form,$maj,$validation){      function setVal(&$form,$maj,$validation){
646          $this->maj=$maj;          $this->maj=$maj;
647    
648          if($this->getVal('geom') != "") {          if($this->getVal('geom') != ""
649                && $this->f->getParameter('option_sig') == 'sig_externe'
650                && $this->f->issetSIGParameter() === true) {
651              $form->setVal('geom',              $form->setVal('geom',
652                  "<a id='action-form-localiser'".                  "<a id='action-form-localiser'".
653                  " target='_blank' href='../app/redirect_plan_sig.php?idx=".$this->getVal("dossier")."'>".                  " target='_blank' href='../app/redirect_plan_sig.php?idx=".$this->getVal("dossier")."'>".
654                  "<span class='om-icon om-icon-16 om-icon-fix sig-16' title='Localiser'>Localiser</span> ".                  "<span class='om-icon om-icon-16 om-icon-fix sig-16' title='Localiser'>Localiser</span> ".
655                  $this->getVal('geom').                  $this->getVal('geom').
656                  " </a>");                  " </a>");
         } else {  
             $form->setVal('geom', '');  
657          }          }
658          if ($validation==0) {          if ($validation==0) {
659              if ($maj == 0){              if ($maj == 0){
# Line 737  class dossier extends dossier_gen { Line 744  class dossier extends dossier_gen {
744    
745      function setLib(&$form,$maj) {      function setLib(&$form,$maj) {
746          parent::setLib($form,$maj);          parent::setLib($form,$maj);
747            $form->setLib('servitude',_('contraintes'));
748          $form->setLib('geom',_('centroide'));          $form->setLib('geom',_('centroide'));
749          $form->setLib('date_limite',_("date limite d'instruction"));          $form->setLib('date_limite',_("date limite d'instruction"));
750          $form->setLib('delai',_("delai d'instruction"));          $form->setLib('delai',_("delai d'instruction"));
# Line 807  class dossier extends dossier_gen { Line 815  class dossier extends dossier_gen {
815              $form->setFieldset('terrain_references_cadastrales','D',_('Localisation du terrain'));              $form->setFieldset('terrain_references_cadastrales','D',_('Localisation du terrain'));
816              $form->setFieldset('terrain_superficie','F','');              $form->setFieldset('terrain_superficie','F','');
817          $form->setBloc('terrain_superficie','F');          $form->setBloc('terrain_superficie','F');
818    
819            $form->setBloc('description','D',"", "col_12");
820            $form->setBloc('servitude','F','');
821      }      }
822            
823      function setRegroupe(&$form,$maj) {      function setRegroupe(&$form,$maj) {
# Line 823  class dossier extends dossier_gen { Line 834  class dossier extends dossier_gen {
834    
835    
836                    
837          $form->setRegroupe('description','D',_('description').' '._('servitude'), $this->aff_amenagement);          $form->setRegroupe('description','D',_('description').' '._('contraintes'), $this->aff_amenagement);
838          $form->setRegroupe('servitude','F','');          $form->setRegroupe('servitude','F','');
839                    
840                    
# Line 891  class dossier extends dossier_gen { Line 902  class dossier extends dossier_gen {
902          require_once "../obj/dossier_autorisation.class.php";          require_once "../obj/dossier_autorisation.class.php";
903          $da = new dossier_autorisation($this->valF["dossier_autorisation"], $this->db, DEBUG);          $da = new dossier_autorisation($this->valF["dossier_autorisation"], $this->db, DEBUG);
904          $da->majDossierAutorisation();          $da->majDossierAutorisation();
905    
906            // Si le champ des références cadastrales n'est pas vide
907            if ($this->valF['terrain_references_cadastrales'] != '') {
908    
909                // Ajout des parcelles dans la table dossier_parcelle
910                $this->ajouter_dossier_parcelle($this->valF['dossier'],
911                    $this->valF['terrain_references_cadastrales']);
912    
913            }
914    
915      }      }
916            
917      /*      /**
918       * Calcul l'identifiant du quartier et d'un arrondissement d'une parcelle       * Récupère l'identifiant du quartier et d'un arrondissement d'une référence
919       * */       * cadastrale
920       function getQuartierArrondissement($parcelle) {       * @param string $reference_cadastrale
921         *
922         * @return array
923         */
924        function getQuartierArrondissement($reference_cadastrale) {
925                            
926           $parcelle = trim($parcelle);          $reference_cadastrale = trim($reference_cadastrale);
927           $quartier = '';          $quartier = '';
928                    
929           /*Récupère le code impot du quartier dans la parcelle*/          //Récupère le code impot du quartier dans la référence cadastrale
930           for ( $i = 0 ; $i < strlen($parcelle) ; $i++ ){          for ( $i = 0 ; $i < strlen($reference_cadastrale) ; $i++ ){
931                              
932              if (is_numeric($parcelle[$i]) ){             //Si c'est un chiffre, c'est le code quartier
933                                   if (is_numeric($reference_cadastrale[$i]) ){
934                  $quartier .= $parcelle[$i];  
935              }                 $quartier .= $reference_cadastrale[$i];
936              else{             }
937                                   //Sinon c'est la section
938                  break;             else{
939              }                 break;
940           }             }
941                    }
942          
943            //Si le code impôt du quartier a bien été renseigné
944          if ( $quartier !== '' ){          if ( $quartier !== '' ){
945                          
946              /*identifiant*/              //Requête de récupération de l'identifiantdu quartier et de
947                //l'arrondissement
948              $sql = "SELECT              $sql = "SELECT
949                          quartier, arrondissement                          quartier, arrondissement
950                      FROM                      FROM
951                          ".DB_PREFIXE."quartier                          ".DB_PREFIXE."quartier
952                      WHERE                      WHERE
953                          code_impots='$quartier'";                          code_impots='$quartier'";
954                            $this->addToLog("getQuartierArrondissement() : db->query(\"$sql\")", VERBOSE_MODE);
             $this->addToLog("getQuartierArrondissement(parcelle) : db->query(\"$sql\")", VERBOSE_MODE);  
955              $res = $this->db->query($sql);              $res = $this->db->query($sql);
956              if (database :: isError($res))              if (database::isError($res)) {
957                  die($res->getMessage()."erreur ".$sql);                  die();
958                            }
959              if ( $res->numRows() > 0 ){            
960                                    //Si on a un résultat
961                if ( $res->numRows() == 1 ){
962                    //    
963                  return $res->fetchRow(DB_FETCHMODE_ASSOC);                  return $res->fetchRow(DB_FETCHMODE_ASSOC);
964              }              }
965          }          }
966                  
967          return NULL;          return NULL;
968       }      }
969            
970       /*      /**
971       * Retourne la section d'une parcelle       * Récupère la section d'une référence cadastrale
972       * */       * @param string $reference_cadastrale
973       function getSection($parcelle){       *
974         * @return string
975         */
976        function getSection($reference_cadastrale){
977                    
978           $parcelle = trim($parcelle);          $reference_cadastrale = trim($reference_cadastrale);
979           $section = NULL;          $section = NULL;
980                    
981           for ( $i = 0 ; $i < strlen($parcelle) ; $i++ )          for ( $i = 0 ; $i < strlen($reference_cadastrale) ; $i++ )
982              if ( !is_numeric($parcelle[$i]) && is_string($parcelle[$i]) && $parcelle[$i] !== ' ' )              if ( !is_numeric($reference_cadastrale[$i]) && is_string($reference_cadastrale[$i]) && $reference_cadastrale[$i] !== ' ' )
983                  $section .= $parcelle[$i];                  $section .= $reference_cadastrale[$i];
984                    
985           return $section;          return $section;
986       }      }
987            
988      /*      /*
989       * Retourne l'intructeur correspondant le mieux à la parcelle       * Retourne l'intructeur correspondant le mieux à la parcelle
990       * */       * */
991       function getInstructeurDivision( $quartier, $arrondissement, $section, $dossier_autorisation) {      /**
992         * Récupère la section d'une référence cadastrale
993         * @param string $quartier
994         * @param string $arrondissement
995         * @param string $section
996         * @param string $dossier_autorisation
997         *
998         * @return array
999         */    
1000        function getInstructeurDivision( $quartier, $arrondissement, $section, $dossier_autorisation) {
1001                                    
1002          $quartier = ( $quartier == NULL ) ? -1 : $quartier;          $quartier = ( $quartier == NULL ) ? -1 : $quartier;
1003          $arrondissement = ( $arrondissement == NULL ) ? -1 : $arrondissement;          $arrondissement = ( $arrondissement == NULL ) ? -1 : $arrondissement;
1004                    
1005          /*Récupération du dossier_autorisation_type_detaille concerné par le $dossier_autorisation*/          //Récupération du dossier_autorisation_type_detaille concerné par le
1006            //$dossier_autorisation
1007          $sql = "          $sql = "
1008             SELECT             SELECT
1009                 dossier_autorisation_type_detaille                 dossier_autorisation_type_detaille
# Line 973  class dossier extends dossier_gen { Line 1015  class dossier extends dossier_gen {
1015          $this->addToLog("getInstructeurDivision : db->query(\"$sql\")", VERBOSE_MODE);          $this->addToLog("getInstructeurDivision : db->query(\"$sql\")", VERBOSE_MODE);
1016          $resDATD = $this->db->query($sql);          $resDATD = $this->db->query($sql);
1017          if (database :: isError($resDATD))          if (database :: isError($resDATD))
1018              die($resDATD->getMessage()."erreur ".$sql);              die($resDATD->getMessage()."erreur ".$sql);        
1019            
1020            //Si le dossier d'autorisation a un type détaillé de dossier
1021            //d'autorisation associé
1022          if ( $resDATD->numRows() > 0 ){          if ( $resDATD->numRows() > 0 ){
1023              $rowDATD = $resDATD->fetchRow(DB_FETCHMODE_ASSOC);              $rowDATD = $resDATD->fetchRow(DB_FETCHMODE_ASSOC);
1024                            
1025                //Requête de récupération de l'instructeur à affecter
1026              $sql = "              $sql = "
1027                 SELECT                 SELECT
1028                     instructeur, section, quartier, arrondissement, dossier_autorisation_type_detaille                     instructeur, section, quartier, arrondissement, dossier_autorisation_type_detaille
# Line 1001  class dossier extends dossier_gen { Line 1046  class dossier extends dossier_gen {
1046                     ( dossier_autorisation_type_detaille = ".$rowDATD['dossier_autorisation_type_detaille']." AND arrondissement = $arrondissement AND quartier = $quartier AND section IS NULL ) OR                     ( dossier_autorisation_type_detaille = ".$rowDATD['dossier_autorisation_type_detaille']." AND arrondissement = $arrondissement AND quartier = $quartier AND section IS NULL ) OR
1047                     ( dossier_autorisation_type_detaille = ".$rowDATD['dossier_autorisation_type_detaille']." AND arrondissement = $arrondissement AND quartier = $quartier AND section = '$section' )                     ( dossier_autorisation_type_detaille = ".$rowDATD['dossier_autorisation_type_detaille']." AND arrondissement = $arrondissement AND quartier = $quartier AND section = '$section' )
1048                 ORDER BY section, quartier, arrondissement, dossier_autorisation_type_detaille                 ORDER BY section, quartier, arrondissement, dossier_autorisation_type_detaille
1049                 LIMIT 1                 LIMIT 1";
             ";  
               
1050              $this->addToLog("getInstructeurDivision : db->query(\"$sql\")", VERBOSE_MODE);              $this->addToLog("getInstructeurDivision : db->query(\"$sql\")", VERBOSE_MODE);
1051              $res = $this->db->query($sql);              $res = $this->db->query($sql);
1052              if (database :: isError($res))              if (database :: isError($res))
1053                  die($res->getMessage()."erreur ".$sql);                  die($res->getMessage()."erreur ".$sql);
1054                            
1055                //Si on a récupéré un instructeur correspondant aux critères
1056              if ( $res->numRows() > 0 ){              if ( $res->numRows() > 0 ){
1057                                    
1058                  $row = $res->fetchRow(DB_FETCHMODE_ASSOC);                  $row = $res->fetchRow(DB_FETCHMODE_ASSOC);
1059                                    //On récupère sa division
1060                  $sql = "SELECT division FROM ".DB_PREFIXE."instructeur WHERE instructeur = ".$row['instructeur'];                  $sql = "SELECT division FROM ".DB_PREFIXE."instructeur WHERE instructeur = ".$row['instructeur'];
1061                  $res = $this->db->query($sql);                  $res = $this->db->query($sql);
1062                  if (database :: isError($res))                  if (database :: isError($res))
1063                      die($res->getMessage()."erreur ".$sql);                      die($res->getMessage()."erreur ".$sql);
1064                                        
1065                    $row['division'] = NULL;
1066                    //S'il a une division
1067                  if ( $res->numRows() > 0 ){                  if ( $res->numRows() > 0 ){
1068                                            
1069                      $rowT=& $res->fetchRow(DB_FETCHMODE_ASSOC);                      $rowT=& $res->fetchRow(DB_FETCHMODE_ASSOC);
# Line 1046  class dossier extends dossier_gen { Line 1092  class dossier extends dossier_gen {
1092          $arrondissement = NULL;          $arrondissement = NULL;
1093          $section = NULL;          $section = NULL;
1094          $instructeur = NULL;          $instructeur = NULL;
1095            
1096          // Si la parcelle n'est pas vide alors on récupère la section, le          // Si la référence cadastrale n'est pas vide alors on récupère la
1097          // quartier et l'arrondissement          //section, le quartier et l'arrondissement
1098          if ($val['parcelle'] != '') {          if ($this->valF['terrain_references_cadastrales'] != '') {
1099              // Cette méthode récupère l'arrondissement et le quartier associé à une parcelle              
1100              $quartierArrondissement = $this->getQuartierArrondissement($val['parcelle']);              // Cette méthode récupère l'arrondissement et le quartier de la
1101                //référence cadastrale saisie
1102                $quartierArrondissement = $this->getQuartierArrondissement($this->valF['terrain_references_cadastrales']);
1103              if ( $quartierArrondissement!= NULL ){              if ( $quartierArrondissement!= NULL ){
1104                                    
1105                  $quartier = $quartierArrondissement['quartier'];                  $quartier = $quartierArrondissement['quartier'];
# Line 1064  class dossier extends dossier_gen { Line 1112  class dossier extends dossier_gen {
1112                  $quartier = NULL;                  $quartier = NULL;
1113              }              }
1114              // On récupère la section              // On récupère la section
1115              $section = $this->getSection($val['parcelle']);              $section = $this->getSection($this->valF['terrain_references_cadastrales']);
1116          }          }
1117            
1118          // Si aucun instructeur n'est saisi et que la dossier_autorisation_type_detaille n'est pas vide          // Si aucun instructeur n'est saisi et que la dossier_autorisation_type_detaille n'est pas vide
1119          // alors on récupère l'instructeur et la division depuis l'affectation          // alors on récupère l'instructeur et la division depuis l'affectation
1120          if ( ( empty($this->valF['instructeur']) || $this->valF['instructeur'] == '' ) && $val['dossier_autorisation'] != '' ) {          if ( ( empty($this->valF['instructeur']) || $this->valF['instructeur'] == '' ) && $val['dossier_autorisation'] != '' ) {
1121                            
1122              //              //Récupération de l'instructeur ainsi que de sa division
1123              $instructeurDivision = $this->getInstructeurDivision($quartier, $arrondissement, $section, $val['dossier_autorisation']);              $instructeurDivision = $this->getInstructeurDivision($quartier, $arrondissement, $section, $this->valF['dossier_autorisation']);
1124    
1125                //Si un instructeur et sa division ont été récupérés
1126              if ( $instructeurDivision != NULL ){              if ( $instructeurDivision != NULL ){
1127                                    
1128                  $instructeur = $instructeurDivision['instructeur'];                  $instructeur = $instructeurDivision['instructeur'];
1129                  $division = $instructeurDivision['division'];                  $division = $instructeurDivision['division'];
1130              }              }
1131                            //Si un instructeur et sa division n'ont pas été récupérés, on
1132                //ajoute pas les données
1133              if ( $instructeur != NULL ){              if ( $instructeur != NULL ){
1134                                    
1135                  $this->valF['instructeur'] = $instructeur;                  $this->valF['instructeur'] = $instructeur;
1136                  $this->valF['division'] = $division;                  $this->valF['division'] = $division;
1137              } else {              } else {
1138                    //On affiche un message à l'utilisateur pour lui signifier
1139                    //qu'aucun instructeur n'a été assigné au dossier d'instruction
1140                    //créé
1141                  if ($this->f->isAccredited("dossier_modifier_instructeur")) {                  if ($this->f->isAccredited("dossier_modifier_instructeur")) {
1142                      $this->addToMessage("<br/> "._("Pensez a assigner un instructeur a ce dossier.")." <br/>");                      $this->addToMessage("<br/> "._("Pensez a assigner un instructeur a ce dossier.")." <br/>");
1143                  } else {                  } else {
# Line 1149  class dossier extends dossier_gen { Line 1203  class dossier extends dossier_gen {
1203    
1204          // Ajout ou modification des demandeurs          // Ajout ou modification des demandeurs
1205          $this->insertLinkDemandeDemandeur($db, $DEBUG);          $this->insertLinkDemandeDemandeur($db, $DEBUG);
1206    
1207            // Si le champ des références cadastrales n'est pas vide
1208            if ($this->getVal('terrain_references_cadastrales')
1209                != $this->valF['terrain_references_cadastrales']) {
1210    
1211                // On supprime toutes les lignes de la table dossier_parcelle qui
1212                // font référence le dossier en cours de modification
1213                $this->supprimer_dossier_parcelle($val['dossier']);
1214    
1215                // Ajout des parcelles dans la table dossier_parcelle
1216                $this->ajouter_dossier_parcelle($val['dossier'],
1217                    $val['terrain_references_cadastrales']);
1218    
1219            }
1220    
1221      }      }
1222    
1223      /**      /**
# Line 1159  class dossier extends dossier_gen { Line 1228  class dossier extends dossier_gen {
1228          require_once "../obj/dossier_autorisation.class.php";          require_once "../obj/dossier_autorisation.class.php";
1229          $da = new dossier_autorisation($this->valF["dossier_autorisation"], $this->db, DEBUG);          $da = new dossier_autorisation($this->valF["dossier_autorisation"], $this->db, DEBUG);
1230          $da->majDossierAutorisation();          $da->majDossierAutorisation();
1231    
1232            // On supprime toutes les lignes de la table dossier_parcelle qui
1233            // font référence le dossier en cours de suppression
1234            $this->supprimer_dossier_parcelle($this->valF['dossier']);
1235    
1236      }      }
1237    
1238      /**      /**
# Line 1335  class dossier extends dossier_gen { Line 1409  class dossier extends dossier_gen {
1409          if (database:: isError($res)) die($res1->getMessage()."erreur ".$sql);          if (database:: isError($res)) die($res1->getMessage()."erreur ".$sql);
1410          $this->addToLog("requete  :".$sql." executee ", VERBOSE_MODE);          $this->addToLog("requete  :".$sql." executee ", VERBOSE_MODE);
1411          while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){          while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
1412              $this->addToMessage("<br>"._("servitude")." : ".$row['libelle']." - ".$row['observation']);              $this->addToMessage("<br>"._("contraintes")." : ".$row['libelle']." - ".$row['observation']);
1413              $this->servitude.="  [".$row['libelle']."] ".$row['observation']." - ";              $this->servitude.="  [".$row['libelle']."] ".$row['observation']." - ";
1414         }         }
1415      }      }
# Line 1348  class dossier extends dossier_gen { Line 1422  class dossier extends dossier_gen {
1422          if (database:: isError($res)) die($res1->getMessage()."erreur ".$sql);          if (database:: isError($res)) die($res1->getMessage()."erreur ".$sql);
1423          $this->addToLog("requete  :".$sql." executee ", VERBOSE_MODE);          $this->addToLog("requete  :".$sql." executee ", VERBOSE_MODE);
1424          while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){          while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
1425              $this->addToMessage("<br>"._("servitude")." : ".$row['libelle']." - ".$row['observation']." a ".round($row['distance'],2)." m ");              $this->addToMessage("<br>"._("contraintes")." : ".$row['libelle']." - ".$row['observation']." a ".round($row['distance'],2)." m ");
1426              $this->servitude.="  [".$row['libelle']."] ".$row['observation']." a ".round($row['distance'],2)." m - ";              $this->servitude.="  [".$row['libelle']."] ".$row['observation']." a ".round($row['distance'],2)." m - ";
1427         }         }
1428      }      }
# Line 1783  class dossier extends dossier_gen { Line 1857  class dossier extends dossier_gen {
1857          return $duree_validite;          return $duree_validite;
1858    
1859      }      }
1860    
1861        /**
1862         * Ajoute les parcelles du dossier passé en paramètre
1863         * @param  string $dossier                        Identifiant du dossier
1864         * @param  string $terrain_references_cadastrales Références cadastrales du
1865         *                                                dossier
1866         */
1867        function ajouter_dossier_parcelle($dossier, $terrain_references_cadastrales) {
1868    
1869            // Parse les parcelles
1870            $list_parcelles = $this->f->parseParcelles($terrain_references_cadastrales);
1871    
1872            // Fichier requis
1873            require_once "../obj/dossier_parcelle.class.php";
1874    
1875            // A chaque parcelle une nouvelle ligne est créée dans la table
1876            // dossier_parcelle
1877            foreach ($list_parcelles as $parcelle) {
1878    
1879                // Instance de la classe dossier_parcelle
1880                $dossier_parcelle = new dossier_parcelle("]", $this->db, DEBUG);
1881    
1882                // Valeurs à sauvegarder
1883                $value = array(
1884                    'dossier_parcelle' => '',
1885                    'dossier' => $dossier,
1886                    'parcelle' => '',
1887                    'libelle' => $parcelle['quartier']
1888                                    .$parcelle['section']
1889                                    .$parcelle['parcelle']
1890                );
1891    
1892                // Ajout de la ligne
1893                $dossier_parcelle->ajouter($value, $this->db, DEBUG);
1894            }
1895    
1896        }
1897    
1898        /**
1899         * Supprime les parcelles du dossier passé en paramètre
1900         * @param  string $dossier Identifiant du dossier
1901         */
1902        function supprimer_dossier_parcelle($dossier) {
1903    
1904            // Suppression des parcelles du dossier
1905            $sql = "DELETE FROM ".DB_PREFIXE."dossier_parcelle
1906                    WHERE dossier='".$dossier."'";
1907            $res = $this->db->query($sql);
1908            $this->addToLog("supprimer_dossier_parcelle() db->query(\"".$sql."\");", VERBOSE_MODE);
1909            database::isError($res);
1910    
1911        }
1912            
1913  }// fin classe  }// fin classe
1914  ?>  ?>

Legend:
Removed from v.2241  
changed lines
  Added in v.2313

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26