Subversion Repositories eFlore/Applications.cel

Rev

Rev 1357 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1357 Rev 1566
Line 508... Line 508...
508
			$metadonnees_non_formatees = array_merge($metadonnees_non_formatees, $exif['EXIF']);
508
			$metadonnees_non_formatees = array_merge($metadonnees_non_formatees, $exif['EXIF']);
509
		}
509
		}
510
		if(isset($exif['IFD0'])) {
510
		if(isset($exif['IFD0'])) {
511
			$metadonnees_non_formatees = array_merge($metadonnees_non_formatees, $exif['IFD0']);
511
			$metadonnees_non_formatees = array_merge($metadonnees_non_formatees, $exif['IFD0']);
512
		}
512
		}
513
		$metadonnees['EXIF'] = $this->formaterTableauExif(&$metadonnees_non_formatees);
513
		$metadonnees['EXIF'] = $this->formaterTableauExif($metadonnees_non_formatees);
514
        $metadonnees['IPTC'] = $this->extraireIptc($chemin_fichier);
514
        $metadonnees['IPTC'] = $this->extraireIptc($chemin_fichier);
515
        $metadonnees['File'] = array(
515
        $metadonnees['File'] = array(
516
        	'ImageWidth' => array('id' => '', 'valeur' => $exif['COMPUTED']['Width']),
516
        	'ImageWidth' => array('id' => '', 'valeur' => $exif['COMPUTED']['Width']),
517
			'ImageHeight' => array('id' => '', 'valeur' => $exif['COMPUTED']['Height']));
517
			'ImageHeight' => array('id' => '', 'valeur' => $exif['COMPUTED']['Height']));
518
        return $metadonnees ;
518
        return $metadonnees ;
519
    }
519
    }
Line 520... Line 520...
520
 
520
 
521
    private function formaterTableauExif($tableau) {
521
    private function formaterTableauExif(&$tableau) {
Line 522... Line 522...
522
    	$tableau_exif_formate = array();
522
    	$tableau_exif_formate = array();
523
 
523
 
524
    	foreach ($tableau as $nom_tag => $valeur) {
524
    	foreach ($tableau as $nom_tag => $valeur) {
Line 549... Line 549...
549
            if ($iptc) {
549
            if ($iptc) {
550
                // et on les analyse
550
                // et on les analyse
551
                foreach ($iptc as $marker => $section) {
551
                foreach ($iptc as $marker => $section) {
552
                    foreach ($section as $nom => $val) {
552
                    foreach ($section as $nom => $val) {
553
                        // pour remplir le tableau de donnees
553
                        // pour remplir le tableau de donnees
554
                        $this->decoderValeurIptc($marker, $val, &$meta);
554
                        $this->decoderValeurIptc($marker, $val, $meta);
555
                    }
555
                    }
556
                }
556
                }
557
            }
557
            }
558
        }
558
        }
Line 564... Line 564...
564
    * Stocke une valeur de metadonnées iptc dans le champ du tableau correspondant
564
    * Stocke une valeur de metadonnées iptc dans le champ du tableau correspondant
565
    * @param String $nom nom de la valeur
565
    * @param String $nom nom de la valeur
566
    * @param String $val valeur
566
    * @param String $val valeur
567
    * @param String $data référence vers le tableau où la donnée sera stockée
567
    * @param String $data référence vers le tableau où la donnée sera stockée
568
    **/
568
    **/
569
    private function decoderValeurIptc($nom, $val, $data_tab) {
569
    private function decoderValeurIptc($nom, $val, &$data_tab) {
570
        switch ($nom) {
570
        switch ($nom) {
571
            case "2#005" :// mots cles iptc
571
            case "2#005" :// mots cles iptc
572
                $data_tab['Category'] = array('id' => '5', 'valeur' => $val);
572
                $data_tab['Category'] = array('id' => '5', 'valeur' => $val);
573
            	break;
573
            	break;
574
            case "2#080" :// champ by line
574
            case "2#080" :// champ by line