renvoie la photo courante de l'adresse de l'etape
438803
public function getPhotoFromEtape($params = array())
    {
        $retour = array('trouve'=>false);

        if (isset($params['idEtape']) && $params['idEtape']!='' && $params['idEtape']!='0') {
        // recuperation du groupe d'adresse de l'etape
            $req = "SELECT idEvenementGroupeAdresse FROM etapesParcoursArt WHERE idEtape='".$params['idEtape']."'";
            $res = $this->connexionBdd->requete($req);
            $fetch = mysql_fetch_assoc($res);

            if (isset($fetch['idEvenementGroupeAdresse'])) {
                $i = new archiImage();

                $idAdresse = $this->getIdAdresseFromIdEvenementGroupeAdresse($fetch['idEvenementGroupeAdresse']);
                $idEvenementGroupeAdresse = $fetch['idEvenementGroupeAdresse'];

                $format = 'mini';
                if (isset($params['format']) && $params['format']!='') {
                    $format = $params['format'];
                }

                $illustration = $this->getUrlImageFromAdresse($idAdresse, $format, array('idEvenementGroupeAdresse'=>$idEvenementGroupeAdresse));

                $retour = $illustration;
            }
        }
        return $retour;
    }
1117067
public function displayMyInterest(){
		$auth = new archiAuthentification();
		if($auth->estConnecte()){
			
		
			$html ="";
			$formulaire = new formGenerator();
			$utils = new archiUtils();
			$ajax = new ajaxObject();
			$html.=$ajax->getAjaxFunctions();
	
			$t = new Template($this->getCheminPhysique().$this->cheminTemplates."interest/");
			$t->set_filenames(array('myinterests'=>'myinterests.tpl'));
	
	
			$a = new archiAdresse();
	
			//Generate address form
			$formParam = array(
					'afficheNombreResultat' => 1,
					'modeAffichage_rue'=>1,
					'modeAffichage_sousQuartier'=>1,
					'modeAffichage_quartier'=>1,
					'modeAffichage_ville'=>1,
					'modeAffichage_pays='>1
			);
			
			$formAddressAddInterest=$a->afficheChoixAdresse(array('afficheNombreResultat' => 1,'affichageInteret'=>1));
			$paramsFields= array();
			$paramsFields[] = array('table' => 'pays' ,'value' => 'idPays','title'=>'nom');
			$paramsFields[] = array('table' => 'ville' ,'value' => 'idVille','title'=>'nom');
			$paramsFields[] = array('table' => 'quartier' ,'value' => 'idQuartier','title'=>'nom');
			$paramsFields[] = array('table' => 'sousQuartier' ,'value' => 'idSousQuartier','title'=>'nom');
			$paramsFields[] = array('table' => 'rue' ,'value' => 'idRue','title'=>'nom');
	
	
	
			$formActionUrl = $this->creerUrl('','saveInterest',array());
	
			foreach ($paramsFields as $params){
				$options[] = $this->getAllField($params);
			}
	
	
			$paramsRequest[]=array('table'=> '_interetRue','field' =>'idRue' , 'associateTable' => 'rue');
			$paramsRequest[]=array('table'=> '_interetSousQuartier','field' =>'idSousQuartier', 'associateTable' => 'sousQuartier');
			$paramsRequest[]=array('table'=> '_interetQuartier','field' =>'idQuartier', 'associateTable' => 'quartier');
			$paramsRequest[]=array('table'=> '_interetVille','field' =>'idVille', 'associateTable' => 'ville');
			$paramsRequest[]=array('table'=> '_interetPays','field' =>'idPays', 'associateTable' => 'pays');
	
			$userInterest = $this->getAllInterest($paramsRequest);
			/*
			 * Array of EVERY interest  by categories : street country address etc..
			 */
			foreach ($userInterest as $interestByCat){
				if(!isset($interestByCat[0]['vide'])){
					$t->assign_block_vars('interestList',array('title'=>'Liste des '.$interestByCat[0]['titre'].' dans les centres d\'intérêt','CSSclass'=>'interestList'));
					/*
					 * Interest of each category
					 */
					foreach ($interestByCat as $interest){
						/*
						 * Process fields for delete link
						 */
						$table = $interest['table'];
						$fieldId = $interest['field'];
						$userId = $interest['idUtilisateur'];
						$interestId = $interest[$fieldId];
						
						
						$paramsDelete = array(
							$table,
							$fieldId,
							$userId,
							$interestId
						);
						
						$deleteUrl = $this->creerUrl('', 'deleteInterest', array('params' => $paramsDelete));
						switch ($interest['associateTable']){
							case 'personne':
								$t->assign_block_vars('interestList.interests',array(
								'name'=>$interest['nom']." ".$interest['prenom'],
								'deleteUrl' => $deleteUrl
								));
								break;
							default:
								$t->assign_block_vars('interestList.interests',array(
								'name'=>$interest['nom'],
								'deleteUrl' => $deleteUrl
								));
						}
					}
				}
				else{
					$t->assign_block_vars('interestList',array('vide'=>'Aucun résultat','title'=>'Liste des '.$interestByCat[0]['titre'].' dans les centres d\'intérêt','CSSclass'=>'interestList'));
				}
					
			}
	
			$t->assign_vars(array(
					'formAddInterest' => $formAddressAddInterest,
					'formActionUrl' => $formActionUrl,
					'nameForm'=>'saveInterest'
			));
	
			ob_start();
			$t->pparse('myinterests');
			$html .= ob_get_contents();
			ob_end_clean();
		return $html;
		}
		else{
			$this->messages->addError("Veuillez vous connecter pour personnaliser votre flux");
			$this->messages->display();
			$auth = new ArchiAuthentification();
			return $auth->afficheFormulaireAuthentification();
		}
	}
1333220
private function buildOriginReference()
    {
        /* - Code produit (2 positions numériques) : voir annexe 12.2
         * - Numéro de colis (10 positions numériques) : ce numéro doit être unique. Vous le composez à votre
         *   guise suivant la logique qui vous convient (chrono, numéro commande…) Il pourra également vous
         *   servir pour le suivi colis
         * - Constante : 0000
         * - Pays de destination (2 positions alpha.) : idem T100
         *
         * Exemple : T8975:0200000000800000FR */

        return Service::getNumerical($this->service) .
            str_pad($this->number, 10, '0', STR_PAD_LEFT) .
            '0000' .
            $this->get(Config::T100);
    }
734749
private URLConnection openConnection() throws IOException {
		final URLConnection connection = url.openConnection();
		connection.setUseCaches(false);
		if (CONNECTION_TIMEOUT > 0) {
			connection.setConnectTimeout(CONNECTION_TIMEOUT);
		}
		if (READ_TIMEOUT > 0) {
			connection.setReadTimeout(READ_TIMEOUT);
		}
		// grâce à cette propriété, l'application retournera un flux compressé si la taille
		// dépasse x Ko
		connection.setRequestProperty("Accept-Encoding", "gzip");
		if (headers != null) {
			for (final Map.Entry<String, String> entry : headers.entrySet()) {
				connection.setRequestProperty(entry.getKey(), entry.getValue());
			}
		}
		if (url.getUserInfo() != null) {
			final String authorization = Base64Coder.encodeString(url.getUserInfo());
			connection.setRequestProperty("Authorization", "Basic " + authorization);
		}
		return connection;
	}
132362
function save($path_copy = null, $quality = 100)
    {
        if($path_copy)
        {
            $copy = $path_copy;
        }
        else
        {
            $copy = $this->path_image;
        }

        //---Guardar la imagen en el tipo de archivo correcto
        switch($this->type){
            case IMAGETYPE_JPEG:
                imagejpeg($this->image, $copy, $quality);
                break;
            case IMAGETYPE_GIF:
                imagegif($this->image, $copy);
                break;
            case IMAGETYPE_PNG:
                $pngquality = floor(($quality - 10) / 10);
                imagepng($this->image, $copy, $pngquality);
                break;
        }
    }
