Attempts to discover IMAP settings for a given email address
@link http://context.io/docs/2.0/discovery

@param mixed $params either a string or assoc array
with email as its key

@return \ContextIO\ContextIOResponse
513729
public function discovery($params)
    {
        if (is_string($params)) {
            $params = array('email' => $params);
        } else {
            $params = $this->checkFilterParams($params, array('email'), array('email'));
            if ($params === false) {
                throw new \InvalidArgumentException("params array contains invalid parameters or misses required parameters");
            }
        }

        return $this->lastRequest->get(null, 'discovery?email=' . rawurlencode($params[ 'email' ]));
    }
1296885
public function search($params)
    {
        /* @var \yii\rbac\Manager $authManager */
        $authManager = Configs::authManager();
        if ($this->type == Item::TYPE_ROLE) {
            $items = $authManager->getRoles();
        } else {
            $items = array_filter($authManager->getPermissions(), function($item) {
                return $this->type == Item::TYPE_PERMISSION xor strncmp($item->name, '/', 1) === 0;
            });
        }
        $this->load($params);
        if ($this->validate()) {

            $search = mb_strtolower(trim($this->name));
            $desc = mb_strtolower(trim($this->description));
            $ruleName = $this->ruleName;
            foreach ($items as $name => $item) {
                $f = (empty($search) || mb_strpos(mb_strtolower($item->name), $search) !== false) &&
                    (empty($desc) || mb_strpos(mb_strtolower($item->description), $desc) !== false) &&
                    (empty($ruleName) || $item->ruleName == $ruleName);
                if (!$f) {
                    unset($items[$name]);
                }
            }
        }

        return new ArrayDataProvider([
            'allModels' => $items,
        ]);
    }
308006
private static function getCacheKeyForCall(array $params)
    {
        static $domainLevel = null;

        $params += $_GET;
        $keyStr = '';
        foreach ($params as $param) {
            $keyStr .= serialize($param);
        }

        $keyStr .= Request::domainPrefix(
            $domainLevel ?? $domainLevel = count(explode('.', Config::application('domain')))
        );

        return md5($keyStr);
    }
627672
public function search($params)
    {
        $query = Z1User::find();

        // add conditions that should always apply here

        $dataProvider = new ActiveDataProvider([
            'query' => $query,
            'pagination' => [
                'pageSize' => 10,
            ],
            'sort' => [
                'defaultOrder' => [
                    'id' => SORT_DESC
                ],
            ],
        ]);

        $this->load($params);

        if (!$this->validate()) {
            // uncomment the following line if you do not want to return any records when validation fails
            // $query->where('0=1');
            return $dataProvider;
        }

        // grid filtering conditions
        $query->andFilterWhere([
            'id' => $this->id,
            'status' => $this->status,
            'created_at' => $this->created_at,
            'updated_at' => $this->updated_at,
        ]);

        $query->andFilterWhere(['like', 'username', $this->username])
            ->andFilterWhere(['like', 'auth_key', $this->auth_key])
            ->andFilterWhere(['like', 'password_hash', $this->password_hash])
            ->andFilterWhere(['like', 'password_reset_token', $this->password_reset_token])
            ->andFilterWhere(['like', 'email', $this->email]);

        return $dataProvider;
    }
1336682
public function send($params)
    {
        $rst = $this->_request->post($this->_url . 'message/mass/send', $params);
        return $this->_client->rst($rst);
    }
1049032
public function sendVenue(array $params)
    {
        if (isset($params['reply_markup']) && $params['reply_markup'] instanceof Keyboard) {
            $params['reply_markup'] = json_encode($params['reply_markup']);
        }

        return Message::createFromResponse($this->request('sendVenue', $params));
    }
488366
private function determineContext($internalProperty, array $params)
    {
        $ctx = null;
        if ($internalProperty !== null && isset($params['ctx']) !== true) {
            // We need to clone it as jms contexts are not reusable.
            $ctx = clone $internalProperty;
        }

        // When a passed context exists, override the internal one
        if (isset($params['ctx']) === true) {
            $ctx = $params['ctx'];
        }

        return $ctx;
    }
420696
public function unmap(array $params)
	{
		if (!isset($params['ientifier'])) {
			throw new MissingArgumentException('identifier');
		}

		if (!isset($params['all_identifiers'])) {
			throw new MissingArgumentException('all_identifiers');
		}

		if (!isset($params['primaryKey'])) {
			throw new MissingArgumentException('primaryKey');
		}

		if (!isset($params['unlink'])) {
			throw new MissingArgumentException('unlink');
		}

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

		return $this->post('unmap', $params);
	}
