[4898] | 1 | <?php |
---|
| 2 | /*********************************************** |
---|
| 3 | * File : backend.php |
---|
| 4 | * Project : Z-Push |
---|
| 5 | * Descr : This is what C++ people |
---|
| 6 | * (and PHP5) would call an |
---|
| 7 | * abstract class. All backend |
---|
| 8 | * modules should adhere to this |
---|
| 9 | * specification. All communication |
---|
| 10 | * with this module is done via |
---|
| 11 | * the Sync* object types, the |
---|
| 12 | * backend module itself is |
---|
| 13 | * responsible for converting any |
---|
| 14 | * necessary types and formats. |
---|
| 15 | * |
---|
| 16 | * If you wish to implement a new |
---|
| 17 | * backend, all you need to do is |
---|
| 18 | * to subclass the following class, |
---|
| 19 | * and place the subclassed file in |
---|
| 20 | * the backend/ directory. You can |
---|
| 21 | * then use your backend by |
---|
| 22 | * specifying it in the config.php file |
---|
| 23 | * |
---|
| 24 | * |
---|
| 25 | * Created : 01.10.2007 |
---|
| 26 | * |
---|
| 27 | * ᅵ Zarafa Deutschland GmbH, www.zarafaserver.de |
---|
| 28 | * This file is distributed under GPL v2. |
---|
| 29 | * Consult LICENSE file for details |
---|
| 30 | ************************************************/ |
---|
| 31 | |
---|
| 32 | define('EXPORT_HIERARCHY', 1); |
---|
| 33 | define('EXPORT_CONTENTS', 2); |
---|
| 34 | |
---|
| 35 | define('BACKEND_DISCARD_DATA', 1); |
---|
| 36 | |
---|
| 37 | class ImportContentsChanges { |
---|
| 38 | function ImportMessageChange($message) {} |
---|
| 39 | |
---|
| 40 | function ImportMessageDeletion($message) {} |
---|
| 41 | |
---|
| 42 | function ImportMessageReadStateChange($message) {} |
---|
| 43 | |
---|
| 44 | function ImportMessageMove($message) {} |
---|
| 45 | }; |
---|
| 46 | |
---|
| 47 | class ImportHierarchyChanges { |
---|
| 48 | function ImportFolderChange($folder) {} |
---|
| 49 | |
---|
| 50 | function ImportFolderDeletion($folder) {} |
---|
| 51 | }; |
---|
| 52 | |
---|
| 53 | class ExportChanges { |
---|
| 54 | // Exports (returns) changes since '$synckey' as an array of Sync* objects. $flags |
---|
| 55 | // can be EXPORT_HIERARCHY or EXPORT_CONTENTS. $restrict contains the restriction on which |
---|
| 56 | // messages should be filtered. Synckey is updated via reference (!) |
---|
| 57 | function ExportChanges($importer, $folderid, $restrict, $syncstate, $flags) {} |
---|
| 58 | }; |
---|
| 59 | |
---|
| 60 | class Backend { |
---|
| 61 | var $hierarchyimporter; |
---|
| 62 | var $contentsimporter; |
---|
| 63 | var $exporter; |
---|
| 64 | |
---|
| 65 | // Returns TRUE if the logon succeeded, FALSE if not |
---|
| 66 | function Logon($username, $domain, $password) {} |
---|
| 67 | |
---|
| 68 | // called before closing connection |
---|
| 69 | function Logoff() {} |
---|
| 70 | |
---|
| 71 | // Returns an array of SyncFolder types for the entire folder hierarchy |
---|
| 72 | // on the server (the array itself is flat, but refers to parents via the 'parent' |
---|
| 73 | // property) |
---|
| 74 | function GetHierarchy() {} |
---|
| 75 | |
---|
| 76 | // Called when a message has to be sent and the message needs to be saved to the 'sent items' |
---|
| 77 | // folder |
---|
| 78 | function SendMail($rfc822, $forward = false, $reply = false, $parent = false) {} |
---|
| 79 | }; |
---|
| 80 | |
---|
| 81 | ?> |
---|