--- /dev/null
+<?php
+/**
+ * Handle GetHierarchy requests from older activesync clients.
+ *
+ * Logic adapted from Z-Push, original copyright notices below.
+ *
+ * Copyright 2009 - 2010 The Horde Project (http://www.horde.org)
+ *
+ * @author Michael J. Rubinsky <mrubinsk@horde.org>
+ * @package Horde_ActiveSync
+ */
+/**
+ * Zarafa Deutschland GmbH, www.zarafaserver.de
+ * This file is distributed under GPL v2.
+ * Consult LICENSE file for details
+ */
+class Horde_ActiveSync_Request_GetHierarchy extends Horde_ActiveSync_Request_Base
+{
+ /**
+ * Handle request
+ *
+ * @return boolean
+ */
+ public function handle()
+ {
+ $folders = $this->_driver->GetHierarchy();
+ if (!$folders) {
+ return false;
+ }
+
+ /* save folder-ids for fourther syncing */
+ $this->_stateMachine->setFolderData($this->_device, $folders);
+
+ $this->_encoder->StartWBXML();
+ $this->_encoder->startTag(self::FOLDERHIERARCHY_FOLDERS);
+
+ foreach ($folders as $folder) {
+ $this->_encoder->startTag(self::FOLDERHIERARCHY_FOLDER);
+ $folder->encodeStream($this->_encoder);
+ $this->_encoder->endTag();
+ }
+ $this->_encoder->endTag();
+
+ return true;
+ }
+}
\ No newline at end of file
<file name="GetItemEstimate.php" role="php" />
<file name="SendMail.php" role="php" />
<file name="Search.php" role="php" />
+ <file name="GetHierarchy" role="php" />
</dir>
<file name="Exception.php" role="php" />
<file name="Wbxml.php" role="php" />
<install name="lib/Horde/ActiveSync/Request/GetItemEstimate.php" as="Horde/ActiveSync/Request/GetItemEstimate.php" />
<install name="lib/Horde/ActiveSync/Request/SendMail.php" as="Horde/ActiveSync/Request/SendMail.php" />
<install name="lib/Horde/ActiveSync/Request/Search.php" as="Horde/ActiveSync/Request/Search.php" />
+ <install name="lib/Horde/ActiveSync/Request/GetHierarchy.php" as="Horde/ActiveSync/Request/GetHierarchy.php" />
<install name="lib/Horde/ActiveSync/Exception.php" as="Horde/ActiveSync/Exception.php" />
<install name="lib/Horde/ActiveSync/Wbxml.php" as="Horde/ActiveSync/Wbxml.php" />
<install name="lib/Horde/ActiveSync/Timezone.php" as="Horde/ActiveSync/Timezone.php" />