~chroot64bit/zivios/gentoo-experimental

« back to all changes in this revision

Viewing changes to application/library/Zend/XmlRpc/Value/Boolean.php

  • Committer: Mustafa A. Hashmi
  • Date: 2008-12-04 13:32:21 UTC
  • Revision ID: mhashmi@zivios.org-20081204133221-0nd1trunwevijj38
Inclusion of new installation framework with ties to zend layout and dojo layout

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
/**
 
3
 * Zend Framework
 
4
 *
 
5
 * LICENSE
 
6
 *
 
7
 * This source file is subject to the new BSD license that is bundled
 
8
 * with this package in the file LICENSE.txt.
 
9
 * It is also available through the world-wide-web at this URL:
 
10
 * http://framework.zend.com/license/new-bsd
 
11
 * If you did not receive a copy of the license and are unable to
 
12
 * obtain it through the world-wide-web, please send an email
 
13
 * to license@zend.com so we can send you a copy immediately.
 
14
 *
 
15
 * @category   Zend
 
16
 * @package    Zend_XmlRpc
 
17
 * @subpackage Value
 
18
 * @copyright  Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
 
19
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 
20
 * @version    $Id: Boolean.php 9096 2008-03-30 19:04:05Z thomas $
 
21
 */
 
22
 
 
23
 
 
24
/**
 
25
 * Zend_XmlRpc_Value_Scalar
 
26
 */
 
27
require_once 'Zend/XmlRpc/Value/Scalar.php';
 
28
 
 
29
 
 
30
/**
 
31
 * @category   Zend
 
32
 * @package    Zend_XmlRpc
 
33
 * @subpackage Value
 
34
 * @copyright  Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
 
35
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 
36
 */
 
37
class Zend_XmlRpc_Value_Boolean extends Zend_XmlRpc_Value_Scalar
 
38
{
 
39
 
 
40
    /**
 
41
     * Set the value of a boolean native type
 
42
     * We hold the boolean type as an integer (0 or 1)
 
43
     *
 
44
     * @param bool $value
 
45
     */
 
46
    public function __construct($value)
 
47
    {
 
48
        $this->_type = self::XMLRPC_TYPE_BOOLEAN;
 
49
        // Make sure the value is boolean and then convert it into a integer
 
50
        // The double convertion is because a bug in the ZendOptimizer in PHP version 5.0.4
 
51
        $this->_value = (int)(bool)$value;
 
52
    }
 
53
 
 
54
    /**
 
55
     * Return the value of this object, convert the XML-RPC native boolean value into a PHP boolean
 
56
     *
 
57
     * @return bool
 
58
     */
 
59
    public function getValue()
 
60
    {
 
61
        return (bool)$this->_value;
 
62
    }
 
63
 
 
64
    /**
 
65
     * Return the XML-RPC serialization of the boolean value
 
66
     *
 
67
     * @return string
 
68
     */
 
69
    public function saveXML()
 
70
    {
 
71
        if (! $this->_as_xml) {   // The XML was not generated yet
 
72
            $dom   = new DOMDocument('1.0', 'UTF-8');
 
73
            $value = $dom->appendChild($dom->createElement('value'));
 
74
            $type  = $value->appendChild($dom->createElement($this->_type));
 
75
            $type->appendChild($dom->createTextNode($this->_value));
 
76
 
 
77
            $this->_as_dom = $value;
 
78
            $this->_as_xml = $this->_stripXmlDeclaration($dom);
 
79
        }
 
80
 
 
81
        return $this->_as_xml;
 
82
    }
 
83
}
 
84