Fonction permettant de récupérer une archive

@param $iua
@return bool|string
327804
public function getArchivedFile($iua)
    {
        // Paramètre du service de connexion
        $params = array(
                        'iua' => $iua,
                        );

        $this->client = $this->setClientSoap($this->URL_WSDL_ARCHIVE);

        $result = $this->client->call('getArchive', $params, self::API_NAMESPACE, self::API_NAMESPACE, $this->createHeaders());

        if ($this->client->fault) {
            $this->errors[] = $this->client->faultstring;

            // La demande n'est pas associée à l'utilisateur
            if (strstr($this->client->faultstring, 'is not associated with the user')) {
                return 'DEMAND_NOT_ALLOWED';
            } else {
                // La demande n'a pas été validée, il est impossible de récupérer les fichiers signés
                if (strstr($this->client->faultstring, 'has not been signed. Impossible to get signed files')) {
                    return 'DEMAND_NOT_CONFIRMED';
                } else {
                    // Une erreur inconnue est apparue
                    return false;
                }
            }
        } else {
            $err = $this->client->getError();
            if ($err) {
                $this->errors = $err;

                return false;
            } else {
                // Tableau contenant :
                //      - fileName : le nom du fichier
                //      - file : le fichier signé
                return $result;
            }
        }
    }
1154302
public function extract($archive, $destination)
	{
		if (!is_file($archive))
		{
			throw new \RuntimeException('Archive does not exist');
		}

		if ($this->hasNativeSupport())
		{
			return $this->extractNative($archive, $destination);
		}
		else
		{
			return $this->extractCustom($archive, $destination);
		}
	}
385286
protected function flattenArchive(ZipFile $archive)
    {
        $validator = new validator\FileLocationValidator();
        foreach ($archive->getListFiles() as $filename) {
            if (\Stringy\StaticStringy::endsWith($filename, '/')) {
                $archive->deleteFromName($directory);
            } else {
                $basename = $validator->getBasename($filename);
                if ($filename !== $basename) {
                    if (in_array(strtolower($basename), array_map('strtolower', $archive->getListFiles()))) {
                        throw SyntaxException(_('アーカイブ中に同名のファイルを含めることはできません: ') . $basename);
                    }
                    $archive->rename($filename, $basename);
                }
            }
        }
    }
538277
public static function zip($i, $o, $del = false, $afilename = null, $s = 0){
        $i     = str_replace('\\', '/', $i);
        $zp = new \ZipArchive();
        
        if(file_exists($o)){
            $flags = 0;
        }else{
            $flags = \ZipArchive::CREATE;
        }
        
        $zp->open($o, $flags);
        
		$afilename = (is_string($afilename)) ? $afilename : basename($i);
        $success = $zp->addFile($i, $afilename);
        
        $zp->close();
        
        if(true===$del)unlink($afilename);
         
        if($success){
            if($s > 0){
                return self::split($o, $s);
            }
        }else{
            return false;
        }
        
       
    }
296240
public static function isArchive()
    {
        global $archive;
        global $post;

        if (defined('DOING_AJAX') && DOING_AJAX) {
            $archive = !is_numeric($_POST['id']) ? $_POST['id'] : '';
        }

        if (substr($archive, 0, 8) == 'archive-' || is_search()) {
            return $archive;
        }

        if (is_archive() && (is_object($post) && $post->post_type == 'post')) {
            return 'archive';
        } elseif (is_search() || (is_object($post) && is_post_type_archive($post->post_type))) {
            return 'archive-' . $post->post_type;
        } elseif (isset($_GET['id']) && $_GET['id'] == 'author') {
            return 'author';
        }

        return false;
    }
964141
public function getArchived()
    {
        if (!$this->isArchivable()) {
            return false;
        }
        if (empty($this->owner->{$this->archiveField})) {
            return false;
        }

        return true;
    }
