Release fixes

This commit is contained in:
RainLoop Team 2015-05-15 00:10:58 +04:00
parent 5e31c01344
commit 9a98bff931
30 changed files with 143 additions and 76 deletions

View file

@ -20,7 +20,7 @@ class FolderCollection extends \MailSo\Base\Collection
/**
* @var string
*/
private $sNamespace;
public $Namespace;
/**
* @var string
@ -49,7 +49,7 @@ class FolderCollection extends \MailSo\Base\Collection
{
parent::__construct();
$this->sNamespace = '';
$this->Namespace = '';
$this->FoldersHash = '';
$this->SystemFolders = array();
$this->IsThreadsSupported = false;
@ -96,12 +96,30 @@ class FolderCollection extends \MailSo\Base\Collection
return $mResult;
}
/**
* @return int
*/
public function CountRec()
{
$iResult = $this->Count();
foreach ($this->aItems as /* @var $oFolder \MailSo\Mail\Folder */ $oFolder)
{
if ($oFolder)
{
$oSub = $oFolder->SubFolders();
$iResult += $oSub ? $oSub->CountRec() : 0;
}
}
return $iResult;
}
/**
* @return string
*/
public function GetNamespace()
{
return $this->sNamespace;
return $this->Namespace;
}
/**
@ -110,7 +128,7 @@ class FolderCollection extends \MailSo\Base\Collection
public function FindDelimiter()
{
$sDelimiter = '/';
$oFolder = $this->GetByFullNameRaw('INBOX');
if (!$oFolder)
{
@ -132,7 +150,7 @@ class FolderCollection extends \MailSo\Base\Collection
*/
public function SetNamespace($sNamespace)
{
$this->sNamespace = $sNamespace;
$this->Namespace = $sNamespace;
return $this;
}

View file

@ -1373,7 +1373,11 @@ class MailClient
$sCriteriasResult = \trim($sCriteriasResult);
if ('' === $sCriteriasResult)
{
$sCriteriasResult = 'ALL';
$sCriteriasResult = 'NOT DELETED'; // ALL
}
else
{
$sCriteriasResult .= ' NOT DELETED';
}
return $sCriteriasResult;

View file

@ -201,6 +201,8 @@ class Email
}
$sEmail = \trim(\trim($sEmail), '<>');
$sEmail = \rtrim(\trim($sEmail), '.');
$sEmail = \trim($sEmail);
$sName = \trim(\trim($sName), '"');
$sName = \trim($sName, '\'');

View file

@ -1353,6 +1353,7 @@ class Actions
'UseImapSubscribe' => (bool) $oConfig->Get('labs', 'use_imap_list_subscribe', true),
'AllowAppendMessage' => (bool) $oConfig->Get('labs', 'allow_message_append', false),
'MaterialDesign' => (bool) $oConfig->Get('labs', 'use_material_design', true),
'FolderSpecLimit' => (int) $oConfig->Get('labs', 'folders_spec_limit', 50),
'Community' => true,
'PremType' => false,
'Admin' => array(),
@ -9496,6 +9497,7 @@ class Actions
'FoldersHash' => isset($mResponse->FoldersHash) ? $mResponse->FoldersHash : '',
'IsThreadsSupported' => $mResponse->IsThreadsSupported,
'Optimized' => $mResponse->Optimized,
'CountRec' => $mResponse->CountRec(),
'SystemFolders' => isset($mResponse->SystemFolders) && \is_array($mResponse->SystemFolders) ?
$mResponse->SystemFolders : array()
));

View file

@ -304,6 +304,7 @@ Enables caching in the system'),
'smtp_show_server_errors' => array(false),
'sieve_allow_raw_script' => array(false),
'sieve_utf8_folder_name' => array(true),
'folders_spec_limit' => array(50),
'owncloud_save_folder' => array('Attachments'),
'curl_proxy' => array(''),
'curl_proxy_auth' => array(''),

View file

@ -15,7 +15,7 @@
<span class="flag-wrapper">
<span data-bind="css: 'flag flag-' + language()" style=""></span>
</span>
<span class="flag-name" tabindex="0" data-bind="text: languageFullName, click: selectLanguage, keypress: selectLanguage"></span>
<span class="flag-name" tabindex="0" data-bind="text: languageFullName, click: selectLanguage, onSpace: selectLanguage, onEnter: selectLanguage"></span>
&nbsp;&nbsp;
<div data-bind="component: {
name: 'SaveTrigger',
@ -31,7 +31,7 @@
<span class="flag-wrapper">
<span data-bind="css: 'flag flag-' + languageAdmin()" style=""></span>
</span>
<span class="flag-name" tabindex="0" data-bind="text: languageAdminFullName, click: selectLanguageAdmin, keypress: selectLanguageAdmin"></span>
<span class="flag-name" tabindex="0" data-bind="text: languageAdminFullName, click: selectLanguageAdmin, onSpace: selectLanguageAdmin, onEnter: selectLanguageAdmin"></span>
&nbsp;&nbsp;
<div data-bind="component: {
name: 'SaveTrigger',

