Commit 86eea041 authored by Ralf Becker's avatar Ralf Becker

ZP-678 Allow to autoload backends. Released under the Affero GNU General...

ZP-678 Allow to autoload backends. Released under the Affero GNU General Public License (AGPL) version 3. Do not try to include backend, if it can be or is already autoloaded. Allows to place backends outside z-push package.
parent 35763ff2
...@@ -144,7 +144,7 @@ class ZPush { ...@@ -144,7 +144,7 @@ class ZPush {
self::COMMAND_SETTINGS => array(self::ASV_12, self::REQUESTHANDLER => "Settings"), self::COMMAND_SETTINGS => array(self::ASV_12, self::REQUESTHANDLER => "Settings"),
self::COMMAND_WEBSERVICE_DEVICE => array(self::REQUESTHANDLER => "Webservice", self::PLAININPUT, self::NOACTIVESYNCCOMMAND, self::WEBSERVICECOMMAND), self::COMMAND_WEBSERVICE_DEVICE => array(self::REQUESTHANDLER => "Webservice", self::PLAININPUT, self::NOACTIVESYNCCOMMAND, self::WEBSERVICECOMMAND),
self::COMMAND_WEBSERVICE_USERS => array(self::REQUESTHANDLER => "Webservice", self::PLAININPUT, self::NOACTIVESYNCCOMMAND, self::WEBSERVICECOMMAND), self::COMMAND_WEBSERVICE_USERS => array(self::REQUESTHANDLER => "Webservice", self::PLAININPUT, self::NOACTIVESYNCCOMMAND, self::WEBSERVICECOMMAND),
); );
...@@ -273,10 +273,10 @@ class ZPush { ...@@ -273,10 +273,10 @@ class ZPush {
else if (SINK_FORCERECHECK !== false && (!is_int(SINK_FORCERECHECK) || SINK_FORCERECHECK < 1)) else if (SINK_FORCERECHECK !== false && (!is_int(SINK_FORCERECHECK) || SINK_FORCERECHECK < 1))
throw new FatalMisconfigurationException("The SINK_FORCERECHECK value must be 'false' or a number higher than 0."); throw new FatalMisconfigurationException("The SINK_FORCERECHECK value must be 'false' or a number higher than 0.");
if (!defined('SYNC_CONTACTS_MAXPICTURESIZE')) { if (!defined('SYNC_CONTACTS_MAXPICTURESIZE')) {
define('SYNC_CONTACTS_MAXPICTURESIZE', 49152); define('SYNC_CONTACTS_MAXPICTURESIZE', 49152);
} }
else if ((!is_int(SYNC_CONTACTS_MAXPICTURESIZE) || SYNC_CONTACTS_MAXPICTURESIZE < 1)) else if ((!is_int(SYNC_CONTACTS_MAXPICTURESIZE) || SYNC_CONTACTS_MAXPICTURESIZE < 1))
throw new FatalMisconfigurationException("The SYNC_CONTACTS_MAXPICTURESIZE value must be a number higher than 0."); throw new FatalMisconfigurationException("The SYNC_CONTACTS_MAXPICTURESIZE value must be a number higher than 0.");
if (!defined('USE_PARTIAL_FOLDERSYNC')) { if (!defined('USE_PARTIAL_FOLDERSYNC')) {
...@@ -485,7 +485,7 @@ class ZPush { ...@@ -485,7 +485,7 @@ class ZPush {
$loaded = false; $loaded = false;
foreach (self::$autoloadBackendPreference as $autoloadBackend) { foreach (self::$autoloadBackendPreference as $autoloadBackend) {
ZLog::Write(LOGLEVEL_DEBUG, sprintf("ZPush::GetBackend(): trying autoload backend '%s'", $autoloadBackend)); ZLog::Write(LOGLEVEL_DEBUG, sprintf("ZPush::GetBackend(): trying autoload backend '%s'", $autoloadBackend));
$loaded = self::IncludeBackend($autoloadBackend); $loaded = class_exists($autoloadBackend) || self::IncludeBackend($autoloadBackend);
if ($loaded) { if ($loaded) {
$ourBackend = $autoloadBackend; $ourBackend = $autoloadBackend;
break; break;
...@@ -494,7 +494,7 @@ class ZPush { ...@@ -494,7 +494,7 @@ class ZPush {
if (!$ourBackend || !$loaded) if (!$ourBackend || !$loaded)
throw new FatalMisconfigurationException("No Backend provider can not be loaded. Check your installation and configuration!"); throw new FatalMisconfigurationException("No Backend provider can not be loaded. Check your installation and configuration!");
} }
else elseif (!class_exists($ourBackend))
self::IncludeBackend($ourBackend); self::IncludeBackend($ourBackend);
if (class_exists($ourBackend)) if (class_exists($ourBackend))
......
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