diff --git a/rainloop/v/0.0.0/app/handle.php b/rainloop/v/0.0.0/app/handle.php
index 34ee78e44..2bce27f39 100644
--- a/rainloop/v/0.0.0/app/handle.php
+++ b/rainloop/v/0.0.0/app/handle.php
@@ -2,19 +2,20 @@
if (!\defined('RAINLOOP_APP_LIBRARIES_PATH'))
{
- \define('RAINLOOP_APP_LIBRARIES_PATH', \rtrim(\realpath(__DIR__), '\\/').'/libraries/');
+ \define('RAINLOOP_APP_PATH', \rtrim(\realpath(__DIR__), '\\/').'/');
+ \define('RAINLOOP_APP_LIBRARIES_PATH', RAINLOOP_APP_PATH.'libraries/');
\define('RAINLOOP_MB_SUPPORTED', \function_exists('mb_strtoupper'));
/**
* @param string $sClassName
- *
+ *
* @return mixed
*/
function RainLoopSplAutoloadRegisterFunction($sClassName)
{
if (0 === \strpos($sClassName, 'RainLoop') && false !== \strpos($sClassName, '\\'))
{
- return include RAINLOOP_APP_LIBRARIES_PATH.'RainLoop/'.\str_replace('\\', '/', \substr($sClassName, 9)).'.php';
+ return include RAINLOOP_APP_PATH.'src/RainLoop/'.\str_replace('\\', '/', \substr($sClassName, 9)).'.php';
}
else if (0 === \strpos($sClassName, 'Facebook') && false !== \strpos($sClassName, '\\'))
{
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Account.php b/rainloop/v/0.0.0/app/src/RainLoop/Account.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Account.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Account.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php b/rainloop/v/0.0.0/app/src/RainLoop/Actions.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Actions.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Api.php b/rainloop/v/0.0.0/app/src/RainLoop/Api.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Api.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Api.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Common/MbStringFix.php b/rainloop/v/0.0.0/app/src/RainLoop/Common/MbStringFix.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Common/MbStringFix.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Common/MbStringFix.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Common/PdoAbstract.php b/rainloop/v/0.0.0/app/src/RainLoop/Common/PdoAbstract.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Common/PdoAbstract.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Common/PdoAbstract.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Common/RainLoopFacebookRedirectLoginHelper.php b/rainloop/v/0.0.0/app/src/RainLoop/Common/RainLoopFacebookRedirectLoginHelper.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Common/RainLoopFacebookRedirectLoginHelper.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Common/RainLoopFacebookRedirectLoginHelper.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Config/AbstractConfig.php b/rainloop/v/0.0.0/app/src/RainLoop/Config/AbstractConfig.php
similarity index 94%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Config/AbstractConfig.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Config/AbstractConfig.php
index 4f3f623c6..5722e6ce3 100644
--- a/rainloop/v/0.0.0/app/libraries/RainLoop/Config/AbstractConfig.php
+++ b/rainloop/v/0.0.0/app/src/RainLoop/Config/AbstractConfig.php
@@ -1,290 +1,290 @@
-sFile = \APP_PRIVATE_DATA.'configs/'.$sFileName;
- $this->sFileHeader = $sFileHeader;
- $this->aData = $this->defaultValues();
-
- $this->bUseApcCache = APP_USE_APC_CACHE &&
- \MailSo\Base\Utils::FunctionExistsAndEnabled(array('apc_fetch', 'apc_store'));
- }
-
- /**
- * @return array
- */
- protected abstract function defaultValues();
-
- /**
- * @return bool
- */
- public function IsInited()
- {
- return \is_array($this->aData) && 0 < \count($this->aData);
- }
-
- /**
- * @param string $sSection
- * @param string $sName
- * @param mixed $mDefault = null
- *
- * @return mixed
- */
- public function Get($sSection, $sName, $mDefault = null)
- {
- $mResult = $mDefault;
- if (isset($this->aData[$sSection][$sName][0]))
- {
- $mResult = $this->aData[$sSection][$sName][0];
- }
- return $mResult;
- }
-
- /**
- * @param string $sSectionKey
- * @param string $sParamKey
- * @param mixed $mParamValue
- *
- * @return void
- */
- public function Set($sSectionKey, $sParamKey, $mParamValue)
- {
- if (isset($this->aData[$sSectionKey][$sParamKey][0]))
- {
- $sType = \gettype($this->aData[$sSectionKey][$sParamKey][0]);
- switch ($sType)
- {
- default:
- case 'string':
- $this->aData[$sSectionKey][$sParamKey][0] = (string) $mParamValue;
- break;
- case 'int':
- case 'integer':
- $this->aData[$sSectionKey][$sParamKey][0] = (int) $mParamValue;
- break;
- case 'bool':
- case 'boolean':
- $this->aData[$sSectionKey][$sParamKey][0] = (bool) $mParamValue;
- break;
- }
- }
- else if ('custom' === $sSectionKey)
- {
- $this->aData[$sSectionKey][$sParamKey] = array((string) $mParamValue);
- }
- }
-
- /**
- * @return string
- */
- private function cacheKey()
- {
- return 'config:'.\sha1($this->sFile).':';
- }
-
- /**
- * @return bool
- */
- private function loadDataFromCache()
- {
- if ($this->bUseApcCache)
- {
- $iMTime = @\filemtime($this->sFile);
- if (\is_int($iMTime) && 0 < $iMTime)
- {
- $sKey = $this->cacheKey();
-
- $iTime = \apc_fetch($sKey.'time');
- if ($iTime && $iMTime === (int) $iTime)
- {
- $aFetchData = \apc_fetch($sKey.'data');
- if (\is_array($aFetchData))
- {
- $this->aData = $aFetchData;
- return true;
- }
- }
- }
- }
-
- return false;
- }
-
- /**
- * @return bool
- */
- private function storeDataToCache()
- {
- if ($this->bUseApcCache)
- {
- $iMTime = @\filemtime($this->sFile);
- if (\is_int($iMTime) && 0 < $iMTime)
- {
- $sKey = $this->cacheKey();
-
- \apc_store($sKey.'time', $iMTime);
- \apc_store($sKey.'data', $this->aData);
-
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * @return bool
- */
- private function clearCache()
- {
- if ($this->bUseApcCache)
- {
- $sKey = $this->cacheKey();
-
- \apc_delete($sKey.'time');
- \apc_delete($sKey.'data');
-
- return true;
- }
-
- return false;
- }
-
- /**
- * @return bool
- */
- public function Load()
- {
- if (\file_exists($this->sFile) && \is_readable($this->sFile))
- {
- if ($this->loadDataFromCache())
- {
- return true;
- }
-
- $aData = @\parse_ini_file($this->sFile, true);
- if (\is_array($aData) && 0 < count($aData))
- {
- foreach ($aData as $sSectionKey => $aSectionValue)
- {
- if (\is_array($aSectionValue))
- {
- foreach ($aSectionValue as $sParamKey => $mParamValue)
- {
- $this->Set($sSectionKey, $sParamKey, $mParamValue);
- }
- }
- }
-
- $this->storeDataToCache();
-
- return true;
- }
- }
-
- return false;
- }
-
- /**
- * @return bool
- */
- public function Save()
- {
- if (\file_exists($this->sFile) && !\is_writable($this->sFile))
- {
- return false;
- }
-
- $sNewLine = "\n";
-
- $aResultLines = array();
-
- foreach ($this->aData as $sSectionKey => $aSectionValue)
- {
- if (\is_array($aSectionValue))
- {
- $aResultLines[] = '';
- $aResultLines[] = '['.$sSectionKey.']';
- $bFirst = true;
-
- foreach ($aSectionValue as $sParamKey => $mParamValue)
- {
- if (\is_array($mParamValue))
- {
- if (!empty($mParamValue[1]))
- {
- $sDesk = \str_replace("\r", '', $mParamValue[1]);
- $aDesk = \explode("\n", $sDesk);
- $aDesk = \array_map(function (&$sLine) {
- return '; '.$sLine;
- }, $aDesk);
-
- if (!$bFirst)
- {
- $aResultLines[] = '';
- }
-
- $aResultLines[] = \implode($sNewLine, $aDesk);
- }
-
- $bFirst = false;
-
- $sValue = '""';
- switch (\gettype($mParamValue[0]))
- {
- default:
- case 'string':
- $sValue = '"'.$mParamValue[0].'"';
- break;
- case 'int':
- case 'integer':
- $sValue = $mParamValue[0];
- break;
- case 'bool':
- case 'boolean':
- $sValue = $mParamValue[0] ? 'On' : 'Off';
- break;
- }
-
- $aResultLines[] = $sParamKey.' = '.$sValue;
- }
- }
- }
- }
-
- $this->clearCache();
- return false !== \file_put_contents($this->sFile,
- (0 < \strlen($this->sFileHeader) ? $this->sFileHeader : '').
- $sNewLine.\implode($sNewLine, $aResultLines));
- }
-}
+sFile = \APP_PRIVATE_DATA.'configs/'.$sFileName;
+ $this->sFileHeader = $sFileHeader;
+ $this->aData = $this->defaultValues();
+
+ $this->bUseApcCache = APP_USE_APC_CACHE &&
+ \MailSo\Base\Utils::FunctionExistsAndEnabled(array('apc_fetch', 'apc_store'));
+ }
+
+ /**
+ * @return array
+ */
+ protected abstract function defaultValues();
+
+ /**
+ * @return bool
+ */
+ public function IsInited()
+ {
+ return \is_array($this->aData) && 0 < \count($this->aData);
+ }
+
+ /**
+ * @param string $sSection
+ * @param string $sName
+ * @param mixed $mDefault = null
+ *
+ * @return mixed
+ */
+ public function Get($sSection, $sName, $mDefault = null)
+ {
+ $mResult = $mDefault;
+ if (isset($this->aData[$sSection][$sName][0]))
+ {
+ $mResult = $this->aData[$sSection][$sName][0];
+ }
+ return $mResult;
+ }
+
+ /**
+ * @param string $sSectionKey
+ * @param string $sParamKey
+ * @param mixed $mParamValue
+ *
+ * @return void
+ */
+ public function Set($sSectionKey, $sParamKey, $mParamValue)
+ {
+ if (isset($this->aData[$sSectionKey][$sParamKey][0]))
+ {
+ $sType = \gettype($this->aData[$sSectionKey][$sParamKey][0]);
+ switch ($sType)
+ {
+ default:
+ case 'string':
+ $this->aData[$sSectionKey][$sParamKey][0] = (string) $mParamValue;
+ break;
+ case 'int':
+ case 'integer':
+ $this->aData[$sSectionKey][$sParamKey][0] = (int) $mParamValue;
+ break;
+ case 'bool':
+ case 'boolean':
+ $this->aData[$sSectionKey][$sParamKey][0] = (bool) $mParamValue;
+ break;
+ }
+ }
+ else if ('custom' === $sSectionKey)
+ {
+ $this->aData[$sSectionKey][$sParamKey] = array((string) $mParamValue);
+ }
+ }
+
+ /**
+ * @return string
+ */
+ private function cacheKey()
+ {
+ return 'config:'.\sha1($this->sFile).':';
+ }
+
+ /**
+ * @return bool
+ */
+ private function loadDataFromCache()
+ {
+ if ($this->bUseApcCache)
+ {
+ $iMTime = @\filemtime($this->sFile);
+ if (\is_int($iMTime) && 0 < $iMTime)
+ {
+ $sKey = $this->cacheKey();
+
+ $iTime = \apc_fetch($sKey.'time');
+ if ($iTime && $iMTime === (int) $iTime)
+ {
+ $aFetchData = \apc_fetch($sKey.'data');
+ if (\is_array($aFetchData))
+ {
+ $this->aData = $aFetchData;
+ return true;
+ }
+ }
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * @return bool
+ */
+ private function storeDataToCache()
+ {
+ if ($this->bUseApcCache)
+ {
+ $iMTime = @\filemtime($this->sFile);
+ if (\is_int($iMTime) && 0 < $iMTime)
+ {
+ $sKey = $this->cacheKey();
+
+ \apc_store($sKey.'time', $iMTime);
+ \apc_store($sKey.'data', $this->aData);
+
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * @return bool
+ */
+ private function clearCache()
+ {
+ if ($this->bUseApcCache)
+ {
+ $sKey = $this->cacheKey();
+
+ \apc_delete($sKey.'time');
+ \apc_delete($sKey.'data');
+
+ return true;
+ }
+
+ return false;
+ }
+
+ /**
+ * @return bool
+ */
+ public function Load()
+ {
+ if (\file_exists($this->sFile) && \is_readable($this->sFile))
+ {
+ if ($this->loadDataFromCache())
+ {
+ return true;
+ }
+
+ $aData = @\parse_ini_file($this->sFile, true);
+ if (\is_array($aData) && 0 < count($aData))
+ {
+ foreach ($aData as $sSectionKey => $aSectionValue)
+ {
+ if (\is_array($aSectionValue))
+ {
+ foreach ($aSectionValue as $sParamKey => $mParamValue)
+ {
+ $this->Set($sSectionKey, $sParamKey, $mParamValue);
+ }
+ }
+ }
+
+ $this->storeDataToCache();
+
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * @return bool
+ */
+ public function Save()
+ {
+ if (\file_exists($this->sFile) && !\is_writable($this->sFile))
+ {
+ return false;
+ }
+
+ $sNewLine = "\n";
+
+ $aResultLines = array();
+
+ foreach ($this->aData as $sSectionKey => $aSectionValue)
+ {
+ if (\is_array($aSectionValue))
+ {
+ $aResultLines[] = '';
+ $aResultLines[] = '['.$sSectionKey.']';
+ $bFirst = true;
+
+ foreach ($aSectionValue as $sParamKey => $mParamValue)
+ {
+ if (\is_array($mParamValue))
+ {
+ if (!empty($mParamValue[1]))
+ {
+ $sDesk = \str_replace("\r", '', $mParamValue[1]);
+ $aDesk = \explode("\n", $sDesk);
+ $aDesk = \array_map(function (&$sLine) {
+ return '; '.$sLine;
+ }, $aDesk);
+
+ if (!$bFirst)
+ {
+ $aResultLines[] = '';
+ }
+
+ $aResultLines[] = \implode($sNewLine, $aDesk);
+ }
+
+ $bFirst = false;
+
+ $sValue = '""';
+ switch (\gettype($mParamValue[0]))
+ {
+ default:
+ case 'string':
+ $sValue = '"'.$mParamValue[0].'"';
+ break;
+ case 'int':
+ case 'integer':
+ $sValue = $mParamValue[0];
+ break;
+ case 'bool':
+ case 'boolean':
+ $sValue = $mParamValue[0] ? 'On' : 'Off';
+ break;
+ }
+
+ $aResultLines[] = $sParamKey.' = '.$sValue;
+ }
+ }
+ }
+ }
+
+ $this->clearCache();
+ return false !== \file_put_contents($this->sFile,
+ (0 < \strlen($this->sFileHeader) ? $this->sFileHeader : '').
+ $sNewLine.\implode($sNewLine, $aResultLines));
+ }
+}
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Config/Application.php b/rainloop/v/0.0.0/app/src/RainLoop/Config/Application.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Config/Application.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Config/Application.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Config/Plugin.php b/rainloop/v/0.0.0/app/src/RainLoop/Config/Plugin.php
similarity index 94%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Config/Plugin.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Config/Plugin.php
index cd4605b37..294823fcb 100644
--- a/rainloop/v/0.0.0/app/libraries/RainLoop/Config/Plugin.php
+++ b/rainloop/v/0.0.0/app/src/RainLoop/Config/Plugin.php
@@ -1,59 +1,59 @@
-aMap = is_array($aMap) ? $this->convertConfigMap($aMap) : array();
-
- parent::__construct('plugin-'.$sPluginName.'.ini', '; RainLoop Webmail plugin ('.$sPluginName.')');
- }
-
- /**
- * @param array $aMap
- * @return array
- */
- private function convertConfigMap($aMap)
- {
- if (0 < count($aMap))
- {
- $aResultMap = array();
- foreach ($aMap as /* @var $oProperty \RainLoop\Plugins\Property */ $oProperty)
- {
- if ($oProperty)
- {
- $mValue = $oProperty->DefaultValue();
- $sValue = is_array($mValue) && isset($mValue[0]) ? $mValue[0] : $mValue;
- $aResultMap[$oProperty->Name()] = array($sValue, '');
- }
- }
-
- if (0 < count($aResultMap))
- {
- return array(
- 'plugin' => $aResultMap
- );
- }
- }
-
- return array();
- }
-
- /**
- * @return array
- */
- protected function defaultValues()
- {
- return $this->aMap;
- }
+aMap = is_array($aMap) ? $this->convertConfigMap($aMap) : array();
+
+ parent::__construct('plugin-'.$sPluginName.'.ini', '; RainLoop Webmail plugin ('.$sPluginName.')');
+ }
+
+ /**
+ * @param array $aMap
+ * @return array
+ */
+ private function convertConfigMap($aMap)
+ {
+ if (0 < count($aMap))
+ {
+ $aResultMap = array();
+ foreach ($aMap as /* @var $oProperty \RainLoop\Plugins\Property */ $oProperty)
+ {
+ if ($oProperty)
+ {
+ $mValue = $oProperty->DefaultValue();
+ $sValue = is_array($mValue) && isset($mValue[0]) ? $mValue[0] : $mValue;
+ $aResultMap[$oProperty->Name()] = array($sValue, '');
+ }
+ }
+
+ if (0 < count($aResultMap))
+ {
+ return array(
+ 'plugin' => $aResultMap
+ );
+ }
+ }
+
+ return array();
+ }
+
+ /**
+ * @return array
+ */
+ protected function defaultValues()
+ {
+ return $this->aMap;
+ }
}
\ No newline at end of file
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Domain.php b/rainloop/v/0.0.0/app/src/RainLoop/Domain.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Domain.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Domain.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Enumerations/Capa.php b/rainloop/v/0.0.0/app/src/RainLoop/Enumerations/Capa.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Enumerations/Capa.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Enumerations/Capa.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Enumerations/InterfaceAnimation.php b/rainloop/v/0.0.0/app/src/RainLoop/Enumerations/InterfaceAnimation.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Enumerations/InterfaceAnimation.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Enumerations/InterfaceAnimation.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Enumerations/Layout.php b/rainloop/v/0.0.0/app/src/RainLoop/Enumerations/Layout.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Enumerations/Layout.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Enumerations/Layout.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Enumerations/PluginPropertyType.php b/rainloop/v/0.0.0/app/src/RainLoop/Enumerations/PluginPropertyType.php
similarity index 93%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Enumerations/PluginPropertyType.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Enumerations/PluginPropertyType.php
index 1d83b72a1..1f6b06fbc 100644
--- a/rainloop/v/0.0.0/app/libraries/RainLoop/Enumerations/PluginPropertyType.php
+++ b/rainloop/v/0.0.0/app/src/RainLoop/Enumerations/PluginPropertyType.php
@@ -1,13 +1,13 @@
-sName = '';
- $this->sPath = '';
- $this->sVersion = '0.0';
- $this->aConfigMap = null;
-
- $this->oPluginManager = null;
- $this->oPluginConfig = null;
- $this->bPluginConfigLoaded = false;
- $this->bLangs = false;
- }
-
- /**
- * @return \RainLoop\Config\Plugin
- */
- public function Config()
- {
- if (!$this->bPluginConfigLoaded && $this->oPluginConfig)
- {
- $this->bPluginConfigLoaded = true;
- if ($this->oPluginConfig->IsInited())
- {
- if (!$this->oPluginConfig->Load())
- {
- $this->oPluginConfig->Save();
- }
- }
- }
-
- return $this->oPluginConfig;
- }
-
- /**
- * @return \RainLoop\Plugins\Manager
- */
- public function Manager()
- {
- return $this->oPluginManager;
- }
-
- /**
- * @return string
- */
- public function Path()
- {
- return $this->sPath;
- }
-
- /**
- * @return string
- */
- public function Name()
- {
- return $this->sName;
- }
-
- /**
- * @return string
- */
- public function Version()
- {
- return $this->sVersion;
- }
-
- /**
- * @param bool | null $bLangs = null
- * @return bool
- */
- public function UseLangs($bLangs = null)
- {
- if (null !== $bLangs)
- {
- $this->bLangs = (bool) $bLangs;
- }
-
- return $this->bLangs;
- }
-
- /**
- * @return array
- */
- protected function configMapping()
- {
- return array();
- }
-
- /**
- * @return string
- */
- public function Hash()
- {
- return \md5($this->sVersion);
- }
-
- /**
- * @return string
- */
- public function Supported()
- {
- return '';
- }
-
- /**
- * @final
- * @return array
- */
- final public function ConfigMap()
- {
- if (null === $this->aConfigMap)
- {
- $this->aConfigMap = $this->configMapping();
- if (!is_array($this->aConfigMap))
- {
- $this->aConfigMap = array();
- }
- }
-
- return $this->aConfigMap;
- }
-
- /**
- * @param string $sPath
- * @param string $sName
- * @param string $sVersion = ''
- *
- * @return self
- */
- public function SetValues($sPath, $sName, $sVersion = '')
- {
- $this->sName = $sName;
- $this->sPath = $sPath;
-
- if (0 < \strlen($sVersion))
- {
- $this->sVersion = $sVersion;
- }
-
- return $this;
- }
-
- /**
- * @param \RainLoop\Plugins\Manager $oPluginManager
- *
- * @return self
- */
- public function SetPluginManager(\RainLoop\Plugins\Manager $oPluginManager)
- {
- $this->oPluginManager = $oPluginManager;
-
- return $this;
- }
-
- /**
- * @param \RainLoop\Config\Plugin $oPluginConfig
- *
- * @return self
- */
- public function SetPluginConfig(\RainLoop\Config\Plugin $oPluginConfig)
- {
- $this->oPluginConfig = $oPluginConfig;
-
- return $this;
- }
-
- /**
- * @return void
- */
- public function PreInit()
- {
-
- }
-
- /**
- * @return void
- */
- public function Init()
- {
-
- }
-
- /**
- * @param bool $bAdmin
- * @param bool $bAuth
- * @param array $aConfig
- *
- * @return void
- */
- public function FilterAppDataPluginSection($bAdmin, $bAuth, &$aConfig)
- {
-
- }
-
- /**
- * @param string $sHookName
- * @param string $sFunctionName
- *
- * @return self
- */
- protected function addHook($sHookName, $sFunctionName)
- {
- if ($this->oPluginManager)
- {
- $this->oPluginManager->AddHook($sHookName, array(&$this, $sFunctionName));
- }
-
- return $this;
- }
-
- /**
- * @param string $sFile
- * @param bool $bAdminScope = false
- *
- * @return self
- */
- protected function addJs($sFile, $bAdminScope = false)
- {
- if ($this->oPluginManager)
- {
- $this->oPluginManager->AddJs($this->sPath.'/'.$sFile, $bAdminScope);
- }
-
- return $this;
- }
-
- /**
- * @param string $sFile
- * @param bool $bAdminScope = false
- *
- * @return self
- */
- protected function addTemplate($sFile, $bAdminScope = false)
- {
- if ($this->oPluginManager)
- {
- $this->oPluginManager->AddTemplate($this->sPath.'/'.$sFile, $bAdminScope);
- }
-
- return $this;
- }
-
- /**
- * @param string $sActionName
- * @param string $sFunctionName
- *
- * @return self
- */
- protected function addPartHook($sActionName, $sFunctionName)
- {
- if ($this->oPluginManager)
- {
- $this->oPluginManager->AddAdditionalPartAction($sActionName, array(&$this, $sFunctionName));
- }
-
- return $this;
- }
-
- /**
- * @param string $sActionName
- * @param string $sFunctionName
- *
- * @return self
- */
- protected function addAjaxHook($sActionName, $sFunctionName)
- {
- if ($this->oPluginManager)
- {
- $this->oPluginManager->AddAdditionalAjaxAction($sActionName, array(&$this, $sFunctionName));
- }
-
- return $this;
- }
-
- /**
- * @param string $sName
- * @param string $sPlace
- * @param string $sHtml
- * @param bool $bPrepend = false
- *
- * @return self
- */
- protected function addTemplateHook($sName, $sPlace, $sLocalTemplateName, $bPrepend = false)
- {
- if ($this->oPluginManager)
- {
- $this->oPluginManager->AddProcessTemplateAction($sName, $sPlace,
- '', $bPrepend);
- }
-
- return $this;
- }
-}
+sName = '';
+ $this->sPath = '';
+ $this->sVersion = '0.0';
+ $this->aConfigMap = null;
+
+ $this->oPluginManager = null;
+ $this->oPluginConfig = null;
+ $this->bPluginConfigLoaded = false;
+ $this->bLangs = false;
+ }
+
+ /**
+ * @return \RainLoop\Config\Plugin
+ */
+ public function Config()
+ {
+ if (!$this->bPluginConfigLoaded && $this->oPluginConfig)
+ {
+ $this->bPluginConfigLoaded = true;
+ if ($this->oPluginConfig->IsInited())
+ {
+ if (!$this->oPluginConfig->Load())
+ {
+ $this->oPluginConfig->Save();
+ }
+ }
+ }
+
+ return $this->oPluginConfig;
+ }
+
+ /**
+ * @return \RainLoop\Plugins\Manager
+ */
+ public function Manager()
+ {
+ return $this->oPluginManager;
+ }
+
+ /**
+ * @return string
+ */
+ public function Path()
+ {
+ return $this->sPath;
+ }
+
+ /**
+ * @return string
+ */
+ public function Name()
+ {
+ return $this->sName;
+ }
+
+ /**
+ * @return string
+ */
+ public function Version()
+ {
+ return $this->sVersion;
+ }
+
+ /**
+ * @param bool | null $bLangs = null
+ * @return bool
+ */
+ public function UseLangs($bLangs = null)
+ {
+ if (null !== $bLangs)
+ {
+ $this->bLangs = (bool) $bLangs;
+ }
+
+ return $this->bLangs;
+ }
+
+ /**
+ * @return array
+ */
+ protected function configMapping()
+ {
+ return array();
+ }
+
+ /**
+ * @return string
+ */
+ public function Hash()
+ {
+ return \md5($this->sVersion);
+ }
+
+ /**
+ * @return string
+ */
+ public function Supported()
+ {
+ return '';
+ }
+
+ /**
+ * @final
+ * @return array
+ */
+ final public function ConfigMap()
+ {
+ if (null === $this->aConfigMap)
+ {
+ $this->aConfigMap = $this->configMapping();
+ if (!is_array($this->aConfigMap))
+ {
+ $this->aConfigMap = array();
+ }
+ }
+
+ return $this->aConfigMap;
+ }
+
+ /**
+ * @param string $sPath
+ * @param string $sName
+ * @param string $sVersion = ''
+ *
+ * @return self
+ */
+ public function SetValues($sPath, $sName, $sVersion = '')
+ {
+ $this->sName = $sName;
+ $this->sPath = $sPath;
+
+ if (0 < \strlen($sVersion))
+ {
+ $this->sVersion = $sVersion;
+ }
+
+ return $this;
+ }
+
+ /**
+ * @param \RainLoop\Plugins\Manager $oPluginManager
+ *
+ * @return self
+ */
+ public function SetPluginManager(\RainLoop\Plugins\Manager $oPluginManager)
+ {
+ $this->oPluginManager = $oPluginManager;
+
+ return $this;
+ }
+
+ /**
+ * @param \RainLoop\Config\Plugin $oPluginConfig
+ *
+ * @return self
+ */
+ public function SetPluginConfig(\RainLoop\Config\Plugin $oPluginConfig)
+ {
+ $this->oPluginConfig = $oPluginConfig;
+
+ return $this;
+ }
+
+ /**
+ * @return void
+ */
+ public function PreInit()
+ {
+
+ }
+
+ /**
+ * @return void
+ */
+ public function Init()
+ {
+
+ }
+
+ /**
+ * @param bool $bAdmin
+ * @param bool $bAuth
+ * @param array $aConfig
+ *
+ * @return void
+ */
+ public function FilterAppDataPluginSection($bAdmin, $bAuth, &$aConfig)
+ {
+
+ }
+
+ /**
+ * @param string $sHookName
+ * @param string $sFunctionName
+ *
+ * @return self
+ */
+ protected function addHook($sHookName, $sFunctionName)
+ {
+ if ($this->oPluginManager)
+ {
+ $this->oPluginManager->AddHook($sHookName, array(&$this, $sFunctionName));
+ }
+
+ return $this;
+ }
+
+ /**
+ * @param string $sFile
+ * @param bool $bAdminScope = false
+ *
+ * @return self
+ */
+ protected function addJs($sFile, $bAdminScope = false)
+ {
+ if ($this->oPluginManager)
+ {
+ $this->oPluginManager->AddJs($this->sPath.'/'.$sFile, $bAdminScope);
+ }
+
+ return $this;
+ }
+
+ /**
+ * @param string $sFile
+ * @param bool $bAdminScope = false
+ *
+ * @return self
+ */
+ protected function addTemplate($sFile, $bAdminScope = false)
+ {
+ if ($this->oPluginManager)
+ {
+ $this->oPluginManager->AddTemplate($this->sPath.'/'.$sFile, $bAdminScope);
+ }
+
+ return $this;
+ }
+
+ /**
+ * @param string $sActionName
+ * @param string $sFunctionName
+ *
+ * @return self
+ */
+ protected function addPartHook($sActionName, $sFunctionName)
+ {
+ if ($this->oPluginManager)
+ {
+ $this->oPluginManager->AddAdditionalPartAction($sActionName, array(&$this, $sFunctionName));
+ }
+
+ return $this;
+ }
+
+ /**
+ * @param string $sActionName
+ * @param string $sFunctionName
+ *
+ * @return self
+ */
+ protected function addAjaxHook($sActionName, $sFunctionName)
+ {
+ if ($this->oPluginManager)
+ {
+ $this->oPluginManager->AddAdditionalAjaxAction($sActionName, array(&$this, $sFunctionName));
+ }
+
+ return $this;
+ }
+
+ /**
+ * @param string $sName
+ * @param string $sPlace
+ * @param string $sHtml
+ * @param bool $bPrepend = false
+ *
+ * @return self
+ */
+ protected function addTemplateHook($sName, $sPlace, $sLocalTemplateName, $bPrepend = false)
+ {
+ if ($this->oPluginManager)
+ {
+ $this->oPluginManager->AddProcessTemplateAction($sName, $sPlace,
+ '', $bPrepend);
+ }
+
+ return $this;
+ }
+}
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Plugins/Helper.php b/rainloop/v/0.0.0/app/src/RainLoop/Plugins/Helper.php
similarity index 94%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Plugins/Helper.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Plugins/Helper.php
index 474123b29..bc1770a36 100644
--- a/rainloop/v/0.0.0/app/libraries/RainLoop/Plugins/Helper.php
+++ b/rainloop/v/0.0.0/app/src/RainLoop/Plugins/Helper.php
@@ -1,73 +1,73 @@
-sName = $sName;
- $this->iType = \RainLoop\Enumerations\PluginPropertyType::STRING;
- $this->mDefaultValue = '';
- $this->sLabel = '';
- $this->sDesc = '';
- $this->bAllowedInJs = false;
- $this->sPlaceholder = '';
- }
-
- /**
- * @param string $sName
- *
- * @return \RainLoop\Plugins\Property
- */
- public static function NewInstance($sName)
- {
- return new self($sName);
- }
-
- /**
- * @param int $iType
- *
- * @return \RainLoop\Plugins\Property
- */
- public function SetType($iType)
- {
- $this->iType = (int) $iType;
-
- return $this;
- }
-
- /**
- * @param mixed $mDefaultValue
- *
- * @return \RainLoop\Plugins\Property
- */
- public function SetDefaultValue($mDefaultValue)
- {
- $this->mDefaultValue = $mDefaultValue;
-
- return $this;
- }
-
- /**
- * @param string $sPlaceholder
- *
- * @return \RainLoop\Plugins\Property
- */
- public function SetPlaceholder($sPlaceholder)
- {
- $this->sPlaceholder = $sPlaceholder;
-
- return $this;
- }
-
- /**
- * @param string $sLabel
- *
- * @return \RainLoop\Plugins\Property
- */
- public function SetLabel($sLabel)
- {
- $this->sLabel = $sLabel;
-
- return $this;
- }
-
- /**
- * @param string $sDesc
- *
- * @return \RainLoop\Plugins\Property
- */
- public function SetDescription($sDesc)
- {
- $this->sDesc = $sDesc;
-
- return $this;
- }
-
- /**
- * @param bool $bValue = true
- * @return \RainLoop\Plugins\Property
- */
- public function SetAllowedInJs($bValue = true)
- {
- $this->bAllowedInJs = !!$bValue;
-
- return $this;
- }
-
- /**
- * @return string
- */
- public function Name()
- {
- return $this->sName;
- }
-
- /**
- * @return bool
- */
- public function AllowedInJs()
- {
- return $this->bAllowedInJs;
- }
-
- /**
- * @return string
- */
- public function Description()
- {
- return $this->sDesc;
- }
-
- /**
- * @return string
- */
- public function Label()
- {
- return $this->sLabel;
- }
-
- /**
- * @return int
- */
- public function Type()
- {
- return $this->iType;
- }
-
- /**
- * @return mixed
- */
- public function DefaultValue()
- {
- return $this->mDefaultValue;
- }
-
- /**
- * @return string
- */
- public function Placeholder()
- {
- return $this->sPlaceholder;
- }
-
- /**
- * @return array
- */
- public function ToArray()
- {
- return array(
- '',
- $this->sName,
- $this->iType,
- $this->sLabel,
- $this->mDefaultValue,
- $this->sDesc,
- $this->sPlaceholder
- );
- }
-}
+sName = $sName;
+ $this->iType = \RainLoop\Enumerations\PluginPropertyType::STRING;
+ $this->mDefaultValue = '';
+ $this->sLabel = '';
+ $this->sDesc = '';
+ $this->bAllowedInJs = false;
+ $this->sPlaceholder = '';
+ }
+
+ /**
+ * @param string $sName
+ *
+ * @return \RainLoop\Plugins\Property
+ */
+ public static function NewInstance($sName)
+ {
+ return new self($sName);
+ }
+
+ /**
+ * @param int $iType
+ *
+ * @return \RainLoop\Plugins\Property
+ */
+ public function SetType($iType)
+ {
+ $this->iType = (int) $iType;
+
+ return $this;
+ }
+
+ /**
+ * @param mixed $mDefaultValue
+ *
+ * @return \RainLoop\Plugins\Property
+ */
+ public function SetDefaultValue($mDefaultValue)
+ {
+ $this->mDefaultValue = $mDefaultValue;
+
+ return $this;
+ }
+
+ /**
+ * @param string $sPlaceholder
+ *
+ * @return \RainLoop\Plugins\Property
+ */
+ public function SetPlaceholder($sPlaceholder)
+ {
+ $this->sPlaceholder = $sPlaceholder;
+
+ return $this;
+ }
+
+ /**
+ * @param string $sLabel
+ *
+ * @return \RainLoop\Plugins\Property
+ */
+ public function SetLabel($sLabel)
+ {
+ $this->sLabel = $sLabel;
+
+ return $this;
+ }
+
+ /**
+ * @param string $sDesc
+ *
+ * @return \RainLoop\Plugins\Property
+ */
+ public function SetDescription($sDesc)
+ {
+ $this->sDesc = $sDesc;
+
+ return $this;
+ }
+
+ /**
+ * @param bool $bValue = true
+ * @return \RainLoop\Plugins\Property
+ */
+ public function SetAllowedInJs($bValue = true)
+ {
+ $this->bAllowedInJs = !!$bValue;
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function Name()
+ {
+ return $this->sName;
+ }
+
+ /**
+ * @return bool
+ */
+ public function AllowedInJs()
+ {
+ return $this->bAllowedInJs;
+ }
+
+ /**
+ * @return string
+ */
+ public function Description()
+ {
+ return $this->sDesc;
+ }
+
+ /**
+ * @return string
+ */
+ public function Label()
+ {
+ return $this->sLabel;
+ }
+
+ /**
+ * @return int
+ */
+ public function Type()
+ {
+ return $this->iType;
+ }
+
+ /**
+ * @return mixed
+ */
+ public function DefaultValue()
+ {
+ return $this->mDefaultValue;
+ }
+
+ /**
+ * @return string
+ */
+ public function Placeholder()
+ {
+ return $this->sPlaceholder;
+ }
+
+ /**
+ * @return array
+ */
+ public function ToArray()
+ {
+ return array(
+ '',
+ $this->sName,
+ $this->iType,
+ $this->sLabel,
+ $this->mDefaultValue,
+ $this->sDesc,
+ $this->sPlaceholder
+ );
+ }
+}
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/PluginsNext/AbstractPlugin.php b/rainloop/v/0.0.0/app/src/RainLoop/PluginsNext/AbstractPlugin.php
similarity index 93%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/PluginsNext/AbstractPlugin.php
rename to rainloop/v/0.0.0/app/src/RainLoop/PluginsNext/AbstractPlugin.php
index 1d60e3ae2..bb374b0dd 100644
--- a/rainloop/v/0.0.0/app/libraries/RainLoop/PluginsNext/AbstractPlugin.php
+++ b/rainloop/v/0.0.0/app/src/RainLoop/PluginsNext/AbstractPlugin.php
@@ -1,340 +1,340 @@
-sName = '';
- $this->sPath = '';
- $this->sVersion = '0.0';
- $this->aConfigMap = null;
-
- $this->oPluginManager = null;
- $this->oPluginConfig = null;
- $this->bPluginConfigLoaded = false;
- $this->bLangs = false;
- }
-
- /**
- * @return \RainLoop\Config\Plugin
- */
- public function Config()
- {
- if (!$this->bPluginConfigLoaded && $this->oPluginConfig)
- {
- $this->bPluginConfigLoaded = true;
- if ($this->oPluginConfig->IsInited())
- {
- if (!$this->oPluginConfig->Load())
- {
- $this->oPluginConfig->Save();
- }
- }
- }
-
- return $this->oPluginConfig;
- }
-
- /**
- * @return \RainLoop\PluginsNext\Manager
- */
- public function Manager()
- {
- return $this->oPluginManager;
- }
-
- /**
- * @return string
- */
- public function Path()
- {
- return $this->sPath;
- }
-
- /**
- * @return string
- */
- public function Name()
- {
- return $this->sName;
- }
-
- /**
- * @return string
- */
- public function Version()
- {
- return $this->sVersion;
- }
-
- /**
- * @param bool|null $bLangs = null
- * @return bool
- */
- public function UseLangs($bLangs = null)
- {
- if (null !== $bLangs)
- {
- $this->bLangs = (bool) $bLangs;
- }
-
- return $this->bLangs;
- }
-
- /**
- * @return array
- */
- protected function configMapping()
- {
- return array();
- }
-
- /**
- * @return string
- */
- public function Hash()
- {
- return \md5($this->sVersion);
- }
-
- /**
- * @return string
- */
- public function Supported()
- {
- return '';
- }
-
- /**
- * @final
- * @return array
- */
- final public function ConfigMap()
- {
- if (null === $this->aConfigMap)
- {
- $this->aConfigMap = $this->configMapping();
- if (!\is_array($this->aConfigMap))
- {
- $this->aConfigMap = array();
- }
- }
-
- return $this->aConfigMap;
- }
-
- /**
- * @param string $sPath
- * @param string $sName
- * @param string $sVersion = ''
- *
- * @return self
- */
- public function SetValues($sPath, $sName, $sVersion = '')
- {
- $this->sName = $sName;
- $this->sPath = $sPath;
-
- if (0 < \strlen($sVersion))
- {
- $this->sVersion = $sVersion;
- }
-
- return $this;
- }
-
- /**
- * @param \RainLoop\PluginsNext\Manager $oPluginManager
- *
- * @return self
- */
- public function SetPluginManager(\RainLoop\PluginsNext\Manager $oPluginManager)
- {
- $this->oPluginManager = $oPluginManager;
-
- return $this;
- }
-
- /**
- * @param \RainLoop\Config\Plugin $oPluginConfig
- *
- * @return self
- */
- public function SetPluginConfig(\RainLoop\Config\Plugin $oPluginConfig)
- {
- $this->oPluginConfig = $oPluginConfig;
-
- return $this;
- }
-
- /**
- * @return self
- */
- public function Init()
- {
-
- }
-
- /**
- * @param string $sStep
- *
- * @return self
- */
- public function InitStep($sStep)
- {
-
- }
-
- /**
- * @param bool $bAdmin
- * @param bool $bAuth
- * @param array $aConfig
- *
- * @return void
- */
- public function FilterAppDataPluginSection($bAdmin, $bAuth, &$aConfig)
- {
-
- }
-
- /**
- * @param string $sHookName
- * @param string $sFunctionName
- *
- * @return self
- */
- protected function addHook($sHookName, $sFunctionName)
- {
- if ($this->oPluginManager)
- {
- $this->oPluginManager->AddHook($sHookName, array(&$this, $sFunctionName));
- }
-
- return $this;
- }
-
- /**
- * @param string $sFile
- * @param bool $bAdminScope = false
- *
- * @return self
- */
- protected function addJs($sFile, $bAdminScope = false)
- {
- if ($this->oPluginManager)
- {
- $this->oPluginManager->AddJs($this->sPath.'/'.$sFile, $bAdminScope);
- }
-
- return $this;
- }
-
- /**
- * @param string $sFile
- * @param bool $bAdminScope = false
- *
- * @return self
- */
- protected function addTemplate($sFile, $bAdminScope = false)
- {
- if ($this->oPluginManager)
- {
- $this->oPluginManager->AddTemplate($this->sPath.'/'.$sFile, $bAdminScope);
- }
-
- return $this;
- }
-
- /**
- * @param string $sActionName
- * @param string $sFunctionName
- *
- * @return self
- */
- protected function addPartHook($sActionName, $sFunctionName)
- {
- if ($this->oPluginManager)
- {
- $this->oPluginManager->AddAdditionalPartAction($sActionName, array(&$this, $sFunctionName));
- }
-
- return $this;
- }
-
- /**
- * @param string $sActionName
- * @param string $sFunctionName
- *
- * @return self
- */
- protected function addAjaxHook($sActionName, $sFunctionName)
- {
- if ($this->oPluginManager)
- {
- $this->oPluginManager->AddAdditionalAjaxAction($sActionName, array(&$this, $sFunctionName));
- }
-
- return $this;
- }
-
- /**
- * @param string $sName
- * @param string $sPlace
- * @param string $sLocalTemplateName
- * @param bool $bPrepend = false
- *
- * @return self
- */
- protected function addTemplateHook($sName, $sPlace, $sLocalTemplateName, $bPrepend = false)
- {
- if ($this->oPluginManager)
- {
- $this->oPluginManager->AddProcessTemplateAction($sName, $sPlace,
- '', $bPrepend);
- }
-
- return $this;
- }
-}
+sName = '';
+ $this->sPath = '';
+ $this->sVersion = '0.0';
+ $this->aConfigMap = null;
+
+ $this->oPluginManager = null;
+ $this->oPluginConfig = null;
+ $this->bPluginConfigLoaded = false;
+ $this->bLangs = false;
+ }
+
+ /**
+ * @return \RainLoop\Config\Plugin
+ */
+ public function Config()
+ {
+ if (!$this->bPluginConfigLoaded && $this->oPluginConfig)
+ {
+ $this->bPluginConfigLoaded = true;
+ if ($this->oPluginConfig->IsInited())
+ {
+ if (!$this->oPluginConfig->Load())
+ {
+ $this->oPluginConfig->Save();
+ }
+ }
+ }
+
+ return $this->oPluginConfig;
+ }
+
+ /**
+ * @return \RainLoop\PluginsNext\Manager
+ */
+ public function Manager()
+ {
+ return $this->oPluginManager;
+ }
+
+ /**
+ * @return string
+ */
+ public function Path()
+ {
+ return $this->sPath;
+ }
+
+ /**
+ * @return string
+ */
+ public function Name()
+ {
+ return $this->sName;
+ }
+
+ /**
+ * @return string
+ */
+ public function Version()
+ {
+ return $this->sVersion;
+ }
+
+ /**
+ * @param bool|null $bLangs = null
+ * @return bool
+ */
+ public function UseLangs($bLangs = null)
+ {
+ if (null !== $bLangs)
+ {
+ $this->bLangs = (bool) $bLangs;
+ }
+
+ return $this->bLangs;
+ }
+
+ /**
+ * @return array
+ */
+ protected function configMapping()
+ {
+ return array();
+ }
+
+ /**
+ * @return string
+ */
+ public function Hash()
+ {
+ return \md5($this->sVersion);
+ }
+
+ /**
+ * @return string
+ */
+ public function Supported()
+ {
+ return '';
+ }
+
+ /**
+ * @final
+ * @return array
+ */
+ final public function ConfigMap()
+ {
+ if (null === $this->aConfigMap)
+ {
+ $this->aConfigMap = $this->configMapping();
+ if (!\is_array($this->aConfigMap))
+ {
+ $this->aConfigMap = array();
+ }
+ }
+
+ return $this->aConfigMap;
+ }
+
+ /**
+ * @param string $sPath
+ * @param string $sName
+ * @param string $sVersion = ''
+ *
+ * @return self
+ */
+ public function SetValues($sPath, $sName, $sVersion = '')
+ {
+ $this->sName = $sName;
+ $this->sPath = $sPath;
+
+ if (0 < \strlen($sVersion))
+ {
+ $this->sVersion = $sVersion;
+ }
+
+ return $this;
+ }
+
+ /**
+ * @param \RainLoop\PluginsNext\Manager $oPluginManager
+ *
+ * @return self
+ */
+ public function SetPluginManager(\RainLoop\PluginsNext\Manager $oPluginManager)
+ {
+ $this->oPluginManager = $oPluginManager;
+
+ return $this;
+ }
+
+ /**
+ * @param \RainLoop\Config\Plugin $oPluginConfig
+ *
+ * @return self
+ */
+ public function SetPluginConfig(\RainLoop\Config\Plugin $oPluginConfig)
+ {
+ $this->oPluginConfig = $oPluginConfig;
+
+ return $this;
+ }
+
+ /**
+ * @return self
+ */
+ public function Init()
+ {
+
+ }
+
+ /**
+ * @param string $sStep
+ *
+ * @return self
+ */
+ public function InitStep($sStep)
+ {
+
+ }
+
+ /**
+ * @param bool $bAdmin
+ * @param bool $bAuth
+ * @param array $aConfig
+ *
+ * @return void
+ */
+ public function FilterAppDataPluginSection($bAdmin, $bAuth, &$aConfig)
+ {
+
+ }
+
+ /**
+ * @param string $sHookName
+ * @param string $sFunctionName
+ *
+ * @return self
+ */
+ protected function addHook($sHookName, $sFunctionName)
+ {
+ if ($this->oPluginManager)
+ {
+ $this->oPluginManager->AddHook($sHookName, array(&$this, $sFunctionName));
+ }
+
+ return $this;
+ }
+
+ /**
+ * @param string $sFile
+ * @param bool $bAdminScope = false
+ *
+ * @return self
+ */
+ protected function addJs($sFile, $bAdminScope = false)
+ {
+ if ($this->oPluginManager)
+ {
+ $this->oPluginManager->AddJs($this->sPath.'/'.$sFile, $bAdminScope);
+ }
+
+ return $this;
+ }
+
+ /**
+ * @param string $sFile
+ * @param bool $bAdminScope = false
+ *
+ * @return self
+ */
+ protected function addTemplate($sFile, $bAdminScope = false)
+ {
+ if ($this->oPluginManager)
+ {
+ $this->oPluginManager->AddTemplate($this->sPath.'/'.$sFile, $bAdminScope);
+ }
+
+ return $this;
+ }
+
+ /**
+ * @param string $sActionName
+ * @param string $sFunctionName
+ *
+ * @return self
+ */
+ protected function addPartHook($sActionName, $sFunctionName)
+ {
+ if ($this->oPluginManager)
+ {
+ $this->oPluginManager->AddAdditionalPartAction($sActionName, array(&$this, $sFunctionName));
+ }
+
+ return $this;
+ }
+
+ /**
+ * @param string $sActionName
+ * @param string $sFunctionName
+ *
+ * @return self
+ */
+ protected function addAjaxHook($sActionName, $sFunctionName)
+ {
+ if ($this->oPluginManager)
+ {
+ $this->oPluginManager->AddAdditionalAjaxAction($sActionName, array(&$this, $sFunctionName));
+ }
+
+ return $this;
+ }
+
+ /**
+ * @param string $sName
+ * @param string $sPlace
+ * @param string $sLocalTemplateName
+ * @param bool $bPrepend = false
+ *
+ * @return self
+ */
+ protected function addTemplateHook($sName, $sPlace, $sLocalTemplateName, $bPrepend = false)
+ {
+ if ($this->oPluginManager)
+ {
+ $this->oPluginManager->AddProcessTemplateAction($sName, $sPlace,
+ '', $bPrepend);
+ }
+
+ return $this;
+ }
+}
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/PluginsNext/Manager.php b/rainloop/v/0.0.0/app/src/RainLoop/PluginsNext/Manager.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/PluginsNext/Manager.php
rename to rainloop/v/0.0.0/app/src/RainLoop/PluginsNext/Manager.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/PluginsNext/Property.php b/rainloop/v/0.0.0/app/src/RainLoop/PluginsNext/Property.php
similarity index 93%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/PluginsNext/Property.php
rename to rainloop/v/0.0.0/app/src/RainLoop/PluginsNext/Property.php
index e77770d14..065ddf588 100644
--- a/rainloop/v/0.0.0/app/libraries/RainLoop/PluginsNext/Property.php
+++ b/rainloop/v/0.0.0/app/src/RainLoop/PluginsNext/Property.php
@@ -1,179 +1,179 @@
-sName = $sName;
- $this->iType = \RainLoop\Enumerations\PluginPropertyType::STRING;
- $this->mDefaultValue = '';
- $this->sLabel = '';
- $this->sDesc = '';
- $this->bAllowedInJs = false;
- }
-
- /**
- * @param string $sName
- *
- * @return \RainLoop\PluginsNext\Property
- */
- public static function NewInstance($sName)
- {
- return new self($sName);
- }
-
- /**
- * @param int $iType
- *
- * @return \RainLoop\PluginsNext\Property
- */
- public function SetType($iType)
- {
- $this->iType = (int) $iType;
-
- return $this;
- }
-
- /**
- * @param mixed $mDefaultValue
- *
- * @return \RainLoop\PluginsNext\Property
- */
- public function SetDefaultValue($mDefaultValue)
- {
- $this->mDefaultValue = $mDefaultValue;
-
- return $this;
- }
-
- /**
- * @param string $sLabel
- *
- * @return \RainLoop\PluginsNext\Property
- */
- public function SetLabel($sLabel)
- {
- $this->sLabel = $sLabel;
-
- return $this;
- }
-
- /**
- * @param string $sDesc
- *
- * @return \RainLoop\PluginsNext\Property
- */
- public function SetDescription($sDesc)
- {
- $this->sDesc = $sDesc;
-
- return $this;
- }
-
- /**
- * @param bool $bValue = true
- *
- * @return \RainLoop\PluginsNext\Property
- */
- public function SetAllowedInJs($bValue = true)
- {
- $this->bAllowedInJs = !!$bValue;
-
- return $this;
- }
-
- /**
- * @return string
- */
- public function Name()
- {
- return $this->sName;
- }
-
- /**
- * @return bool
- */
- public function AllowedInJs()
- {
- return $this->bAllowedInJs;
- }
-
- /**
- * @return string
- */
- public function Description()
- {
- return $this->sDesc;
- }
-
- /**
- * @return string
- */
- public function Label()
- {
- return $this->sLabel;
- }
-
- /**
- * @return int
- */
- public function Type()
- {
- return $this->iType;
- }
-
- /**
- * @return mixed
- */
- public function DefaultValue()
- {
- return $this->mDefaultValue;
- }
-
- /**
- * @return array
- */
- public function ToArray()
- {
- return array(
- '',
- $this->sName,
- $this->iType,
- $this->sLabel,
- $this->mDefaultValue,
- $this->sDesc
- );
- }
-}
+sName = $sName;
+ $this->iType = \RainLoop\Enumerations\PluginPropertyType::STRING;
+ $this->mDefaultValue = '';
+ $this->sLabel = '';
+ $this->sDesc = '';
+ $this->bAllowedInJs = false;
+ }
+
+ /**
+ * @param string $sName
+ *
+ * @return \RainLoop\PluginsNext\Property
+ */
+ public static function NewInstance($sName)
+ {
+ return new self($sName);
+ }
+
+ /**
+ * @param int $iType
+ *
+ * @return \RainLoop\PluginsNext\Property
+ */
+ public function SetType($iType)
+ {
+ $this->iType = (int) $iType;
+
+ return $this;
+ }
+
+ /**
+ * @param mixed $mDefaultValue
+ *
+ * @return \RainLoop\PluginsNext\Property
+ */
+ public function SetDefaultValue($mDefaultValue)
+ {
+ $this->mDefaultValue = $mDefaultValue;
+
+ return $this;
+ }
+
+ /**
+ * @param string $sLabel
+ *
+ * @return \RainLoop\PluginsNext\Property
+ */
+ public function SetLabel($sLabel)
+ {
+ $this->sLabel = $sLabel;
+
+ return $this;
+ }
+
+ /**
+ * @param string $sDesc
+ *
+ * @return \RainLoop\PluginsNext\Property
+ */
+ public function SetDescription($sDesc)
+ {
+ $this->sDesc = $sDesc;
+
+ return $this;
+ }
+
+ /**
+ * @param bool $bValue = true
+ *
+ * @return \RainLoop\PluginsNext\Property
+ */
+ public function SetAllowedInJs($bValue = true)
+ {
+ $this->bAllowedInJs = !!$bValue;
+
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function Name()
+ {
+ return $this->sName;
+ }
+
+ /**
+ * @return bool
+ */
+ public function AllowedInJs()
+ {
+ return $this->bAllowedInJs;
+ }
+
+ /**
+ * @return string
+ */
+ public function Description()
+ {
+ return $this->sDesc;
+ }
+
+ /**
+ * @return string
+ */
+ public function Label()
+ {
+ return $this->sLabel;
+ }
+
+ /**
+ * @return int
+ */
+ public function Type()
+ {
+ return $this->iType;
+ }
+
+ /**
+ * @return mixed
+ */
+ public function DefaultValue()
+ {
+ return $this->mDefaultValue;
+ }
+
+ /**
+ * @return array
+ */
+ public function ToArray()
+ {
+ return array(
+ '',
+ $this->sName,
+ $this->iType,
+ $this->sLabel,
+ $this->mDefaultValue,
+ $this->sDesc
+ );
+ }
+}
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/AbstractProvider.php b/rainloop/v/0.0.0/app/src/RainLoop/Providers/AbstractProvider.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Providers/AbstractProvider.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Providers/AbstractProvider.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/AddressBook.php b/rainloop/v/0.0.0/app/src/RainLoop/Providers/AddressBook.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Providers/AddressBook.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Providers/AddressBook.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/AddressBook/AddressBookInterface.php b/rainloop/v/0.0.0/app/src/RainLoop/Providers/AddressBook/AddressBookInterface.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Providers/AddressBook/AddressBookInterface.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Providers/AddressBook/AddressBookInterface.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/AddressBook/Classes/Contact.php b/rainloop/v/0.0.0/app/src/RainLoop/Providers/AddressBook/Classes/Contact.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Providers/AddressBook/Classes/Contact.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Providers/AddressBook/Classes/Contact.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/AddressBook/Classes/Property.php b/rainloop/v/0.0.0/app/src/RainLoop/Providers/AddressBook/Classes/Property.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Providers/AddressBook/Classes/Property.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Providers/AddressBook/Classes/Property.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/AddressBook/Classes/Tag.php b/rainloop/v/0.0.0/app/src/RainLoop/Providers/AddressBook/Classes/Tag.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Providers/AddressBook/Classes/Tag.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Providers/AddressBook/Classes/Tag.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/AddressBook/Enumerations/PropertyType.php b/rainloop/v/0.0.0/app/src/RainLoop/Providers/AddressBook/Enumerations/PropertyType.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Providers/AddressBook/Enumerations/PropertyType.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Providers/AddressBook/Enumerations/PropertyType.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/AddressBook/PdoAddressBook.php b/rainloop/v/0.0.0/app/src/RainLoop/Providers/AddressBook/PdoAddressBook.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Providers/AddressBook/PdoAddressBook.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Providers/AddressBook/PdoAddressBook.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/ChangePassword.php b/rainloop/v/0.0.0/app/src/RainLoop/Providers/ChangePassword.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Providers/ChangePassword.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Providers/ChangePassword.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/ChangePassword/ChangePasswordInterface.php b/rainloop/v/0.0.0/app/src/RainLoop/Providers/ChangePassword/ChangePasswordInterface.php
similarity index 95%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Providers/ChangePassword/ChangePasswordInterface.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Providers/ChangePassword/ChangePasswordInterface.php
index 4e1c20561..faecf5707 100644
--- a/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/ChangePassword/ChangePasswordInterface.php
+++ b/rainloop/v/0.0.0/app/src/RainLoop/Providers/ChangePassword/ChangePasswordInterface.php
@@ -1,22 +1,22 @@
-oDriver = $oDriver;
- }
-
- /**
- * @param \RainLoop\Account $oAccount
- * @param string $sQuery
- *
- * @return array
- */
- public function Process(\RainLoop\Account $oAccount, $sQuery)
- {
- return $this->oDriver && $this->IsActive() && 0 < \strlen($sQuery) ? $this->oDriver->Process($oAccount, $sQuery) : array();
- }
-
- /**
- * @return bool
- */
- public function IsActive()
- {
- return $this->oDriver instanceof \RainLoop\Providers\Suggestions\SuggestionsInterface;
- }
+oDriver = $oDriver;
+ }
+
+ /**
+ * @param \RainLoop\Account $oAccount
+ * @param string $sQuery
+ *
+ * @return array
+ */
+ public function Process(\RainLoop\Account $oAccount, $sQuery)
+ {
+ return $this->oDriver && $this->IsActive() && 0 < \strlen($sQuery) ? $this->oDriver->Process($oAccount, $sQuery) : array();
+ }
+
+ /**
+ * @return bool
+ */
+ public function IsActive()
+ {
+ return $this->oDriver instanceof \RainLoop\Providers\Suggestions\SuggestionsInterface;
+ }
}
\ No newline at end of file
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/Suggestions/SuggestionsInterface.php b/rainloop/v/0.0.0/app/src/RainLoop/Providers/Suggestions/SuggestionsInterface.php
similarity index 94%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Providers/Suggestions/SuggestionsInterface.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Providers/Suggestions/SuggestionsInterface.php
index ffd3096d3..d6b5567de 100644
--- a/rainloop/v/0.0.0/app/libraries/RainLoop/Providers/Suggestions/SuggestionsInterface.php
+++ b/rainloop/v/0.0.0/app/src/RainLoop/Providers/Suggestions/SuggestionsInterface.php
@@ -1,14 +1,14 @@
-aData = array();
- }
-
- /**
- * @param array $aData
- *
- * @return \RainLoop\Settings
- */
- public function InitData($aData)
- {
- if (\is_array($aData))
- {
- $this->aData = $aData;
- }
-
- return $this;
- }
-
- /**
- * @return array
- */
- public function DataAsArray()
- {
- return $this->aData;
- }
-
- /**
- * @param string $sName
- * @param mixed $mDefValue = null
- *
- * @return mixed
- */
- public function GetConf($sName, $mDefValue = null)
- {
- return isset($this->aData[$sName]) ? $this->aData[$sName] : $mDefValue;
- }
-
- /**
- * @param string $sName
- * @param mixed $mValue
- *
- * @return void
- */
- public function SetConf($sName, $mValue)
- {
- $this->aData[$sName] = $mValue;
- }
+aData = array();
+ }
+
+ /**
+ * @param array $aData
+ *
+ * @return \RainLoop\Settings
+ */
+ public function InitData($aData)
+ {
+ if (\is_array($aData))
+ {
+ $this->aData = $aData;
+ }
+
+ return $this;
+ }
+
+ /**
+ * @return array
+ */
+ public function DataAsArray()
+ {
+ return $this->aData;
+ }
+
+ /**
+ * @param string $sName
+ * @param mixed $mDefValue = null
+ *
+ * @return mixed
+ */
+ public function GetConf($sName, $mDefValue = null)
+ {
+ return isset($this->aData[$sName]) ? $this->aData[$sName] : $mDefValue;
+ }
+
+ /**
+ * @param string $sName
+ * @param mixed $mValue
+ *
+ * @return void
+ */
+ public function SetConf($sName, $mValue)
+ {
+ $this->aData[$sName] = $mValue;
+ }
}
\ No newline at end of file
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Social.php b/rainloop/v/0.0.0/app/src/RainLoop/Social.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Social.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Social.php
diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Utils.php b/rainloop/v/0.0.0/app/src/RainLoop/Utils.php
similarity index 100%
rename from rainloop/v/0.0.0/app/libraries/RainLoop/Utils.php
rename to rainloop/v/0.0.0/app/src/RainLoop/Utils.php
diff --git a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsSecurity.html b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsSecurity.html
index 573de7b3d..f5259e4a0 100644
--- a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsSecurity.html
+++ b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsSecurity.html
@@ -41,7 +41,7 @@