OpenDocumentPHP
[ class tree: OpenDocumentPHP ] [ index: OpenDocumentPHP ] [ all elements ]

Source for file StylesDocument.php

Documentation is available at StylesDocument.php

  1. <?php
  2. /*
  3.  * Created on 05.01.2007 by Norman Markgraf (nmarkgraf(at)user.sourceforge.net)
  4.  *
  5.  * PHP versions 5.2 or better.
  6.  *
  7.  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  8.  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  9.  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  10.  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  11.  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  12.  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  13.  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  14.  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  15.  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  16.  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  17.  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  18.  *
  19.  * This software consists of voluntary contributions made by many individuals
  20.  * and is licensed under the GPL. For more information please see
  21.  * <http://opendocumentphp.org>.
  22.  * 
  23.  * $Id: StylesDocument.php 161 2007-03-19 09:35:16Z nmarkgraf $
  24.  */
  25. require_once 'OpenDocumentPHP/global/AutomaticStylesFragment.php';
  26. require_once 'OpenDocumentPHP/global/FontFaceDeclFragment.php';
  27. require_once 'OpenDocumentPHP/styles/StylesFragment.php';
  28. require_once 'OpenDocumentPHP/styles/MasterStylesFragment.php';
  29. require_once 'OpenDocumentPHP/util/AbstractDocument.php';
  30. /**
  31.  * StylesDocument class.
  32.  *  
  33.  * @author         Norman Markgraf (nmarkgraf(at)user.sourceforge.net)
  34.  * @copyright     Copyright in 2006, 2007 by The OpenDocumentPHP Team
  35.  * @license     http://www.gnu.org/licenses/gpl.html GNU General Public License 2.0.
  36.  * @version        $Revision: 161 $
  37.  * @package        OpenDocumentPHP
  38.  * @since         0.5.0 - 08.02.2007
  39.  */
  40. class StylesDocument extends AbstractDocument {
  41.     /**
  42.      * @var         StylesFragment 
  43.      * @access        private
  44.      * @since         0.5.0 - 08.02.2007
  45.      */
  46.     private $styles;
  47.     /**
  48.      * @var         FontFaceDeclFragment 
  49.      * @access        private
  50.      * @since         0.5.0 - 08.02.2007
  51.      */
  52.     private $fontfacedecl;
  53.     /**
  54.      * @var         AutomaticStylesFragment 
  55.      * @access        private
  56.      * @since         0.5.0 - 08.02.2007
  57.      */
  58.     private $automaticstyles;
  59.     /**
  60.      * @var         MasterStylesFragment 
  61.      * @access        private
  62.      * @since         0.5.0 - 08.02.2007
  63.      */
  64.     private $masterstyles;
  65.     /**
  66.      * Constructor method.
  67.      * 
  68.      * @since         0.5.0 - 08.02.2007
  69.      */
  70.     function __construct({
  71.         parent :: __construct('office:document-styles');
  72.         //
  73.         $this->fontfacedecl new FontFaceDeclFragment($this);
  74.         $this->styles new StylesFragment($this);
  75.         $this->automaticstyles new AutomaticStylesFragment($this);
  76.         $this->masterstyles new MasterStylesFragment($this);
  77.         // append FontFaceDeclFragment
  78.         $this->root->appendChild($this->fontfacedecl->getDocumentFragment());
  79.         // append StylesFragment
  80.         $this->root->appendChild($this->styles->getDocumentFragment());
  81.         // append AutomaticStylesFragment
  82.         $this->root->appendChild($this->automaticstyles->getDocumentFragment());
  83.         // append MasterFragment
  84.         $this->root->appendChild($this->masterstyles->getDocumentFragment());
  85.     }
  86.     /**
  87.      * 
  88.      * @access         public
  89.      * @since         0.5.0 - 08.02.2007
  90.      */
  91.     function getFontFaceDeclarations({
  92.         return $this->fontfacedecl;
  93.     }
  94.     /**
  95.      * 
  96.      * @access         public
  97.      * @since         0.5.0 - 08.02.2007
  98.      */
  99.     function getStyles({
  100.         return $this->styles;
  101.     }
  102.     /**
  103.      * 
  104.      * @access         public
  105.      * @since         0.5.0 - 08.02.2007
  106.      */
  107.     function getAutomaticStyles({
  108.         return $this->automaticstyles;
  109.     }
  110.     /**
  111.      * 
  112.      * @access         public
  113.      * @since         0.5.0 - 08.02.2007
  114.      */
  115.     function getMasterStyles({
  116.         return $this->masterstyles;
  117.     }
  118.     /**
  119.      * 
  120.      * @access         public
  121.      * @since         0.5.0 - 08.02.2007
  122.      * @deprecated  0.5.2 - 02.03.2007 This method is no longer necessary. Parent method did it all.
  123.      */
  124.     function saveXML({
  125.         return parent :: saveXML();
  126.     }
  127.     /**
  128.      * Loads styles document into this StylesDocument.
  129.      * 
  130.      * @access     public
  131.      * @since     0.5.2 - 02.03.2007
  132.      */
  133.     function loadXML($source{
  134.         $ret parent :: loadXML($source);
  135.         if ($ret === TRUE{
  136.             $this->root = $this->documentElement;
  137.             $this->initXpath();
  138.             $result $this->xpath->query('/office:document-styles/office:styles');
  139.             $tmp $result;
  140.             if ($tmp->length == 1{
  141.                 $node $result->item(0);
  142.                 $this->styles new StylesFragment($this$node);
  143.                 $result $this->xpath->query('/office:document-styles/office:font-face-decls');
  144.                 if ($result->length == 1{
  145.                     $node $result->item(0);
  146.                     $this->fontfacedecl new FontFaceDeclFragment($this$node);
  147.                 else {
  148.                     $ret false;
  149.                 }
  150.                 $result $this->xpath->query('/office:document-styles/office:automatic-styles');
  151.                 if ($result->length == 1{
  152.                     $node $result->item(0);
  153.                     $this->automaticstyles new AutomaticStylesFragment($this$node);
  154.                 else {
  155.                     $ret false;
  156.                 }
  157.                 $result $this->xpath->query('/office:document-styles/office:master-styles');
  158.                 if ($result->length == 1{
  159.                     $node $result->item(0);
  160.                     $this->masterstyles new MasterStylesFragment($this$node);
  161.                 else {
  162.                     $ret false;
  163.                 }
  164.             }
  165.         }
  166.         return $ret;
  167.     }
  168. }
  169. ?>

Documentation generated on Tue, 12 Jun 2007 10:00:46 +0200 by phpDocumentor 1.3.2