forked from extern/egroupware
Add extra icons for login apps content
This commit is contained in:
parent
4261922728
commit
a2d182c11a
@ -74,6 +74,10 @@ egw_LAB.wait(function()
|
|||||||
});
|
});
|
||||||
//cleanup darkmode session value
|
//cleanup darkmode session value
|
||||||
egw.setSessionItem('api', 'darkmode','');
|
egw.setSessionItem('api', 'darkmode','');
|
||||||
|
|
||||||
|
jQuery(".tooltip", "#login_footer").on('click', function(e){
|
||||||
|
if (e.target == this) window.open(this.getElementsByTagName('a')[0].href, 'blank');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -304,12 +304,9 @@ class Login
|
|||||||
*/
|
*/
|
||||||
static function get_apps_node()
|
static function get_apps_node()
|
||||||
{
|
{
|
||||||
if (!($json = Api\Cache::getCache(Api\Cache::TREE, __CLASS__, 'egw_login_json')))
|
if (true||!($json = Api\Cache::getCache(Api\Cache::TREE, __CLASS__, 'egw_login_json')))
|
||||||
{
|
{
|
||||||
$json = file_get_contents('https://www.egroupware.org/pixelegg/login/login.json',
|
$json = file_get_contents('pixelegg/login/login.json');
|
||||||
false, Api\Framework::proxy_context());
|
|
||||||
// Fallback login.json
|
|
||||||
if (!$json) $json = file_get_contents('pixelegg/login/login.json');
|
|
||||||
// Cache the json object for a day
|
// Cache the json object for a day
|
||||||
Api\Cache::setCache(Api\Cache::TREE, __CLASS__, 'egw_login_json', $json, 86400);
|
Api\Cache::setCache(Api\Cache::TREE, __CLASS__, 'egw_login_json', $json, 86400);
|
||||||
}
|
}
|
||||||
@ -321,14 +318,19 @@ class Login
|
|||||||
foreach ($data['apps'] as $app)
|
foreach ($data['apps'] as $app)
|
||||||
{
|
{
|
||||||
$icon = strpos($app['icon'], "/") === 0 ? $GLOBALS['egw_info']['server']['webserver_url'].$app['icon'] : $app['icon'];
|
$icon = strpos($app['icon'], "/") === 0 ? $GLOBALS['egw_info']['server']['webserver_url'].$app['icon'] : $app['icon'];
|
||||||
|
$icon2 = strpos($app['icon2'], "/") === 0 ? $GLOBALS['egw_info']['server']['webserver_url'].$app['icon2'] : $app['icon2'];
|
||||||
|
$icon3 = strpos($app['icon3'], "/") === 0 ? $GLOBALS['egw_info']['server']['webserver_url'].$app['icon3'] : $app['icon3'];
|
||||||
$title = lang($app['title']);
|
$title = lang($app['title']);
|
||||||
$nodes .= '<div class="app" style="animation:login-apps '.$counter*0.1.'s ease-out">'
|
$nodes .= '<div class="app" style="animation:login-apps '.$counter*0.1.'s ease-out">'
|
||||||
.'<img class="icon" src="'.htmlspecialchars($icon).'"/>'
|
.'<a href="'.htmlspecialchars($app['url']).'" title="'.htmlspecialchars($title).'" class="" target="blank">'
|
||||||
|
.'<img class="icon" src="'.htmlspecialchars($icon).'"/></a>'
|
||||||
.'<div class="tooltip">'
|
.'<div class="tooltip">'
|
||||||
.'<div class="content">'
|
.'<div class="content">'
|
||||||
.'<h3><a href="'.htmlspecialchars($app['url']).'" title="'.htmlspecialchars($title).'" target="blank">'
|
.'<h3><a href="'.htmlspecialchars($app['url']).'" title="'.htmlspecialchars($title).'" target="blank">'
|
||||||
.htmlspecialchars($title).'</a></h3>'
|
.htmlspecialchars($title).'</a></h3>'
|
||||||
.'<img class="icon-bg" src="'.htmlspecialchars($icon).'"/>'
|
.'<img class="icon-bg" src="'.htmlspecialchars($icon).'"/>'
|
||||||
|
.'<img class="icon-bg icon2-bg" src="'.htmlspecialchars($icon2).'"/>'
|
||||||
|
.'<img class="icon-bg icon3-bg" src="'.htmlspecialchars($icon3).'"/>'
|
||||||
.'<p>'.htmlspecialchars($app['desc']).'</p><div class="arrow"></div>'
|
.'<p>'.htmlspecialchars($app['desc']).'</p><div class="arrow"></div>'
|
||||||
.'</div></div></div>';
|
.'</div></div></div>';
|
||||||
$counter++;
|
$counter++;
|
||||||
|
@ -120,10 +120,7 @@ class Tutorial
|
|||||||
{
|
{
|
||||||
if (!($json = Api\Cache::getCache(Api\Cache::TREE, __CLASS__, 'egw_tutorial_json')))
|
if (!($json = Api\Cache::getCache(Api\Cache::TREE, __CLASS__, 'egw_tutorial_json')))
|
||||||
{
|
{
|
||||||
$json = file_get_contents('https://www.egroupware.org/videos/tutorials.json',
|
$json = file_get_contents('api/setup/tutorials.json');
|
||||||
false, Api\Framework::proxy_context());
|
|
||||||
// Fallback tutorials.json
|
|
||||||
if (!$json) $json = file_get_contents('api/setup/tutorials.json');
|
|
||||||
// Cache the json object for two hours
|
// Cache the json object for two hours
|
||||||
Api\Cache::setCache(Api\Cache::TREE, __CLASS__, 'egw_tutorial_json', $json, 7200);
|
Api\Cache::setCache(Api\Cache::TREE, __CLASS__, 'egw_tutorial_json', $json, 7200);
|
||||||
}
|
}
|
||||||
|
@ -2075,6 +2075,7 @@ div#loginMainDiv.stockLoginBackground div#centerBox form {
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
height: 34px;
|
height: 34px;
|
||||||
width: 30px;
|
width: 30px;
|
||||||
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
#loginMainDiv div#login_footer .apps .tooltip .content {
|
#loginMainDiv div#login_footer .apps .tooltip .content {
|
||||||
min-width: 350px;
|
min-width: 350px;
|
||||||
@ -2097,6 +2098,7 @@ div#loginMainDiv.stockLoginBackground div#centerBox form {
|
|||||||
transition: opacity 0.8s;
|
transition: opacity 0.8s;
|
||||||
border: 1px solid #1865aa;
|
border: 1px solid #1865aa;
|
||||||
border-bottom: 6px solid #1865aa;
|
border-bottom: 6px solid #1865aa;
|
||||||
|
cursor: default;
|
||||||
}
|
}
|
||||||
#loginMainDiv div#login_footer .apps .tooltip .content img.icon-bg {
|
#loginMainDiv div#login_footer .apps .tooltip .content img.icon-bg {
|
||||||
width: 35px;
|
width: 35px;
|
||||||
@ -2105,6 +2107,12 @@ div#loginMainDiv.stockLoginBackground div#centerBox form {
|
|||||||
right: 15px;
|
right: 15px;
|
||||||
top: 15px;
|
top: 15px;
|
||||||
}
|
}
|
||||||
|
#loginMainDiv div#login_footer .apps .tooltip .content img.icon2-bg {
|
||||||
|
right: 55px;
|
||||||
|
}
|
||||||
|
#loginMainDiv div#login_footer .apps .tooltip .content img.icon3-bg {
|
||||||
|
right: 90px;
|
||||||
|
}
|
||||||
#loginMainDiv div#login_footer .apps .tooltip .content h3 {
|
#loginMainDiv div#login_footer .apps .tooltip .content h3 {
|
||||||
height: 30px;
|
height: 30px;
|
||||||
border-bottom: 1px solid #d9e4ed;
|
border-bottom: 1px solid #d9e4ed;
|
||||||
|
@ -2055,6 +2055,7 @@ div#loginMainDiv.stockLoginBackground div#centerBox form {
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
height: 34px;
|
height: 34px;
|
||||||
width: 30px;
|
width: 30px;
|
||||||
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
#loginMainDiv div#login_footer .apps .tooltip .content {
|
#loginMainDiv div#login_footer .apps .tooltip .content {
|
||||||
min-width: 350px;
|
min-width: 350px;
|
||||||
@ -2077,6 +2078,7 @@ div#loginMainDiv.stockLoginBackground div#centerBox form {
|
|||||||
transition: opacity 0.8s;
|
transition: opacity 0.8s;
|
||||||
border: 1px solid #1865aa;
|
border: 1px solid #1865aa;
|
||||||
border-bottom: 6px solid #1865aa;
|
border-bottom: 6px solid #1865aa;
|
||||||
|
cursor: default;
|
||||||
}
|
}
|
||||||
#loginMainDiv div#login_footer .apps .tooltip .content img.icon-bg {
|
#loginMainDiv div#login_footer .apps .tooltip .content img.icon-bg {
|
||||||
width: 35px;
|
width: 35px;
|
||||||
@ -2085,6 +2087,12 @@ div#loginMainDiv.stockLoginBackground div#centerBox form {
|
|||||||
right: 15px;
|
right: 15px;
|
||||||
top: 15px;
|
top: 15px;
|
||||||
}
|
}
|
||||||
|
#loginMainDiv div#login_footer .apps .tooltip .content img.icon2-bg {
|
||||||
|
right: 55px;
|
||||||
|
}
|
||||||
|
#loginMainDiv div#login_footer .apps .tooltip .content img.icon3-bg {
|
||||||
|
right: 90px;
|
||||||
|
}
|
||||||
#loginMainDiv div#login_footer .apps .tooltip .content h3 {
|
#loginMainDiv div#login_footer .apps .tooltip .content h3 {
|
||||||
height: 30px;
|
height: 30px;
|
||||||
border-bottom: 1px solid #d9e4ed;
|
border-bottom: 1px solid #d9e4ed;
|
||||||
|
@ -2065,6 +2065,7 @@ div#loginMainDiv.stockLoginBackground div#centerBox form {
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
height: 34px;
|
height: 34px;
|
||||||
width: 30px;
|
width: 30px;
|
||||||
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
#loginMainDiv div#login_footer .apps .tooltip .content {
|
#loginMainDiv div#login_footer .apps .tooltip .content {
|
||||||
min-width: 350px;
|
min-width: 350px;
|
||||||
@ -2087,6 +2088,7 @@ div#loginMainDiv.stockLoginBackground div#centerBox form {
|
|||||||
transition: opacity 0.8s;
|
transition: opacity 0.8s;
|
||||||
border: 1px solid #1865aa;
|
border: 1px solid #1865aa;
|
||||||
border-bottom: 6px solid #1865aa;
|
border-bottom: 6px solid #1865aa;
|
||||||
|
cursor: default;
|
||||||
}
|
}
|
||||||
#loginMainDiv div#login_footer .apps .tooltip .content img.icon-bg {
|
#loginMainDiv div#login_footer .apps .tooltip .content img.icon-bg {
|
||||||
width: 35px;
|
width: 35px;
|
||||||
@ -2095,6 +2097,12 @@ div#loginMainDiv.stockLoginBackground div#centerBox form {
|
|||||||
right: 15px;
|
right: 15px;
|
||||||
top: 15px;
|
top: 15px;
|
||||||
}
|
}
|
||||||
|
#loginMainDiv div#login_footer .apps .tooltip .content img.icon2-bg {
|
||||||
|
right: 55px;
|
||||||
|
}
|
||||||
|
#loginMainDiv div#login_footer .apps .tooltip .content img.icon3-bg {
|
||||||
|
right: 90px;
|
||||||
|
}
|
||||||
#loginMainDiv div#login_footer .apps .tooltip .content h3 {
|
#loginMainDiv div#login_footer .apps .tooltip .content h3 {
|
||||||
height: 30px;
|
height: 30px;
|
||||||
border-bottom: 1px solid #d9e4ed;
|
border-bottom: 1px solid #d9e4ed;
|
||||||
|
@ -200,6 +200,7 @@ div#loginMainDiv.stockLoginBackground {
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
height: 34px;
|
height: 34px;
|
||||||
width: 30px;
|
width: 30px;
|
||||||
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
.tooltip .content {
|
.tooltip .content {
|
||||||
min-width: 350px;
|
min-width: 350px;
|
||||||
@ -222,6 +223,7 @@ div#loginMainDiv.stockLoginBackground {
|
|||||||
transition: opacity 0.8s;
|
transition: opacity 0.8s;
|
||||||
border: 1px solid #1865aa;
|
border: 1px solid #1865aa;
|
||||||
border-bottom: 6px solid #1865aa;
|
border-bottom: 6px solid #1865aa;
|
||||||
|
cursor: default;
|
||||||
img.icon-bg {
|
img.icon-bg {
|
||||||
width: 35px;
|
width: 35px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -229,7 +231,8 @@ div#loginMainDiv.stockLoginBackground {
|
|||||||
right: 15px;
|
right: 15px;
|
||||||
top: 15px;
|
top: 15px;
|
||||||
}
|
}
|
||||||
|
img.icon2-bg {right: 55px;}
|
||||||
|
img.icon3-bg {right: 90px;}
|
||||||
h3 {
|
h3 {
|
||||||
height: 30px;
|
height: 30px;
|
||||||
border-bottom: 1px solid #d9e4ed;
|
border-bottom: 1px solid #d9e4ed;
|
||||||
|
File diff suppressed because one or more lines are too long
@ -2086,6 +2086,7 @@ div#loginMainDiv.stockLoginBackground div#centerBox form {
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
height: 34px;
|
height: 34px;
|
||||||
width: 30px;
|
width: 30px;
|
||||||
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
#loginMainDiv div#login_footer .apps .tooltip .content {
|
#loginMainDiv div#login_footer .apps .tooltip .content {
|
||||||
min-width: 350px;
|
min-width: 350px;
|
||||||
@ -2108,6 +2109,7 @@ div#loginMainDiv.stockLoginBackground div#centerBox form {
|
|||||||
transition: opacity 0.8s;
|
transition: opacity 0.8s;
|
||||||
border: 1px solid #1865aa;
|
border: 1px solid #1865aa;
|
||||||
border-bottom: 6px solid #1865aa;
|
border-bottom: 6px solid #1865aa;
|
||||||
|
cursor: default;
|
||||||
}
|
}
|
||||||
#loginMainDiv div#login_footer .apps .tooltip .content img.icon-bg {
|
#loginMainDiv div#login_footer .apps .tooltip .content img.icon-bg {
|
||||||
width: 35px;
|
width: 35px;
|
||||||
@ -2116,6 +2118,12 @@ div#loginMainDiv.stockLoginBackground div#centerBox form {
|
|||||||
right: 15px;
|
right: 15px;
|
||||||
top: 15px;
|
top: 15px;
|
||||||
}
|
}
|
||||||
|
#loginMainDiv div#login_footer .apps .tooltip .content img.icon2-bg {
|
||||||
|
right: 55px;
|
||||||
|
}
|
||||||
|
#loginMainDiv div#login_footer .apps .tooltip .content img.icon3-bg {
|
||||||
|
right: 90px;
|
||||||
|
}
|
||||||
#loginMainDiv div#login_footer .apps .tooltip .content h3 {
|
#loginMainDiv div#login_footer .apps .tooltip .content h3 {
|
||||||
height: 30px;
|
height: 30px;
|
||||||
border-bottom: 1px solid #d9e4ed;
|
border-bottom: 1px solid #d9e4ed;
|
||||||
|
Loading…
Reference in New Issue
Block a user