Commit 11ea9cd2 authored by Manfred Kutas's avatar Manfred Kutas

ZP-748 Added RightsManagementTemplates handling for Settings in the

backends.

Released under the Affero GNU General Public License (AGPL) version 3.
parent ea10a2b2
......@@ -1753,7 +1753,7 @@ class BackendIMAP extends BackendDiff implements ISearchProvider {
/**
* Applies settings to and gets informations from the device
*
* @param SyncObject $settings (SyncOOF or SyncUserInformation possible)
* @param SyncObject $settings (SyncOOF, SyncUserInformation, SyncRightsManagementTemplates possible)
*
* @access public
* @return SyncObject $settings
......@@ -1762,9 +1762,12 @@ class BackendIMAP extends BackendDiff implements ISearchProvider {
if ($settings instanceof SyncOOF) {
$this->settingsOOF($settings);
}
else if ($settings instanceof SyncUserInformation) {
elseif ($settings instanceof SyncUserInformation) {
$this->settingsUserInformation($settings);
}
elseif ($settings instanceof SyncRightsManagementTemplates) {
$settings->Status = SYNC_SETTINGSSTATUS_SUCCESS;
}
return $settings;
}
......
......@@ -1025,9 +1025,9 @@ class BackendKopano implements IBackend, ISearchProvider {
}
/**
* Applies settings to and gets informations from the device
* Applies settings to and gets informations from the device.
*
* @param SyncObject $settings (SyncOOF or SyncUserInformation possible)
* @param SyncObject $settings (SyncOOF, SyncUserInformation, SyncRightsManagementTemplates possible)
*
* @access public
* @return SyncObject $settings
......@@ -1041,6 +1041,10 @@ class BackendKopano implements IBackend, ISearchProvider {
$this->settingsUserInformation($settings);
}
if ($settings instanceof SyncRightsManagementTemplates) {
$this->settingsRightsManagementTemplates($settings);
}
return $settings;
}
......@@ -1884,6 +1888,18 @@ class BackendKopano implements IBackend, ISearchProvider {
return false;
}
/**
* Gets the rights management templates from the server.
*
* @param SyncObject $rmTemplates
*
* @access private
* @return void
*/
private function settingsRightsManagementTemplates(&$rmTemplates) {
$rmTemplates->Status = SYNC_SETTINGSSTATUS_SUCCESS;
}
/**
* Sets the importance and priority of a message from a RFC822 message headers.
*
......
......@@ -159,7 +159,7 @@ abstract class Backend implements IBackend {
/**
* Applies settings to and gets informations from the device
*
* @param SyncObject $settings (SyncOOF or SyncUserInformation possible)
* @param SyncObject $settings (SyncOOF, SyncUserInformation, SyncRightsManagementTemplates possible)
*
* @access public
* @return SyncObject $settings
......@@ -194,6 +194,9 @@ abstract class Backend implements IBackend {
$settings->emailaddresses = array(ZPush::GetBackend()->GetUserDetails(Request::GetAuthUser())['emailaddress']);
}
if ($settings instanceof SyncRightsManagementTemplates) {
$settings->Status = SYNC_SETTINGSSTATUS_SUCCESS;
}
return $settings;
}
......
......@@ -257,7 +257,7 @@ interface IBackend {
/**
* Applies settings to and gets informations from the device
*
* @param SyncObject $settings (SyncOOF or SyncUserInformation possible)
* @param SyncObject $settings (SyncOOF, SyncUserInformation, SyncRightsManagementTemplates possible)
*
* @access public
* @return SyncObject $settings
......
......@@ -110,6 +110,7 @@ class Settings extends RequestProcessor {
break;
case SYNC_SETTINGS_RIGHTSMANAGEMENTINFORMATION:
$rmTemplates = new SyncRightsManagementTemplates();
break;
default:
......@@ -207,6 +208,20 @@ class Settings extends RequestProcessor {
self::$encoder->endTag(); //SYNC_SETTINGS_USERINFORMATION
}
// get rights management templates
if (isset($rmTemplates)) {
self::$backend->Settings($rmTemplates);
self::$encoder->startTag(SYNC_SETTINGS_RIGHTSMANAGEMENTINFORMATION);
self::$encoder->startTag(SYNC_SETTINGS_STATUS);
self::$encoder->content($rmTemplates->Status);
self::$encoder->endTag(); //SYNC_SETTINGS_STATUS
self::$encoder->startTag(SYNC_SETTINGS_GET);
$rmTemplates->Encode(self::$encoder);
self::$encoder->endTag(); //SYNC_SETTINGS_GET
self::$encoder->endTag(); //SYNC_SETTINGS_RIGHTSMANAGEMENTINFORMATION
}
//set out of office
if (isset($oofSet)) {
$oofSet = self::$backend->Settings($oofSet);
......
<?php
/***********************************************
* File : syncrightsmanagements.php
* File : syncrightsmanagementstemplate.php
* Project : Z-Push
* Descr : WBXML rights management entities that can be
* parsed directly (as a stream) from WBXML.
* Descr : WBXML rights management template entities
* that can be parsed directly (as a stream)
* from WBXML.
* It is automatically decoded
* according to $mapping,
* and the Sync WBXML mappings
*
* Created : 15.06.2017
* Created : 16.06.2017
*
* Copyright 2017 Zarafa Deutschland GmbH
*
......@@ -27,10 +28,17 @@
* Consult LICENSE file for details
************************************************/
class SyncRightsManagement extends SyncObject {
class SyncRightsManagementTemplate extends SyncObject {
public $description;
public $id;
public $name;
public function __construct() {
$mapping = array (
SYNC_RIGHTSMANAGEMENT_TEMPLATEDESCRIPTION => array (self::STREAMER_VAR => "description"),
SYNC_RIGHTSMANAGEMENT_TEMPLATEID => array (self::STREAMER_VAR => "id"),
SYNC_RIGHTSMANAGEMENT_TEMPLATENAME => array (self::STREAMER_VAR => "name"),
);
parent::__construct($mapping);
......
<?php
/***********************************************
* File : syncrightsmanagementstemplates.php
* Project : Z-Push
* Descr : WBXML rights management templates entities
* that can be parsed directly (as a stream)
* from WBXML.
* It is automatically decoded
* according to $mapping,
* and the Sync WBXML mappings
*
* Created : 15.06.2017
*
* Copyright 2017 Zarafa Deutschland GmbH
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License, version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* Consult LICENSE file for details
************************************************/
class SyncRightsManagementTemplates extends SyncObject {
public $rmtemplates;
public $Status;
public function __construct() {
$mapping = array (
SYNC_RIGHTSMANAGEMENT_TEMPLATES => array ( self::STREAMER_VAR => "rmtemplates",
self::STREAMER_TYPE => "SyncRigtsManagementTemplate",
self::STREAMER_ARRAY => SYNC_RIGHTSMANAGEMENT_TEMPLATE),
SYNC_SETTINGS_PROP_STATUS => array ( self::STREAMER_VAR => "Status",
self::STREAMER_TYPE => self::STREAMER_TYPE_IGNORE)
);
parent::__construct($mapping);
}
}
\ No newline at end of file
......@@ -160,7 +160,8 @@ return array(
'SyncResolveRecipientsOptions' => $baseDir . '/lib/syncobjects/syncresolverecipientsoptions.php',
'SyncResolveRecipientsPicture' => $baseDir . '/lib/syncobjects/syncresolverecipientspicture.php',
'SyncResolveRecipientsResponse' => $baseDir . '/lib/syncobjects/syncresolverecipientsresponse.php',
'SyncRightsManagement' => $baseDir . '/lib/syncobjects/syncrightsmanagement.php',
'SyncRightsManagementTemplate' => $baseDir . '/lib/syncobjects/syncrightsmanagementtemplate.php',
'SyncRightsManagementTemplates' => $baseDir . '/lib/syncobjects/syncrightsmanagementtemplates.php',
'SyncSendMail' => $baseDir . '/lib/syncobjects/syncsendmail.php',
'SyncSendMailSource' => $baseDir . '/lib/syncobjects/syncsendmailsource.php',
'SyncTask' => $baseDir . '/lib/syncobjects/synctask.php',
......
......@@ -167,7 +167,8 @@ class ComposerStaticInitd6749fc2fb9944bbe86b2b7d79a7852f
'SyncResolveRecipientsOptions' => __DIR__ . '/../..' . '/lib/syncobjects/syncresolverecipientsoptions.php',
'SyncResolveRecipientsPicture' => __DIR__ . '/../..' . '/lib/syncobjects/syncresolverecipientspicture.php',
'SyncResolveRecipientsResponse' => __DIR__ . '/../..' . '/lib/syncobjects/syncresolverecipientsresponse.php',
'SyncRightsManagement' => __DIR__ . '/../..' . '/lib/syncobjects/syncrightsmanagement.php',
'SyncRightsManagementTemplate' => __DIR__ . '/../..' . '/lib/syncobjects/syncrightsmanagementtemplate.php',
'SyncRightsManagementTemplates' => __DIR__ . '/../..' . '/lib/syncobjects/syncrightsmanagementtemplates.php',
'SyncSendMail' => __DIR__ . '/../..' . '/lib/syncobjects/syncsendmail.php',
'SyncSendMailSource' => __DIR__ . '/../..' . '/lib/syncobjects/syncsendmailsource.php',
'SyncTask' => __DIR__ . '/../..' . '/lib/syncobjects/synctask.php',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment