r3c / custom_from

Plugin for Roundcube webmail, enable virtual email sender input.
https://plugins.roundcube.net/#/packages/r3c/custom-from
Other
20 stars 16 forks source link

Input area pushed down on Classic & Elastic skins (was: Plugin not working and PHP warning with RC v1.4.8 and custom_from v1.6.2) #21

Closed mattleech closed 4 years ago

mattleech commented 4 years ago

Hi

Have been using your invaluable plugin for years, thank you! :-)

Today, updated RC to v1.4.8 and custom_from to v1.6.2 (also tried dev-master).

Unfortunately, the plugin isn't working now, and I no longer see the custom_from icon next to the identity dropdown.

When using dev-master the PHP log contains this:

[Thu Sep 24 15:50:22.082586 2020] [php7:warn] [pid 9304] [client xx.xx.xx.xx:port] PHP Warning: Creating default object from empty value in /var/lib/roundcube/plugins/custom_from/custom_from.php on line 172, referer: https://xxxxxx.xx/rc/?_task=mail&_mbox=INBOX

Could that warning be related?

Another nearby issue is that the link to Edit Identities on the Compose screen next to the identity dropdown doesn't work either.

Cheers!

wienfuchs commented 4 years ago

i can not confirm this. I do have RC 1.4.8 and custom_from 1.6.2-4-gcd7aa2b on my system, and everything is fine with me: grafik Maybe it's a php version problem? What Version do you have?

mattleech commented 4 years ago

PHP v7.2

Just so you know I'm not imagining things...

image

wienfuchs commented 4 years ago

Nooone was doubting that ;) An I also guess, PHP 7.2 should would, though I have 7.4 at my end. Sorry, that does not seem to be the source.

mattleech commented 4 years ago

Ok, I've fixed it.

RC was missing tinymce and publickey.js.

One thing though, is the textbox for entering my custom-from email address supposed to span the entire width of the window, which pushes the custom_from icon and the Edit Identities link down to the next line?

image

Thanks, Matt

r3c commented 4 years ago

Hey @mattleech, sorry for the late answer! So your original issue is solved, right?

About your second question, the layout for classic skin indeed relies on CSS hacks and doesn't render nicely. Result is much better on elastic skin, but if you have a suggestion for making it look nicer on classic skin too please feel free to send a PR!

mattleech commented 4 years ago

So I've got the css working for skins Larry (works well) and Classic (an element farther down the screen repositions during the custom_from toggle and I haven't fixed that yet), but I'm going to have to learn about how to do github development (checkout, push, pull request).

Bear with me :-)

r3c commented 4 years ago

If you don't have time to spend on learning how to submit a PR, maybe just post your change as a comment here and I'll take care of merging it 👍

mattleech commented 4 years ago

Ok, I'll put the code here for Classic and Larry, and then do the css for Elastic while I learn the github ropes.

Hope a git diff is ok...

root@mi:/var/lib/roundcube/plugins/custom_from# git diff 2020f447ff44e48fea0264490ee6c63038709e88
diff --git a/custom_from.php b/custom_from.php
index 1309550..67998ac 100644
--- a/custom_from.php
+++ b/custom_from.php
@@ -182,6 +182,7 @@ class custom_from extends rcube_plugin
             }

             $this->include_script('custom_from.js');
+            $this->include_stylesheet($this->local_skin_path() . '/custom_from.css');
         }

         return $params;
diff --git a/skins/classic/custom_from.css b/skins/classic/custom_from.css
new file mode 100644
index 0000000..0d9a4a1
--- /dev/null
+++ b/skins/classic/custom_from.css
@@ -0,0 +1,18 @@
+/* Roundcube custom_from plugin styles for classic skin */
+
+.editfield img {
+    border: 0;
+    padding-left: 13px;
+    vertical-align: middle;
+}
+
+input.custom_from.form-control {
+    width: 390px!important;
+    height: 19px;
+}
+
+select#_from {
+    min-width: 400px;
+    height: 24px;
+}
+
diff --git a/skins/larry/custom_from.css b/skins/larry/custom_from.css
new file mode 100644
index 0000000..4d885a4
--- /dev/null
+++ b/skins/larry/custom_from.css
@@ -0,0 +1,18 @@
+/* Roundcube custom_from plugin styles for classic skin */
+
+.editfield img {
+    border: 0;
+    padding-left: 13px;
+    vertical-align: middle;
+}
+
+input.custom_from.form-control {
+    width: 390px;
+    height: 14px;
+}
+
+select#_from {
+    height: 24px;
+    min-width: 400px;
+}
+
root@mi:/var/lib/roundcube/plugins/custom_from#
r3c commented 4 years ago

Oh I didn't know about this $this->local_skin_path() feature, that's way better than the CSS hack I'm doing directly in the JS file! Thank you for this suggestion 👍

I used your patch and added a few changes to also improve rendering on Elastic skin. Just pushed c596a6d: would you please be able to tell me if this looks OK to you?

mattleech commented 4 years ago

Mostly good and working :-)

r3c commented 4 years ago

Merged! Thanks again for the suggestion 👍