View file

@ -2,14 +2,8 @@
<div class="row">
<div class="alert alert-info span8" style="margin-top: 10px;">
<span data-i18n="[html]TAB_LICENSING/HTML_ALERT_TOP_1"></span>
<br />
<b>Creative Commons Attribution-NonCommercial-ShareAlike 3.0 (CC BY-NC-SA)</b>.
<br />
<br />
<span data-i18n="[html]TAB_LICENSING/HTML_ALERT_TOP_2"></span>
<br />
<br />
<span data-i18n="[html]TAB_LICENSING/HTML_ALERT_TOP_3"></span>
&nbsp;
<a href=http://www.rainloop.net/licensing/ target=_blank>RainLoop Software License</a>.
</div>
</div>
<br />

View file

@ -1,4 +1,4 @@
<span class="e-component e-checkbox inline" tabindex="0" data-bind="click: click, keypress: keypress, css: { 'disabled': disable() || !enable() }">
<span class="e-component e-checkbox inline" tabindex="0" data-bind="click: click, onSpace: click, css: { 'disabled': disable() || !enable() }">
<i role="checkbox" class="e-checkbox-icon" data-bind="css: value() ?
(inverted ? 'icon-checkbox-unchecked' : 'icon-checkbox-checked') :
(inverted ? 'icon-checkbox-checked' : 'icon-checkbox-unchecked')

View file

@ -1,4 +1,4 @@
<span class="e-component e-checkbox material-design inline" tabindex="0" data-bind="click: click, keypress: keypress, css: { 'disabled': disable() || !enable() }">
<span class="e-component e-checkbox material-design inline" tabindex="0" data-bind="click: click, onSpace: click, css: { 'disabled': disable() || !enable() }">
<div class="sub-checkbox-container" role="checkbox">
<div class="sub-checkbox" data-bind="css: {'checked': (value() && !inverted) || (!value() && inverted),
'unchecked': (!value() && !inverted) || (value() && inverted),

View file

@ -117,7 +117,7 @@
<label class="flag-selector">
<i data-bind="css: langRequest() ? 'icon-spinner animated' : 'icon-world'"></i>
&nbsp;&nbsp;
<span class="flag-name" tabindex="0" data-bind="text: languageFullName, click: selectLanguage, keypress: selectLanguage, onTab: selectLanguageOnTab"></span>
<span class="flag-name" tabindex="0" data-bind="text: languageFullName, click: selectLanguage, onSpace: selectLanguage, onEnter: selectLanguage, onTab: selectLanguageOnTab"></span>
</label>
</div>
{{INCLUDE/BottomFooter/PLACE}}

View file

@ -25,7 +25,7 @@
<i class="icon-eye"></i>
</span>
</td>
<td class="check-folder-parent">
<td class="check-folder-parent" data-bind="visible: $root.displaySpecSetting">
<span class="uncheck-folder" data-bind="visible: canBeChecked() && subScribed() && !checkable(), click: function(oFolder) { $root.checkableTrueFolder(oFolder); }">
<i class="icon-check-mark-circle-two"></i>
</span>

View file

@ -32,7 +32,7 @@
<col />
<col style="width: 1%" />
<col style="width: 1%" />
<col style="width: 1%" />
<col style="width: 1%" data-bind="visible: displaySpecSetting" />
</colgroup>
<tbody data-bind="template: { name: 'SettingsFolderItem', foreach: folderList }"></tbody>
</table>

View file

@ -12,7 +12,7 @@
<span class="flag-wrapper">
<span data-bind="css: 'flag flag-' + language()" style=""></span>
</span>
<span class="flag-name" tabindex="0" data-bind="text: languageFullName, click: selectLanguage, keypress: selectLanguage"></span>
<span class="flag-name" tabindex="0" data-bind="text: languageFullName, click: selectLanguage, onSpace: selectLanguage, onEnter: selectLanguage"></span>
&nbsp;&nbsp;
<div data-bind="component: {
name: 'SaveTrigger',

View file

@ -27,7 +27,7 @@
<div class="controls">
<i class="icon-lock" />
&nbsp;
<span class="i18n g-ui-link" tabindex="0" data-i18n="SETTINGS_SECURITY/LABEL_CONFIGURATE_TWO_FACTOR" data-bind="click: configureTwoFactor, keypress: configureTwoFactor"></span>
<span class="i18n g-ui-link" tabindex="0" data-i18n="SETTINGS_SECURITY/LABEL_CONFIGURATE_TWO_FACTOR" data-bind="click: configureTwoFactor, onSpace: configureTwoFactor, onEnter: configureTwoFactor"></span>
</div>
</div>
</div>