From a7ccedbc19d9d30f3a1df289f535b1343721de4e Mon Sep 17 00:00:00 2001 From: Mariusz Krzaczkowski Date: Wed, 14 Sep 2016 16:09:28 +0200 Subject: [PATCH 01/13] Improved file encoding --- program/steps/mail/autocomplete.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/program/steps/mail/autocomplete.inc b/program/steps/mail/autocomplete.inc index 841cadfe..655211c9 100644 --- a/program/steps/mail/autocomplete.inc +++ b/program/steps/mail/autocomplete.inc @@ -15,7 +15,7 @@ if (strlen($search)) { if ($crmUserId) { $addressBookFile = '../../../cache/addressBook/mails_' . $crmUserId . '.php'; if (is_file($addressBookFile)) { - include $addressBookFile; + $bookMails = require $addressBookFile; foreach ($bookMails as $row) { if (strpos($row, $search) !== false) { $contacts[] = $row; From 7c2d79cbbfc4a1145f58158bc02997ffe47274bb Mon Sep 17 00:00:00 2001 From: Mariusz Krzaczkowski Date: Wed, 14 Sep 2016 16:10:00 +0200 Subject: [PATCH 02/13] Improved generation numbering records --- plugins/yetiforce/yetiforce.php | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/plugins/yetiforce/yetiforce.php b/plugins/yetiforce/yetiforce.php index 91a628ca..96af5092 100644 --- a/plugins/yetiforce/yetiforce.php +++ b/plugins/yetiforce/yetiforce.php @@ -146,7 +146,6 @@ public function messageComposeHead($args) $db = $this->rc->get_dbh(); global $COMPOSE_ID; - $compose = &$_SESSION['compose_data_' . $COMPOSE_ID]; $composeKey = rcube_utils::get_input_value('_composeKey', rcube_utils::INPUT_GET); $result = $db->query('SELECT * FROM `u_yf_mail_compose_data` WHERE `key` = ?', $composeKey); $params = $db->fetch_assoc($result); @@ -155,7 +154,7 @@ public function messageComposeHead($args) $params = json_decode($params['data'], true); foreach ($params as $key => &$value) { - $compose['param'][$key] = $value; + $args['param'][$key] = $value; } if ((isset($params['crmmodule']) && $params['crmmodule'] == 'Documents') || (isset($params['filePath']) && $params['filePath'])) { $userid = $this->rc->user->ID; @@ -173,8 +172,8 @@ public function messageComposeHead($args) $mailId = $params['mailId']; $result = $db->query('SELECT content,reply_to_email,date,from_email,to_email,cc_email,subject FROM vtiger_ossmailview WHERE ossmailviewid = ?;', $mailId); $row = $db->fetch_assoc($result); - $compose['param']['type'] = $params['type']; - $compose['param']['mailData'] = $row; + $args['param']['type'] = $params['type']; + $args['param']['mailData'] = $row; switch ($params['type']) { case 'replyAll': $cc = $row['to_email']; @@ -196,8 +195,18 @@ public function messageComposeHead($args) $subject = 'Fwd: ' . $row['subject']; break; } - if (!empty($params['subject'])) { - $subject .= ' [' . $params['subject'] . ']'; + if (!empty($params['recordNumber']) && !empty($params['crmmodule'])) { + $currentPath = getcwd(); + chdir($this->rc->config->get('root_directory')); + $this->loadCurrentUser(); + + $subjectNumber = \includes\fields\Email::findCrmidByPrefix($subject, $params['crmmodule']); + $recordNumber = \includes\fields\Email::findCrmidByPrefix('[' . $params['recordNumber'] . ']', $params['crmmodule']); + if ($subject === false || ($subject !== false && $subjectNumber != $recordNumber)) { + $subject .= ' [' . $params['recordNumber'] . ']'; + } + + chdir($currentPath); } $args['param']['to'] = $to; $args['param']['cc'] = $cc; @@ -289,7 +298,7 @@ public function messageComposeBody($args) public function loadSignature($response) { global $OUTPUT, $MESSAGE; - if ($this->rc->config->get('enable_variables_in_signature')) { + if ($this->rc->config->get('enable_variables_in_signature') && !empty($OUTPUT->get_env('signatures'))) { $signatures = []; foreach ($OUTPUT->get_env('signatures') as $identityId => $signature) { $signatures[$identityId]['text'] = $this->parseVariables($signature['text']); From fcf777a1e5343f9c03976656eaa2b1abba5ea347 Mon Sep 17 00:00:00 2001 From: Mariusz Krzaczkowski Date: Mon, 19 Sep 2016 13:06:04 +0200 Subject: [PATCH 03/13] Rebuilt reset relations with mail --- plugins/yetiforce/yetiforce.php | 4 ++-- program/steps/mail/autocomplete.inc | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/yetiforce/yetiforce.php b/plugins/yetiforce/yetiforce.php index 96af5092..fcf2f411 100644 --- a/plugins/yetiforce/yetiforce.php +++ b/plugins/yetiforce/yetiforce.php @@ -200,8 +200,8 @@ public function messageComposeHead($args) chdir($this->rc->config->get('root_directory')); $this->loadCurrentUser(); - $subjectNumber = \includes\fields\Email::findCrmidByPrefix($subject, $params['crmmodule']); - $recordNumber = \includes\fields\Email::findCrmidByPrefix('[' . $params['recordNumber'] . ']', $params['crmmodule']); + $subjectNumber = \includes\fields\Email::findRecordNumber($subject, $params['crmmodule']); + $recordNumber = \includes\fields\Email::findRecordNumber('[' . $params['recordNumber'] . ']', $params['crmmodule']); if ($subject === false || ($subject !== false && $subjectNumber != $recordNumber)) { $subject .= ' [' . $params['recordNumber'] . ']'; } diff --git a/program/steps/mail/autocomplete.inc b/program/steps/mail/autocomplete.inc index 655211c9..841cadfe 100644 --- a/program/steps/mail/autocomplete.inc +++ b/program/steps/mail/autocomplete.inc @@ -15,7 +15,7 @@ if (strlen($search)) { if ($crmUserId) { $addressBookFile = '../../../cache/addressBook/mails_' . $crmUserId . '.php'; if (is_file($addressBookFile)) { - $bookMails = require $addressBookFile; + include $addressBookFile; foreach ($bookMails as $row) { if (strpos($row, $search) !== false) { $contacts[] = $row; From 8cb6643d7aef5a95c453b1d75023b9bfd3f75bac Mon Sep 17 00:00:00 2001 From: Mariusz Krzaczkowski Date: Mon, 19 Sep 2016 15:30:19 +0200 Subject: [PATCH 04/13] Rebuilt display buttons in the mail module --- plugins/yetiforce/compose.js | 2 +- plugins/yetiforce/compose.min.js | 2 +- plugins/yetiforce/yetiforce.php | 32 +- program/localization/pl_PL/labels.inc | 397 ++++++++++++------------- skins/yetiforce/templates/compose.html | 248 ++++++--------- skins/yetiforce/yetiforce.css | 8 + skins/yetiforce/yetiforce.min.css | 2 +- 7 files changed, 327 insertions(+), 364 deletions(-) diff --git a/plugins/yetiforce/compose.js b/plugins/yetiforce/compose.js index 8431d30e..08f7d8fa 100644 --- a/plugins/yetiforce/compose.js +++ b/plugins/yetiforce/compose.js @@ -50,7 +50,7 @@ window.rcmail && rcmail.addEventListener('init', function (evt) { }, true); // Selection of email with popup - $('#composeheaders #oss_btn_bar .oss_btn').click(function () { + $('#composeheaders #yt_adress_buttons .button').click(function () { var mailField = $(this).attr('data-input'); var module = $(this).attr('data-module'); var params = { diff --git a/plugins/yetiforce/compose.min.js b/plugins/yetiforce/compose.min.js index e5b946e2..c1435137 100644 --- a/plugins/yetiforce/compose.min.js +++ b/plugins/yetiforce/compose.min.js @@ -1,2 +1,2 @@ -window.rcmail&&rcmail.addEventListener("init",function(a){var c=window.crm=getCrmWindow();var b=rcmail.env.site_URL+"index.php?";rcmail.env.compose_commands.push("yetiforce.addFilesToMail");rcmail.env.compose_commands.push("yetiforce.addFilesFromCRM");rcmail.register_command("yetiforce.addFilesToMail",function(f){var e=new Date().getTime(),d="rcmupload"+e,g=rcmail.async_upload_form_frame(d);f._uploadid=e;jQuery.ajax({url:"?_task=mail&_action=plugin.yetiforce.addFilesToMail&_id="+rcmail.env.compose_id,type:"POST",data:f,success:function(i){var j=g[0].contentWindow.document;var h=$("html",j);h.html(i)}})},true);rcmail.register_command("yetiforce.addFilesFromCRM",function(e){if(c!=false){var g={module:"Documents",src_module:"Documents",multi_select:true,url:b};var f=$(this);var d=jQuery.Event(c.Vtiger_Edit_Js.preReferencePopUpOpenEvent);f.trigger(d);var e={};show(g,function(j){var i=JSON.parse(j);var h=[];for(var k in i){h.push(k)}rcmail.command("yetiforce.addFilesToMail",{ids:h,_uploadid:new Date().getTime()})})}},true);$("#composeheaders #oss_btn_bar .oss_btn").click(function(){var e=$(this).attr("data-input");var d=$(this).attr("data-module");var f={module:d,src_module:"OSSMail",multi_select:true,url:b};show(f,function(i){var g=JSON.parse(i);var h=Object.keys(g).length;for(var j in g){getMailFromCRM(e,d,j,h)}})});jQuery.ajax({type:"Get",url:b+"module=OSSMailTemplates&action=GetTemplates",async:false,success:function(f){var d=[];var e=[];$.each(f.result,function(g,h){jQuery("#vtmodulemenulink").removeClass("disabled");jQuery("#tplmenulink").removeClass("disabled");e.push({name:h.module,label:h.moduleName});jQuery("#tplmenu #texttplsmenu").append('
  • '+h.name+"
  • ")});$.each(e,function(g,h){if(jQuery.inArray(h.name,d)==-1){jQuery("#vtmodulemenu .toolbarmenu").append('
  • '+h.label+"
  • ");d.push(h.name)}})}});jQuery("#vtmodulemenu li a").on("click",function(){var d=jQuery(this).data("module");if(d==undefined){jQuery("#tplmenu li").show()}else{jQuery("#tplmenu li."+d).show();jQuery("#tplmenu li").not("."+d).hide()}});if(rcmail.env.crmModule!=undefined){jQuery("#vtmodulemenu li."+rcmail.env.crmModule+" a").trigger("click")}jQuery("#tplmenu li a").on("click",function(){var h=jQuery(this).data("tplid");var f=rcmail.env.crmRecord,e=rcmail.env.crmModule,d=rcmail.env.crmView;if(d=="List"){var g=jQuery(c.document).find(".listViewEntriesCheckBox")[0];f=jQuery(g).val()}jQuery.ajax({type:"Get",url:b+"module=OSSMailTemplates&action=GetTpl",data:{id:h,record_id:f,select_module:e},success:function(l){var j=jQuery('[name="_subject"]').val();var k=jQuery("
    ").html(l.result.content).html();jQuery('[name="_subject"]').val(j+" "+l.result.subject);if(window.tinyMCE&&(ed=tinyMCE.get(rcmail.env.composebody))){var i=tinyMCE.activeEditor.getContent();tinymce.activeEditor.setContent(k+i)}else{var i=jQuery("#composebody").val();jQuery("#composebody").val(k+i)}if(l.result.hasOwnProperty("attachments")){rcmail.command("yetiforce.addFilesToMail",l.result.attachments)}}})})});function getCrmWindow(){if(opener!==null){return opener.parent}else{if(typeof parent.app=="object"){return parent}}return false}function getMailFromCRM(c,b,a,d){if(d>1){d=1}else{d=0}window.crm.Vtiger_Index_Js.getEmailFromRecord(a,b,d).then(function(f){if(f==""){var e={text:window.crm.app.vtranslate("NoFindEmailInRecord"),animation:"show"};window.crm.Vtiger_Helper_Js.showPnotify(e)}else{var g=$("#"+c).val();if(g!=""&&g.charAt(g.length-1)!=","){g=g+","}$("#"+c).val(g+f)}})}function show(c,d,i,f,b){var h=window.crm.Vtiger_Popup_Js.getInstance();if(typeof c=="undefined"){c={}}if(typeof c=="object"&&(typeof c.view=="undefined")){c.view="Popup"}if(typeof f=="undefined"){f="postSelection"+Math.floor(Math.random()*10000)}if(typeof i=="undefined"){i="test"}if(typeof c=="object"){c.triggerEventName=f}else{c+="&triggerEventName="+f}var e=(typeof c=="string")?c:window.crm.jQuery.param(c);var a=c.url+e;var g=window.crm.window.open(a,i,"width=800,height=650,resizable=0,scrollbars=1");if(typeof h.destroy=="function"){h.destroy()}window.crm.jQuery.initWindowMsg();if(typeof d!="undefined"){h.retrieveSelectedRecords(d,f)}if(typeof b=="function"){window.crm.jQuery.windowMsg("Vtiger.OnPopupWindowLoad.Event",function(j){b(j)})}return g}; \ No newline at end of file +window.rcmail&&rcmail.addEventListener("init",function(a){var c=window.crm=getCrmWindow();var b=rcmail.env.site_URL+"index.php?";rcmail.env.compose_commands.push("yetiforce.addFilesToMail");rcmail.env.compose_commands.push("yetiforce.addFilesFromCRM");rcmail.register_command("yetiforce.addFilesToMail",function(f){var e=new Date().getTime(),d="rcmupload"+e,g=rcmail.async_upload_form_frame(d);f._uploadid=e;jQuery.ajax({url:"?_task=mail&_action=plugin.yetiforce.addFilesToMail&_id="+rcmail.env.compose_id,type:"POST",data:f,success:function(i){var j=g[0].contentWindow.document;var h=$("html",j);h.html(i)}})},true);rcmail.register_command("yetiforce.addFilesFromCRM",function(e){if(c!=false){var g={module:"Documents",src_module:"Documents",multi_select:true,url:b};var f=$(this);var d=jQuery.Event(c.Vtiger_Edit_Js.preReferencePopUpOpenEvent);f.trigger(d);var e={};show(g,function(j){var i=JSON.parse(j);var h=[];for(var k in i){h.push(k)}rcmail.command("yetiforce.addFilesToMail",{ids:h,_uploadid:new Date().getTime()})})}},true);$("#composeheaders #yt_adress_buttons .button").click(function(){var e=$(this).attr("data-input");var d=$(this).attr("data-module");var f={module:d,src_module:"OSSMail",multi_select:true,url:b};show(f,function(i){var g=JSON.parse(i);var h=Object.keys(g).length;for(var j in g){getMailFromCRM(e,d,j,h)}})});jQuery.ajax({type:"Get",url:b+"module=OSSMailTemplates&action=GetTemplates",async:false,success:function(f){var d=[];var e=[];$.each(f.result,function(g,h){jQuery("#vtmodulemenulink").removeClass("disabled");jQuery("#tplmenulink").removeClass("disabled");e.push({name:h.module,label:h.moduleName});jQuery("#tplmenu #texttplsmenu").append('
  • '+h.name+"
  • ")});$.each(e,function(g,h){if(jQuery.inArray(h.name,d)==-1){jQuery("#vtmodulemenu .toolbarmenu").append('
  • '+h.label+"
  • ");d.push(h.name)}})}});jQuery("#vtmodulemenu li a").on("click",function(){var d=jQuery(this).data("module");if(d==undefined){jQuery("#tplmenu li").show()}else{jQuery("#tplmenu li."+d).show();jQuery("#tplmenu li").not("."+d).hide()}});if(rcmail.env.crmModule!=undefined){jQuery("#vtmodulemenu li."+rcmail.env.crmModule+" a").trigger("click")}jQuery("#tplmenu li a").on("click",function(){var h=jQuery(this).data("tplid");var f=rcmail.env.crmRecord,e=rcmail.env.crmModule,d=rcmail.env.crmView;if(d=="List"){var g=jQuery(c.document).find(".listViewEntriesCheckBox")[0];f=jQuery(g).val()}jQuery.ajax({type:"Get",url:b+"module=OSSMailTemplates&action=GetTpl",data:{id:h,record_id:f,select_module:e},success:function(l){var j=jQuery('[name="_subject"]').val();var k=jQuery("
    ").html(l.result.content).html();jQuery('[name="_subject"]').val(j+" "+l.result.subject);if(window.tinyMCE&&(ed=tinyMCE.get(rcmail.env.composebody))){var i=tinyMCE.activeEditor.getContent();tinymce.activeEditor.setContent(k+i)}else{var i=jQuery("#composebody").val();jQuery("#composebody").val(k+i)}if(l.result.hasOwnProperty("attachments")){rcmail.command("yetiforce.addFilesToMail",l.result.attachments)}}})})});function getCrmWindow(){if(opener!==null){return opener.parent}else{if(typeof parent.app=="object"){return parent}}return false}function getMailFromCRM(c,b,a,d){if(d>1){d=1}else{d=0}window.crm.Vtiger_Index_Js.getEmailFromRecord(a,b,d).then(function(f){if(f==""){var e={text:window.crm.app.vtranslate("NoFindEmailInRecord"),animation:"show"};window.crm.Vtiger_Helper_Js.showPnotify(e)}else{var g=$("#"+c).val();if(g!=""&&g.charAt(g.length-1)!=","){g=g+","}$("#"+c).val(g+f)}})}function show(c,d,i,f,b){var h=window.crm.Vtiger_Popup_Js.getInstance();if(typeof c=="undefined"){c={}}if(typeof c=="object"&&(typeof c.view=="undefined")){c.view="Popup"}if(typeof f=="undefined"){f="postSelection"+Math.floor(Math.random()*10000)}if(typeof i=="undefined"){i="test"}if(typeof c=="object"){c.triggerEventName=f}else{c+="&triggerEventName="+f}var e=(typeof c=="string")?c:window.crm.jQuery.param(c);var a=c.url+e;var g=window.crm.window.open(a,i,"width=800,height=650,resizable=0,scrollbars=1");if(typeof h.destroy=="function"){h.destroy()}window.crm.jQuery.initWindowMsg();if(typeof d!="undefined"){h.retrieveSelectedRecords(d,f)}if(typeof b=="function"){window.crm.jQuery.windowMsg("Vtiger.OnPopupWindowLoad.Event",function(j){b(j)})}return g}; \ No newline at end of file diff --git a/plugins/yetiforce/yetiforce.php b/plugins/yetiforce/yetiforce.php index fcf2f411..98dff157 100644 --- a/plugins/yetiforce/yetiforce.php +++ b/plugins/yetiforce/yetiforce.php @@ -12,6 +12,7 @@ class yetiforce extends rcube_plugin private $rc; private $autologin; private $currentUser; + private $viewData = []; public function init() { @@ -23,14 +24,30 @@ public function init() if ($this->rc->task == 'mail') { $this->register_action('plugin.yetiforce.addFilesToMail', [$this, 'addFilesToMail']); $this->rc->output->set_env('site_URL', $this->rc->config->get('site_URL')); + $this->include_stylesheet($this->rc->config->get('site_URL') . 'layouts/basic/skins/icons/userIcons.css'); if ($this->rc->action == 'compose') { + $currentPath = getcwd(); + chdir($this->rc->config->get('root_directory')); + $this->loadCurrentUser(); + + $composeAddressModules = []; + foreach (AppConfig::module('Email', 'RC_COMPOSE_ADDRESS_MODULES') as $moduleName) { + if (\includes\Privileges::isPermitted($moduleName)) { + $composeAddressModules[$moduleName] = \includes\Language::translate($moduleName, $moduleName); + } + } + $this->viewData['compose']['composeAddressModules'] = $composeAddressModules; + + chdir($currentPath); + $this->add_texts('localization/', false); $this->include_script('compose.js'); $this->add_hook('message_compose_body', [$this, 'messageComposeBody']); $this->add_hook('message_compose', [$this, 'messageComposeHead']); $this->add_hook('render_page', [$this, 'loadSignature']); + $this->add_hook('template_object_yt_adress_button', [$this, 'ytAdressButton']); $id = rcube_utils::get_input_value('_id', rcube_utils::INPUT_GPC); if ($id && isset($_SESSION['compose_data_' . $id]['param']['crmmodule'])) { @@ -46,7 +63,6 @@ public function init() if ($this->rc->action == 'preview' || $this->rc->action == 'show') { $this->include_script('preview.js'); $this->include_stylesheet($this->rc->config->get('site_URL') . 'libraries/bootstrap3/css/glyphicon.css'); - $this->include_stylesheet($this->rc->config->get('site_URL') . 'layouts/basic/skins/icons/userIcons.css'); $this->include_stylesheet('preview.css'); $this->add_hook('message_load', [$this, 'messageLoad']); } @@ -560,4 +576,18 @@ protected function loadCurrentUser() vglobal('current_user', $ownerObject); return true; } + + public function ytAdressButton($p) + { + if (empty($this->viewData['compose']['composeAddressModules'])) { + return $p; + } + $content = ''; + foreach ($this->viewData['compose']['composeAddressModules'] as $moduleName => $value) { + $text = html::span(['class' => "userIcon-$moduleName"], '') . ' ' . $value; + $content .= html::a(['class' => 'button', 'data-input' => $p['part'], 'data-module' => $moduleName], $text); + } + $p['content'] = $content; + return $p; + } } diff --git a/program/localization/pl_PL/labels.inc b/program/localization/pl_PL/labels.inc index 3347c5e9..5c210234 100644 --- a/program/localization/pl_PL/labels.inc +++ b/program/localization/pl_PL/labels.inc @@ -1,45 +1,44 @@ /labels.inc | - | | - | Localization file of the Roundcube Webmail client | - | Copyright (C) 2005-2015, The Roundcube Dev Team | - | | - | Licensed under the GNU General Public License version 3 or | - | any later version with exceptions for skins & plugins. | - | See the README file for a full license statement. | - | | - +-----------------------------------------------------------------------+ + +-----------------------------------------------------------------------+ + | localization//labels.inc | + | | + | Localization file of the Roundcube Webmail client | + | Copyright (C) 2005-2015, The Roundcube Dev Team | + | | + | Licensed under the GNU General Public License version 3 or | + | any later version with exceptions for skins & plugins. | + | See the README file for a full license statement. | + | | + +-----------------------------------------------------------------------+ - For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/labels/ -*/ -$labels['welcome'] = 'Witamy w $product'; -$labels['username'] = 'Nazwa'; -$labels['password'] = 'Hasło'; -$labels['server'] = 'Serwer'; -$labels['login'] = 'Zaloguj'; -$labels['logout'] = 'Wyloguj'; -$labels['mail'] = 'Poczta'; + For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/labels/ + */ +$labels['welcome'] = 'Witamy w $product'; +$labels['username'] = 'Nazwa'; +$labels['password'] = 'Hasło'; +$labels['server'] = 'Serwer'; +$labels['login'] = 'Zaloguj'; +$labels['logout'] = 'Wyloguj'; +$labels['mail'] = 'Poczta'; $labels['settings'] = 'Ustawienia'; $labels['addressbook'] = 'Książka adresowa'; -$labels['inbox'] = 'Odebrane'; +$labels['inbox'] = 'Odebrane'; $labels['drafts'] = 'Kopie robocze'; -$labels['sent'] = 'Wysłane'; -$labels['trash'] = 'Kosz'; -$labels['junk'] = 'Spam'; +$labels['sent'] = 'Wysłane'; +$labels['trash'] = 'Kosz'; +$labels['junk'] = 'Spam'; $labels['show_real_foldernames'] = 'Pokaż prawdziwe nazwy dla folderów specjalnych'; $labels['subject'] = 'Temat'; -$labels['from'] = 'Od'; -$labels['sender'] = 'Nadawca'; -$labels['to'] = 'Do'; -$labels['cc'] = 'Kopia'; -$labels['bcc'] = 'Ukryta kopia'; +$labels['from'] = 'Od'; +$labels['sender'] = 'Nadawca'; +$labels['to'] = 'Do'; +$labels['cc'] = 'Kopia'; +$labels['bcc'] = 'Ukryta kopia'; $labels['replyto'] = 'Odpowiedź do'; $labels['followupto'] = 'Kontynuacja do'; -$labels['date'] = 'Data'; -$labels['size'] = 'Rozmiar'; +$labels['date'] = 'Data'; +$labels['size'] = 'Rozmiar'; $labels['priority'] = 'Priorytet'; $labels['organization'] = 'Organizacja'; $labels['readstatus'] = 'Przeczytano'; @@ -49,12 +48,12 @@ $labels['messagesfromto'] = 'Wiadomości od $from do $to z $count'; $labels['threadsfromto'] = 'Wątki od $from do $to z $count'; $labels['messagenrof'] = 'Wiadomość $nr z $count'; $labels['fromtoshort'] = '$from - $to z $count'; -$labels['copy'] = 'Kopiuj'; -$labels['move'] = 'Przenieś'; -$labels['moveto'] = 'Przenieś do...'; -$labels['copyto'] = 'Kopiuj do...'; +$labels['copy'] = 'Kopiuj'; +$labels['move'] = 'Przenieś'; +$labels['moveto'] = 'Przenieś do...'; +$labels['copyto'] = 'Kopiuj do...'; $labels['download'] = 'Pobierz'; -$labels['open'] = 'Otwórz'; +$labels['open'] = 'Otwórz'; $labels['showattachment'] = 'Pokaż'; $labels['showanyway'] = 'Pokaż'; $labels['filename'] = 'Nazwa pliku'; @@ -67,70 +66,70 @@ $labels['wed'] = 'Śr'; $labels['thu'] = 'Czw'; $labels['fri'] = 'Pt'; $labels['sat'] = 'Sb'; -$labels['sunday'] = 'Niedziela'; -$labels['monday'] = 'Poniedziałek'; -$labels['tuesday'] = 'Wtorek'; +$labels['sunday'] = 'Niedziela'; +$labels['monday'] = 'Poniedziałek'; +$labels['tuesday'] = 'Wtorek'; $labels['wednesday'] = 'Środa'; -$labels['thursday'] = 'Czwartek'; -$labels['friday'] = 'Piątek'; -$labels['saturday'] = 'Sobota'; -$labels['jan'] = 'Sty'; -$labels['feb'] = 'Lut'; -$labels['mar'] = 'Mar'; -$labels['apr'] = 'Kwi'; -$labels['may'] = 'Maj'; -$labels['jun'] = 'Cze'; -$labels['jul'] = 'Lip'; -$labels['aug'] = 'Sie'; -$labels['sep'] = 'Wrz'; -$labels['oct'] = 'Paź'; -$labels['nov'] = 'Lis'; -$labels['dec'] = 'Gru'; -$labels['longjan'] = 'styczeń'; -$labels['longfeb'] = 'luty'; -$labels['longmar'] = 'marzec'; -$labels['longapr'] = 'kwiecień'; -$labels['longmay'] = 'maj'; -$labels['longjun'] = 'czerwiec'; -$labels['longjul'] = 'lipiec'; -$labels['longaug'] = 'sierpień'; -$labels['longsep'] = 'wrzesień'; -$labels['longoct'] = 'październik'; -$labels['longnov'] = 'listopad'; -$labels['longdec'] = 'grudzień'; +$labels['thursday'] = 'Czwartek'; +$labels['friday'] = 'Piątek'; +$labels['saturday'] = 'Sobota'; +$labels['jan'] = 'Sty'; +$labels['feb'] = 'Lut'; +$labels['mar'] = 'Mar'; +$labels['apr'] = 'Kwi'; +$labels['may'] = 'Maj'; +$labels['jun'] = 'Cze'; +$labels['jul'] = 'Lip'; +$labels['aug'] = 'Sie'; +$labels['sep'] = 'Wrz'; +$labels['oct'] = 'Paź'; +$labels['nov'] = 'Lis'; +$labels['dec'] = 'Gru'; +$labels['longjan'] = 'styczeń'; +$labels['longfeb'] = 'luty'; +$labels['longmar'] = 'marzec'; +$labels['longapr'] = 'kwiecień'; +$labels['longmay'] = 'maj'; +$labels['longjun'] = 'czerwiec'; +$labels['longjul'] = 'lipiec'; +$labels['longaug'] = 'sierpień'; +$labels['longsep'] = 'wrzesień'; +$labels['longoct'] = 'październik'; +$labels['longnov'] = 'listopad'; +$labels['longdec'] = 'grudzień'; $labels['today'] = 'Dzisiaj'; -$labels['refresh'] = 'Odśwież'; -$labels['checkmail'] = 'Sprawdź skrzynkę'; -$labels['compose'] = 'Utwórz'; -$labels['writenewmessage'] = 'Utwórz nową wiadomość'; -$labels['reply'] = 'Odpowiedz'; -$labels['replytomessage'] = 'Odpowiedz nadawcy'; +$labels['refresh'] = 'Odśwież'; +$labels['checkmail'] = 'Sprawdź skrzynkę'; +$labels['compose'] = 'Utwórz'; +$labels['writenewmessage'] = 'Utwórz nową wiadomość'; +$labels['reply'] = 'Odpowiedz'; +$labels['replytomessage'] = 'Odpowiedz nadawcy'; $labels['replytoallmessage'] = 'Odpowiedz wszystkim'; -$labels['replyall'] = 'Odpowiedz wszystkim'; -$labels['replylist'] = 'Odpowiedz na listę'; -$labels['forward'] = 'Przekaż'; -$labels['forwardinline'] = 'Prześlij w treści'; +$labels['replyall'] = 'Odpowiedz wszystkim'; +$labels['replylist'] = 'Odpowiedz na listę'; +$labels['forward'] = 'Przekaż'; +$labels['forwardinline'] = 'Prześlij w treści'; $labels['forwardattachment'] = 'Prześlij jako załącznik'; -$labels['forwardmessage'] = 'Prześlij dalej'; -$labels['deletemessage'] = 'Usuń wiadomości'; +$labels['forwardmessage'] = 'Prześlij dalej'; +$labels['deletemessage'] = 'Usuń wiadomości'; $labels['movemessagetotrash'] = 'Przenieś wiadomości do Kosza'; -$labels['printmessage'] = 'Drukuj wiadomość'; -$labels['previousmessage'] = 'Poprzednia wiadomość'; -$labels['firstmessage'] = 'Pierwsza wiadomość'; -$labels['nextmessage'] = 'Następna wiadomość'; -$labels['lastmessage'] = 'Ostatnia wiadomość'; -$labels['backtolist'] = 'Pokaż listę wiadomości'; -$labels['viewsource'] = 'Pokaż źródło'; -$labels['mark'] = 'Oznacz'; -$labels['markmessages'] = 'Oznacz wiadomości'; -$labels['markread'] = 'Jako przeczytane'; -$labels['markunread'] = 'Jako nieprzeczytane'; -$labels['markflagged'] = 'Jako oflagowane'; -$labels['markunflagged'] = 'Jako nieoflagowane'; -$labels['moreactions'] = 'Więcej akcji...'; -$labels['more'] = 'Więcej'; -$labels['back'] = 'Wstecz'; -$labels['options'] = 'Ustawienia'; +$labels['printmessage'] = 'Drukuj wiadomość'; +$labels['previousmessage'] = 'Poprzednia wiadomość'; +$labels['firstmessage'] = 'Pierwsza wiadomość'; +$labels['nextmessage'] = 'Następna wiadomość'; +$labels['lastmessage'] = 'Ostatnia wiadomość'; +$labels['backtolist'] = 'Pokaż listę wiadomości'; +$labels['viewsource'] = 'Pokaż źródło'; +$labels['mark'] = 'Oznacz'; +$labels['markmessages'] = 'Oznacz wiadomości'; +$labels['markread'] = 'Jako przeczytane'; +$labels['markunread'] = 'Jako nieprzeczytane'; +$labels['markflagged'] = 'Jako oflagowane'; +$labels['markunflagged'] = 'Jako nieoflagowane'; +$labels['moreactions'] = 'Więcej akcji...'; +$labels['more'] = 'Więcej'; +$labels['back'] = 'Wstecz'; +$labels['options'] = 'Ustawienia'; $labels['first'] = 'Pierwsza'; $labels['last'] = 'Ostatnia'; $labels['previous'] = 'Poprzednia'; @@ -177,18 +176,18 @@ $labels['compact'] = 'Porządkuj'; $labels['empty'] = 'Opróżnij'; $labels['importmessages'] = 'Import wiadomości'; $labels['quota'] = 'Użyte miejsce'; -$labels['unknown'] = 'nieznane'; -$labels['unlimited'] = 'bez limitu'; +$labels['unknown'] = 'nieznane'; +$labels['unlimited'] = 'bez limitu'; $labels['quotatype'] = 'Typ limitu'; $labels['quotatotal'] = 'Ograniczenie'; $labels['quotaused'] = 'Używany'; $labels['quotastorage'] = 'Przestrzeń dyskowa'; $labels['quotamessage'] = 'Ilość wiadomości'; -$labels['quicksearch'] = 'Szybkie wyszukiwanie'; -$labels['resetsearch'] = 'Wyczyść filtr'; -$labels['searchmod'] = 'Parametry wyszukiwania'; -$labels['msgtext'] = 'Cała wiadomość'; -$labels['body'] = 'Treść'; +$labels['quicksearch'] = 'Szybkie wyszukiwanie'; +$labels['resetsearch'] = 'Wyczyść filtr'; +$labels['searchmod'] = 'Parametry wyszukiwania'; +$labels['msgtext'] = 'Cała wiadomość'; +$labels['body'] = 'Treść'; $labels['type'] = 'Typ'; $labels['namex'] = 'Nazwa'; $labels['searchscope'] = 'Zakres'; @@ -199,26 +198,26 @@ $labels['openinextwin'] = 'Otwórz w nowym oknie'; $labels['emlsave'] = 'Pobierz (.eml)'; $labels['changeformattext'] = 'Wyświetl w formacie tekstowym'; $labels['changeformathtml'] = 'Wyświetl w formacie HTML'; -$labels['editasnew'] = 'Edytuj jako nową'; -$labels['send'] = 'Wyślij'; -$labels['sendmessage'] = 'Wyślij teraz'; -$labels['savemessage'] = 'Zapisz kopię roboczą'; -$labels['addattachment'] = 'Dołącz plik'; -$labels['charset'] = 'Kodowanie znaków'; -$labels['editortype'] = 'Typ edytora'; -$labels['returnreceipt'] = 'Potwierdzenie odbioru'; -$labels['dsn'] = 'Status dostarczenia (DSN)'; +$labels['editasnew'] = 'Edytuj jako nową'; +$labels['send'] = 'Wyślij'; +$labels['sendmessage'] = 'Wyślij teraz'; +$labels['savemessage'] = 'Zapisz kopię roboczą'; +$labels['addattachment'] = 'Dołącz plik'; +$labels['charset'] = 'Kodowanie znaków'; +$labels['editortype'] = 'Typ edytora'; +$labels['returnreceipt'] = 'Potwierdzenie odbioru'; +$labels['dsn'] = 'Status dostarczenia (DSN)'; $labels['mailreplyintro'] = 'W dniu $date, $sender napisał(a):'; $labels['originalmessage'] = 'Wiadomość oryginalna'; -$labels['selectimage'] = 'Wybierz obraz'; -$labels['addimage'] = 'Dodaj obraz'; -$labels['selectmedia'] = 'Wybierz film'; -$labels['addmedia'] = 'Dodaj film'; -$labels['editidents'] = 'Edytuj tożsamości'; -$labels['spellcheck'] = 'Pisownia'; +$labels['selectimage'] = 'Wybierz obraz'; +$labels['addimage'] = 'Dodaj obraz'; +$labels['selectmedia'] = 'Wybierz film'; +$labels['addmedia'] = 'Dodaj film'; +$labels['editidents'] = 'Edytuj tożsamości'; +$labels['spellcheck'] = 'Pisownia'; $labels['checkspelling'] = 'Sprawdź pisownię'; $labels['resumeediting'] = 'Zakończ sprawdzanie pisowni'; -$labels['revertto'] = 'Powróć do'; +$labels['revertto'] = 'Powróć do'; $labels['restore'] = 'Przywróć'; $labels['restoremessage'] = 'Przyrócić wiadomość?'; $labels['ignore'] = 'Ignoruj'; @@ -235,19 +234,19 @@ $labels['attach'] = 'Załącz'; $labels['attachments'] = 'Załączniki'; $labels['upload'] = 'Prześlij'; $labels['uploadprogress'] = '$percent ($current z $total)'; -$labels['close'] = 'Zamknij'; -$labels['messageoptions'] = 'Opcje wiadomości...'; +$labels['close'] = 'Zamknij'; +$labels['messageoptions'] = 'Opcje wiadomości...'; $labels['togglecomposeoptions'] = 'Przestaw opcje kompozycji'; -$labels['low'] = 'Bardzo niski'; -$labels['lowest'] = 'Niski'; -$labels['normal'] = 'Normalny'; -$labels['high'] = 'Wysoki'; +$labels['low'] = 'Bardzo niski'; +$labels['lowest'] = 'Niski'; +$labels['normal'] = 'Normalny'; +$labels['high'] = 'Wysoki'; $labels['highest'] = 'Bardzo wysoki'; -$labels['nosubject'] = '(brak tematu)'; +$labels['nosubject'] = '(brak tematu)'; $labels['showimages'] = 'Wyświetl obrazki'; $labels['alwaysshow'] = 'Zawsze wyświetlaj obrazki od $sender'; -$labels['isdraft'] = 'To jest kopia robocza wiadomości.'; -$labels['andnmore'] = '$nr więcej...'; +$labels['isdraft'] = 'To jest kopia robocza wiadomości.'; +$labels['andnmore'] = '$nr więcej...'; $labels['togglemoreheaders'] = 'Pokaż więcej nagłówków wiadomości'; $labels['togglefullheaders'] = 'Przełącz podgląd nagłówków wiadomości'; $labels['htmltoggle'] = 'HTML'; @@ -263,31 +262,31 @@ $labels['mdnrequest'] = 'Nadawca zażądał potwierdzenia przeczytania tej wiado $labels['receiptread'] = 'Potwierdzenie otrzymania'; $labels['yourmessage'] = 'To jest potwierdzenie dostarczenia Twojej wiadomości'; $labels['receiptnote'] = 'Uwaga: To potwierdzenie dostarczenia wiadomości oznacza tylko, że wiadomość została wyświetlona na komputerze adresata. Nie ma żadnej gwarancji, że odbiorca przeczytał czy też zrozumiał treść wiadomości.'; -$labels['name'] = 'Nazwa'; -$labels['firstname'] = 'Imię'; -$labels['surname'] = 'Nazwisko'; -$labels['middlename'] = 'Drugie imię'; -$labels['nameprefix'] = 'Prefiks'; -$labels['namesuffix'] = 'Sufiks'; -$labels['nickname'] = 'Pseudonim'; -$labels['jobtitle'] = 'Zawód'; -$labels['department'] = 'Oddział'; -$labels['gender'] = 'Płeć'; -$labels['maidenname'] = 'N. panieńskie'; -$labels['email'] = 'E-Mail'; -$labels['phone'] = 'Telefon'; -$labels['address'] = 'Adres'; -$labels['street'] = 'Ulica'; -$labels['locality'] = 'Miasto'; -$labels['zipcode'] = 'Kod'; -$labels['region'] = 'Region'; -$labels['country'] = 'Kraj'; -$labels['birthday'] = 'Urodziny'; -$labels['anniversary'] = 'Jubileusz'; -$labels['website'] = 'Strona internetowa'; +$labels['name'] = 'Nazwa'; +$labels['firstname'] = 'Imię'; +$labels['surname'] = 'Nazwisko'; +$labels['middlename'] = 'Drugie imię'; +$labels['nameprefix'] = 'Prefiks'; +$labels['namesuffix'] = 'Sufiks'; +$labels['nickname'] = 'Pseudonim'; +$labels['jobtitle'] = 'Zawód'; +$labels['department'] = 'Oddział'; +$labels['gender'] = 'Płeć'; +$labels['maidenname'] = 'N. panieńskie'; +$labels['email'] = 'E-Mail'; +$labels['phone'] = 'Telefon'; +$labels['address'] = 'Adres'; +$labels['street'] = 'Ulica'; +$labels['locality'] = 'Miasto'; +$labels['zipcode'] = 'Kod'; +$labels['region'] = 'Region'; +$labels['country'] = 'Kraj'; +$labels['birthday'] = 'Urodziny'; +$labels['anniversary'] = 'Jubileusz'; +$labels['website'] = 'Strona internetowa'; $labels['instantmessenger'] = 'Komunikator'; $labels['notes'] = 'Notatki'; -$labels['male'] = 'mężczyzna'; +$labels['male'] = 'mężczyzna'; $labels['female'] = 'kobieta'; $labels['manager'] = 'Kierownik'; $labels['assistant'] = 'Asystent'; @@ -298,18 +297,18 @@ $labels['searchresult'] = 'Wyniki wyszukiwania'; $labels['advsearch'] = 'Wyszukiwanie zaawansowane'; $labels['advanced'] = 'Zaawansowane'; $labels['other'] = 'Inne'; -$labels['typehome'] = 'Dom'; -$labels['typework'] = 'Praca'; -$labels['typeother'] = 'Inne'; -$labels['typemobile'] = 'Komórkowy'; -$labels['typemain'] = 'Główny'; -$labels['typehomefax'] = 'Fax domowy'; -$labels['typeworkfax'] = 'Fax firmowy'; -$labels['typecar'] = 'Samochód'; -$labels['typepager'] = 'Pager'; -$labels['typevideo'] = 'Wideo'; -$labels['typeassistant'] = 'Asystent'; -$labels['typehomepage'] = 'Strona domowa'; +$labels['typehome'] = 'Dom'; +$labels['typework'] = 'Praca'; +$labels['typeother'] = 'Inne'; +$labels['typemobile'] = 'Komórkowy'; +$labels['typemain'] = 'Główny'; +$labels['typehomefax'] = 'Fax domowy'; +$labels['typeworkfax'] = 'Fax firmowy'; +$labels['typecar'] = 'Samochód'; +$labels['typepager'] = 'Pager'; +$labels['typevideo'] = 'Wideo'; +$labels['typeassistant'] = 'Asystent'; +$labels['typehomepage'] = 'Strona domowa'; $labels['typeblog'] = 'Blog'; $labels['typeprofile'] = 'Profil'; $labels['addfield'] = 'Dodaj pole...'; @@ -320,33 +319,33 @@ $labels['contactproperties'] = 'Właściwości'; $labels['contactnameandorg'] = 'Nazwa i organizacja'; $labels['personalinfo'] = 'Informacje osobiste'; $labels['contactphoto'] = 'Zdjęcie kontaktu'; -$labels['edit'] = 'Edytuj'; +$labels['edit'] = 'Edytuj'; $labels['cancel'] = 'Anuluj'; -$labels['save'] = 'Zapisz'; +$labels['save'] = 'Zapisz'; $labels['delete'] = 'Usuń'; $labels['rename'] = 'Zmień nazwę'; $labels['addphoto'] = 'Dodaj'; $labels['replacephoto'] = 'Zamień'; $labels['uploadphoto'] = 'Wyślij zdjęcie'; -$labels['newcontact'] = 'Dodaj nowy kontakt'; -$labels['deletecontact'] = 'Usuń zaznaczone kontakty'; -$labels['composeto'] = 'Utwórz wiadomość do wybranych kontaktów'; +$labels['newcontact'] = 'Dodaj nowy kontakt'; +$labels['deletecontact'] = 'Usuń zaznaczone kontakty'; +$labels['composeto'] = 'Utwórz wiadomość do wybranych kontaktów'; $labels['contactsfromto'] = 'Kontakty od $from do $to z $count'; -$labels['print'] = 'Drukuj'; -$labels['export'] = 'Eksportuj'; -$labels['exportall'] = 'Eksportuj wszystkie'; -$labels['exportsel'] = 'Eksportuj zaznaczone'; -$labels['exportvcards'] = 'Eksport kontaktów w formacie vCard'; -$labels['newgroup'] = 'Utwórz nową grupę'; -$labels['addgroup'] = 'Dodaj grupę'; -$labels['grouprename'] = 'Zmień nazwę grupy'; -$labels['groupdelete'] = 'Usuń grupę'; +$labels['print'] = 'Drukuj'; +$labels['export'] = 'Eksportuj'; +$labels['exportall'] = 'Eksportuj wszystkie'; +$labels['exportsel'] = 'Eksportuj zaznaczone'; +$labels['exportvcards'] = 'Eksport kontaktów w formacie vCard'; +$labels['newgroup'] = 'Utwórz nową grupę'; +$labels['addgroup'] = 'Dodaj grupę'; +$labels['grouprename'] = 'Zmień nazwę grupy'; +$labels['groupdelete'] = 'Usuń grupę'; $labels['groupremoveselected'] = 'Usuń wybrane kontakty z grupy'; -$labels['uponelevel'] = 'Jeden poziom w górę'; -$labels['previouspage'] = 'Poprzednia strona'; -$labels['firstpage'] = 'Pierwsza strona'; -$labels['nextpage'] = 'Następna strona'; -$labels['lastpage'] = 'Ostatnia strona'; +$labels['uponelevel'] = 'Jeden poziom w górę'; +$labels['previouspage'] = 'Poprzednia strona'; +$labels['firstpage'] = 'Pierwsza strona'; +$labels['nextpage'] = 'Następna strona'; +$labels['lastpage'] = 'Ostatnia strona'; $labels['group'] = 'Grupa'; $labels['groups'] = 'Grupy'; $labels['listgroup'] = 'Członkowie grupy'; @@ -381,13 +380,13 @@ $labels['digitalsig'] = 'Podpis cyfrowy'; $labels['dateformat'] = 'Format daty'; $labels['timeformat'] = 'Format czasu'; $labels['prettydate'] = 'Ładne daty'; -$labels['setdefault'] = 'Domyślna'; -$labels['autodetect'] = '- wybór automatyczny -'; -$labels['language'] = 'Język'; -$labels['timezone'] = 'Strefa czasowa'; -$labels['pagesize'] = 'Liczba wierszy na stronie'; +$labels['setdefault'] = 'Domyślna'; +$labels['autodetect'] = '- wybór automatyczny -'; +$labels['language'] = 'Język'; +$labels['timezone'] = 'Strefa czasowa'; +$labels['pagesize'] = 'Liczba wierszy na stronie'; $labels['signature'] = 'Podpis'; -$labels['dstactive'] = 'Czas letni'; +$labels['dstactive'] = 'Czas letni'; $labels['showinextwin'] = 'Otwórz wiadomość w nowym oknie'; $labels['composeextwin'] = 'Twórz w nowym oknie'; $labels['htmleditor'] = 'Twórz wiadomości HTML'; @@ -417,11 +416,11 @@ $labels['showremoteimages'] = 'Wyświetlaj obrazki w wiadomościach'; $labels['fromknownsenders'] = 'od znanych nadawców'; $labels['always'] = 'zawsze'; $labels['showinlineimages'] = 'Wyświetlaj załączone obrazki pod treścią wiadomości'; -$labels['autosavedraft'] = 'Automatycznie zapisuj tworzoną wiadomość'; -$labels['everynminutes'] = 'co $n minut(y)'; -$labels['refreshinterval'] = 'Odświeżanie (sprawdzanie nowych wiadomości, etc.)'; -$labels['never'] = 'nigdy'; -$labels['immediately'] = 'natychmiast'; +$labels['autosavedraft'] = 'Automatycznie zapisuj tworzoną wiadomość'; +$labels['everynminutes'] = 'co $n minut(y)'; +$labels['refreshinterval'] = 'Odświeżanie (sprawdzanie nowych wiadomości, etc.)'; +$labels['never'] = 'nigdy'; +$labels['immediately'] = 'natychmiast'; $labels['messagesdisplaying'] = 'Wyświetlanie wiadomości'; $labels['messagescomposition'] = 'Tworzenie wiadomości'; $labels['mimeparamfolding'] = 'Stosuj nazwy załączników zgodne z'; @@ -451,8 +450,8 @@ $labels['autoaddsignature'] = 'Automatycznie wstaw podpis'; $labels['newmessageonly'] = 'tylko dla nowych wiadomości'; $labels['replyandforwardonly'] = 'tylko dla przekazywania i odpowiedzi'; $labels['insertsignature'] = 'Wstaw podpis'; -$labels['previewpanemarkread'] = 'Oznacz podglądane wiadomości jako przeczytane'; -$labels['afternseconds'] = 'po $n sekundach'; +$labels['previewpanemarkread'] = 'Oznacz podglądane wiadomości jako przeczytane'; +$labels['afternseconds'] = 'po $n sekundach'; $labels['reqmdn'] = 'Zawsze żądaj potwierdzenia odbioru'; $labels['reqdsn'] = 'Zawsze żądaj statusu dostarczenia (DSN)'; $labels['replysamefolder'] = 'Umieszczaj odpowiedzi w folderze wiadomości, na którą odpowiadam'; @@ -498,7 +497,7 @@ $labels['namespace.personal'] = 'Osobiste'; $labels['namespace.other'] = 'Innych użytkowników'; $labels['namespace.shared'] = 'Współdzielone'; $labels['sortby'] = 'Sortuj wg'; -$labels['sortasc'] = 'Rosnąco'; +$labels['sortasc'] = 'Rosnąco'; $labels['sortdesc'] = 'Malejąco'; $labels['undo'] = 'Cofnij'; $labels['installedplugins'] = 'Zainstalowane wtyczki'; @@ -583,10 +582,6 @@ $labels['selectmodule'] = 'Wybierz moduł szablonu'; $labels['selecttemplate'] = 'Wybierz szablon'; $labels['tpl'] = 'Szablony'; $labels['vtmodule'] = 'Moduły'; -$labels['module_Contacts'] = 'Kontakty'; -$labels['module_Accounts'] = 'Kontrahenci'; -$labels['module_Leads'] = 'Potencjalni klienci'; -$labels['module_Vendors'] = 'Dostawcy'; -$labels['module_OSSEmployees'] = 'Pracownicy'; // <-------- YetiForce Sp. z o.o. --------> + ?> diff --git a/skins/yetiforce/templates/compose.html b/skins/yetiforce/templates/compose.html index e7fe5d86..7c505b2a 100644 --- a/skins/yetiforce/templates/compose.html +++ b/skins/yetiforce/templates/compose.html @@ -19,24 +19,24 @@

    @@ -52,146 +52,76 @@

    - - - - - - - - - - -
    - - - - - -
    - - - - - - - - -
    - - - - - -
    + + + + + + + + + + +
    + +
    + + + + + + + + +
    + +
    - - - - - - -
    - - - - - -
    - - - - - - - - -
    - - - - - -
    - - - - - - - - -
    - - - - - -
    - - - - - - - - - - - - - + + + + + + +
    + +
    + + + + + + + + +
    + +
    + + + + + + + + +
    + +
    + + + + + + + + + + + + + @@ -248,11 +178,11 @@

    diff --git a/skins/yetiforce/yetiforce.css b/skins/yetiforce/yetiforce.css index 887c7359..f1320dc4 100644 --- a/skins/yetiforce/yetiforce.css +++ b/skins/yetiforce/yetiforce.css @@ -55,3 +55,11 @@ body{ background: #dadada; } +#yt_adress_buttons{ + margin-top: 3px; +} +#yt_adress_buttons .button{ + cursor: pointer; + color: #000; + font-weight: bold; +} diff --git a/skins/yetiforce/yetiforce.min.css b/skins/yetiforce/yetiforce.min.css index 9d1a9ca9..85560f14 100644 --- a/skins/yetiforce/yetiforce.min.css +++ b/skins/yetiforce/yetiforce.min.css @@ -1,2 +1,2 @@ -#footer{position:absolute;left:10px;right:10px;bottom:0;text-align:center;color:#000}#footer a{color:#000;text-decoration:none}#footer a:hover{text-decoration:underline}#footer #taskbar a{padding:0;height:20px;background:0}#footer #taskbar a span.button-inner{zoom:.8}#footer #taskbar .tooltip{top:-16px;display:none}#footer #taskbar a:hover .tooltip{right:-10px;display:block}#footer #taskbar .tooltip:after{top:18px;right:15px;-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}#taskbar .button-inner{top:0}#footer #taskbar{padding-right:0}#footer .topleft,#footer .username{padding-top:3px}#mainscreen{top:10px!important;left:5px;right:5px}body{background:#dadada} \ No newline at end of file +#footer{position:absolute;left:10px;right:10px;bottom:0;text-align:center;color:#000}#footer a{color:#000;text-decoration:none}#footer a:hover{text-decoration:underline}#footer #taskbar a{padding:0;height:20px;background:0}#footer #taskbar a span.button-inner{zoom:.8}#footer #taskbar .tooltip{top:-16px;display:none}#footer #taskbar a:hover .tooltip{right:-10px;display:block}#footer #taskbar .tooltip:after{top:18px;right:15px;-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}#taskbar .button-inner{top:0}#footer #taskbar{padding-right:0}#footer .topleft,#footer .username{padding-top:3px}#mainscreen{top:10px!important;left:5px;right:5px}body{background:#dadada}#yt_adress_buttons{margin-top:3px}#yt_adress_buttons .button{cursor:pointer;color:#000;font-weight:bold} \ No newline at end of file From 69ed8f175d32bcec3517255b3a28a69a0d2731b1 Mon Sep 17 00:00:00 2001 From: Mariusz Krzaczkowski Date: Mon, 19 Sep 2016 19:48:23 +0200 Subject: [PATCH 05/13] Added synchronization language module mail --- plugins/yetiforce/yetiforce.php | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/plugins/yetiforce/yetiforce.php b/plugins/yetiforce/yetiforce.php index 98dff157..0d402762 100644 --- a/plugins/yetiforce/yetiforce.php +++ b/plugins/yetiforce/yetiforce.php @@ -133,6 +133,20 @@ public function loginAfter($args) } if ($row = $this->getAutoLogin()) { $_SESSION['crm']['id'] = $row['cuid']; + if (isset($row['params']['language'])) { + $languages = $this->rc->list_languages(); + $lang = explode('_', $row['params']['language']); + $lang[1] = strtoupper($lang[1]); + $lang = implode('_', $lang); + if (!isset($languages[$lang])) { + $lang = substr($lang, 0, 2); + } + if (isset($languages[$lang])) { + $this->rc->config->set('language', $lang); + $this->rc->load_language($lang); + $this->rc->user->save_prefs(['language' => $lang]); + } + } } return $args; } @@ -545,6 +559,7 @@ protected function getAutoLogin() $autologin = false; if ($row = $db->fetch_assoc($sqlResult)) { $autologin = $row; + $autologin['params'] = json_decode($autologin['params'], true); } $this->autologin = $autologin; return $autologin; From 46154ee92f88444fe97e05c1b4ba17cc1cee5a8b Mon Sep 17 00:00:00 2001 From: Tomasz Kur Date: Wed, 21 Sep 2016 11:52:25 +0200 Subject: [PATCH 06/13] Changed orientation preview panel --- skins/yetiforce/ui.js | 8 ++++---- skins/yetiforce/ui.min.js | 2 +- skins/yetiforce/yetiforce.css | 14 ++++++++------ skins/yetiforce/yetiforce.min.css | 2 +- 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/skins/yetiforce/ui.js b/skins/yetiforce/ui.js index 6443062b..2b9e1253 100644 --- a/skins/yetiforce/ui.js +++ b/skins/yetiforce/ui.js @@ -226,7 +226,7 @@ function rcube_mail_ui() $('#mailthreadmode').addClass(rcmail.env.threading ? 'selected' : '').click(function(e) { switch_view_mode('thread'); return false; }); mailviewsplit = new rcube_splitter({ id:'mailviewsplitter', p1:'#mailview-top', p2:'#mailview-bottom', - orientation:'h', relative:true, start:310, min:150, size:12, offset:4 }); + orientation:'v', relative:true, start:310, min:560, size:12, offset:4 }); if (previewframe) mailviewsplit.init(); @@ -652,7 +652,7 @@ function rcube_mail_ui() if (visible) { $('#mailview-top').removeClass('fullheight').css({ bottom:'auto' }); - $('#mailview-bottom').css({ height:'auto' }).show(); + $('#mailview-bottom').css({ width:'auto' }).show(); rcmail.env.contentframe = 'messagecontframe'; if (uid = rcmail.message_list.get_single_selection()) @@ -670,8 +670,8 @@ function rcube_mail_ui() rcmail.env.contentframe = null; rcmail.show_contentframe(false); - $('#mailview-top').addClass('fullheight').css({ height:'auto', bottom:'0px' }); - $('#mailview-bottom').css({ top:'auto', height:'0px' }).hide(); + $('#mailview-top').addClass('fullheight').css({ width:'auto', bottom:'0px' }); + $('#mailview-bottom').css({ top:'auto', width:'0px' }).hide(); if (mailviewsplit.handle) mailviewsplit.handle.hide(); diff --git a/skins/yetiforce/ui.min.js b/skins/yetiforce/ui.min.js index 5dfc21a8..edfdf9ac 100644 --- a/skins/yetiforce/ui.min.js +++ b/skins/yetiforce/ui.min.js @@ -1,2 +1,2 @@ -function rcube_mail_ui(){var j={};var f={};var K={forwardmenu:{editable:1},searchmenu:{editable:1,callback:p},attachmentmenu:{},listoptions:{editable:1},groupmenu:{above:1},mailboxmenu:{above:1},spellmenu:{callback:g},"folder-selector":{iconized:1}};var q=this;var B;var M={};var Q;this.set=v;this.init=N;this.init_tabs=D;this.show_about=C;this.show_popup=J;this.toggle_popup=x;this.add_popup=a;this.set_searchmod=e;this.set_searchscope=A;this.show_uploadform=G;this.show_header_row=n;this.hide_header_row=P;this.update_quota=I;this.get_pref=O;this.save_pref=H;this.folder_search_init=i;if(window.$&&document.body){var z=O("minimalmode");if(parseInt(z)||(z===null&&$(window).height()<850)){$(document.body).addClass("minimal")}if(bw.tablet){$("#viewport").attr("content","width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0")}}function v(T,U){j[T]=U}function O(U){if(!Q){Q=rcmail.local_storage_get_item("prefs.larry",{})}if(Q[U]==null){var T=rcmail.get_cookie(U);if(T!=null){Q[U]=T;if(rcmail.local_storage_set_item("prefs.larry",Q)){rcmail.set_cookie(U,T,new Date())}}}return Q[U]}function H(T,V){Q[T]=V;if(!rcmail.local_storage_set_item("prefs.larry",Q)){var U=new Date();U.setYear(U.getFullYear()+1);rcmail.set_cookie(T,V,U)}}function N(){rcmail.addEventListener("message",F);$("#taskbar a").each(function(ad,ae){$(ae).append(''+$(".button-inner",this).html()+"")});$("#taskbar .minmodetoggle").click(function(ae){var ad=$(document.body).toggleClass("minimal").hasClass("minimal");H("minimalmode",ad?1:0);$(window).resize()});if(rcmail.env.task=="mail"){rcmail.addEventListener("menu-open",s).addEventListener("menu-close",s).addEventListener("menu-save",t).addEventListener("responseafterlist",function(ad){c(rcmail.env.threading?"thread":"list",true)}).addEventListener("responseaftersearch",function(ad){c(rcmail.env.threading?"thread":"list",true)});var aa=$("#dragmessagemenu");if(aa.length){rcmail.gui_object("dragmenu","dragmessagemenu");f.dragmenu=aa}if(rcmail.env.action=="show"||rcmail.env.action=="preview"){rcmail.addEventListener("enable-command",S).addEventListener("aftershow-headers",function(){k()}).addEventListener("afterhide-headers",function(){k()});$("#previewheaderstoggle").click(function(ad){y();if(this.blur&&!rcube_event.is_keyboard(ad)){this.blur()}return false});$("#attachment-list > li").each(function(){$(this).append($('Show options').bind("click keypress",function(ad){if(ad.type!="keypress"||rcube_event.get_keycode(ad)==13){w(this,ad);return false}}))});if(O("previewheaders")=="1"){y()}}else{if(rcmail.env.action=="compose"){rcmail.addEventListener("aftersend-attachment",G).addEventListener("aftertoggle-editor",function(ad){window.setTimeout(function(){o()},200);if(ad&&ad.mode){$("select[name='editorSelector']").val(ad.mode)}});var W,ab,Y,V=["cc","bcc","replyto","followupto"];for(W=0;W0?"identities":rcmail.env.action.replace(/\./g,""))}$(ad).addClass("selected").children().first().removeAttr("onclick").click(function(){return false})});if(rcmail.env.action=="folders"){new rcube_splitter({id:"folderviewsplitter",p1:"#folderslist",p2:"#folder-details",orientation:"v",relative:true,start:266,min:180,size:12}).init();rcmail.addEventListener("setquota",I);i($("#folderslist"))}else{if(rcmail.env.action=="identities"){new rcube_splitter({id:"identviewsplitter",p1:"#identitieslist",p2:"#identity-details",orientation:"v",relative:true,start:266,min:180,size:12}).init()}else{if(rcmail.env.action=="responses"){new rcube_splitter({id:"responseviewsplitter",p1:"#identitieslist",p2:"#identity-details",orientation:"v",relative:true,start:266,min:180,size:12}).init()}else{if(rcmail.env.action=="preferences"||!rcmail.env.action){new rcube_splitter({id:"prefviewsplitter",p1:"#sectionslist",p2:"#preferences-box",orientation:"v",relative:true,start:266,min:180,size:12}).init()}else{if(rcmail.env.action=="edit-prefs"){var Z=$("#preferences-details fieldset.advanced legend"),T=$('').text(j.toggleoptions).attr("title",j.toggleoptions).addClass("advanced-toggle");Z.click(function(ad){T.html($(this).hasClass("collapsed")?"▲":"▼");$(this).toggleClass("collapsed").closest("fieldset").children(".propform").toggle()}).append(T).addClass("collapsed");if(bw.mz){Z.parents("form").css("display","inline")}}}}}}}else{if(rcmail.env.task=="addressbook"){rcmail.addEventListener("afterupload-photo",G).addEventListener("beforepushgroup",E).addEventListener("beforepopgroup",R);if(rcmail.env.action==""){new rcube_splitter({id:"addressviewsplitterd",p1:"#addressview-left",p2:"#addressview-right",orientation:"v",relative:true,start:206,min:150,size:12,render:L}).init();new rcube_splitter({id:"addressviewsplitter",p1:"#addresslist",p2:"#contacts-box",orientation:"v",relative:true,start:266,min:260,size:12}).init()}var aa=$("#dragcontactmenu");if(aa.length){rcmail.gui_object("dragmenu","dragcontactmenu");f.dragmenu=aa}}}}$(".tabbed").each(function(ad,ae){D(ae)});$("select.decorated").each(function(){if(bw.opera){$(this).removeClass("decorated");return}var ae=$(this),ah=ae.parent(),ad=Math.max(ae.height(),26)-2,ag=ae.width()-22,ai=$("option",this).first().text();if($("option:selected",this).val()!=""){ai=$("option:selected",this).text()}var af=$(''+ai+"").css("position","absolute").offset(ae.position()).insertAfter(ae);af.children().width(ag).height(ad).css("line-height",(ad-1)+"px");if(ah.css("position")!="absolute"){ah.css("position","relative")}ae.width(af.width()).on(bw.mz?"change keyup":"change",function(){var aj=$("option:selected",this).text();$(this).next().children().text(aj)});ae.on("focus",function(aj){af.addClass("focus")}).on("blur",function(aj){af.removeClass("focus")})});var ac=$("body.minwidth");if(ac.length){ac.css("min-width",$(".toolbar").width()+$("#quicksearchbar").width()+$("#searchfilter").width()+30)}window.onresize=r;r()}function r(U){var T=U?10:0;if(rcmail.resize_timeout){window.clearTimeout(rcmail.resize_timeout)}rcmail.resize_timeout=window.setTimeout(function(){if(rcmail.env.task=="mail"){if(rcmail.env.action=="show"||rcmail.env.action=="preview"){k()}else{if(rcmail.env.action=="compose"){o()}}}$("body.iframe .footerleft").each(function(){var Z=$(this),V=$(document.body),Y=Z.hasClass("floating"),X=V.outerHeight(true)>$(window).height();if(X!=Y){var W=X?"addClass":"removeClass";Z[W]("floating");V[W]("floatingbuttons")}})},T)}function F(U){var W=$(U.object).siblings("div");if(W.length){$(U.object).insertBefore(W.first())}if(U.type=="error"&&rcmail.env.task!="login"){rcmail.hide_message(U.object);if(q.message_timer){window.clearTimeout(q.message_timer)}if(!q.messagedialog){q.messagedialog=$("
    ").addClass("popupdialog").hide()}var V=U.message,T=function(){q.messagedialog.is(":visible")&&q.messagedialog.dialog("destroy").hide()};if(q.messagedialog.is(":visible")&&q.messagedialog.text()!=V){V=q.messagedialog.html()+"

    "+U.message+"

    "}q.messagedialog.html(V).dialog({resizable:false,closeOnEscape:true,dialogClass:"popupmessage "+U.type,title:j.errortitle,close:T,position:["center","center"],hide:{effect:"fadeOut"},width:420,minHeight:90}).show();q.messagedialog.closest("div[role=dialog]").attr("role","alertdialog");if(U.timeout>0){q.message_timer=window.setTimeout(T,U.timeout)}}}function k(){$("#messagecontent").css("top",($(".ytHeader").outerHeight()+$("#messageheader").outerHeight())+"px");$("#message-objects div a").addClass("button");if(!$("#attachment-list li").length){$("div.rightcol").hide().attr("aria-hidden","true");$("div.leftcol").css("margin-right","0")}}function m(T){}function L(T){}function u(V){if(V.nodeName=="TEXTAREA"){var U=$(V),X=14,T=V.scrollHeight,W=V.value.length>80&&T>X*1.5?2:1;U.css("height",(X*W)+"px");o()}}function o(){var Z=$("#composebody"),U=$("#compose-content"),T=$("#composeview-bottom"),aa,Y,X,ac,W=0,ab=300,X=U.height()-T.position().top;ac=ab-X;W=ac>-100?0:40;T.height(Math.max(ab,X));U.css("overflow",ac>0?"auto":"hidden");aa=Z.parent().width()-5;Y=Z.parent().height()-8;Z.width(aa).height(Y);$("#composebodycontainer > div").width(aa+8);$("#composebody_ifr").height(Y+4-$("div.mce-toolbar").height());$("#googie_edit_layer").width(aa).height(Y);var V=$("#directorylist");if(V.length){$("#compose-contacts .scroller").css("top",V.position().top+V.outerHeight())}}function I(W){var T=$("#quotadisplay"),X=$("#quotamenu"),U=24,V=20,Y=W.total?Math.ceil(W.percent/100*V)*U:0;if(W.total&&Y==U*V&&W.percent<100){Y-=U}T.css("background-position","0 -"+Y+"px");if(W.table){if(!X.length){X=$('
    ').appendTo($("body"))}X.html(W.table);T.css("cursor","pointer").off("click").on("click",function(Z){return rcmail.command("menu-open","quotamenu",Z.target,Z)})}}function i(T){$(".boxtitle a.search",T).click(function(X){var Y=$(".boxtitle",T),W=$(".listsearchbox",T),V=W.is(":visible")?-1:1,U=34+($("select",W).length?22:0);W.slideToggle({duration:160,progress:function(aa,Z){if(V<0){Z=1-Z}$(".scroller",T).css("top",(Y.outerHeight()+U*Z)+"px")},complete:function(){W.toggleClass("expanded");if(W.is(":visible")){W.find("input[type=text]").focus();U=34+($("select",W).length?$("select",W).outerHeight()+4:0);$(".scroller",T).css("top",(Y.outerHeight()+U)+"px")}else{$("a.reset",W).click()}}});return false})}function S(U){if(U.command=="reply-list"&&rcmail.env.reply_all_mode==1){var T=rcmail.gettext(U.status?"replylist":"replyall");if(rcmail.env.action=="preview"){$("a.button.replyall").attr("title",T)}else{$("a.button.reply-all").text(T).attr("title",T)}}}function a(T,U){var V=f[T]=$("#"+T);V.appendTo(document.body);if(V.length){K[T]=$.extend(K[T]||{},U||{})}}function x(T,V,U){if(U||!K[T]){a(T,U)}return rcmail.command("menu-open",T,V.target,V)}function J(U,T,V){if(V||!K[U]){a(U,V)}V=K[U]||{};var W=$(V.link?V.link:"#"+U+"link"),X=W.offset();if(W.has(".inner")){W=W.children(".inner")}return rcmail.command("menu-open",{menu:U,show:T},W.get(0),$.Event("click",{target:W.get(0),pageX:X.left,pageY:X.top,clientX:X.left,clientY:X.top}))}function d(Y){var V=$(Y.target),aa=$("#mailpreviewframe"),Z=!aa.is(":visible"),X=B.pos||parseInt(O("mailviewsplitter")||320),U,W,T;aa.toggle();V.toggleClass("enabled closed").attr("aria-expanded",Z?"true":"false");if(Z){$("#mailview-top").removeClass("fullheight").css({bottom:"auto"});$("#mailview-bottom").css({height:"auto"}).show();rcmail.env.contentframe="messagecontframe";if(T=rcmail.message_list.get_single_selection()){rcmail.show_message(T,false,true)}if(B.handle){B.handle.show();B.resize()}else{B.init()}}else{rcmail.env.contentframe=null;rcmail.show_contentframe(false);$("#mailview-top").addClass("fullheight").css({height:"auto",bottom:"0px"});$("#mailview-bottom").css({top:"auto",height:"0px"}).hide();if(B.handle){B.handle.hide()}}if(rcmail.message_list){if(Z&&T){rcmail.message_list.scrollto(T)}rcmail.message_list.resize()}rcmail.command("save-pref",{name:"preview_pane",value:(Z?1:0)})}function y(){$("#preview-shortheaders").toggle();var U=$("#preview-allheaders").toggle(),T=$("a#previewheaderstoggle");if(U.is(":visible")){T.attr("href","#hide").removeClass("add").addClass("remove").attr("aria-expanded","true")}else{T.attr("href","#details").removeClass("remove").addClass("add").attr("aria-expanded","false")}H("previewheaders",U.is(":visible")?"1":"0")}function c(U,T){if(T||!$("#mail"+U+"mode").hasClass("disabled")){$("#maillistmode, #mailthreadmode").removeClass("selected").attr("tabindex","0").attr("aria-disabled","false");$("#mail"+U+"mode").addClass("selected").attr("tabindex","-1").attr("aria-disabled","true")}}function s(Y){if(Y&&Y.name=="messagelistmenu"){l(Y)}else{if(Y){var U=K[Y.name]||{},W=$(U.link||"#"+Y.name+"link"),Z=Y.obj&&Y.obj.is(":visible"),T=U.above;if(Y.obj&&Z&&W.length){var V=W.parent(),X=$(window),aa;if(V.hasClass("dropbutton")){W=V}if(U.above||W.hasClass("dropbutton")){aa=W.offset();Y.obj.css({left:aa.left+"px",top:(aa.top+(U.above?-Y.obj.height():W.outerHeight()))+"px"})}}if(Y.obj&&U.iconized){Y.obj.children("ul").addClass("iconized")}if(Y.obj&&U.editable){Y.obj.attr("data-editable","true")}if(typeof U.callback=="function"){U.callback(Z,Y)}}}}function p(T){if(T&&rcmail.env.search_mods){var aa,V,Y=f.searchmenu,X=$('input:checkbox[name="s_mods[]"]',Y),Z=rcmail.env.mailbox,W=rcmail.env.search_mods,U=rcmail.env.search_scope||"base";if(rcmail.env.task=="mail"){if(U=="all"){Z="*"}W=W[Z]?W[Z]:W["*"];V="text";$('input:radio[name="s_scope"]').prop("checked",false).filter("#s_scope_"+U).prop("checked",true)}else{V="*"}if(W[V]){X.map(function(){this.checked=true;this.disabled=this.value!=V})}else{X.prop("disabled",false).prop("checked",false);for(aa in W){$("#s_mod_"+aa).prop("checked",true)}}}}function w(U,T){var V=U.parentNode.id.replace(/^attach/,"");$("#attachmenuopen").unbind("click").attr("onclick","").click(function(W){return rcmail.command("open-attachment",V,this)});$("#attachmenudownload").unbind("click").attr("onclick","").click(function(){rcmail.command("download-attachment",V,this)});K.attachmentmenu.link=U;rcmail.command("menu-open",{menu:"attachmentmenu",id:V},U,T)}function g(U,Y){var V,X,T,Z=rcmail.spellcheck_lang(),W=$("ul",Y.obj);if(!W.length){W=$('