1221979
public function getHtmlFromAdresses()
    {
        $html="<div id='".$this->googleMapNameId."' style='width: ".$this->googleMapWidth."px; height: ".$this->googleMapHeight."px;'>Veuilliez patienter pendant le chargement de la carte...</div>";

        $html.="<script  >";

        if (count($this->coordonnees)>0) {
            foreach ($this->coordonnees as $indice => $value) {
                if (isset($value['link'])) {
                    $html.="tabAdresses[".$indice."]=\"".$value['link']."\";\n";
                }
            }
        }

        $html.="</script>";
        //$html.="<div id='".$this->googleMapNameId."' style='width: ".$this->googleMapWidth."px; height: ".$this->googleMapHeight."px;'>Veuilliez patienter pendant le chargement de la carte...</div>";

        if ($this->debugMode)
            $displayDebug='block';
        else
            $displayDebug='none';

        //$html.="<div style='width:500px; height:300px;overflow:scroll;display:".$displayDebug.";' id='debugGoogleMap'></div>";
        $html.="<script>load();</script>";

        // fonction appelant les affichages de coordonnées ,  appels regroupées dans une fonction qui groupe les coordonnées par paquet ,  afin de ne pas trop en envoyer a la fois
        if (count($this->coordonnees)>0) {
            $html.="<script>";
            $html.="var numPaquet=0;\n";
            $html.="var timer;\n";
            $html.="startTimerPaquets();\n";
            $html.="function startTimerPaquets()\n";
            $html.="{";
            $html.="afficheCoordonneesParPaquets();\n";
            $html.="timer = setInterval(\"afficheCoordonneesParPaquets()\", ".$this->setTimeOutPaquets.");\n";
            $html.="}\n";

            $html.="function afficheCoordonneesParPaquets(){\n";
            $i=0;
            $numPaquet = 0;
            foreach ($this->coordonnees as $indice => $value) {
                $image = ", \"https://www.google.com/mapfiles/marker.png\"";//
                if (isset($value['imageFlag']) && $value['imageFlag']!='') {
                    $image = ", \"".$value['imageFlag']."\"";
                }

                if ($i%10==0) {
                    $html.="if (numPaquet==".$numPaquet.")\n";
                    $html.="{\n";
                    $iDebut = $i;
                }

                $html.=" getCoordonnees(\"".$value['adresse']."\", ".$indice." ".$image.");\n";

                if ($i==$iDebut+9 || $i==count($this->coordonnees)-1 ) {
                    $html.="}\n";
                    $numPaquet++;
                }
                $i++;
            }


            $html.="if (numPaquet>".$numPaquet.")\n";
            $html.="{\n";
            $html.="clearInterval(timer);\n";
            $html.="}\n";
            $html.="numPaquet++;\n";
            $html.="}\n";
            $html.="</script>";
        }



        if ($this->debugMode)
            $displayDebug='block';
        else
            $displayDebug='none';

        $html.="<div style='width:500px; height:300px;overflow:scroll;display:".$displayDebug.";' id='debugGoogleMap'></div>";
        return $html;
    }
479982
public function enregistreSelectionImagePrincipale($params = array())
    {
        $authentification = new archiAuthentification();
        if ($authentification->estConnecte() && isset($this->variablesGet['idEvenement']) && $this->variablesGet['idEvenement']!='' && isset($this->variablesGet['idImage']) && $this->variablesGet['idImage']!='') {
            $idEvenementGroupeAdresse = $this->getIdEvenementGroupeAdresseFromIdEvenement($this->variablesGet['idEvenement']);
            $idAdresse = $this->getIdAdresseFromIdEvenementGroupeAdresse($idEvenementGroupeAdresse);

            // recherche de l'historiqueEvenement de l'evenement groupe adresse
            $reqHistorique = "
					SELECT he1.idEvenement as idHistoriqueEvenement
					FROM evenements he2, evenements he1
					WHERE he1.idEvenement = '".$idEvenementGroupeAdresse."'
							AND he2.idEvenement = he1.idEvenement
							GROUP BY he1.idEvenement
							";

            $resHistorique = $this->connexionBdd->requete($reqHistorique);

            if (mysql_num_rows($resHistorique)==1) {
                $fetchHistorique = mysql_fetch_assoc($resHistorique);

                $idHistoriqueEvenement = $fetchHistorique['idHistoriqueEvenement'];

                $reqUpdate = "UPDATE evenements SET idImagePrincipale='".$this->variablesGet['idImage']."' WHERE idEvenement = '".$idHistoriqueEvenement."'";
                $resUpdate = $this->connexionBdd->requete($reqUpdate);
                echo "Image selectionnée<br>";
                header("Location: ".$this->creerUrl('', '', array('archiAffichage'=>'adresseDetail', 'archiIdAdresse'=>$idAdresse, 'archiIdEvenementGroupeAdresse'=>$idEvenementGroupeAdresse), false, false));
            } else {
                echo "Erreur de recupération de groupe d'adresse, merci de contacter l'administrateur<br>";
            }
        }
    }
