<?php
require_once ('XMLDocument.abstract.php');
require_once ('Fonction.class.php');
/**
* OpenOfficeSpreadsheet est un ensemble de classes permettant de générer un document OpenOffice
* Spreadsheet (feuille de calcul ou tableur). Ces classes contiennent un certain nombre de
* fonctions permettant la mise en page et le remplissage de cellules. Euh, sinon c'est tout.
* Mais il y a de quoi faire, notamment au niveau des classes Settings et Styles, mais ça
* viendra (peut-être) plus tard.
*
* Sinon, c'est gratuit, c'est sympa, et même si ça ne sert pas à grand chose, ça sert quand
* même à quelque chose. Donc finalement, c'est cool. Alors enjoy!
*
* @package OpenOfficeGeneration
* @version 0.1
* @copyright (C) 2006 Tafel. All rights reserved
* @license http://www.gnu.org/copyleft/lesser.html LGPL License
* @author Tafel <hide@address.com>
*
* Programme sous licence GPL. Toute reproduction, même patielle, est autorisée, avec ou sans le
* consentement du programmeur principal (avec, c'est mieux, quand même ;) ...)
*/
class Manifest extends XMLDocument {
/**
*-------------------------------------------------------------------------------
* Propriétés
*-------------------------------------------------------------------------------
*/
/**
*-------------------------------------------------------------------------------
* Constructeur
*-------------------------------------------------------------------------------
*/
/**
* Constructeur de classe
*
* @access public
* @param string $path_save Le chemin vers le dossier de sauvegarde
* @param string $path_templates Le chemin vers les templates
* @param boolean $format_output True pour un affichage joli du XML
* @param boolean $white_space True pour préserver les espaces blancs
* @return object L'objet de classe
*/
public function __construct($path_save, $path_templates, $format_output, $white_space) {
$fileName = 'manifest.xml';
$this->load($fileName, $path_save, $path_templates, $format_output, $white_space);
$this->root = $this->core->documentElement;
}
/**
*-------------------------------------------------------------------------------
* Méthodes publiques
*-------------------------------------------------------------------------------
*/
/**
* Fonction qui ajoute un noeud <file-entry> avec les valeurs souhaitées
*
* @access public
* @param string $media_type Le type de média
* @param string $full_path Le chemin vers le fichier
* @return void
*/
public function addFileEntry($media_type, $full_path) {
$new = $this->_addManifestElement('file-entry');
$new->setAttribute('manifest:media-type', Fonction::checkAttribute($media_type));
$new->setAttribute('manifest:full-path', Fonction::checkAttribute($full_path));
}
/**
*-------------------------------------------------------------------------------
* Méthodes privées
*-------------------------------------------------------------------------------
*/
/**
* Fonction qui ajoute un élément signé comme étant un élément manifest
*
* @access protected
* @param string $element Le nom de l'élément
* @param string $str La valeur de l'élément
* @param object $parent Le DOMElement parent de celui qu'on créé
* @return object Le DOMElement créé
*/
protected function _addManifestElement($element, $str = '', $parent = null) {
return $this->_addElement('manifest', $element, $str, $parent);
}
}
?>