1138072
public function getArrayEncartAdressesImmeublesAvantApres($params = array())
    {
        $html = "";


        $t = new Template('modules/archi/templates/');
        $t->set_filenames(array('encartAdresse'=>'encartAdresseDetailAdresse.tpl'));


        $i = new archiImage();
        if (isset($this->variablesGet['archiIdAdresse'])) {
            $idAdresseCourante = $this->variablesGet['archiIdAdresse'];
        } else {
            $idAdresseCourante = $this->getIdAdresseFromIdEvenementGroupeAdresse($params['idEvenementGroupeAdresse']);
        }
        // recherche de l'image principale courante , sinon celle de position 1 , sinon celle par defaut
        // image centrale = image2
        $arrayImage2 = $this->getUrlImageFromAdresse(0, 'moyen', array('idEvenementGroupeAdresse'=>$params['idEvenementGroupeAdresse']));
        $isPhotoCentrale = false;
        $dimensions = array();
        if ($arrayImage2['trouve']) {
            $isPhotoCentrale = true;
           // list($w,$h) = getimagesize($this->getCheminPhysique()."images/moyen/".$arrayImage2['dateUpload']."/".$arrayImage2['idHistoriqueImage'].".jpg");
            //TODO : Change back URL for production
            list($w,$h) = getimagesize("images/moyen/".$arrayImage2['dateUpload']."/".$arrayImage2['idHistoriqueImage'].".jpg");
            $newWGrand = round(75*$w/100);
            $newHGrand = round(75*$h/100);

            $newWPetit = round(35*$w/100);
            $newHPetit = round(35*$h/100);

            $t->assign_vars(array('image2'=>"<div id='divImagePetit2' style='display:none;'><img src='".$arrayImage2['url']."' alt='' width=$newWPetit height=$newHPetit id='image2Petit'></div><div id='divImageGrand2' style='display:block;'><img src='images/moyen/".$arrayImage2['dateUpload']."/".$arrayImage2['idHistoriqueImage'].".jpg' alt=''  id='image2Grand' itemprop='image'></div>"));
        } else {
            // image par defaut , si aucune image liee a l'adresse
            $isPhotoCentrale = true;
            list($w,$h) = getimagesize($this->getUrlRacine()."resizeImage.php");
            $newWGrand = round(75*$w/100);
            $newHGrand = round(75*$h/100);

            $newWPetit = round(35*$w/100);
            $newHPetit = round(35*$h/100);
            $t->assign_vars(array('image2'=>"<div id='divImagePetit2' style='display:none;'><img src='resizeImage.php' alt='' width=$newWPetit height=$newHPetit id='image2Petit'></div><div id='divImageGrand2' style='display:block;'><img src='resizeImage.php' alt='' width=$newWGrand height=$newHGrand id='image2Grand'></div>"));
        }


        // fabrication de la liste des adresses affichées sur l'encart
        // adresse courante affichée en rouge:
        //$txtAdresseCourante = $this->getIntituleAdresseFrom($idAdresseCourante,'idAdresse',array('noSousQuartier'=>true,'noQuartier'=>true,'noVille'=>true));

        // recherche des autres adresses du groupe d'adresse courant
        //$txtAutreAdressesGroupeAdresse = "";
        $txtAdresses = "";
        $reqAdresseDuGroupeAdresse = "
            SELECT ha1.idAdresse as idAdresse,ha1.numero as numero, ha1.idRue as idRue, IF(ha1.idIndicatif='0','',i.nom) as nomIndicatif, ha1.idQuartier as idQuartier, ha1.idSousQuartier as idSousQuartier
            FROM historiqueAdresse ha2, historiqueAdresse ha1
            LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha1.idAdresse
            LEFT JOIN indicatif i ON i.idIndicatif = ha1.idIndicatif
            WHERE ha2.idAdresse = ha1.idAdresse
            AND ae.idEvenement ='".$params['idEvenementGroupeAdresse']."'

            GROUP BY ha1.idAdresse, ha1.idHistoriqueAdresse
            HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)
            ORDER BY ha1.numero,ha1.idRue
        ";//AND ha1.idAdresse<>'".$idAdresseCourante."'



        $resAdresseDuGroupeAdresse = $this->connexionBdd->requete($reqAdresseDuGroupeAdresse);
        if (mysql_num_rows($resAdresseDuGroupeAdresse)>0) {
            $arrayNumero = array();
            while ($fetchAdressesGroupeAdresse = mysql_fetch_assoc($resAdresseDuGroupeAdresse)) {
                $isAdresseCourante = false;
                if ($idAdresseCourante == $fetchAdressesGroupeAdresse['idAdresse']) {
                    $isAdresseCourante = true;
                }

                if ($fetchAdressesGroupeAdresse['idRue']=='0' || $fetchAdressesGroupeAdresse['idRue']=='') {
                    if ($fetchAdressesGroupeAdresse['idQuartier']!='' && $fetchAdressesGroupeAdresse['idQuartier']!='0') {
                        $arrayNumero[$this->getIntituleAdresseFrom($fetchAdressesGroupeAdresse['idAdresse'], 'idAdresse', array('noSousQuartier'=>true,'noQuartier'=>false,'noVille'=>true))][] = array('indicatif'=>$fetchAdressesGroupeAdresse['nomIndicatif'],'numero'=>$fetchAdressesGroupeAdresse['numero'],'url'=>$this->creerUrl('', '', array('archiAffichage'=>'adresseDetail','archiIdAdresse'=>$fetchAdressesGroupeAdresse['idAdresse'],'archiIdEvenementGroupeAdresse'=>$params['idEvenementGroupeAdresse'])),'isAdresseCourante'=>$isAdresseCourante);
                    }

                    if ($fetchAdressesGroupeAdresse['idSousQuartier']!='' && $fetchAdressesGroupeAdresse['idSousQuartier']!='0') {
                        $arrayNumero[$this->getIntituleAdresseFrom($fetchAdressesGroupeAdresse['idAdresse'], 'idAdresse', array('noSousQuartier'=>false,'noQuartier'=>true,'noVille'=>true))][] = array('indicatif'=>$fetchAdressesGroupeAdresse['nomIndicatif'],'numero'=>$fetchAdressesGroupeAdresse['numero'],'url'=>$this->creerUrl('', '', array('archiAffichage'=>'adresseDetail','archiIdAdresse'=>$fetchAdressesGroupeAdresse['idAdresse'],'archiIdEvenementGroupeAdresse'=>$params['idEvenementGroupeAdresse'])),'isAdresseCourante'=>$isAdresseCourante);
                    }
                } else {
                    $arrayNumero[$this->getIntituleAdresseFrom($fetchAdressesGroupeAdresse['idRue'], 'idRueWithNoNumeroAuthorized', array('noSousQuartier'=>true,'noQuartier'=>true,'noVille'=>true))][] = array('indicatif'=>$fetchAdressesGroupeAdresse['nomIndicatif'],'numero'=>$fetchAdressesGroupeAdresse['numero'],'url'=>$this->creerUrl('', '', array('archiAffichage'=>'adresseDetail','archiIdAdresse'=>$fetchAdressesGroupeAdresse['idAdresse'],'archiIdEvenementGroupeAdresse'=>$params['idEvenementGroupeAdresse'])),'isAdresseCourante'=>$isAdresseCourante);
                }
                //$txtAutreAdressesGroupeAdresse .= "<br><a href='".$this->creerUrl('','',array('archiAffichage'=>'adresseDetail','archiIdAdresse'=>$fetchAutresAdressesGroupeAdresse['idAdresse'],'archiIdEvenementGroupeAdresse'=>$params['idEvenementGroupeAdresse']))."'>".$this->getIntituleAdresseFrom($fetchAutresAdressesGroupeAdresse['idAdresse'],'idAdresse',array('noSousQuartier'=>true,'noQuartier'=>true,'noVille'=>true))."</a>";
            }
        }

        // affichage adresses regroupees
        foreach ($arrayNumero as $intituleRue => $arrayInfosNumero) {
            $isSelectedRue = false;
            $isUnSeulNumeroSurGroupeAdresse = false;
            if (count($arrayInfosNumero)==1) {
            // s'il n'y a qu'un seul numero dans le groupe d'adresse de la rue courante , on fait le lien href sur tout le texte de l'adresse , pas seulement sur le numero
                if ($arrayInfosNumero[0]['numero']=='0') {
                    $arrayInfosNumero[0]['numero'] = '';
                }

                if ($arrayInfosNumero[0]['isAdresseCourante']==true) {
                    $txtAdresses.="<a href='".$arrayInfosNumero[0]['url']."' style='font-weight:bold;'>".$arrayInfosNumero[0]['numero'].$arrayInfosNumero[0]['indicatif']." ".$intituleRue."</a><span style='color:#4b4b4b'>-</span>";
                    $isUnSeulNumeroSurGroupeAdresse = true;
                } else {
                    $txtAdresses.="<a href='".$arrayInfosNumero[0]['url']."'>".$arrayInfosNumero[0]['numero'].$arrayInfosNumero[0]['indicatif']." ".$intituleRue."</a><span style='color:#4b4b4b'>-</span>";
                    $isUnSeulNumeroSurGroupeAdresse = true;
                }
            } else {
                foreach ($arrayInfosNumero as $indice => $infosNumero) {
                    if ($infosNumero['isAdresseCourante']==true) {
                        if ($infosNumero['numero']=='' || $infosNumero['numero']=='0') {
                            $isSelectedRue = true;
                        } else {
                            $txtAdresses.="<a href='".$infosNumero['url']."'>".$infosNumero['numero'].$infosNumero['indicatif']."</a><span style='color:#4b4b4b'>-</span>";
                            $isSelectedRue = true;
                        }
                    } else {
                        if ($infosNumero['numero']=='' || $infosNumero['numero']=='0') {
                        //rien
                        } else {
                            $txtAdresses.="<a href='".$infosNumero['url']."'>".$infosNumero['numero'].$infosNumero['indicatif']."</a><span style='color:#4b4b4b'>-</span>";
                        }
                    }
                }
            }

            $txtAdresses = pia_substr($txtAdresses, 0, -(pia_strlen("<span style='color:#4b4b4b'>-</span>")));

            if (!$isUnSeulNumeroSurGroupeAdresse) {
                if ($isSelectedRue) {
                    $txtAdresses.="<span >".$intituleRue."</span><br>";
                } else {
                    $txtAdresses.="<span style='color:#4B4B4B;'>".$intituleRue."</span><br>";
                }
            } else {
                $txtAdresses.="<br>";
            }
        }

        $txtAdresses = pia_substr($txtAdresses, 0, -(pia_strlen("<br>")));

        $t->assign_vars(array('adresse2'=>$txtAdresses));


        // ensuite on recherche les groupes d'adresses autour de l'adresse courante, sans afficher les adresses du meme groupe d'adresse que le courant
        $arrayIdAdresses = $this->getArrayIdAdressesNearCurrentAdresse(array('idAdresse'=>$idAdresseCourante,'idEvenementGroupeAdresseCourant'=>$params['idEvenementGroupeAdresse']));
        if (isset($arrayIdAdresses['avant']['idAdresse'])) {
            $infosImageAvant = $this->getArrayInfosImageAvantOrApres(array('positionImage'=>'avant','idAdresse'=>$arrayIdAdresses['avant']['idAdresse'],'idEvenementGroupeAdresse'=>$arrayIdAdresses['avant']['idEvenementGroupeAdresse']));
            $t->assign_vars(array('image1'=>$infosImageAvant['image']));
            $t->assign_vars(array('adresse1'=>$infosImageAvant['adresse']));
        }

        if (isset($arrayIdAdresses['apres']['idAdresse'])) {
            $infosImageApres = $this->getArrayInfosImageAvantOrApres(array('positionImage'=>'apres','idAdresse'=>$arrayIdAdresses['apres']['idAdresse'],'idEvenementGroupeAdresse'=>$arrayIdAdresses['apres']['idEvenementGroupeAdresse']));
            $t->assign_vars(array('image3'=>$infosImageApres['image']));
            $t->assign_vars(array('adresse3'=>$infosImageApres['adresse']));
        }


        // si une adresse avant ou apres n'a pas ete trouvée , on va chercher les adresses les plus proches qui ne sont pas dans cette rue (car si elles sont dans cette rue , elles sont forcement dans le parcours
        if ((isset($arrayIdAdresses['apres']['idAdresse']) && !isset($arrayIdAdresses['avant']['idAdresse'])) || (!isset($arrayIdAdresses['apres']['idAdresse']) && isset($arrayIdAdresses['avant']['idAdresse']))) {
            $arrayCoordonnees = $this->getCoordonneesFrom($idAdresseCourante, 'idAdresse');
            $arrayRue = $this->getIdRuesFrom($idAdresseCourante, 'idAdresse');
            $idVilleAdresseCourante = $this->getIdVilleFrom($idAdresseCourante, 'idAdresse'); // idVilleCourante pour rester dans les adresses de la ville en cours , et pas avoir en resultat une adresse d'une autre ville

            if ($arrayCoordonnees['latitude']=='') {
                $arrayCoordonnees['latitude']=0;
            }
            if ($arrayCoordonnees['longitude']=='') {
                $arrayCoordonnees['longitude']=0;
            }


            $reqAdresseProche = "
                SELECT ha1.idAdresse as idAdresse, ((acos(sin(".$arrayCoordonnees['latitude']."*PI()/180) * sin(ha1.latitude*PI()/180) + cos(".$arrayCoordonnees['latitude']."*PI()/180) * cos(ha1.latitude*PI()/180) * cos((".$arrayCoordonnees['longitude']." - ha1.longitude)*PI()/180))/ pi() * 180.0)* 60 * 1.1515 * 1.609344)*1000 as distance, ae.idEvenement as idEvenementGroupeAdresse
                FROM historiqueAdresse ha2, historiqueAdresse ha1
                LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha1.idAdresse
                LEFT JOIN _evenementEvenement ee ON ee.idEvenement = ae.idEvenement
                LEFT JOIN rue r ON r.idRue = ha1.idRue
                LEFT JOIN sousQuartier sq ON sq.idSousQuartier = r.idSousQuartier
                LEFT JOIN quartier q ON q.idQuartier = sq.idQuartier
                LEFT JOIN ville v ON v.idVille = q.idVille
                WHERE
                    ha2.idAdresse = ha1.idAdresse
                AND ha1.idRue<>'".$arrayRue[0]."'
                AND v.idVille = '".$idVilleAdresseCourante."'
                GROUP BY ha1.idAdresse, ha1.idHistoriqueAdresse,ee.idEvenement
                HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse) AND count(ee.idEvenement)>0
                ORDER BY distance ASC
                LIMIT 1
            ";
            $resAdresseProche = $this->connexionBdd->requete($reqAdresseProche);
            $fetchAdresseProche = mysql_fetch_assoc($resAdresseProche);

            // affichage de l'adresse
            if (!isset($arrayIdAdresses['avant']['idAdresse'])) {
                $infosImageAvant = $this->getArrayInfosImageAvantOrApres(array('positionImage'=>'avant','idAdresse'=>$fetchAdresseProche['idAdresse'],'idEvenementGroupeAdresse'=>$fetchAdresseProche['idEvenementGroupeAdresse']));
                $t->assign_vars(array('image1'=>$infosImageAvant['image']));
                $t->assign_vars(array('adresse1'=>$infosImageAvant['adresse']));
            } elseif (!isset($arrayIdAdresses['apres']['idAdresse'])) {
                $infosImageAvant = $this->getArrayInfosImageAvantOrApres(array('positionImage'=>'apres','idAdresse'=>$fetchAdresseProche['idAdresse'],'idEvenementGroupeAdresse'=>$fetchAdresseProche['idEvenementGroupeAdresse']));
                $t->assign_vars(array('image3'=>$infosImageAvant['image']));
                $t->assign_vars(array('adresse3'=>$infosImageAvant['adresse']));
            }
        } elseif (!isset($arrayIdAdresses['apres']['idAdresse']) && !isset($arrayIdAdresses['avant']['idAdresse'])) { // s'il n'y pas ni adresse avant ni adresse apres, on prend l'adresse la plus proche qui n'est pas dans la rue , on la met a gauche , l'adresse la plus proche suivante on la met a droite
            $arrayCoordonnees = $this->getCoordonneesFrom($idAdresseCourante, 'idAdresse');
            $arrayRue = $this->getIdRuesFrom($idAdresseCourante, 'idAdresse');
            $idVilleAdresseCourante = $this->getIdVilleFrom($idAdresseCourante, 'idAdresse'); // idVilleCourante pour rester dans les adresses de la ville en cours , et pas avoir en resultat une adresse d'une autre ville

            if ($arrayCoordonnees['latitude']=='') {
                $arrayCoordonnees['latitude']=0;
            }
            if ($arrayCoordonnees['longitude']=='') {
                $arrayCoordonnees['longitude']=0;
            }

            $reqAdressesProches = "
                SELECT DISTINCT ae.idEvenement as idEvenementGroupeAdresse
                FROM _adresseEvenement ae
                LEFT JOIN historiqueAdresse ha1 ON ha1.idAdresse = ae.idAdresse
                LEFT JOIN historiqueAdresse ha2 ON ha2.idAdresse = ha1.idAdresse
                LEFT JOIN _evenementEvenement ee ON ee.idEvenement = ae.idEvenement
                LEFT JOIN rue r ON r.idRue = ha1.idRue
                LEFT JOIN sousQuartier sq ON sq.idSousQuartier = r.idSousQuartier
                LEFT JOIN quartier q ON q.idQuartier = sq.idQuartier
                LEFT JOIN ville v ON v.idVille = q.idVille
                WHERE
                    ha2.idAdresse = ha1.idAdresse
                AND ha1.idRue<>'".$arrayRue[0]."'
                AND v.idVille = '".$idVilleAdresseCourante."'
                GROUP BY ha1.idAdresse, ha1.idHistoriqueAdresse,ee.idEvenement
                HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)  AND count(ee.idEvenement)>0
                ORDER BY ((acos(sin(".$arrayCoordonnees['latitude']."*PI()/180) * sin(ha1.latitude*PI()/180) + cos(".$arrayCoordonnees['latitude']."*PI()/180) * cos(ha1.latitude*PI()/180) * cos((".$arrayCoordonnees['longitude']." - ha1.longitude)*PI()/180))/ pi() * 180.0)* 60 * 1.1515 * 1.609344)*1000 ASC

            ";

            $resAdressesProches = $this->connexionBdd->requete($reqAdressesProches);


            $fetchAdressesProches = mysql_fetch_assoc($resAdressesProches);

            $idAdresseAvant = $this->getIdAdresseFromIdEvenementGroupeAdresse($fetchAdressesProches['idEvenementGroupeAdresse']);

            $infosImageAvant = $this->getArrayInfosImageAvantOrApres(array('positionImage'=>'avant','idAdresse'=>$idAdresseAvant,'idEvenementGroupeAdresse'=>$fetchAdressesProches['idEvenementGroupeAdresse']));
            if (isset($infosImageAvant['image'])) {
                $t->assign_vars(array('image1'=>$infosImageAvant['image']));
            }
            if (isset($infosImageAvant['adresse'])) {
                $t->assign_vars(array('adresse1'=>$infosImageAvant['adresse']));
            }

            $fetchAdressesProches = mysql_fetch_assoc($resAdressesProches);
            $idAdresseApres = $this->getIdAdresseFromIdEvenementGroupeAdresse($fetchAdressesProches['idEvenementGroupeAdresse']);
            $infosImageApres = $this->getArrayInfosImageAvantOrApres(array('positionImage'=>'apres','idAdresse'=>$idAdresseApres,'idEvenementGroupeAdresse'=>$fetchAdressesProches['idEvenementGroupeAdresse']));
            if (isset($infosImageApres['image'])) {
                $t->assign_vars(array('image3'=>$infosImageApres['image']));
            }
            if (isset($infosImageApres['adresse'])) {
                $t->assign_vars(array('adresse3'=>$infosImageApres['adresse']));
            }
        }

        $titre = $this->getIntituleAdresseFrom($params['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse', array('afficheTitreSiTitreSinonRien'=>true));
        if ($titre!='') {
            $t->assign_block_vars('isTitre', array('titre'=>$titre));
        }

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

        // javascript a mettre dans le header , on le retourne donc dans la fonction
        $jsHeader = "
            <script  >
            function imageOver(numImage)
            {
                if(numImage==1)
                {
                    if(document.getElementById('divImagePetit1'))
                    {
                        document.getElementById('divImagePetit1').style.display='none';
                        document.getElementById('divImageGrand1').style.display='block';
                    }

                    if(document.getElementById('divImagePetit2'))
                    {
                        document.getElementById('divImageGrand2').style.display='none';
                        document.getElementById('divImagePetit2').style.display='block';
                    }

                    if(document.getElementById('divImagePetit3'))
                    {
                        document.getElementById('divImageGrand3').style.display='none';
                        document.getElementById('divImagePetit3').style.display='block';
                    }
                }

                if(numImage==2)
                {
                    /*document.getElementById('divImagePetit1').style.display='none';
                    document.getElementById('divImageGrand2').style.display='none';
                    document.getElementById('divImageGrand3').style.display='none';
                    document.getElementById('divImageGrand1').style.display='block';
                    document.getElementById('divImagePetit2').style.display='block';
                    document.getElementById('divImagePetit3').style.display='block';*/
                }

                if(numImage==3)
                {
                    if(document.getElementById('divImagePetit1'))
                    {
                        document.getElementById('divImagePetit1').style.display='none';
                        document.getElementById('divImageGrand1').style.display='block';
                    }

                    if(document.getElementById('divImagePetit2'))
                    {
                        document.getElementById('divImageGrand2').style.display='none';
                        document.getElementById('divImagePetit2').style.display='block';
                    }

                    if(document.getElementById('divImagePetit3'))
                    {
                        document.getElementById('divImageGrand3').style.display='block';
                        document.getElementById('divImagePetit3').style.display='none';
                    }
                }
            }

            function imageOut(numImage)
            {
                if(numImage==1)
                {
                    if(document.getElementById('divImagePetit2'))
                    {
                        document.getElementById('divImagePetit2').style.display='block';
                        document.getElementById('divImageGrand2').style.display='none';
                    }

                    if(document.getElementById('divImagePetit3'))
                    {
                        document.getElementById('divImagePetit3').style.display='block';
                        document.getElementById('divImageGrand3').style.display='none';
                    }
                }
                else
                if(numImage==2)
                {
                    if(document.getElementById('divImagePetit1'))
                    {
                        document.getElementById('divImagePetit1').style.display='block';
                        document.getElementById('divImageGrand1').style.display='none';
                    }

                    if(document.getElementById('divImagePetit3'))
                    {
                        document.getElementById('divImagePetit3').style.display='block';
                        document.getElementById('divImageGrand3').style.display='none';
                    }

                }
                else
                if(numImage==3)
                {
                    if(document.getElementById('divImagePetit1'))
                    {
                        document.getElementById('divImagePetit1').style.display='block';
                        document.getElementById('divImageGrand1').style.display='none';
                    }

                    if(document.getElementById('divImagePetit2'))
                    {
                        document.getElementById('divImagePetit2').style.display='block';
                        document.getElementById('divImageGrand2').style.display='none';
                    }
                }
                else
                {

                    if(document.getElementById('divImagePetit1'))
                    {
                        document.getElementById('divImagePetit1').style.display='block';
                        document.getElementById('divImageGrand1').style.display='none';
                    }

                    if(document.getElementById('divImagePetit2'))
                    {
                        document.getElementById('divImagePetit2').style.display='none';
                        document.getElementById('divImageGrand2').style.display='block';
                    }

                    if(document.getElementById('divImagePetit3'))
                    {
                        document.getElementById('divImagePetit3').style.display='block';
                        document.getElementById('divImageGrand3').style.display='none';
                    }
                }


            }
            </script>
        ";

        $this->addToJsHeader($jsHeader);


        return array('html'=>$html,'isPhotoCentrale'=>$isPhotoCentrale);
    }