1279494
public function getArrayIdAdressesNearCurrentAdresse($params = array())
    {
        $retour = array();

        if (isset($params['idAdresse']) && $params['idAdresse']!='' && isset($params['idEvenementGroupeAdresseCourant']) && $params['idEvenementGroupeAdresseCourant']!='') {
        // d'abord on va cherche l'idRue de l'adresse courante :
            $reqRue = "
                SELECT ha1.idRue as idRue,ha1.numero as numero, ha1.idSousQuartier as idSousQuartier, ha1.idQuartier as idQuartier, ha1.idIndicatif as idIndicatif
                FROM historiqueAdresse ha2, historiqueAdresse ha1
                LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha1.idAdresse
                WHERE
                    ha2.idAdresse = ha1.idAdresse
                AND ha1.idAdresse = '".$params['idAdresse']."'
                GROUP BY ha1.idAdresse, ha1.idHistoriqueAdresse
                HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)
            ";

            $resRue = $this->connexionBdd->requete($reqRue);

            $fetchRue = mysql_fetch_assoc($resRue);

            $idRue = $fetchRue['idRue'];
            $idSousQuartier = $fetchRue['idSousQuartier'];
            $idQuartier = $fetchRue['idQuartier'];
            $numero = $fetchRue['numero'];
            $idIndicatif = $fetchRue['idIndicatif'];
            if ($idRue != '0' && $numero != '0' && $idRue!='' && $numero !='') {
                $reqNumeroAvant = "
                    SELECT max(ha.numero) as numero,ha.idIndicatif as idIndicatif, count(ee.idEvenementAssocie)
                    FROM historiqueAdresse ha
                    LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha.idAdresse
                    LEFT JOIN _evenementEvenement ee ON ee.idEvenement = ae.idEvenement
                    WHERE
                        ha.idRue='$idRue'
                    AND (ha.numero<$numero OR (ha.numero='$numero' AND ha.idIndicatif<'$idIndicatif' AND ha.idIndicatif<>'') OR ('$idIndicatif'<>'' AND ha.idIndicatif='' AND ha.numero='$numero' ) )
                    AND ha.numero<>''
                    AND ha.numero<>'0'
                    AND ha.numero IS NOT NULL
                    AND ae.idEvenement<>'".$params['idEvenementGroupeAdresseCourant']."'
                    GROUP BY ha.idRue,ee.idEvenementAssocie
                    HAVING count(ee.idEvenementAssocie)>0
                    ORDER BY ha.numero DESC, ha.idIndicatif DESC
                    LIMIT 1
                ";
                $resNumeroAvant = $this->connexionBdd->requete($reqNumeroAvant);
                $fetchNumeroAvant = mysql_fetch_assoc($resNumeroAvant);
                if (isset($fetchNumeroAvant['numero'])) {
                    $reqAvant = "
                        SELECT ha1.idAdresse as idAdresse,ae.idEvenement as idEvenementGroupeAdresse
                        FROM historiqueAdresse ha2, historiqueAdresse ha1
                        LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha1.idAdresse
                        WHERE
                            ha2.idAdresse = ha1.idAdresse
                        AND ha1.idRue='$idRue'
                        AND ha1.idIndicatif='".$fetchNumeroAvant['idIndicatif']."'
                        AND ha1.numero='".$fetchNumeroAvant['numero']."'
                        AND ae.idEvenement<>'".$params['idEvenementGroupeAdresseCourant']."'
                        GROUP BY ha1.idAdresse, ha1.idHistoriqueAdresse
                        HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)

                    ";


                    $resAvant = $this->connexionBdd->requete($reqAvant);

                    $fetchAvant = mysql_fetch_assoc($resAvant);

                    $retour['avant'] = $fetchAvant;
                }

                $reqNumeroApres = "
                    SELECT ha.numero as numero,ha.idIndicatif as idIndicatif,count(ee.idEvenementAssocie)
                    FROM historiqueAdresse ha
                    LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha.idAdresse
                    LEFT JOIN _evenementEvenement ee ON ee.idEvenement = ae.idEvenement
                    WHERE
                        ha.idRue='$idRue'
                    AND (
                            ha.numero>'$numero' OR
                            (ha.numero='$numero' AND ha.idIndicatif>'$idIndicatif' AND ha.idIndicatif<>'')

                        )
                    AND ha.numero<>''
                    AND ha.numero<>'0'
                    AND ha.numero IS NOT NULL
                    AND ae.idEvenement<>'".$params['idEvenementGroupeAdresseCourant']."'
                    GROUP BY ha.idRue,ee.idEvenementAssocie
                    HAVING count(ee.idEvenementAssocie)>0
                    ORDER BY ha.numero ASC,ha.idIndicatif  ASC
                    LIMIT 1
                ";

                $resNumeroApres = $this->connexionBdd->requete($reqNumeroApres);
                $fetchNumeroApres = mysql_fetch_assoc($resNumeroApres);
                if (isset($fetchNumeroApres['numero'])) {
                    $reqApres = "
                        SELECT ha1.idAdresse as idAdresse, ae.idEvenement as idEvenementGroupeAdresse
                        FROM historiqueAdresse ha2, historiqueAdresse ha1
                        LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha1.idAdresse
                        WHERE
                            ha2.idAdresse = ha1.idAdresse
                        AND ha1.idRue='$idRue'
                        AND ha1.numero='".$fetchNumeroApres['numero']."'
                        AND ha1.idIndicatif = '".$fetchNumeroApres['idIndicatif']."'
                        AND ae.idEvenement<>'".$params['idEvenementGroupeAdresseCourant']."'
                        GROUP BY ha1.idAdresse, ha1.idHistoriqueAdresse
                        HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)

                    ";

                    $resApres = $this->connexionBdd->requete($reqApres);

                    $fetchApres = mysql_fetch_assoc($resApres);
                    $retour['apres'] = $fetchApres;
                }
            } else {
                // rue sans numero
                if (($numero=='0' || $numero=='') && $idRue!='' && $idRue!='0') {
                // si pas de numero , on va chercher les deux premieres adresses de la rue
                    $reqPremiersNumeros = "
                        SELECT distinct ha.numero, count(ee.idEvenementAssocie)
                        FROM historiqueAdresse ha
                        LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha.idAdresse
                        LEFT JOIN _evenementEvenement ee ON ee.idEvenement = ae.idEvenement
                        WHERE
                            ha.idRue='$idRue'
                        AND ha.numero<>''
                        AND ha.numero<>'0'
                        AND ha.numero IS NOT NULL
                        AND ae.idEvenement<>'".$params['idEvenementGroupeAdresseCourant']."'
                        GROUP BY ha.idRue,ee.idEvenementAssocie
                        HAVING count(ee.idEvenementAssocie)>0
                        ORDER BY ha.numero ASC
                        LIMIT 2
                    ";

                    $resPremiersNumeros = $this->connexionBdd->requete($reqPremiersNumeros);

                    if (mysql_num_rows($resPremiersNumeros)==1) {
                        $fetchPremiersNumeros = mysql_fetch_assoc($resPremiersNumeros);

                        // une seule adresse trouvee pour la rue
                        $reqAvant = "
                            SELECT ha1.idAdresse as idAdresse,ae.idEvenement as idEvenementGroupeAdresse
                            FROM historiqueAdresse ha2, historiqueAdresse ha1
                            LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha1.idAdresse
                            WHERE
                                ha2.idAdresse = ha1.idAdresse
                            AND ha1.idRue='$idRue'
                            AND ha1.numero='".$fetchPremiersNumeros['numero']."'
                            AND ae.idEvenement<>'".$params['idEvenementGroupeAdresseCourant']."'
                            GROUP BY ha1.idAdresse, ha1.idHistoriqueAdresse
                            HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)

                        ";

                        $resAvant = $this->connexionBdd->requete($reqAvant);
                        $fetchAvant = mysql_fetch_assoc($resAvant);
                        $retour['avant'] = $fetchAvant;
                    } elseif (mysql_num_rows($resPremiersNumeros)==2) {
                    // ok deux adresses trouvees pour la rue
                        $fetchPremiersNumeros = mysql_fetch_assoc($resPremiersNumeros);
                        $reqAvant = "
                            SELECT ha1.idAdresse as idAdresse,ae.idEvenement as idEvenementGroupeAdresse
                            FROM historiqueAdresse ha2, historiqueAdresse ha1
                            LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha1.idAdresse
                            WHERE
                                ha2.idAdresse = ha1.idAdresse
                            AND ha1.idRue='$idRue'
                            AND ha1.numero='".$fetchPremiersNumeros['numero']."'
                            AND ae.idEvenement<>'".$params['idEvenementGroupeAdresseCourant']."'
                            GROUP BY ha1.idAdresse, ha1.idHistoriqueAdresse
                            HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)

                        ";

                        $resAvant = $this->connexionBdd->requete($reqAvant);
                        $fetchAvant = mysql_fetch_assoc($resAvant);
                        $retour['avant'] = $fetchAvant;

                        $fetchPremiersNumeros = mysql_fetch_assoc($resPremiersNumeros);
                        $reqApres = "
                            SELECT ha1.idAdresse as idAdresse,ae.idEvenement as idEvenementGroupeAdresse
                            FROM historiqueAdresse ha2, historiqueAdresse ha1
                            LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha1.idAdresse
                            WHERE
                                ha2.idAdresse = ha1.idAdresse
                            AND ha1.idRue='$idRue'
                            AND ha1.numero='".$fetchPremiersNumeros['numero']."'
                            AND ae.idEvenement<>'".$params['idEvenementGroupeAdresseCourant']."'
                            GROUP BY ha1.idAdresse, ha1.idHistoriqueAdresse
                            HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)

                        ";

                        $resApres = $this->connexionBdd->requete($reqApres);
                        $fetchApres = mysql_fetch_assoc($resApres);
                        $retour['apres'] = $fetchApres;
                    } else {
                        // aucune adresse trouvee pour la rue
                    }
                } elseif (($numero=='0' || $numero=='') && ($idRue=='' || $idRue=='0')) {
                // quartier sousQuartier ou ville ?
                    if ($idQuartier!='' && $idQuartier!='0') {
                    // si pas de numero , on va chercher les deux premieres adresses de la rue
                        $reqPremiersNumeros = "
                            SELECT distinct ha.numero,r.idRue as idRue, count(ee.idEvenementAssocie)
                            FROM historiqueAdresse ha
                            LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha.idAdresse
                            LEFT JOIN _evenementEvenement ee ON ee.idEvenement = ae.idEvenement
                            LEFT JOIN sousQuartier sq ON sq.idQuartier = '$idQuartier'
                            LEFT JOIN rue r ON r.idSousQuartier = sq.idSousQuartier
                            WHERE
                            ha.idRue = r.idRue
                            AND ha.numero<>''
                            AND ha.numero<>'0'
                            AND ha.numero IS NOT NULL
                            AND ae.idEvenement<>'".$params['idEvenementGroupeAdresseCourant']."'
                            GROUP BY ha.idRue,ee.idEvenementAssocie
                            HAVING count(ee.idEvenementAssocie)>0
                            ORDER BY ha.numero ASC
                            LIMIT 2
                        ";

                        $resPremiersNumeros = $this->connexionBdd->requete($reqPremiersNumeros);

                        if (mysql_num_rows($resPremiersNumeros)==1) {
                            $fetchPremiersNumeros = mysql_fetch_assoc($resPremiersNumeros);

                            // une seule adresse trouvee pour la rue
                            $reqAvant = "
                                SELECT ha1.idAdresse as idAdresse,ae.idEvenement as idEvenementGroupeAdresse
                                FROM historiqueAdresse ha2, historiqueAdresse ha1
                                LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha1.idAdresse
                                WHERE
                                    ha2.idAdresse = ha1.idAdresse
                                AND ha1.idRue='".$fetchPremiersNumeros['idRue']."'
                                AND ha1.numero='".$fetchPremiersNumeros['numero']."'
                                AND ae.idEvenement<>'".$params['idEvenementGroupeAdresseCourant']."'
                                GROUP BY ha1.idAdresse, ha1.idHistoriqueAdresse
                                HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)

                            ";

                            $resAvant = $this->connexionBdd->requete($reqAvant);
                            $fetchAvant = mysql_fetch_assoc($resAvant);
                            $retour['avant'] = $fetchAvant;
                        } elseif (mysql_num_rows($resPremiersNumeros)==2) {
                        // ok deux adresses trouvees pour la rue
                            $fetchPremiersNumeros = mysql_fetch_assoc($resPremiersNumeros);
                            $reqAvant = "
                                SELECT ha1.idAdresse as idAdresse,ae.idEvenement as idEvenementGroupeAdresse
                                FROM historiqueAdresse ha2, historiqueAdresse ha1
                                LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha1.idAdresse

                                WHERE
                                    ha2.idAdresse = ha1.idAdresse
                                AND ha1.idRue='".$fetchPremiersNumeros['idRue']."'
                                AND ha1.numero='".$fetchPremiersNumeros['numero']."'
                                AND ae.idEvenement<>'".$params['idEvenementGroupeAdresseCourant']."'
                                GROUP BY ha1.idAdresse, ha1.idHistoriqueAdresse
                                HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)

                            ";

                            $resAvant = $this->connexionBdd->requete($reqAvant);
                            $fetchAvant = mysql_fetch_assoc($resAvant);
                            $retour['avant'] = $fetchAvant;

                            $fetchPremiersNumeros = mysql_fetch_assoc($resPremiersNumeros);
                            $reqApres = "
                                SELECT ha1.idAdresse as idAdresse,ae.idEvenement as idEvenementGroupeAdresse
                                FROM historiqueAdresse ha2, historiqueAdresse ha1
                                LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha1.idAdresse
                                WHERE
                                    ha2.idAdresse = ha1.idAdresse
                                AND ha1.idRue='".$fetchPremiersNumeros['idRue']."'
                                AND ha1.numero='".$fetchPremiersNumeros['numero']."'
                                AND ae.idEvenement<>'".$params['idEvenementGroupeAdresseCourant']."'
                                GROUP BY ha1.idAdresse, ha1.idHistoriqueAdresse
                                HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)

                            ";

                            $resApres = $this->connexionBdd->requete($reqApres);
                            $fetchApres = mysql_fetch_assoc($resApres);
                            $retour['apres'] = $fetchApres;
                        } else {
                            // aucune adresse trouvee pour la rue
                        }
                    } elseif ($idSousQuartier!='' && $idSousQuartier!='0') {
                    // si pas de numero , on va chercher les deux premieres adresses de la rue
                        $reqPremiersNumeros = "
                            SELECT distinct ha.numero,r.idRue as idRue, count(ee.idEvenementAssocie)
                            FROM historiqueAdresse ha
                            LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha.idAdresse
                            LEFT JOIN _evenementEvenement ee ON ee.idEvenement = ae.idEvenement
                            LEFT JOIN rue r ON r.idSousQuartier = '$idSousQuartier'
                            WHERE
                                ha.idRue=r.idRue
                            AND ha.numero<>''
                            AND ha.numero<>'0'
                            AND ha.numero IS NOT NULL
                            AND ae.idEvenement<>'".$params['idEvenementGroupeAdresseCourant']."'
                            GROUP BY ha.idRue,ee.idEvenementAssocie
                            HAVING count(ee.idEvenementAssocie)>0
                            ORDER BY ha.numero ASC
                            LIMIT 2
                        ";

                        $resPremiersNumeros = $this->connexionBdd->requete($reqPremiersNumeros);

                        if (mysql_num_rows($resPremiersNumeros)==1) {
                            $fetchPremiersNumeros = mysql_fetch_assoc($resPremiersNumeros);

                            // une seule adresse trouvee pour la rue
                            $reqAvant = "
                                SELECT ha1.idAdresse as idAdresse,ae.idEvenement as idEvenementGroupeAdresse
                                FROM historiqueAdresse ha2, historiqueAdresse ha1
                                LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha1.idAdresse
                                WHERE
                                    ha2.idAdresse = ha1.idAdresse
                                AND ha1.idRue='".$fetchPremiersNumeros['idRue']."'
                                AND ha1.numero='".$fetchPremiersNumeros['numero']."'
                                AND ae.idEvenement<>'".$params['idEvenementGroupeAdresseCourant']."'
                                GROUP BY ha1.idAdresse, ha1.idHistoriqueAdresse
                                HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)

                            ";

                            $resAvant = $this->connexionBdd->requete($reqAvant);
                            $fetchAvant = mysql_fetch_assoc($resAvant);
                            $retour['avant'] = $fetchAvant;
                        } elseif (mysql_num_rows($resPremiersNumeros)==2) {
                        // ok deux adresses trouvees pour la rue
                            $fetchPremiersNumeros = mysql_fetch_assoc($resPremiersNumeros);
                            $reqAvant = "
                                SELECT ha1.idAdresse as idAdresse,ae.idEvenement as idEvenementGroupeAdresse
                                FROM historiqueAdresse ha2, historiqueAdresse ha1
                                LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha1.idAdresse
                                WHERE
                                    ha2.idAdresse = ha1.idAdresse
                                AND ha1.idRue='".$fetchPremiersNumeros['idRue']."'
                                AND ha1.numero='".$fetchPremiersNumeros['numero']."'
                                AND ae.idEvenement<>'".$params['idEvenementGroupeAdresseCourant']."'
                                GROUP BY ha1.idAdresse, ha1.idHistoriqueAdresse
                                HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)

                            ";

                            $resAvant = $this->connexionBdd->requete($reqAvant);
                            $fetchAvant = mysql_fetch_assoc($resAvant);
                            $retour['avant'] = $fetchAvant;

                            $fetchPremiersNumeros = mysql_fetch_assoc($resPremiersNumeros);
                            $reqApres = "
                                SELECT ha1.idAdresse as idAdresse,ae.idEvenement as idEvenementGroupeAdresse
                                FROM historiqueAdresse ha2, historiqueAdresse ha1
                                LEFT JOIN _adresseEvenement ae ON ae.idAdresse = ha1.idAdresse
                                WHERE
                                    ha2.idAdresse = ha1.idAdresse
                                AND ha1.idRue='".$fetchPremiersNumeros['idRue']."'
                                AND ha1.numero='".$fetchPremiersNumeros['numero']."'
                                AND ae.idEvenement<>'".$params['idEvenementGroupeAdresseCourant']."'
                                GROUP BY ha1.idAdresse, ha1.idHistoriqueAdresse
                                HAVING ha1.idHistoriqueAdresse = max(ha2.idHistoriqueAdresse)

                            ";

                            $resApres = $this->connexionBdd->requete($reqApres);
                            $fetchApres = mysql_fetch_assoc($resApres);
                            $retour['apres'] = $fetchApres;
                        } else {
                            // aucune adresse trouvee pour la rue
                        }
                    }
                }
            }
        }

        return $retour;
    }
