From 2948cee6c1a98fdaec0bc0c4f45ef245617bc351 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Thu, 8 Mar 2012 19:31:33 +0100 Subject: [PATCH 1/4] - Larry skin for owncloud --- plugins/owncloud/owncloud.php | 11 +++------- plugins/owncloud/skins/larry/cloud.png | Bin 0 -> 1844 bytes plugins/owncloud/skins/larry/owncloud.css | 14 ++++++++++++ .../skins/larry/templates/owncloud.html | 20 ++++++++++++++++++ 4 files changed, 37 insertions(+), 8 deletions(-) create mode 100644 plugins/owncloud/skins/larry/cloud.png create mode 100644 plugins/owncloud/skins/larry/owncloud.css create mode 100644 plugins/owncloud/skins/larry/templates/owncloud.html diff --git a/plugins/owncloud/owncloud.php b/plugins/owncloud/owncloud.php index 2b05f3fc..d847cc3d 100644 --- a/plugins/owncloud/owncloud.php +++ b/plugins/owncloud/owncloud.php @@ -39,18 +39,13 @@ class owncloud extends rcube_plugin // add taskbar button $this->add_button(array( - 'name' => 'owncloud', + 'command' => 'owncloud', 'class' => 'button-owncloud', + 'classsel' => 'button-owncloud button-selected', + 'innerclass' => 'button-inner', 'label' => 'owncloud.owncloud', - 'href' => './?_task=owncloud', - 'onclick' => sprintf("return %s.command('owncloud')", JS_OBJECT_NAME) ), 'taskbar'); - $rcmail->output->add_script( - JS_OBJECT_NAME . ".enable_command('owncloud', true);\n" . - JS_OBJECT_NAME . ".owncloud = function () { location.href = './?_task=owncloud'; }", - 'head'); - $skin = $rcmail->config->get('skin'); if (!file_exists($this->home."/skins/$skin/owncloud.css")) { $skin = 'default'; diff --git a/plugins/owncloud/skins/larry/cloud.png b/plugins/owncloud/skins/larry/cloud.png new file mode 100644 index 0000000000000000000000000000000000000000..7ad3cd96da1b921eea699704547911ffb7f9176a GIT binary patch literal 1844 zcmV-42g~@0P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L02{9W02{9XUK)`c00007bV*G`2iyY) z4l5-b)*$Zy00y*4L_t(Y$K94|R8-d$$A9O}3<0gl3>7qzDzK=_D_V)sRmydvlm)4ZA^}ZBmkeSjBJ%KsqLG0C zL1*sW{cxEP2u?@80`d=-#yU2Y_dP_Tqt@kMfO!hl(U~&AZp( z?gt;9kis3Ay8ERN_+w8^U6%U7%Zp!_`C6@rh-sQ)nx=?|6cip2V34ls_E%=l*6!$# zxoHdPL_})OU63=CRbm)M2;49X5fS;#>x-`pOMZL;5dQGaJzweoI}l!4RxUSh-jssE z!{TdhmOvmNA|fpn@3k>N811J_ly&{OSbS{HDY8hL{1Z zsi}zp{qMsc2(V+<2Q)S|(d28!eex8=M~*S}2V)qTIEWG78S_khT>rPC`wR%Qv^1KX zAgxmehXJHcn|V5@v4}|4#x1h%K%oT3g0hH+yt96DsQ==u`P%>{PoAuGjSQTw$nOJN zs%p-40{KVoUg>yPuno?yUb|j4ZP_k4xqD^F^3}J1Cp$(O&rh4*?Dq%c*oiV}ZEX#G zz>?#oa=oFU6Wfkvnx-5*c0$_P+Cpm@yk3bJl)NS{FHhs8nR82nOg=e!Tv~42u$Y^s z>_1r8iDg${!!V?(rdH0Jt?uMm!J%RS&{9%ThKdMEDZZHykGt#?N-55rzrg8=$}i3f zr7%swZnJgzeo4cI@Y|&;H)uV2gloZtkuE1~H*c}|FFSGA9gG~F#FhH1D5dBcYDy^p z&YinJzkB;4A_Pg^6&}XI^w->4soU)fZWa+9dT=zoBVEMw>&wUy_j912CDY;rogyLkqy3@xiZf?r`5#u99kmYHbHA7u=vo>Y zn|$)d;-w|G)ADQmezYRvPxU#u`}}L)+0fW;=p&hH-(Kg-$=h#y_lG~;323wC%>Q`H zwmmoU_8tiQ@$L2Aqz4{*7hu%bC*S|;`ybvqRCrj{|9MC2@DU?3L?qlaP5$3);w)HK z4%yX^zU|AG@c%k9E){yYAS@hx&N7VlNVF;NRMo)LIEYPz%n{Vf7SC~C0l}?mVq~E0%p=!oDLOYVE}z1om_L=1NF6#zZK?h zg2G+k>H}>p-4=?j9x1Y`i8&-Nan?fCm0u#ex{dU0`9K_7sz@jjSaATHQ7|Rl+Btq& zH?s6{fv*AkJ|XakQjANTL@$@0u<&Q~Im@0g1QSp;h3ToPu`x9+n%Kn8NPa?ibh?ll zZ!vGU(nXf1=7GBa_B3E__%)1r`~y8LW05y$!cWblu|qn@q72abL^{oDj(ZZRuRTWo zRxgR8g_wcptMj;a@jUq3U`4*QM=usU6C%OaVEwOr*nBhA)svc<8ZD-OED<(vC}=hy zU_wtjR901!5Fbb7;e!E|K7BvS_m}f&31m+1aK&x(;K@iMA@4eX3@DTU+kbzt#(f;F zU8L27rT}<~@;QIDg1Y*8Do>Tc(Oet~5=K8HtoheTW(*5w^8zipK%l=4S#DrTI(o5y zQZ{zfLCV~Xda;-Ti$wHd5#G!ZHk}r|SY%+4NJ9I#UM#}mzu)dpNq<={78pNGkzIW| zDh3vbR6H6PkFQ~@eV?q0kH9oRb13kXm!S{&7KT_c9&G($N#)7gDfDzIBKyLpC1=T; zo&uEfYL+Or*23<$N)mp#>Ve9uUIu*Ki9gBV_f_ZXE@M+r)e6*{{KDF!0RaJf2d_-9MSmmK&Z}9^YlQc3 zwI_#)3bWXIit;TP29M@~#VS-=LJ1NCyj;zF;g%PMfCdtw0jp#LFS2O&AqFQ;1z^PZ*<=<~l3nd*N$yDo iCr{Rk#r~Dwj{gCN3@RvrqjXyU0000 + + +<roundcube:object name="pagetitle" /> + + + + + + + + +
+ +
+ + + + + From 10dad0d28973eb66e7041b34ea60bcb9a4afb16c Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Thu, 8 Mar 2012 20:42:32 +0100 Subject: [PATCH 2/4] Fix new storage object usage (fixes e.g. special folders selectors) --- plugins/kolab_folders/kolab_folders.php | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/plugins/kolab_folders/kolab_folders.php b/plugins/kolab_folders/kolab_folders.php index ab84c24c..e1b2e634 100644 --- a/plugins/kolab_folders/kolab_folders.php +++ b/plugins/kolab_folders/kolab_folders.php @@ -94,6 +94,9 @@ class kolab_folders extends rcube_plugin // Get folders list if ($args['mode'] == 'LIST') { + if (!$storage->check_connection()) { + return $args; + } $args['folders'] = $storage->conn->listMailboxes($args['root'], $args['name']); } else { @@ -405,18 +408,22 @@ class kolab_folders extends rcube_plugin { $storage = $this->rc->get_storage(); + if (!$storage->check_connection()) { + return null; + } + // Code copied from rcube_imap::_list_mailboxes() // Server supports LIST-EXTENDED, we can use selection options // #1486225: Some dovecot versions returns wrong result using LIST-EXTENDED - if (!$this->rc->config->get('imap_force_lsub') && $storage->get_capability('LIST-EXTENDED')) { + if (!$this->rc->config->get('imap_force_lsub') && $imap->get_capability('LIST-EXTENDED')) { // This will also set mailbox options, LSUB doesn't do that $a_folders = $storage->conn->listMailboxes($root, $name, NULL, array('SUBSCRIBED')); // remove non-existent folders - if (is_array($a_folders) && $name = '*') { + if (is_array($a_folders) && $name = '*' && !empty($storage->conn->data['LIST'])) { foreach ($a_folders as $idx => $folder) { - if ($storage->conn->data['LIST'] && ($opts = $storage->conn->data['LIST'][$folder]) + if (($opts = $storage->conn->data['LIST'][$folder]) && in_array('\\NonExistent', $opts) ) { $storage->conn->unsubscribe($folder); @@ -430,10 +437,10 @@ class kolab_folders extends rcube_plugin $a_folders = $storage->conn->listSubscribed($root, $name); // unsubscribe non-existent folders, remove from the list - if (is_array($a_folders) && $name == '*') { + if (is_array($a_folders) && $name == '*' && !empty($storage->conn->data['LIST'])) { foreach ($a_folders as $idx => $folder) { - if ($storage->conn->data['LIST'] && ($opts = $storage->conn->data['LIST'][$folder]) - && in_array('\\Noselect', $opts) + if (!isset($storage->conn->data['LIST'][$folder]) + || in_array('\\Noselect', $storage->conn->data['LIST'][$folder]) ) { // Some servers returns \Noselect for existing folders if (!$storage->folder_exists($folder)) { From c1997c9db77b93ccb2790199aae487388922cb47 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Wed, 4 Apr 2012 12:16:28 +0200 Subject: [PATCH 3/4] Add 'configuration' label for folders of type configuration --- plugins/kolab_zpush/localization/en_US.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/kolab_zpush/localization/en_US.inc b/plugins/kolab_zpush/localization/en_US.inc index 5160d91c..2537d4d5 100644 --- a/plugins/kolab_zpush/localization/en_US.inc +++ b/plugins/kolab_zpush/localization/en_US.inc @@ -18,6 +18,7 @@ $labels['contact'] = 'Address Books'; $labels['event'] = 'Calendars'; $labels['task'] = 'Tasks'; $labels['note'] = 'Notes'; +$labels['configuration'] = 'Configuration'; $labels['deletedevice'] = 'Delete device'; $labels['imageformat'] = 'Image format'; $labels['laxpiclabel'] = 'Allow PNG and GIF images'; From e666187312ca04384a28a77bf1836db79a97ca52 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak Date: Thu, 5 Apr 2012 10:51:41 +0200 Subject: [PATCH 4/4] Enable icon for "Save as event" item in More actions popup --- plugins/calendar/skins/larry/calendar.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/calendar/skins/larry/calendar.css b/plugins/calendar/skins/larry/calendar.css index ad646df1..488f37ca 100644 --- a/plugins/calendar/skins/larry/calendar.css +++ b/plugins/calendar/skins/larry/calendar.css @@ -1244,7 +1244,7 @@ fieldset #calendarcategories div { /* Invitation UI in mail */ #messagemenu li a.calendarlink span.calendar { -/* background-position: 7px -109px; */ + background-position: 0px -1948px; } div.calendar-invitebox {