How to change logo in Jupiter?

sunmacet

Active Member
Jan 24, 2009
26
8
53
cPanel Access Level
Root Administrator
How we can EASILY change logo with Jupiter?

Our logo is not in SVG but we can embed the PNG to SVG. With base64 it is very large string and "whmapi1 update_customizations" seems to fail what ever we do. So has anyone found any easy way to change the logo if your logo is not pure SVG?
 

sunmacet

Active Member
Jan 24, 2009
26
8
53
cPanel Access Level
Root Administrator
So we got the PNG converted to SVG. It is till fairly large (28K) but it is real SVG.

When we try to put that to Jupiter we get error "Invalid base64 found" and the logo is missing.

PHP:
$logo = base64_encode(file_get_contents("logo.svg"));
exec ("whmapi1 update_customizations application=cpanel theme=\"jupiter\" brand='{\"brand\" : {\"logo\" : {\"description\" : \"Logo\", \"forDarkBackground\" : \"$logo\", \"forLightBackground\" : \"$logo\"}}}'", $output);
print_r($output);
Returns:
Code:
Array
(
    [0] => ---
    [1] => metadata:
    [2] =>   command: update_customizations
    [3] =>   output:
    [4] =>     warnings:
    [5] =>       - No entry found for 'colors'.
    [6] =>       - Invalid base64 found in 'forLightBackground'.
    [7] =>       - Invalid base64 found in 'forDarkBackground'.
    [8] =>   reason: OK
    [9] =>   result: 1
    [10] =>   version: 1
)
 

sunmacet

Active Member
Jan 24, 2009
26
8
53
cPanel Access Level
Root Administrator
The errors are still there but we got the image working. However it is really small.

We see that the CSS class logo gets height 25px from somewhere. When we remove that using browser inspect, our logo is shown correctly.
CSS:
.logo { /*constructed stylesheet*/
    width: auto;
    height: 25px;
}
How and where we can remove or fix the height for the logo CSS class?
 

cPRex

Jurassic Moderator
Staff member
Oct 19, 2014
10,360
1,628
363
cPanel Access Level
Root Administrator
Hey there! I spoke with the UI team just now and they are aware of the size limit on the logo. Making that area more freeform is part of future work on the interface, and while that is planned, I can't say for sure if it will be in 104 or 106.
 

sunmacet

Active Member
Jan 24, 2009
26
8
53
cPanel Access Level
Root Administrator
I see... No one thought that height: 25px would be really small? More freedom would happen just by removing that "height: 25px". Now we are stuck with that and can not change it any way? Can we hack some code to get this fixed?
 
  • Like
Reactions: serversaurus

tui

Well-Known Member
Jun 15, 2007
139
39
78
Mexico
cPanel Access Level
Root Administrator
Currently there isn't a way to change that. As we've mentioned in a few places, there will be MUCH more customization available for Jupiter in the near future as our team works on that.
And why you force us to use Jupiter if it is in a very early stage? Jupiter is NOT READY for production... a lot of things are missed, misplaced, patched, bugged, etc.
 

cPRex

Jurassic Moderator
Staff member
Oct 19, 2014
10,360
1,628
363
cPanel Access Level
Root Administrator
If you don't want to make the switch to Jupiter just yet you can stay on one of the more stable themes. Jupiter is only forced in version 102, which is only in Edge and Current at this time. LTS, Stable, and Release are all still using Paper Lantern.
 

hosthuski