1211500
public function getFilter($index)
    {
        if (!$this->hasFilter($index)) {
            throw new \Exception('Impossible de trouver le filtre : ' . $index);
        }

        return $this->filters[$index];
    }
1071488
public function getIdAdresseFromIdEvenementGroupeAdresse($idEvenementGroupeAdresse = 0)
    {
        // recherche de l'idAdresse
        $req = "
                SELECT idAdresse
                FROM _adresseEvenement
                WHERE idEvenement = '".$idEvenementGroupeAdresse."'
        ";

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

        return $fetch['idAdresse'];
    }
332607
public function listContent()
    {
        $v_result=1;

        // ----- Reset the error handler
        $this->privErrorReset();

        // ----- Check archive
        if (!$this->privCheckFormat()) {
            return(0);
        }

        // ----- Call the extracting fct
        $p_list = array();
        if (($v_result = $this->privList($p_list)) != 1) {
            unset($p_list);
            return(0);
        }

        // ----- Return
        return $p_list;
    }
370060
public function extractArchive($archive, $destination)
    {
        if (!file_exists($archive)) {
            throw new \InvalidArgumentException("Archive not found: $archive");
        }
        if (!file_exists($destination) && !mkdir($destination, 0755, true)) {
            throw new \InvalidArgumentException("Could not create destination directory: $destination");
        }
        $tar = $this->getTarExecutable();
        $destination = $this->fixTarPath($destination);
        $archive = $this->fixTarPath($archive);
        $this->shell->execute([$tar, '-xzp', '-C' . $destination, '-f' . $archive], null, true);
    }
