Horde_ActiveSync_Policies::toXml PHP Method

toXml() public method

Output the policies as XML. Only used in EAS Version 2.5. This method only outputs the 2.5 compatible policies.
public toXml ( )
    public function toXml()
    {
        if (empty($this->_encoder)) {
            throw new Horde_ActiveSync_Exception('No output stream');
        }
        $policies = array_merge($this->_defaults, $this->_overrides);
        $xml = '<wap-provisioningdoc><characteristic type="SecurityPolicy">' . '<parm name="4131" value="' . ($policies[self::POLICY_PIN] ? 0 : 1) . '"/>' . '</characteristic>';
        if ($policies[self::POLICY_PIN]) {
            $xml .= '<characteristic type="Registry">' . '<characteristic type="HKLM\\Comm\\Security\\Policy\\LASSD\\AE\\{50C13377-C66D-400C-889E-C316FC4AB374}">' . '<parm name="AEFrequencyType" value="' . (!empty($policies[self::POLICY_AEFVALUE]) ? 1 : 0) . '"/>' . (!empty($policies[self::POLICY_AEFVALUE]) ? '<parm name="AEFrequencyValue" value="' . $policies[self::POLICY_AEFVALUE] . '"/>' : '') . '</characteristic>';
            if (!empty($policies[self::POLICY_MAXFAILEDATTEMPTS])) {
                $xml .= '<characteristic type="HKLM\\Comm\\Security\\Policy\\LASSD"><parm name="DeviceWipeThreshold" value="' . $policies[self::POLICY_MAXFAILEDATTEMPTS] . '"/></characteristic>';
            }
            if (!empty($policies[self::POLICY_CODEFREQ])) {
                $xml .= '<characteristic type="HKLM\\Comm\\Security\\Policy\\LASSD"><parm name="CodewordFrequency" value="' . $policies[self::POLICY_CODEFREQ] . '"/></characteristic>';
            }
            if (!empty($policies[self::POLICY_MINLENGTH])) {
                $xml .= '<characteristic type="HKLM\\Comm\\Security\\Policy\\LASSD\\LAP\\lap_pw"><parm name="MinimumPasswordLength" value="' . $policies[self::POLICY_MINLENGTH] . '"/></characteristic>';
            }
            if ($policies[self::POLICY_COMPLEXITY] !== false) {
                $xml .= '<characteristic type="HKLM\\Comm\\Security\\Policy\\LASSD\\LAP\\lap_pw"><parm name="PasswordComplexity" value="' . $policies[self::POLICY_COMPLEXITY] . '"/></characteristic>';
            }
            $xml .= '</characteristic>';
        }
        $xml .= '</wap-provisioningdoc>';
        $this->_encoder->content($xml);
    }

Usage Example

Example #1
0
 public function testDefaultXml()
 {
     $stream = fopen('php://memory', 'w+');
     $encoder = new Horde_ActiveSync_Wbxml_Encoder($stream);
     $handler = new Horde_ActiveSync_Policies($encoder);
     $handler->toXml();
     rewind($stream);
     $results = stream_get_contents($stream);
     fclose($stream);
     $fixture = file_get_contents(__DIR__ . '/fixtures/default_policies.xml');
     $this->assertEquals($fixture, $results);
 }
All Usage Examples Of Horde_ActiveSync_Policies::toXml