451788
public function afficheFormulaire($tabTravail = array(), $idAdresse = 0, $idHistoriqueAdresse = 0)
    {

        $pays=0;
        $ville=0;
        $quartier=0;
        $sousQuartier=0;
        $rue=0;
        $formulaire = new formGenerator();
        $t=new Template('modules/archi/templates/');
        $t->set_filenames((array('adresseFormulaire'=>'adresseFormulaire.tpl')));

        if ($formulaire->estChiffre($idHistoriqueAdresse)) {
            if (count($tabTravail) == 0) {
                // copie pure et dure de la version un peu plus bas avec champ idAdresse
                // À simplifier en changeant juste la requête !
                // À simplifier en changeant juste la requête !
                // À simplifier en changeant juste la requête !
                // À simplifier en changeant juste la requête !
                // recuperation des donnees enregistree en cas de modification d'une adresse
                $resAdresse = $this->connexionBdd->requete("
						SELECT a.idAdresse as idAdresse, DATE_FORMAT(a.date,'%d/%m/%Y') as date, a.description as description, a.nom as nom, a.idHistoriqueAdresse as idHistoriqueAdresse,
						a.idRue as idRue,  a.numero as numero, a.idQuartier as idQuartier, a.idSousQuartier as idSousQuartier, a.idPays as idPays,
						a.idVille as idVille
						FROM historiqueAdresse a, historiqueAdresse b
						WHERE a.idHistoriqueAdresse = '".$idHistoriqueAdresse."'
						LIMIT 1
						");

                $tabTravail=array();

                if (mysql_num_rows($resAdresse)==1) {
                    $fetchAdresse=mysql_fetch_array($resAdresse);
                    $tabTravail=array(
                            'nom'=>array('value'=>$fetchAdresse['nom'],'error'=>''),
                            'description'=>array('value'=>$fetchAdresse['description'],'error'=>''),
                            'date'=>array('value'=>$fetchAdresse['date'],'error'=>''),
                            'numero'=>array('value'=>$fetchAdresse['numero'],'error'=>''),
                            'pays'=>array('value'=>$fetchAdresse['idPays'],'error'=>''),
                            'ville'=>array('value'=>$fetchAdresse['idVille'],'error'=>''),
                            'quartier'=>array('value'=>$fetchAdresse['idQuartier'],'error'=>''),
                            'sousQuartier'=>array('value'=>$fetchAdresse['idSousQuartier'],'error'=>''),
                            'rue'=>array('value'=>$fetchAdresse['idRue'],'error'=>'')
                    );


                    $pays = $fetchAdresse['idPays'];
                    $ville = $fetchAdresse['idVille'];
                    $quartier = $fetchAdresse['idQuartier'];
                    $sousQuartier = $fetchAdresse['idSousQuartier'];
                    $rue = $fetchAdresse['idRue'];

                    $arrayAdresse=array();
                    if ($rue!=0) {
                        $arrayAdresse=$this->getArrayAdresseFrom($rue, 'rue');
                    } elseif ($sousQuartier!=0) {
                    // recuperation des infos du  quartier, ville, pays du sousQuartier
                        $arrayAdresse=$this->getArrayAdresseFrom($sousQuartier, 'sousQuartier');
                    } elseif ($quartier!=0) {
                    // recuperation des infos  ville, pays du quartier
                        $arrayAdresse=$this->getArrayAdresseFrom($quartier, 'quartier');
                    } elseif ($ville!=0) {
                    // recuperation des infos du pays de la ville
                        $arrayAdresse=$this->getArrayAdresseFrom($ville, 'ville');
                    } elseif ($pays!=0) {
                        $arrayAdresse=$this->getArrayAdresseFrom($pays, 'pays');
                    }

                    if (count($arrayAdresse)>0) {
                        $pays = $arrayAdresse['pays'];
                        $ville = $arrayAdresse['ville'];
                        $quartier = $arrayAdresse['quartier'];
                        $sousQuartier = $arrayAdresse['sousQuartier'];
                        $rue = $arrayAdresse['rue'];
                    }
                }
            }
            // assignation du bouton modifier
            $t->assign_vars(array('boutonSubmit'=>'Modifier'));
            $t->assign_vars(array('idAdresseModification'=>$idAdresse));
            $t->assign_vars(array('formAction'=>$this->creerUrl('modifAdresse')));
        } else if ($formulaire->estChiffre($idAdresse)) {
            if (count($tabTravail) == 0) {
                // recuperation des donnees enregistree en cas de modification d'une adresse
                $resAdresse = $this->connexionBdd->requete("
						SELECT a.idAdresse as idAdresse, DATE_FORMAT(a.date,'%d/%m/%Y') as date, a.description as description, a.nom as nom, a.idHistoriqueAdresse as idHistoriqueAdresse,
						a.idRue as idRue, a.numero as numero, a.idQuartier as idQuartier, a.idSousQuartier as idSousQuartier, a.idPays as idPays,
						a.idVille as idVille
						FROM historiqueAdresse a, historiqueAdresse b
						WHERE b.idAdresse = a.idAdresse
						AND a.idAdresse = '".$idAdresse."'
						GROUP BY a.idAdresse,a.idHistoriqueAdresse
						HAVING a.idHistoriqueAdresse = max(b.idHistoriqueAdresse)
						");

                $tabTravail=array();

                if (mysql_num_rows($resAdresse)==1) {
                    $fetchAdresse=mysql_fetch_array($resAdresse);
                    $tabTravail=array(
                            'nom'=>array('value'=>$fetchAdresse['nom'],'error'=>''),
                            'description'=>array('value'=>$fetchAdresse['description'],'error'=>''),
                            'date'=>array('value'=>$fetchAdresse['date'],'error'=>''),
                            'numero'=>array('value'=>$fetchAdresse['numero'],'error'=>''),
                            'pays'=>array('value'=>$fetchAdresse['idPays'],'error'=>''),
                            'ville'=>array('value'=>$fetchAdresse['idVille'],'error'=>''),
                            'quartier'=>array('value'=>$fetchAdresse['idQuartier'],'error'=>''),
                            'sousQuartier'=>array('value'=>$fetchAdresse['idSousQuartier'],'error'=>''),
                            'rue'=>array('value'=>$fetchAdresse['idRue'],'error'=>'')
                    );


                    $pays = $fetchAdresse['idPays'];
                    $ville = $fetchAdresse['idVille'];
                    $quartier = $fetchAdresse['idQuartier'];
                    $sousQuartier = $fetchAdresse['idSousQuartier'];
                    $rue = $fetchAdresse['idRue'];

                    $arrayAdresse=array();
                    if ($rue!=0) {
                        $arrayAdresse=$this->getArrayAdresseFrom($rue, 'rue');
                    } elseif ($sousQuartier!=0) {
                    // recuperation des infos du  quartier, ville, pays du sousQuartier
                        $arrayAdresse=$this->getArrayAdresseFrom($sousQuartier, 'sousQuartier');
                    } elseif ($quartier!=0) {
                    // recuperation des infos  ville, pays du quartier
                        $arrayAdresse=$this->getArrayAdresseFrom($quartier, 'quartier');
                    } elseif ($ville!=0) {
                    // recuperation des infos du pays de la ville
                        $arrayAdresse=$this->getArrayAdresseFrom($ville, 'ville');
                    } elseif ($pays!=0) {
                        $arrayAdresse=$this->getArrayAdresseFrom($pays, 'pays');
                    }

                    if (count($arrayAdresse)>0) {
                        $pays = $arrayAdresse['pays'];
                        $ville = $arrayAdresse['ville'];
                        $quartier = $arrayAdresse['quartier'];
                        $sousQuartier = $arrayAdresse['sousQuartier'];
                        $rue = $arrayAdresse['rue'];
                    }
                }
            }
            // assignation du bouton modifier
            $t->assign_vars(array('boutonSubmit'=>'Modifier'));
            $t->assign_vars(array('idAdresseModification'=>$idAdresse));
            $t->assign_vars(array('formAction'=>$this->creerUrl('modifAdresse')));
        } else {
            // assignation du bouton ajout
            $t->assign_vars(array('boutonSubmit'=>'Ajouter'));
            $t->assign_vars(array('idAdresseModification'=>''));
            $t->assign_vars(array('formAction'=>$this->creerUrl('ajoutAdresse')));
        }

        if (isset($this->variablesPost['pays'])) {
            $pays = $this->variablesPost['pays'];
        }

        if (isset($this->variablesPost['ville'])) {
            $ville = $this->variablesPost['ville'];
        }

        if (isset($this->variablesPost['quartier'])) {
            $quartier = $this->variablesPost['quartier'];
        }

        if (isset($this->variablesPost['sousQuartier'])) {
            $sousQuartier = $this->variablesPost['sousQuartier'];
        }

        if (isset($this->variablesPost['rue'])) {
            $rue = $this->variablesPost['rue'];
        }



        // recuperation des variables POST pour les passer au sous formulaire des adresses ( rue , pays ...)
        $arrayChoixAdresse=array();
        if ($pays!='0') {
            $arrayChoixAdresse=array_merge(array('idPaysChoixAdresse'=>$pays), $arrayChoixAdresse);
        }

        if ($ville!='0') {
            $arrayChoixAdresse=array_merge(array('idVilleChoixAdresse'=>$ville), $arrayChoixAdresse);
        }

        if ($quartier!='0') {
            $arrayChoixAdresse=array_merge(array('idQuartierChoixAdresse'=>$quartier), $arrayChoixAdresse);
        }

        if ($sousQuartier!='0') {
            $arrayChoixAdresse=array_merge(array('idSousQuartierChoixAdresse'=>$sousQuartier), $arrayChoixAdresse);
        }

        if ($rue!='0') {
            $arrayChoixAdresse=array_merge(array('idRueChoixAdresse'=>$rue), $arrayChoixAdresse);
        }


        $t->assign_vars(array('appelAjaxJavascript'=>"<script  >appelAjax('".$this->creerUrl('', 'afficheChoixAdresse', array_merge(array('noHeaderNoFooter'=>'1'), $arrayChoixAdresse))."','choixAdresse');</script>"));



        foreach ($tabTravail as $name => $value) {
            $t->assign_vars(array($name=>$value["value"]));
            if ($value["error"]!='') {
                $t->assign_vars(array($name."-error" => $value["error"].' : '.$name));
            }
        }

        ob_start();
        $t->pparse('adresseFormulaire');
        $html=ob_get_contents();
        ob_end_clean();

        return $html;
    }
979813
public function apply($imageRessource)
  {
    try {
      $imagick = ImagickGd::convertGDRessourceToImagick($imageRessource, Image::IMAGE_TYPE_PNG);
      $imagick->evaluateImage(\Imagick::EVALUATE_MULTIPLY, $this->opacity / 100, \Imagick::CHANNEL_ALPHA);
      $gd = ImagickGd::convertImagickToGDRessource($imagick, Image::IMAGE_TYPE_PNG);
      return $gd;
    } catch (\Exception $e) {
      throw new \Exception('Le filtre Opacity n\'est appliquable que sur des images PNG');
    }
    return null;
  }
944834
public function enregistreAdressesLieesAEvenement()
    {
        if (isset($this->variablesGet['idEvenement']) && $this->variablesGet['idEvenement']!='') {
        // d'abord il faut supprimer les ancienne liaisons de positions d'evenements auquel n'appartiennent pas les evenements , ceux ci seront ensuite remis en place avec la fonction majPositionsEvenements
            $reqEvenementLie = "SELECT idEvenement,idEvenementGroupeAdresse FROM _evenementAdresseLiee WHERE idEvenement='".$this->variablesGet['idEvenement']."'";
            $resEvenementLie = $this->connexionBdd->requete($reqEvenementLie);
            while ($fetchEvenementLie = mysql_fetch_assoc($resEvenementLie)) {
                $idEvenement = $fetchEvenementLie['idEvenement'];
                $idEvenementGA = $fetchEvenementLie['idEvenementGroupeAdresse'];

                // suppression des liaisons precedentes une par une
                $reqSuppr = "DELETE FROM _evenementAdresseLiee WHERE idEvenement='".$idEvenement."' AND idEvenementGroupeAdresse='".$idEvenementGA."'";
                $resSuppr = $this->connexionBdd->requete($reqSuppr);
                // maj des positions du groupe d'adresse concerne, si le groupe d'adresse ne comporte plus l'adresse
                if (!isset($this->variablesPost['listeIdGroupesAdressesLiees'])
                || !is_array($this->variablesPost['listeIdGroupesAdressesLiees'])
                || count($this->variablesPost['listeIdGroupesAdressesLiees'])==0
                || !in_array($idEvenementGA, $this->variablesPost['listeIdGroupesAdressesLiees'])
                ) {
                // si l'une des conditions est remplie , on peut mettre a jour les groupes d'adresses qui ne seront plus liés pour qu'ils ne tiennent plus compte de la position (un simple refresh des positions)
                    // vu que cette fonction quand elle fait un refresh supprime d'abord tous les enregistrements des positions concernée et les regeneres , elle supprimera donc les anciennes adresses liées
                    // sinon si l'evenement groupe d'adresses est dans la liste des groupes d'adresses liés , pas besoin de rafraichir (sinon cela effacerait la position de l'evenement puisqu'on vient de l'effacer de la liste (on va le remettre un peu plus bas dans le code)
                    $this->majPositionsEvenements(array('idEvenementGroupeAdresse'=>$idEvenementGA,'refreshAfterDelete'=>true));
                }
            }


            // ajout des liaisons vers les adresses selectionnées
            // d'abord on verifie qu'il n'y a pas de doublons dans la liste , car c'est possible

            $arrayIdAdresses = array();

            if (isset($this->variablesPost['listeIdGroupesAdressesLiees'])) {
                foreach ($this->variablesPost['listeIdGroupesAdressesLiees'] as $indice => $value) {
                    $arrayIdGroupesAdresses[] = $value;
                }

                $arrayIdGroupesAdresses=array_unique($arrayIdGroupesAdresses);

                foreach ($arrayIdGroupesAdresses as $indice => $value) {
                    $reqAjout = "INSERT INTO _evenementAdresseLiee (idEvenement,idEvenementGroupeAdresse) VALUES ('".$this->variablesGet['idEvenement']."','".$value."')";
                    $resAjout = $this->connexionBdd->requete($reqAjout);


                    // on met a jour les positions des evenements sur chacun des groupes d'adresses lié, la fonction de mise a jour se comporte alors comme si on ajoute un nouvel element, pour que celui ci soit bien placé (si on fais un refresh simple avec cette fonction, elle ne positionnera pas le nouvel evenement
                    $this->majPositionsEvenements(array('idEvenementGroupeAdresse'=>$value,'idNouvelEvenement'=>$this->variablesGet['idEvenement']));
                }
            }
        }

        //Dirty redirect but form  is not well handle so have to use dirty method
        unset($this->variablesGet['archiAction']);
        header("Location: ".$this->creerUrl('', '', $this->variablesGet, false, false));
    }
282135
public function afficheListeRegroupee()
    {
        $html="";
        $t=new Template($this->getCheminPhysique().$this->cheminTemplates);
        $t->set_filenames((array('listeRegroupee'=>'listeRegroupee.tpl')));

        $r = new archiRecherche();


        if (isset($this->variablesGet['modeAffichageListe'])) {
            $modeAffichageListe = $this->variablesGet['modeAffichageListe'];
        } else {
            $modeAffichageListe = 'default';
        }
        $idVilleGeneral = 1;  // strasbourg par defaut
        $s = new objetSession();

        if ($s->isInSession('archiIdVilleGeneral') && $s->getFromSession('archiIdVilleGeneral')!='') {
            $idVilleGeneral = $s->getFromSession('archiIdVilleGeneral');
        } elseif (isset($this->variablesGet['archiIdVilleGeneral'])) {
            $idVilleGeneral = $this->variablesGet['archiIdVilleGeneral'];
            $s->addToSession('archiIdVilleGeneral', $idVilleGeneral);
        }

        $fetchInfosVille = $this->getInfosVille($idVilleGeneral, array('fieldList'=>'v.nom as nomVille'));

        $nomVilleGeneral = $fetchInfosVille['nomVille'];

        $t->assign_vars(array('liens'=>"<a href='".$this->creerUrl('', 'listeDossiers', array('modeAffichageListe'=>'parRues','archiIdVilleGeneral'=>$idVilleGeneral))."'>"._("Par rues de")." ".$nomVilleGeneral."</a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href='".$this->creerUrl('', 'listeDossiers', array('modeAffichageListe'=>'parQuartiers','archiIdVilleGeneral'=>$idVilleGeneral))."'>"._("Par quartiers de")." ".$nomVilleGeneral."</a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href='".$this->creerUrl('', 'listeDossiers', array('modeAffichageListe'=>'parVilles'))."'>"._("Par villes")."</a>",

        ));

        switch ($modeAffichageListe) {
            case 'parQuartiers':
                $pagination = new paginationObject();

                $arrayQuartiers = $this->getIdQuartiersFrom($idVilleGeneral, 'ville');

                $arrayQuartiersNotEmpty = $r->getIdQuartiersNotEmpty();


                $arrayListeQuartiersNotEmpty = array();
                $arrayListeAlphabetique = array();
                foreach ($arrayQuartiers as $indice => $idQuartier) {
                    if (in_array($idQuartier, $arrayQuartiersNotEmpty['arrayListeQuartiersNonVides'])) {
                        $arrayListeQuartiersNotEmpty[] = $idQuartier;
                    }
                }


                // pagination
                $nbEnregistrementTotaux = count($arrayListeQuartiersNotEmpty);

                // nombre d'images affichées sur une page
                $nbEnregistrementsParPage = 12;
                $arrayPagination=$pagination->pagination(array(
                        'nomParamPageCourante'=>'archiPageCouranteVille',
                        'nbEnregistrementsParPage'=>$nbEnregistrementsParPage,
                        'nbEnregistrementsTotaux'=>$nbEnregistrementTotaux,
                        'typeLiens'=>'noformulaire'
                ));

                $t->assign_vars(array('pagination'=>$arrayPagination['html']));

                $req = "SELECT idQuartier, nom
						FROM quartier
						WHERE idQuartier in ('".implode("','", $arrayListeQuartiersNotEmpty)."')
								and nom<>'autre'
								ORDER BY nom ASC
								LIMIT ".$arrayPagination['limitSqlDebut'].",".$nbEnregistrementsParPage."
										";

                $tableau = new tableau();

                $res = $this->connexionBdd->requete($req);
                while ($fetch = mysql_fetch_assoc($res)) {
                // pour chaque ville on va regarder s'il y a des adresses qui correspondent et on les compte
                    /*$reqCount = "
					 SELECT distinct ha.idAdresse
					FROM historiqueAdresse ha2, historiqueAdresse ha
					LEFT JOIN sousQuartier sq ON sq.idQuartier = '".$fetch['idQuartier']."'
					LEFT JOIN rue r ON r.idSousQuartier = sq.idSousQuartier
					WHERE
					(ha.idRue = IFNULL(r.idRue , 0)
							OR  ha.idQuartier = '".$fetch['idQuartier']."'
							OR  ha.idSousQuartier = IFNULL(sq.idSousQuartier,0))
					AND ha2.idHistoriqueAdresse = ha.idHistoriqueAdresse
					GROUP BY ha.idAdresse, ha.idHistoriqueAdresse
					HAVING ha.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)
					";*/



                    $reqRuesQuartier = "SELECT idRue FROM rue WHERE idSousQuartier IN (SELECT idSousQuartier FROM sousQuartier WHERE idQuartier=".$fetch['idQuartier'].")";
                    $reqSousQuartier = "SELECT idSousQuartier FROM sousQuartier WHERE idQuartier = ".$fetch['idQuartier'];

                    $nbAdressesTotales=0;
                    $nbAdressesRues =0;
                    $nbAdressesSousQuartiers=0;
                    $nbAdressesQuartiers=0;

                    $resRuesQuartier = $this->connexionBdd->requete($reqRuesQuartier);
                    while ($fetchRuesQuartier = mysql_fetch_assoc($resRuesQuartier)) {
                        $reqCountRuesQuartier = "SELECT count(distinct idAdresse) as nbAdressesRues from historiqueAdresse WHERE idRue='".$fetchRuesQuartier['idRue']."'";
                        $resCountRuesQuartier = $this->connexionBdd->requete($reqCountRuesQuartier);
                        $fetchAdressesRues = mysql_fetch_assoc($resCountRuesQuartier);
                        $nbAdressesRues += $fetchAdressesRues['nbAdressesRues'];
                    }

                    $resSousQuartier = $this->connexionBdd->requete($reqSousQuartier);
                    while ($fetchSousQuartier = mysql_fetch_assoc($resSousQuartier)) {
                        $reqCountSousQuartierQuartier = "SELECT count(distinct idAdresse) as nbAdressesSousQuartiers FROM historiqueAdresse WHERE idSousQuartier='".$fetchSousQuartier['idSousQuartier']."'";
                        $resCountSousQuartierQuartier = $this->connexionBdd->requete($reqCountSousQuartierQuartier);
                        $fetchAdressesSousQuartiers = mysql_fetch_assoc($resCountSousQuartierQuartier);
                        $nbAdressesSousQuartiers += $fetchAdressesSousQuartiers['nbAdressesSousQuartiers'];
                    }

                    $reqCountQuartiers = "SELECT count(distinct idAdresse) as nbAdressesQuartier FROM historiqueAdresse WHERE idQuartier = '".$fetch['idQuartier']."'";
                    $resCountQuartiers = $this->connexionBdd->requete($reqCountQuartiers);
                    $fetchCountQuartiers = mysql_fetch_assoc($resCountQuartiers);
                    $nbAdressesQuartiers += $fetchCountQuartiers['nbAdressesQuartier'];


                    $nbAdressesTotales = $nbAdressesRues + $nbAdressesSousQuartiers + $nbAdressesQuartiers;

                    $nbResultats = "(".$nbAdressesTotales.")";


                    $htmlPhoto='';
                    $urlPhoto = $this->getUrlImageFromQuartier($fetch['idQuartier'], 'moyen');
                    if (!pia_ereg("transparent.gif", $urlPhoto)) {  // la fonction renvoi le lien vers une photo transparente si elle ne trouve pas de photo de du quartier
                        $htmlPhoto = "<a href='".$this->creerUrl('', 'adresseListe', array('recherche_quartier'=>$fetch['idQuartier']))."'><img src='".$urlPhoto."' border=0></a>";
                    } else {
                        // pas de photo
                        $htmlPhoto = "<span style='float:right;margin:0px;padding:0px;'><a href='".$this->creerUrl('', 'adresseListe', array('recherche_quartier'=>$fetch['idQuartier']))."'><table border='' style='margin:0px;padding:0px;border:1px solid #000000;font-size:11px;background-image:url(".$this->getUrlImage()."imageDefautArchiv2.jpg);' width=200 height=150><tr><td align=center valign=center style='padding-top:100px;'>Pas de photo</td></tr></table></a></span>";
                    }


                    $lien = "<a href='".$this->creerUrl('', 'adresseListe', array('recherche_quartier'=>$fetch['idQuartier']))."'>".stripslashes($fetch['nom'])."</a>".$nbResultats;
                    if ($nbAdressesTotales>0) {
                        $tableau->addValue($htmlPhoto."<br>".$lien);
                    }
                }

                $t->assign_vars(array('elements'=>$tableau->createHtmlTableFromArray(3)));
                break;

            case "parVilles":
                $arrayVillesNotEmpty = $r->getIdVillesNotEmpty();
                $arrayListeVillesAvecAdresses = $arrayVillesNotEmpty["arrayIdVilles"];
                $listeVilleAvecAdresses = implode(",", $arrayListeVillesAvecAdresses);
                //pagination
                $reqNbVilles = "
						SELECT 0
						FROM ville
						where (idPays = '1' or idPays='2')
						AND idVille in (".$listeVilleAvecAdresses.")
								and nom <>'autre'
								";
                $resNbVilles = $this->connexionBdd->requete($reqNbVilles);
                $nbEnregistrementTotaux = mysql_num_rows($resNbVilles);
                // nombre d'images affichées sur une page
                $nbEnregistrementsParPage = 12;
                $arrayPagination=$this->pagination(array(
                        'nomParamPageCourante'=>'archiPageCouranteVille',
                        'nbEnregistrementsParPage'=>$nbEnregistrementsParPage,
                        'nbEnregistrementsTotaux'=>$nbEnregistrementTotaux,
                        'typeLiens'=>'noformulaire'
                ));



                $t->assign_vars(array('pagination'=>$arrayPagination['html']));

                $req = "
						SELECT v.nom,v.idVille, lower(substr(v.nom,1,1)) as lettre
						FROM ville v

						WHERE (v.idPays = '1' or v.idPays='2')
						AND v.nom<>'autre'
						AND idVille in (".$listeVilleAvecAdresses.")
								ORDER BY v.nom
								LIMIT ".$arrayPagination['limitSqlDebut'].",".$nbEnregistrementsParPage;

                $tableau = new tableau();

                $res = $this->connexionBdd->requete($req);

                while ($fetch = mysql_fetch_assoc($res)) {
                    $listeRuesVille = "SELECT idRue FROM rue WHERE idSousQuartier IN (SELECT idSousQuartier FROM sousQuartier WHERE idQuartier IN (SELECT idQuartier FROM quartier WHERE idVille='".$fetch['idVille']."'))";
                    $listeSousQuartiersVille = "SELECT idSousQuartier FROM sousQuartier WHERE idQuartier IN (SELECT idQuartier FROM quartier WHERE idVille='".$fetch['idVille']."')";
                    $listeQuartiersVille = "SELECT idQuartier FROM quartier WHERE idVille='".$fetch['idVille']."'";


                    // comptage du nombre d'adresse liés a ces elements d'adresses
                    $resRuesVille = $this->connexionBdd->requete($listeRuesVille);
                    $nbRues = 0;
                    while ($fetchRuesVilles = mysql_fetch_assoc($resRuesVille)) {
                        $reqNbAdressesRue = "SELECT count(distinct idAdresse) as nbAdressesRue FROM historiqueAdresse WHERE idRue='".$fetchRuesVilles['idRue']."'";
                        $resNbAdressesRue = $this->connexionBdd->requete($reqNbAdressesRue);
                        $fetchNbAdressesRue = mysql_fetch_assoc($resNbAdressesRue);
                        $nbRues += $fetchNbAdressesRue['nbAdressesRue'];
                    }

                    $resSousQuartiersVille = $this->connexionBdd->requete($listeSousQuartiersVille);
                    $nbSousQuartiers = 0;
                    while ($fetchSousQuartiersVille = mysql_fetch_assoc($resSousQuartiersVille)) {
                        $reqNbAdressesSousQuartier = "SELECT count(distinct idAdresse) as nbAdressesSousQuartiers FROM historiqueAdresse WHERE idSousQuartier='".$fetchSousQuartiersVille['idSousQuartier']."'";
                        $resNbAdressesSousQuartier = $this->connexionBdd->requete($reqNbAdressesSousQuartier);
                        $fetchNbAdressesSousQuartier = mysql_fetch_assoc($resNbAdressesSousQuartier);
                        $nbSousQuartiers += $fetchNbAdressesSousQuartier['nbAdressesSousQuartiers'];
                    }

                    $resQuartiersVille = $this->connexionBdd->requete($listeQuartiersVille);
                    $nbQuartiers = 0;
                    while ($fetchQuartiersVille = mysql_fetch_assoc($resQuartiersVille)) {
                        $reqNbAdressesQuartier = "SELECT count(distinct idAdresse) as nbAdressesQuartiers FROM historiqueAdresse WHERE idQuartier='".$fetchQuartiersVille['idQuartier']."'";
                        $resNbAdressesQuartier = $this->connexionBdd->requete($reqNbAdressesQuartier);
                        $fetchNbAdressesQuartier = mysql_fetch_assoc($resNbAdressesQuartier);
                        $nbQuartiers += $fetchNbAdressesQuartier['nbAdressesQuartiers'];
                    }

                    $nbVilles = 0;
                    $reqNbAdressesVilles = "SELECT count(distinct idAdresse) as nbAdressesVilles FROM historiqueAdresse WHERE idVille='".$fetch['idVille']."'";
                    $resNbAdressesVilles = $this->connexionBdd->requete($reqNbAdressesVilles);
                    $fetchNbAdressesVilles = mysql_fetch_assoc($resNbAdressesVilles);
                    $nbVilles = $fetchNbAdressesVilles['nbAdressesVilles'];


                    $totalAdresses = $nbRues + $nbQuartiers + $nbVilles;

                    $recherche = new archiRecherche();

                    $nbResult = $recherche->getNumberOfAdresse(array('ville' => $fetch['idVille']));

                    $nbResultats = " (".$nbResult.")";

                    $htmlPhoto="";
                    $urlPhoto = $this->getUrlImageFromVille($fetch['idVille'], 'moyen');
                    if ($urlPhoto!='') {
                        $htmlPhoto = "<a href='".$this->creerUrl('', 'adresseListe', array('recherche_ville'=>$fetch['idVille']))."'><img src='".$urlPhoto."' border=0></a>";
                    }

                    $lien = "<a href='".$this->creerUrl('', 'adresseListe', array('recherche_ville'=>$fetch['idVille']))."'>".stripslashes($fetch['nom'])."</a>".$nbResultats."<br>";
                    if ($totalAdresses>0) {
                        $tableau->addValue($htmlPhoto."<br>".$lien);
                    }
                }

                $t->assign_vars(array('elements'=>$tableau->createHtmlTableFromArray(3)));

                break;
            case "parRuesDeQuartier":
            default:
                // DEFAULT : affichage parRues
                // s'il n'y a pas de criteres on affiche les dossiers des rues de strasbourg
                $r = new archiRecherche();
                $s = new stringObject();

                if (isset($this->variablesGet['archiIdQuartier']) && $this->variablesGet['archiIdQuartier']!='') {
                    $arrayRues = $this->getIdRuesFrom($this->variablesGet['archiIdQuartier'], 'quartier');
                } else {
                    $arrayRues = $this->getIdRuesFrom($idVilleGeneral, 'ville');
                }

                $arrayRuesNotEmpty = $r->getIdRuesNotEmpty();
                $arrayIdRuesNotEmpty=array();
                $arrayListeAlphabetique = array();

                foreach ($arrayRues as $indice => $idRue) {
                    if (in_array($idRue, $arrayRuesNotEmpty['arrayIdRues'])) {
                        $arrayIdRuesNotEmpty[] = $idRue;
                        $reqInitiales = "SELECT lower(substring(nom,1,1)) as initiale FROM rue WHERE idRue='".$idRue."'";
                        $resInitiales = $this->connexionBdd->requete($reqInitiales);
                        $fetchInitiales = mysql_fetch_assoc($resInitiales);
                        $initiale = $fetchInitiales['initiale'];
                        $arrayListeAlphabetique[] = $s->sansAccents($initiale);// enleve les accents

                        if (!isset($this->variablesGet['lettreCourante']) || isset($this->variablesGet['lettreCourante']) && $s->sansAccents($initiale)==$this->variablesGet['lettreCourante']) {
                            $arrayIdRuesNotEmptyWithSelection[] = $idRue; // prend en compte le nombre de rue selectionnée ou non par leur initiales
                        }
                    }
                }

                $sqlCritere = "";
                if (isset($this->variablesGet['lettreCourante']) && $this->variablesGet['lettreCourante']!='') {
                    $sqlCritere = " AND lower(SUBSTRING(nom,1,1))=lower('".$this->variablesGet['lettreCourante']."') ";
                }

                $nbEnregistrementTotaux = count($arrayIdRuesNotEmptyWithSelection);

                // nombre d'images affichées sur une page
                $nbEnregistrementsParPage = 40;
                $pagination = new paginationObject();

                if (isset($this->variablesGet['archiIdQuartier'])) {
                    $arrayPagination=$pagination->pagination(array(
                            'nomParamPageCourante'=>'archiPageRuesQuartier',
                            'nbEnregistrementsParPage'=>$nbEnregistrementsParPage,
                            'nbEnregistrementsTotaux'=>$nbEnregistrementTotaux,
                            'typeLiens'=>'freeLink',
                            'urlFreeLink'=>$this->creerUrl('', 'listeDossiers', array('archiIdQuartier'=>$this->variablesGet['archiIdQuartier'],'modeAffichageListe'=>'parRuesDeQuartier','archiPageRuesQuartier'=>'##numPage##'))

                    ));
                } else {
                    $arrayPagination=$pagination->pagination(array(
                            'nomParamPageCourante'=>'archiPageCouranteVille',
                            'nbEnregistrementsParPage'=>$nbEnregistrementsParPage,
                            'nbEnregistrementsTotaux'=>$nbEnregistrementTotaux,
                            'typeLiens'=>'noformulaire',
                            'arrayListeAlphabetique'=>$arrayListeAlphabetique
                    ));
                }


                $t->assign_vars(array('pagination'=>$arrayPagination['html']));

                $req = "
						SELECT nom,idRue,prefixe, lower(substr(nom,1,1)) as lettre
						FROM rue
						WHERE
						idRue in ('".implode("','", $arrayIdRuesNotEmpty)."')
						$sqlCritere
						ORDER BY lettre
						LIMIT ".$arrayPagination['limitSqlDebut'].",".$nbEnregistrementsParPage;


                $res = $this->connexionBdd->requete($req);

                $tableau = new tableau();

                while ($fetch = mysql_fetch_assoc($res)) {
                // pour chaque rue on va regarder s'il y a des adresses qui correspondent et on les compte (affichage du nombre de resultats)
                    $reqCount = "SELECT count(distinct idAdresse) as nbAdresses FROM historiqueAdresse WHERE idRue='".$fetch['idRue']."'";

                    $resCount = $this->connexionBdd->requete($reqCount);
                    $fetchCount = mysql_fetch_assoc($resCount);
                    $valCount = $fetchCount['nbAdresses'];
                    $nbResultats = " (".$valCount.")";


                    $htmlPhoto='';
                    //$urlPhoto = $this->getUrlImageFromRue($fetch['idRue'],'moyen');
                    $urlPhoto="resizeImage.php?id=".$this->getIdImageFromRue($fetch['idRue']);
                    if (!pia_ereg("transparent.gif", $urlPhoto)) {  // la fonction renvoi le lien vers une photo transparente si elle ne trouve pas de photo de la rue
                        $htmlPhoto = "<a href='".$this->creerUrl('', 'adresseListe', array('recherche_rue'=>$fetch['idRue']))."'><img src='".$urlPhoto."' border=0></a><br>";
                    } else {
                        // pas de photo
                        $htmlPhoto = "<a style='margin:0px;padding:0px;' href='".$this->creerUrl('', 'adresseListe', array('recherche_rue'=>$fetch['idRue']))."'><table border='' style='margin:0px;padding:0px;border:1px solid #000000;font-size:11px;background-image:url(".$this->getUrlImage()."imageDefautArchiv2.jpg);' width=200 height=150><tr><td align=center valign=center style='padding-top:100px;'>Pas de photo</td></tr></table></a>";
                    }

                    $lien = "<a href='".$this->creerUrl('', 'adresseListe', array('recherche_rue'=>$fetch['idRue']))."'>".stripslashes($fetch['prefixe']." ".$fetch['nom'])."</a>".$nbResultats;
                    if ($valCount>0) {
                        $tableau->addValue($htmlPhoto.$lien);
                    }
                }

                $t->assign_vars(array('elements'=>$tableau->createHtmlTableFromArray(5)));

                break;
        }


        ob_start();
        $t->pparse('listeRegroupee');
        $html=ob_get_contents();
        ob_end_clean();

        return $html;
    }
809841
public function apply($imageRessource)
  {
    $startWidth = imagesx($imageRessource);
    $startHeight = imagesy($imageRessource);

    if($startWidth == $this->width && $startHeight == $this->height) {
      // Cas particulier. Image déjà à la bonne taille.
      return $imageRessource;
    }

    $resized = Image::createEmptyContainer($this->width, $this->height);
    imagecopyresampled($resized, $imageRessource, 0, 0, 0, 0, $this->width, $this->height, $startWidth, $startHeight);
    imagedestroy($imageRessource);
    return $resized;
  }
656827
def send_photo(self, *args, **kwargs):
        """"""
        return send_photo(*args, **self._merge_overrides(**kwargs)).run()
1005794
function takePhoto () {
  let sizeFactor = 1;
  let imageType = IMAGE_TYPES.JPG;
  let imageCompression = 1;

  let config = {
    sizeFactor,
    imageType,
    imageCompression
  };

  let dataUri = cameraPhoto.getDataUri(config);
  imgElement.src = dataUri;
}
1038249
public function ajoutNouvelleAdresse()
    {
        $newIdPourMail = 0;
        if (isset($this->variablesPost['typeNouvelElement']) && $this->variablesPost['nouvelElement']!='') {
            switch ($this->variablesPost['typeNouvelElement']) {
                case 'newRue':
                    // est ce que ce nom de rue existe deja ?
                    /*                  if(isset($this->variablesPost['sousQuartier']) && $this->variablesPost['sousQuartier']!='0')
					{

					$sql="
					SELECT idRue
					FROM rue
					WHERE idSousQuartier = '".$this->variablesPost['sousQuartier']."'
					AND LOWER(nom) = LOWER(\"".$this->variablesPost['nouvelElement']."\")
					AND LOWER(prefixe) = LOWER(\"".$this->variablesPost['complement']."\")
					";
					$res=$this->connexionBdd->requete($sql);

					if(mysql_num_rows($res)>0)
					{
					$this->erreurs->ajouter("Erreur : il y a déjà un enregistrement de rue du même nom");
					}
					else
					{
					// ajout
					$this->connexionBdd->requete("
					INSERT INTO rue (idSousQuartier,nom,prefixe)
					VALUES ('".$this->variablesPost['sousQuartier']."',\"".$this->variablesPost['nouvelElement']."\",\"".$this->variablesPost['complement']."\")
					");
					}
					}
					else
					{
					$this->erreurs->ajouter("Erreur : Vous n'avez pas précisé le sous-quartier");
					}
					*/

                    $sousQuartier=0;
                    $quartier=0;
                    $ville=0;
                    $pays=0;

                    if (isset($this->variablesPost['sousQuartier']) && $this->variablesPost['sousQuartier']!='0') {
                        $sousQuartier = $this->variablesPost['sousQuartier'];
                        $typeDernier = 'sousQuartier';
                    } elseif (isset($this->variablesPost['quartier']) && $this->variablesPost['quartier']!='0') {
                        $quartier = $this->variablesPost['quartier'];
                        $typeDernier = 'quartier';
                    } elseif (isset($this->variablesPost['ville']) && $this->variablesPost['ville']!='0') {
                        $ville = $this->variablesPost['ville'];
                        $typeDernier = 'ville';
                    } elseif (isset($this->variablesPost['pays']) && $this->variablesPost['pays']!='0') {
                        $pays = $this->variablesPost['pays'];
                        $typeDernier = 'pays';
                    }

                    if (($sousQuartier + $quartier + $ville + $pays)==0) {
                        $this->erreurs->ajouter("Erreur : Il faut au moins préciser un élément auquel appartient la rue.");
                    } else {
                        // recherche du dernier element renseigné
                        switch ($typeDernier) {
                            //************************************************************************************************************************************************************
                            case 'sousQuartier':
                                // ajout d'une rue , il faut preciser un sous quartier
                                // ajoutRue va verifier si la rue n'existe pas deja et renverra un message d'erreur si c'est le cas
                                $newIdPourMail = $this->ajoutRue($this->variablesPost['sousQuartier'], $this->variablesPost['nouvelElement'], $this->variablesPost['complement']);
                                break;
                            //************************************************************************************************************************************************************
                            case 'quartier':
                                // ajout d'une rue , il faut preciser un sous quartier
                                // on doit donc d'abord trouver le sousQuartier 'autre' correspondant au quartier renseigné, s'il n'existe pas , on le cree
                                $reqAutreSousQuartier = "
										SELECT idSousQuartier FROM sousQuartier WHERE nom='autre' AND idQuartier = '".$quartier."'
												";
                                $resAutreSousQuartier = $this->connexionBdd->requete($reqAutreSousQuartier);

                                if (mysql_num_rows($resAutreSousQuartier)==0) {
                                    // pas de valeur 'autre' pour le sous quartier , il faut le creer
                                    $reqAjoutSousQuartierAutre = "insert into sousQuartier (idQuartier,nom) values ('".$quartier."','autre')";
                                    $this->connexionBdd->requete($reqAjoutSousQuartierAutre);
                                    $newId = mysql_insert_id();
                                    $newIdPourMail = $this->ajoutRue($newId, $this->variablesPost['nouvelElement'], $this->variablesPost['complement']);
                                } else {
                                    // sous quartier autre trouve pour le quartier
                                    $fetchAutreSousQuartier = mysql_fetch_assoc($resAutreSousQuartier);

                                    $newIdPourMail = $this->ajoutRue($fetchAutreSousQuartier['idSousQuartier'], $this->variablesPost['nouvelElement'], $this->variablesPost['complement']);
                                }

                                break;
                            //************************************************************************************************************************************************************
                            case 'ville':
                                // ajout d'une rue , il faut preciser un sous quartier
                                // recuperation du quartier 'autre' de la ville puis du sousQuartier 'autre' de ce quartier
                                $reqAutreQuartier = "SELECT idQuartier FROM quartier WHERE nom='autre' and idVille='".$ville."'";
                                $resAutreQuartier = $this->connexionBdd->requete($reqAutreQuartier);

                                if (mysql_num_rows($resAutreQuartier)==0) {
                                    // creation du quartier 'autre' de la ville concernee
                                    $reqAjoutQuartierAutre = "insert into quartier (idVille,nom) values ('".$ville."','autre')";
                                    $resAjoutQuartierAutre= $this->connexionBdd->requete($reqAjoutQuartierAutre);
                                    $idQuartierAutreNew = mysql_insert_id();

                                    // creation du sousQuartier 'autre' de ce nouveau quartier autre
                                    $reqAjoutSousQuartierAutre = "insert into sousQuartier (idQuartier,nom) value ('".$idQuartierAutreNew."','autre')";
                                    $resAjoutSousQuartierAutre = $this->connexionBdd->requete($reqAjoutSousQuartierAutre);
                                    $idSousQuartierAutreNew = mysql_insert_id();

                                    // ajout de la rue
                                    $newIdPourMail = $this->ajoutRue($idSousQuartierAutreNew, $this->variablesPost['nouvelElement'], $this->variablesPost['complement']);
                                } else {
                                    // le quartier autre existe
                                    // recherche du sousQuartier qui lui appartient
                                    $fetchIdQuartier = mysql_fetch_assoc($resAutreQuartier);
                                    $quartier = $fetchIdQuartier['idQuartier'];
                                    $reqAutreSousQuartier = "
											SELECT idSousQuartier FROM sousQuartier WHERE nom='autre' AND idQuartier = '".$quartier."'
													";
                                    $resAutreSousQuartier = $this->connexionBdd->requete($reqAutreSousQuartier);

                                    if (mysql_num_rows($resAutreSousQuartier)==0) {
                                        // pas de valeur 'autre' pour le sous quartier , il faut le creer
                                        $reqAjoutSousQuartierAutre = "insert into sousQuartier (idQuartier,nom) values ('".$quartier."','autre')";
                                        $this->connexionBdd->requete($reqAjoutSousQuartierAutre);
                                        $newId = mysql_insert_id();
                                        $newIdPourMail = $this->ajoutRue($newId, $this->variablesPost['nouvelElement'], $this->variablesPost['complement']);
                                    } else {
                                        // sous quartier autre trouve pour le quartier
                                        $fetchAutreSousQuartier = mysql_fetch_assoc($resAutreSousQuartier);

                                        $newIdPourMail = $this->ajoutRue($fetchAutreSousQuartier['idSousQuartier'], $this->variablesPost['nouvelElement'], $this->variablesPost['complement']);
                                    }
                                }

                                break;
                            //************************************************************************************************************************************************************
                            case 'pays':
                                // ajout d'une rue , il faut preciser un sous quartier
                                echo "ajout d'une rue dans un pays verrouillee. Contactez l'administrateur ou selectionnez d'abord une ville. Si celle ci n'existe pas, contactez nous pour que nous l'ajoutions.";
                                break;
                        }
                    }



                    break;
                case 'newSousQuartier':
                    if (isset($this->variablesPost['quartier']) && $this->variablesPost['quartier']!='0') {
                    // est ce que l'enregistrement existe deja ?
                        $sql="
								SELECT idSousQuartier
								FROM sousQuartier
								WHERE idQuartier = '".$this->variablesPost['quartier']."'
										AND LOWER(nom) = LOWER(\"".$this->variablesPost['nouvelElement']."\")
												";
                        $res=$this->connexionBdd->requete($sql);

                        if (mysql_num_rows($res)>0) {
                            $this->erreurs->ajouter("Erreur : il y a déjà un enregistrement de sous-quartier du même nom");
                        } else {
                            // ajout
                            $this->connexionBdd->requete("
									INSERT INTO sousQuartier (idQuartier,nom)
									VALUES ('".$this->variablesPost['quartier']."',\"".$this->variablesPost['nouvelElement']."\")
									");

                            $newIdPourMail = mysql_insert_id();
                        }
                    } else {
                        $this->erreurs->ajouter("Erreur : Vous n'avez pas précisé le quartier");
                    }
                    break;
                case 'newQuartier':
                    if (isset($this->variablesPost['ville']) && $this->variablesPost['ville']!='0') {
                    // est ce que l'enregistrement existe deja ?
                        $sql="
								SELECT idQuartier
								FROM quartier
								WHERE idVille = '".$this->variablesPost['ville']."'
										AND LOWER(nom) = LOWER(\"".$this->variablesPost['nouvelElement']."\")
												";

                        $res=$this->connexionBdd->requete($sql);

                        if (mysql_num_rows($res)>0) {
                            $this->erreurs->ajouter("Erreur : il y a déjà un enregistrement de quartier du même nom");
                        } else {
                            // ajout
                            $this->connexionBdd->requete("
									INSERT INTO quartier (idVille,nom)
									VALUES ('".$this->variablesPost['ville']."',\"".$this->variablesPost['nouvelElement']."\")
									");

                            $newIdPourMail = mysql_insert_id();
                        }
                    } else {
                        $this->erreurs->ajouter("Erreur : Vous n'avez pas précisé la ville");
                    }
                    break;
                case 'newVille':
                    if (isset($this->variablesPost['pays']) && $this->variablesPost['pays']!='0') {
                    // est ce que l'enregistrement existe deja ?
                        $sql="
								SELECT idVille
								FROM ville
								WHERE idPays = '".$this->variablesPost['pays']."'
										AND LOWER(nom) = LOWER(\"".$this->variablesPost['nouvelElement']."\")
												";
                        $res=$this->connexionBdd->requete($sql);
                        if (mysql_num_rows($res)>0) {
                            $this->erreurs->ajouter("Erreur : il y a déjà un enregistrement de ville du même nom");
                        } else {
                            // ajout
                            $this->connexionBdd->requete("
									INSERT INTO ville (idPays,nom,codepostal,longitude,latitude)
									VALUES ('".$this->variablesPost['pays']."',\"".$this->variablesPost['nouvelElement']."\",'".$this->variablesPost['codepostal']."','".$this->variablesPost['longitude']."','".$this->variablesPost['latitude']."')
									");

                            $newIdPourMail = mysql_insert_id();
                        }
                    } else {
                        $this->erreurs->ajouter("Erreur : Vous n'avez pas précisé le pays");
                    }
                    break;
                case 'newPays':
                    // est ce que l'enregistrement existe deja ?
                    $sql = "
							SELECT idPays
							FROM pays
							WHERE LOWER(nom)=LOWER(\"".$this->variablesPost['nouvelElement']."\")
									";

                    $res=$this->connexionBdd->requete($sql);

                    if (mysql_num_rows($res)>0) {
                        $this->erreurs->ajouter("Erreur : il y a déjà un enregistrement de pays du même nom");
                    } else {
                        // ajout
                        $this->connexionBdd->requete("
								INSERT INTO pays (nom) VALUES (\"".$this->variablesPost['nouvelElement']."\")
								");

                        $newIdPourMail = mysql_insert_id();
                    }
                    break;
            }

            // envoi d'un mail aux admins
            if ($newIdPourMail!='0' && $newIdPourMail!='') {
                $tableName="";
                $identifiantName = "";
                // correspondance entre les noms de tables
                switch ($this->variablesPost['typeNouvelElement']) {
                    case "newRue":
                        $tableName = "rue";
                        $identifiantName = "idRue";
                        break;
                    case "newSousQuartier":
                        $tableName = "sousQuartier";
                        $identifiantName = "idSousQuartier";
                        break;
                    case "newQuartier":
                        $tableName = "quartier";
                        $identifiantName = "idQuartier";
                        break;
                    case "newVille":
                        $tableName = "ville";
                        $identifiantName = "idVille";
                        break;
                    case "newPays":
                        $tableName= "pays";
                        $identifiantName = "idPays";
                        break;
                }



                $mail = new mailObject();

                $a = new archiAuthentification();
                $u = new archiUtilisateur();
                $arrayInfosUtilisateur = $u->getArrayInfosFromUtilisateur($a->getIdUtilisateur());
                $message = "Un élément d'adresse a été ajouté par : ".$arrayInfosUtilisateur['nom']." ".$arrayInfosUtilisateur['prenom']."<br>";
                $message .= "type d'élément : ".$tableName."<br><br>";
                $message.="<a href='".$this->creerUrl('', 'adminAdresseDetail', array('tableName'=>$tableName,'idModification'=>$newIdPourMail))."'>".$this->creerUrl('', 'adminAdresseDetail', array('tableName'=>$tableName,'idModification'=>$newIdPourMail))."</a>";

                $messageModerateur="Un élément d'adresse a été ajouté<br>";
                $messageModerateur.="type d'élément : ".$tableName."<br><br>";
                $messageModerateur.="<a href='".$this->creerUrl('', 'adminAdresseDetail', array('tableName'=>$tableName,'idModification'=>$newIdPourMail))."'>".$this->creerUrl('', 'adminAdresseDetail', array('tableName'=>$tableName,'idModification'=>$newIdPourMail))."</a>";

                $mail->sendMailToAdministrators($mail->getSiteMail(), "archi-strasbourg.org : un utilisateur a ajouté un élément d'adresse", $message, " and alerteMail='1' ", true);

                $u = new archiUtilisateur();
                $u->ajouteMailEnvoiRegroupesAdministrateurs(array('contenu'=>$message,'idTypeMailRegroupement'=>2,'criteres'=>" and alerteMail='1' "));

                /*
				 if(in_array($tableName,array('rue','sousQuartier','quartier')))
				 {
				$idVille = $this->getIdVilleFrom($newIdPourMail,$identifiantName);
				$arrayListeModerateurs = $u->getArrayIdModerateursActifsFromVille($idVille,array("sqlWhere"=>" AND alerteAdresses='1' "));
				if(count($arrayListeModerateurs)>0)
				{
				foreach($arrayListeModerateurs as $indice => $idModerateur)
				{
				if($idModerateur!=$a->getIdUtilisateur() && $u->isAuthorized('admin_rues',$idModerateur) && $u->isAuthorized('admin_sousQuartiers',$idModerateur) && $u->isAuthorized('admin_quartiers',$idModerateur))
				{
				$mailModerateur = $u->getMailUtilisateur($idModerateur);
				$mail->sendMail($mail->getSiteMail(),$mailModerateur,"archi-strasbourg.org : un utilisateur ajouté un élément d'adresse",$messageModerateur,true);
				}
				}
				}
				}*/
            }
        } else {
            $this->erreurs->ajouter("Erreur: le champ 'intitule' est vide");
        }
    }
878822
def transform(self, **kwds):
        
        result = self._client.photo.transform(self, **kwds)
        self._replace_fields(result.get_fields())
883146
function viewBox2mtx(svgElmt) {
        
        var viewBox = svgElmt.viewBox.baseVal,
        mtx = new Matrix(),
        scaleX,scaleY,ratio;
        
        if (!viewBox) return mtx;
        
        if (viewBox.width && viewBox.height) {
            
            scaleX = svgElmt.getAttribute('width')/viewBox.width;
            scaleY = svgElmt.getAttribute('height')/viewBox.height;
            ratio = svgElmt.getAttribute("preserveAspectRatio");
            
            if (ratio && ratio!="none") throw new Error(ratio+" : désolé, la méthode ne fonctionne pas avec une valeur de preserveAspectRatio différente de 'none'.");
            
            mtx = mtx.scaleNonUniform(scaleX,scaleY);
        }
        
        mtx = mtx.translate(-viewBox.x,-viewBox.y);
        
        return mtx;
    }