Registered
Nov 3, 2021
3
3
3
Utah
cPanel Access Level
Root Administrator
Jupiter is not production ready. I am hoping you will allow us to use Paper-lantern until 104 or 106 (if that's when we will be able to actually do normal customizations to Jupiter).

Do we have a way to link our own help center into the solutions tab? If not, I want to be able to get rid of it. I do not like the Solutions tab. It steals customers from our panel and brings them to your website. Not helpful, ultimately because we sell a third-party email product and do not want customers getting confused about email services with the Getting Started email button.

Also, being able to customize the colors is nice... but not by API call. If there is a way to do CSS customizations to Jupiter, I'd settle for that until the customization interface is added. I don't care about changing the logo as much as removing solutions and softaculous tabs and changing colors is cool but not necessarily priority.
 

ambhm

Registered
Feb 28, 2022
2
0
1
Birmingham AL
cPanel Access Level
DataCenter Provider
What is the suggested method to get base encoding to work here? This file is 8600 lines when it wraps on default.

Using several different methods always results in an "Invalid base64 " message.

Code:
logo=$(base64 -w 0 /home/reseller/var/cpanel/reseller/brand/webmail.svg)
[email protected] [~]# curl -k -H"Authorization: whm reseller:APIKEY" \
>   'https://SERVER.EXAMPLE.net:2087/json-api/update_customizations?api.version=1' \
>   --data-urlencode 'application=cpanel' \
>   --data-urlencode 'theme=jupiter' \
>   --data-urlencode 'brand={"brand" : {"logo": {"description" : "description","forDarkBackground" : "$logo","forLightBackground" : "$logo"}}}'
{"metadata":{"result":1,"reason":"OK","version":1,"output":{"warnings":["No entry found for 'colors'.","Invalid base64 found in 'forLightBackground'.","Invalid base64 found in 'forDarkBackground'."]},"command":"update_customizations"}}
 

ambhm

Registered
Feb 28, 2022
2
0
1
Birmingham AL
cPanel Access Level
DataCenter Provider
@ambhm - can you get me more details on what you're trying to change and which file you're editing?
Trying to update the cPanel and webmail logos in Jupiter v 102. The customer uploaded the file via WHM, so it is located at: /home/reseller/var/cpanel/reseller/brand/webmail.svg

The API request for the description is successful, but the base64 error seems to prevent the new image from updating. What method for base64 encoding and updating these files is recommended?
 

cPRex

Jurassic Moderator
Staff member
Oct 19, 2014
10,360
1,628
363
cPanel Access Level
Root Administrator
I'm not finding out much about that particular error on my end. I do know we have much more customization planned in version 102, and features are being added before that goes to the Release tier.

If you'd like to make a ticket to have our team look into that we'd be happy to examine that particular system.
 
Apr 20, 2018
5
1
1
Brazil
cPanel Access Level
DataCenter Provider
I am also getting same error trying to upload a new logo to Jupiter. Always say "Invalid base64".

Below are the steps I did. Please let us know how to properly use this process to upload a simple logo!

1- Created my logo at Corel Draw and exported to SVG;
2- Converted the SVG file to base64 using Base64 Encode and Decode - Online website to convert to a base64 code
3- Inserted the code into "forLightBackground" and "forDarkBackground" code spaces and hit enter. Not working.

This is the code I am trying to customize Jupiter:
whmapi1 update_customizations application=cpanel theme="jupiter" brand='{"brand" : {"colors" : {"accent" : "#FF0000","primary" : "#FFCC00"},"logo" : {"description" : "Logo Goes Here", "forDarkBackground" : "base64codehere", "forLightBackground" : "base64codehere"}}}'
 
Apr 20, 2018
5
1
1
Brazil
cPanel Access Level
DataCenter Provider
I managed to post the image into Jupiter after all... Below are the steps I did to have it done. But the error when used the API continued, but it worked anyway.

1 - Save the image as SVG;
2 - Access the Base64 Encode and Decode - Online and paste the SVG file code in it and code it as base64. (edit it with notepad to get the code of SVG)
3 - With the website above new code, paste it into the new website: URL Encode and Decode - Online , to URL encode the base 64 code!
4 - Paste the code generated into step 3 in the fields of code in example below.

whmapi1 update_customizations application=cpanel theme="jupiter" brand='{"brand" : {"colors" : {"accent" : "#FF0000","primary" : "#000000"},"logo" : {"description" : "Logo Description", "forDarkBackground" : "base64_whitelogo_codehere", "forLightBackground" : "base64_blacklogo_codehere"}}}'

*Make sure you use your own colors in accent and primary, or remove them if you dont need to change it.

I hope it helps!

Regards