580060
protected function getAccessTokenOptions(array $params)
    {
        $options = ['headers' => ['content-type' => 'application/json']];

        if (self::METHOD_POST === $this->getAccessTokenMethod()) {
            $options['body'] = json_encode($params);
        }

        return $options;
    }
295323
public function getAdressesLieesAEvenement($params = array())
    {
        $html="";
        $req = "SELECT distinct idEvenementGroupeAdresse
				FROM _evenementAdresseLiee
				WHERE idEvenement=".$params['idEvenement']."";
        $res = $this->connexionBdd->requete($req);
        $a = new archiAdresse();
        while ($fetch = mysql_fetch_assoc($res)) {
            switch ($params['modeRetour']) {
                case 'affichageHTML':
                    $intituleAdresse = stripslashes($a->getIntituleAdresseFrom($fetch['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse', array('displayFirstTitreAdresse'=>true)));
                    $html.=$intituleAdresse."(<a style='cursor:pointer;' onclick=\"retirerGroupeAdresse(".$fetch['idEvenementGroupeAdresse'].")\">-</a>)<br>";
                    break;
                case 'optionsListeSelect':
                    $intituleAdresse = stripslashes($a->getIntituleAdresseFrom($fetch['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse', array('displayFirstTitreAdresse'=>true)));
                    $html.="<option value='".$fetch['idEvenementGroupeAdresse']."' SELECTED>".$intituleAdresse."</option>";
                    break;
                case 'affichageSurDetailEvenement':
                    $intituleAdresse = stripslashes($a->getIntituleAdresseFrom($fetch['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse', array('displayFirstTitreAdresse'=>true)));
                    $idAdresse = $a->getIdAdresseFromIdEvenementGroupeAdresse($fetch['idEvenementGroupeAdresse']);
                    $html.="<a href='".$this->creerUrl('', '', array('archiAffichage'=>'adresseDetail','archiIdAdresse'=>$idAdresse,'archiIdEvenementGroupeAdresse'=>$fetch['idEvenementGroupeAdresse']))."'>".$intituleAdresse."</a><br>";
                    break;
            }
        }
        return $html;
    }
832708
public function input_get($params) {
        $index = isset($params['index']) ? $params['index'] : null;
        $default = isset($params['default']) ? $params['default'] : null;
        return Input::get($index, $default);
    }
1178150
public static function send($params)
    {
        $params = array_merge([
            'subject'  => '',
            'view'     => '',
            'body'     => '',
            'bodyHtml' => '',
            'to'       => [],
            'bcc'      => [],
            'cc'       => [],
            'replyTo'  => [],
            'file'     => '',
        ], $params);

        $message = (new static())->to($params['to'])->from($params['from'])
            ->subject($params['subject'])->bcc($params['bcc'])->cc($params['cc'])
            ->reply($params['replyTo']);

        if ($params['view'] != '') {
            $message->body(makeMail($params['view'], ['data' => $params['body']]), 'text/html');
        } else {
            $message->body($params['body']);
        }

        if ($params['file'] != '') {
            $message->attachment($params['file']);
        }

        return self::getMailerClient()->send($message);
    }
1164309
public function map(array $params)
	{
		if (!isset($params['ientifier'])) {
			throw new MissingArgumentException('identifier');
		}

		if (!isset($params['primaryKey'])) {
			throw new MissingArgumentException('primaryKey');
		}

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

		return $this->post('map', $params);
	}
817743
public function getArrayGoogleMapConfigCoordonneesFromCenter($params = array())
    {
        $listeCoords = array();
        if (!isset($params['arrayIdAdresses']) && !isset($params['arrayIdEvenementsGroupeAdresse'])) {
            $latitude = $params['latitude'];
            $longitude = $params['longitude'];
            $rayon = $params['rayon'];

            $reqListeCoords = "

                        select * from (
                        SELECT ((acos(sin($latitude*PI()/180) * sin(ha1.latitude*PI()/180) + cos($latitude*PI()/180) * cos(ha1.latitude*PI()/180) * cos(($longitude - ha1.longitude)*PI()/180))/ pi() * 180.0)* 60 * 1.1515 * 1.609344) as distanceFromPoint,ha1.longitude as longitude,ha1.latitude as latitude,ha1.idAdresse as idAdresse
                        FROM historiqueAdresse ha1,historiqueAdresse ha2
                        WHERE ha1.latitude<>''
                        AND ha1.longitude<>''
                        AND ha2.idAdresse = ha1.idAdresse

                        GROUP BY ha1.idAdresse,ha1.idHistoriqueAdresse
                        HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)

                        ) as tmp
                        WHERE tmp.distanceFromPoint*1000<$rayon
                ";

            $resListeCoords = $this->connexionBdd->requete($reqListeCoords);
            $nbListeCoords = mysql_num_rows($resListeCoords);

            $fetchListeCoordsArray = array();
            $arrayIdAdresses = array();
            while ($fetchListeCoordsAdresses = mysql_fetch_assoc($resListeCoords)) {
                $fetchListeCoordsArray[] = $fetchListeCoordsAdresses;
                $arrayIdAdresses[] = $fetchListeCoordsAdresses['idAdresse'];
            }

            $sqlCritere = "";
            if (count($arrayIdAdresses)>0) {
                $sqlCritere = " AND ae.idAdresse NOT IN (".implode(",", $arrayIdAdresses).") ";
            }

            // on fait la requete pour une recherche sur la table _adresseEvenement
            $reqListeCoordsGA = "

            select * from (
                        SELECT ((acos(sin($latitude*PI()/180) * sin(ae.latitudeGroupeAdresse*PI()/180) + cos($latitude*PI()/180) * cos(ae.latitudeGroupeAdresse*PI()/180) * cos(($longitude - ae.longitudeGroupeAdresse)*PI()/180))/ pi() * 180.0)* 60 * 1.1515 * 1.609344) as distanceFromPoint,ae.longitudeGroupeAdresse as longitude,ae.latitudeGroupeAdresse as latitude,ae.idAdresse as idAdresse,ae.idEvenement as idEvenementGroupeAdresse
                        FROM _adresseEvenement ae
                        WHERE

                            ae.latitudeGroupeAdresse<>''
                            AND
                            ae.longitudeGroupeAdresse<>''
                            AND
                            ae.latitudeGroupeAdresse<>'0'
                            AND
                            ae.longitudeGroupeAdresse<>'0'
                         $sqlCritere
                                                ) as tmp
                        WHERE tmp.distanceFromPoint*1000<$rayon

            ";


            $resListeCoordsGA = $this->connexionBdd->requete($reqListeCoordsGA);
            $nbListeCoords+=mysql_num_rows($resListeCoordsGA);
            while ($fetchListeCoordsAdressesGA = mysql_fetch_assoc($resListeCoordsGA)) {
                $fetchListeCoordsArray[] = $fetchListeCoordsAdressesGA;
            }
        }
        $i=0;
        $indiceArrayId = 0;
        $ok = true;
        while ($ok) {
            if (!isset($params['arrayIdAdresses']) && !isset($params['arrayIdEvenementsGroupeAdresse'])) {
                //$fetchListeCoords = mysql_fetch_assoc($resListeCoords);
                if (!isset($fetchListeCoordsArray[$indiceArrayId])) {
                    break;
                }
                $fetchListeCoords = $fetchListeCoordsArray[$indiceArrayId];
                if ($indiceArrayId>=$nbListeCoords-1) {
                    $ok = false;
                }
            } elseif (isset($params['arrayIdAdresses'])) {
                if (!isset($params['arrayIdAdresses'][$indiceArrayId])) {
                    break;
                }
                $fetchListeCoords = $params['arrayIdAdresses'][$indiceArrayId];
            } elseif (isset($params['arrayIdEvenementsGroupeAdresse'])) {
                if (!isset($params['arrayIdEvenementsGroupeAdresse'][$indiceArrayId])) {
                    break;
                }

                $fetchListeCoords = $params['arrayIdEvenementsGroupeAdresse'][$indiceArrayId];
            }

            // on verifie si un groupe d'adresse est bien rattaché a l'adresse , car on conserve les adresses , mais on ne les affiches pas quand elles ne sont pas reliées a un groupe d'adresse
            // si c'est un tableau de groupes d'adresses qui est transmis , dans ce cas on verifie bien qu'il existe , dans ce cas , cette requete est utilie pour recuperer un idAdresse du groupe d'adresse

            if (isset($fetchListeCoords['idEvenementGroupeAdresse'])) {
                $reqVerifGA = "SELECT idEvenement,idAdresse, longitudeGroupeAdresse,latitudeGroupeAdresse FROM _adresseEvenement WHERE idEvenement='".$fetchListeCoords['idEvenementGroupeAdresse']."'";
            } elseif (isset($fetchListeCoords['idAdresse'])) {
                $reqVerifGA = "SELECT idEvenement, longitudeGroupeAdresse,latitudeGroupeAdresse FROM _adresseEvenement WHERE idAdresse='".$fetchListeCoords['idAdresse']."'";
            } else {
                $reqVerifGA = "SELECT 0 FROM _adresseEvenement WHERE 0=1"; // debug laurent dans le cas ou il n'y a aucun point ... cette fonction a trop ete adaptée deja, a refaire si nouvelle grande adaptation requise
            }


            $resVerifGA = $this->connexionBdd->requete($reqVerifGA);

            if (mysql_num_rows($resVerifGA)==1 || isset($fetchListeCoords['idEvenementGroupeAdresse'])) { // dans le cas ou on a passé un tableau de groupe d'adresses en parametre de la fonction, vu que l'on traite le groupe d'adresse, on force le passage ici , les autres conditions traitent des idAdresses et celle ci fait ce qu'il faut
                $fetchGA = mysql_fetch_assoc($resVerifGA);

                //$fetchGA['idEvenement'],'idEvenementGroupeAdresse'
                if (isset($fetchListeCoords['idEvenementGroupeAdresse'])) {
                    $infosAdresses = $this->getIntituleAdresseFrom($fetchListeCoords['idEvenementGroupeAdresse'], 'idEvenementGroupeAdresse', array('noQuartier'=>true,'noSousQuartier'=>true,'styleCSSTitreAdresse'=>'font-weight:bold;font-size:9px;','displayFirstTitreAdresse'=>true,'setSeparatorAfterTitle'=>'<br>'));
                } else {
                    $infosAdresses = $this->getIntituleAdresseFrom($fetchListeCoords['idAdresse'], 'idAdresse', array('noQuartier'=>true,'noSousQuartier'=>true,'styleCSSTitreAdresse'=>'font-weight:bold;font-size:9px;','displayFirstTitreAdresse'=>true,'setSeparatorAfterTitle'=>'<br>'));
                }

                // un seul groupe d'adresse , on fais une redirection vers la page du detail de l'adresse
                $listeCoords[$i]['longitude'] = $fetchListeCoords['longitude'];
                $listeCoords[$i]['latitude'] = $fetchListeCoords['latitude'];
                $listeCoords[$i]['libelle'] = '';
                $listeCoords[$i]['label'] = $infosAdresses;

                if (isset($fetchListeCoords['idAdresse'])) {
                    $listeCoords[$i]['idAdresse'] = $fetchListeCoords['idAdresse'];
                } else {
                    $listeCoords[$i]['idAdresse'] = $fetchGA['idAdresse']; // dans le cas ou on passe un tableau de groupes d'adresses a la fonction
                }
                if (isset($params['urlIcon']) && $params['urlIcon']!='') {
                    $listeCoords[$i]['urlIcon'] = $params['urlIcon'];
                }

                if (isset($params['dimIconX']) && $params['dimIconX']!='') {
                    $listeCoords[$i]['dimIconX'] = $params['dimIconX'];
                }

                if (isset($params['dimIconY']) && $params['dimIconY']!='') {
                    $listeCoords[$i]['dimIconY'] = $params['dimIconY'];
                }


                //$listeCoords[$i]['idEvenementGroupeAdresse'] = $fetchGA['idEvenement'];
                if (isset($params['urlRedirectedToParent']) && $params['urlRedirectedToParent']==true) { // si on appel d'une iframe dans une iframe
                    $listeCoords[$i]['jsCodeOnClickMarker'] = "parent.parent.document.location.href='".$this->creerUrl('', 'adresseDetail', array('archiIdAdresse'=>$fetchListeCoords['idAdresse'], "archiIdEvenementGroupeAdresse"=>$fetchGA['idEvenement']), false, false)."';";
                } else {
                    if (isset($fetchListeCoords['idAdresse'])) {
                        $listeCoords[$i]['jsCodeOnClickMarker'] = "parent.document.location.href='".$this->creerUrl('', 'adresseDetail', array('archiIdAdresse'=>$fetchListeCoords['idAdresse'], "archiIdEvenementGroupeAdresse"=>$fetchGA['idEvenement']), false, false)."';";
                    } else {
                        // cas ou l'on a transmis un tableau de groupes d'adresses a la fonction, dans ce cas l'idAdresse est recuperé par la requete qui verifie le nombre de groupe d'adresses
                        $listeCoords[$i]['jsCodeOnClickMarker'] = "parent.document.location.href='".$this->creerUrl('', '', array('archiAffichage'=>'adresseDetail','archiIdEvenementGroupeAdresse'=>$fetchGA['idEvenement'],'archiIdAdresse'=>$fetchGA['idAdresse']), false, false)."';";
                    }
                }
                $listeCoords[$i]['jsCodeOnMouseOverMarker'] = "currentLabel.show();";//"currentMarker.openInfoWindowHtml(\"<table width=150><tr><td><span style='font-size:9px;'>$infosAdresses<br><a  href='#' onclick=\\\"parent.document.location.href='".$this->creerUrl('','adresseDetail',array('archiIdAdresse'=>$fetchListeCoords['idAdresse']))."'\\\">Afficher</a></span></td></tr></table>\");";
                $listeCoords[$i]['jsCodeOnMouseOutMarker'] = "currentLabel.hide();";//setTimeout('currentMarker.closeInfoWindow()',1000);
                $i++;
            } elseif (mysql_num_rows($resVerifGA)>1) {
             // plusieurs groupes d'adresses sur la meme adresse , en principe ce cas n'est pas possible si l'on a passé des groupes d'adresses en parametre
                $infosAdresses = "";
                $j=0;
                $infosAdressesTitres = "";
                $infosAdressesTitresGroupeAdresse = "";
                while ($fetchGA = mysql_fetch_assoc($resVerifGA)) {
                    if ($fetchGA['longitudeGroupeAdresse']!='0' && $fetchGA['latitudeGroupeAdresse']!='0') {
                        // des coordonnees spécifiques pour le groupe d'adresse on été spécifiée
                        // s'il y a plusieurs groupes d'adresses il faut proposer a l'utilisateur de choisir entre eux par le formulaire de recherche
                        $infosAdresses =$this->getIntituleAdresseFrom($fetchGA['idEvenement'], 'idEvenementGroupeAdresse', array('noQuartier'=>true,'noSousQuartier'=>true,'styleCSSTitreAdresse'=>'font-weight:bold;font-size:9px;','setSeparatorAfterTitle'=>'<br>'))."<br>";

                        $titre = $this->getIntituleAdresseFrom($fetchGA['idEvenement'], 'idEvenementGroupeAdresse', array('noQuartier'=>true,'noSousQuartier'=>true,'styleCSSTitreAdresse'=>'font-weight:bold;font-size:9px;','afficheTitreSiTitreSinonRien'=>true,'setSeparatorAfterTitle'=>' '));
                        $infosAdressesTitresGroupeAdresse="";
                        if (trim($titre)!='') {
                            $infosAdressesTitresGroupeAdresse="<span style='font-weight:bold;font-size:9px;'>".$titre."</span><br>";
                        }
                        $listeCoords[$i]['longitude'] = $fetchGA['longitudeGroupeAdresse'];
                        $listeCoords[$i]['latitude'] = $fetchGA['latitudeGroupeAdresse'];
                        $listeCoords[$i]['libelle'] = '';
                        $listeCoords[$i]['label'] = $infosAdressesTitresGroupeAdresse.$infosAdresses;
                        $listeCoords[$i]['idAdresse'] = $fetchListeCoords['idAdresse'];
                        if (isset($params['urlIcon']) && $params['urlIcon']!='') {
                            $listeCoords[$i]['urlIcon'] = $params['urlIcon'];
                        }
                        //$listeCoords[$i]['idEvenementGroupeAdresse'] = $fetchGA['idEvenement'];
                        if (isset($params['urlRedirectedToParent']) && $params['urlRedirectedToParent']==true) { // si on appel d'une iframe dans une iframe
                            $listeCoords[$i]['jsCodeOnClickMarker'] = "parent.parent.document.location.href='".$this->creerUrl('', 'adresseDetail', array('archiIdEvenementGroupeAdresse'=>$fetchGA['idEvenement'],'archiIdAdresse'=>$fetchListeCoords['idAdresse']), false, false)."';";
                        } else {
                            $listeCoords[$i]['jsCodeOnClickMarker'] = "parent.document.location.href='".$this->creerUrl('', 'adresseDetail', array('archiIdEvenementGroupeAdresse'=>$fetchGA['idEvenement'],'archiIdAdresse'=>$fetchListeCoords['idAdresse']), false, false)."';";
                        }
                            $listeCoords[$i]['jsCodeOnMouseOverMarker'] = "currentLabel.show();";//"currentMarker.openInfoWindowHtml(\"<table width=150><tr><td><span style='font-size:9px;width:200px;'>$infosAdresses<br><a href='#' onclick=\\\"parent.document.location.href='".$this->creerUrl('','adresseDetail',array('archiIdAdresse'=>$fetchListeCoords['idAdresse']))."'\\\">Afficher</a></span></td></tr></table>\");";
                            $listeCoords[$i]['jsCodeOnMouseOutMarker'] = "currentLabel.hide();";//w = window.open(); for(i in currentMarker){w.document.writeln(i+' '+currentMarker[i]+'<br>')}  // setTimeout('currentMarker.closeInfoWindow()',1000);
                            $listeCoords[$i]['jsCodeMarker'] = "";
                            $i++;
                    } else {
                        if ($j==0) {
                            $infosAdresses =$this->getIntituleAdresseFrom($fetchGA['idEvenement'], 'idEvenementGroupeAdresse', array('noQuartier'=>true,'noSousQuartier'=>true,'styleCSSTitreAdresse'=>'font-weight:bold;font-size:9px;','setSeparatorAfterTitle'=>'<br>'))."<br>";
                        }
                        $titre = $this->getIntituleAdresseFrom($fetchGA['idEvenement'], 'idEvenementGroupeAdresse', array('noQuartier'=>true,'noSousQuartier'=>true,'styleCSSTitreAdresse'=>'font-weight:bold;font-size:9px;','afficheTitreSiTitreSinonRien'=>true,'setSeparatorAfterTitle'=>' '));
                        if (trim($titre)!='') {
                            $infosAdressesTitres .="<span style='font-weight:bold;font-size:9px;'>".$titre."</span><br>";
                            if ($j==0) {
                                $infosAdresses=$infosAdresses;
                            }
                        }
                        $j++;
                    }
                }

                if ($j>0) { // s'il y a des adresses à regrouper
                    if ($j==1) { // une seule adresse
                        // finalement il n'y a qu'une seule adresse "regroupée" qui n'a pas de coordonnees specifique a groupe d'adresse (sur la meme adresse, les autres groupes d'adresses ont des coordonnees renseignées) , on ne va donc pas afficher le resultat dans la recherche, mais on va aller sur le groupe d'adresse directement
                        // recherche du groupe d'adresse
                        $reqGroupeAdresseO = "SELECT idEvenement FROM _adresseEvenement WHERE longitudeGroupeAdresse='0' AND latitudeGroupeAdresse='0' AND idAdresse='".$fetchListeCoords['idAdresse']."'";
                        $resGroupeAdresse0 = $this->connexionBdd->requete($reqGroupeAdresseO);
                        if (mysql_num_rows($resGroupeAdresse0)==1) {
                            $fetchGroupeAdresse0 = mysql_fetch_assoc($resGroupeAdresse0);

                            $listeCoords[$i]['longitude'] = $fetchListeCoords['longitude'];
                            $listeCoords[$i]['latitude'] = $fetchListeCoords['latitude'];
                            $listeCoords[$i]['libelle'] = '';
                            $listeCoords[$i]['label'] = $infosAdressesTitres.$infosAdresses;
                            $listeCoords[$i]['idAdresse'] = $fetchListeCoords['idAdresse'];
                            if (isset($params['urlIcon']) && $params['urlIcon']!='') {
                                $listeCoords[$i]['urlIcon'] = $params['urlIcon'];
                            }
                            //$listeCoords[$i]['idEvenementGroupeAdresse'] = $fetchGA['idEvenement'];
                            if (isset($params['urlRedirectedToParent']) && $params['urlRedirectedToParent']==true) { // si on appel d'une iframe dans une iframe
                                $listeCoords[$i]['jsCodeOnClickMarker'] = "parent.parent.document.location.href='".$this->creerUrl('', 'adresseDetail', array('archiIdEvenementGroupeAdresse'=>$fetchGroupeAdresse0['idEvenement'],'archiIdAdresse'=>$fetchListeCoords['idAdresse']), false, false)."';";
                            } else {
                                $listeCoords[$i]['jsCodeOnClickMarker'] = "parent.document.location.href='".$this->creerUrl('', 'adresseDetail', array('archiIdEvenementGroupeAdresse'=>$fetchGroupeAdresse0['idEvenement'],'archiIdAdresse'=>$fetchListeCoords['idAdresse']), false, false)."';";
                            }
                            $listeCoords[$i]['jsCodeOnMouseOverMarker'] = "currentLabel.show();";//"currentMarker.openInfoWindowHtml(\"<table width=150><tr><td><span style='font-size:9px;width:200px;'>$infosAdresses<br><a href='#' onclick=\\\"parent.document.location.href='".$this->creerUrl('','adresseDetail',array('archiIdAdresse'=>$fetchListeCoords['idAdresse']))."'\\\">Afficher</a></span></td></tr></table>\");";
                            $listeCoords[$i]['jsCodeOnMouseOutMarker'] = "currentLabel.hide();";//w = window.open(); for(i in currentMarker){w.document.writeln(i+' '+currentMarker[i]+'<br>')}  // setTimeout('currentMarker.closeInfoWindow()',1000);
                            $listeCoords[$i]['jsCodeMarker'] = "";
                            $i++;
                        } else {
                            echo "Erreur : il y a plusieurs groupes d'adresses sur la meme adresse : ".$fetchListeCoords['idAdresse']." merci de contacter l'administrateur.<br>";
                        }
                    } else {
                        // plusieurs adresses dont les groupes d'adresses n'ont pas de coordonnees specifiques
                        // s'il y a plusieurs groupes d'adresses il faut proposer a l'utilisateur de choisir entre eux par le formulaire de recherche
                        $listeCoords[$i]['longitude'] = $fetchListeCoords['longitude'];
                        $listeCoords[$i]['latitude'] = $fetchListeCoords['latitude'];
                        $listeCoords[$i]['libelle'] = '';
                        $listeCoords[$i]['label'] = $infosAdressesTitres.$infosAdresses;
                        $listeCoords[$i]['idAdresse'] = $fetchListeCoords['idAdresse'];
                        if (isset($params['urlIcon']) && $params['urlIcon']!='') {
                            $listeCoords[$i]['urlIcon'] = $params['urlIcon'];
                        }
                        //$listeCoords[$i]['idEvenementGroupeAdresse'] = $fetchGA['idEvenement'];
                        if (isset($params['urlRedirectedToParent']) && $params['urlRedirectedToParent']==true) { // si on appel d'une iframe dans une iframe
                            $listeCoords[$i]['jsCodeOnClickMarker'] = "parent.parent.document.location.href='".$this->creerUrl('', 'adresseListe', array('recherche_groupesAdressesFromAdresse'=>$fetchListeCoords['idAdresse'],'displayAdresseIfNoCoordonneesGroupeAdresse'=>1))."';"; // ce lien va effectuer une recherche sur l'adresse renseignée en parametre et renvoie les groupes d'adresses ou aucune coordonnees de latitude et longitude ne sont liée au couple "groupe d'adresse-adresse" dans la table _adresseEvenement
                        } else {
                            $listeCoords[$i]['jsCodeOnClickMarker'] = "parent.document.location.href='".$this->creerUrl('', 'adresseListe', array('recherche_groupesAdressesFromAdresse'=>$fetchListeCoords['idAdresse'],'displayAdresseIfNoCoordonneesGroupeAdresse'=>1))."';";// ce lien va effectuer une recherche sur l'adresse renseignée en parametre et renvoie les groupes d'adresses ou aucune coordonnees de latitude et longitude ne sont liée au couple "groupe d'adresse-adresse" dans la table _adresseEvenement
                        }
                        $listeCoords[$i]['jsCodeOnMouseOverMarker'] = "currentLabel.show();";//"currentMarker.openInfoWindowHtml(\"<table width=150><tr><td><span style='font-size:9px;width:200px;'>$infosAdresses<br><a href='#' onclick=\\\"parent.document.location.href='".$this->creerUrl('','adresseDetail',array('archiIdAdresse'=>$fetchListeCoords['idAdresse']))."'\\\">Afficher</a></span></td></tr></table>\");";
                        $listeCoords[$i]['jsCodeOnMouseOutMarker'] = "currentLabel.hide();";//w = window.open(); for(i in currentMarker){w.document.writeln(i+' '+currentMarker[i]+'<br>')}  // setTimeout('currentMarker.closeInfoWindow()',1000);
                        $listeCoords[$i]['jsCodeMarker'] = "";
                        $i++;
                    }
                }
            }
            $indiceArrayId++;
        }

        return array('arrayConfigCoordonnees'=>$listeCoords);
    }
1181389
public function setParams($params)
    {
        if (is_array($params) && isset($params['application'])) {
            $this->setApplicationEntity($params['application']);
            unset($params['application']);
        } elseif (is_object($params) && isset($params->application)) {
            $this->setApplicationEntity($params->application);
        }

        if (is_array($params) && isset($params['user'])) {
            $this->setUser($params['user']);
            unset($params['user']);
        }

        if (is_array($params) && isset($params['status'])) {
            $this->setStatus($params['status']);
            unset($params['status']);
        }

        return parent::setParams($params);
    }
705849
private function getMailer($params)
    {
        // if the second mailer for immediate mail-delivery has been configured
        if (null !== $this->immediateMailer) {
            // check if this template has been configured to be sent immediately
            if (array_key_exists(AzineTemplateProvider::SEND_IMMEDIATELY_FLAG, $params) && $params[AzineTemplateProvider::SEND_IMMEDIATELY_FLAG]) {
                return $this->immediateMailer;
            }
        }

        return $this->mailer;
    }