486018
public static function getArchiveSlug()
    {
        global $wp_query;

        if ($wp_query && !is_tax() && (is_post_type_archive() || is_archive() || is_home() || is_search() || is_404())) {
            $postType = get_post_type();

            if (isset($wp_query->query_vars['post_type']) && !empty($wp_query->query_vars['post_type'])) {
                $postType = $wp_query->query_vars['post_type'];
            }

            if (is_home()) {
                $archiveSlug = 'archive-post';
            } elseif (is_post_type_archive() && is_search()) {
                $archiveSlug = 'archive-' . get_post_type_object($postType)->name;
            } elseif (is_search()) {
                $archiveSlug = 'search';
            } elseif (is_404()) {
                $archiveSlug = 'e404';
            } elseif (is_author()) {
                $archiveSlug = 'author';
            } else {
                $archiveSlug = 'archive-' . get_post_type_object($postType)->name;
            }

            return $archiveSlug;
        }

        return false;
    }
1245770
protected function extract($archive)
    {
        $zip = new ZipArchive;

        $zip->open($archive);

        $zip->extractTo($this->directory);

        $binary = $zip->getNameIndex(0);

        $zip->close();

        unlink($archive);

        return $binary;
    }
378627
public static function getKnownSegmentsToArchiveForSite($idSite)
    {
        $cacheId = 'KnownSegmentsToArchiveForSite' . $idSite;
        $cache   = PiwikCache::getTransientCache();
        if ($cache->contains($cacheId)) {
            return $cache->fetch($cacheId);
        }

        $segments = array();
        /**
         * Triggered during the cron archiving process to collect segments that
         * should be pre-processed for one specific site. The archiving process will be launched
         * for each of these segments when archiving data for that one site.
         *
         * This event can be used to add segments to be pre-processed for one site.
         *
         * _Note: If you just want to add a segment that is managed by the user, you should use the
         * SegmentEditor API._
         *
         * **Example**
         *
         *     Piwik::addAction('Segments.getKnownSegmentsToArchiveForSite', function (&$segments, $idSite) {
         *         $segments[] = 'country=jp;city=Tokyo';
         *     });
         *
         * @param array &$segmentsToProcess List of segment definitions, eg,
         *
         *                                      array(
         *                                          'browserCode=ff;resolution=800x600',
         *                                          'country=JP;city=Tokyo'
         *                                      )
         *
         *                                  Add segments to this array in your event handler.
         * @param int $idSite The ID of the site to get segments for.
         */
        Piwik::postEvent('Segments.getKnownSegmentsToArchiveForSite', array(&$segments, $idSite));

        $segments = array_unique($segments);

        $cache->save($cacheId, $segments);

        return $segments;
    }
552622
public function getIdEvenementFromIdHistoriqueEvenement($idHistoriqueEvenement = 0)
    {
    // recherche de l'idAdresse

        return $idHistoriqueEvenement;
        $req = "

				SELECT idEvenement
				FROM `historiqueEvenement`
				WHERE `idHistoriqueEvenement` =".$idHistoriqueEvenement."

				";

        $res = $this->connexionBdd->requete($req);
                    $fetch = mysql_fetch_assoc($res);
                    return $fetch['idEvenement'];
    }
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;
    }
555861
def search_archive(pattern, archive, verbosity=0, interactive=True):
    """"""
    if not pattern:
        raise util.PatoolError("empty search pattern")
    util.check_existing_filename(archive)
    if verbosity >= 0:
        util.log_info("Searching %r in %s ..." % (pattern, archive))
    res = _search_archive(pattern, archive, verbosity=verbosity, interactive=interactive)
    if res == 1 and verbosity >= 0:
        util.log_info("... %r not found" % pattern)
    return res