Add extra icons for login apps content

This commit is contained in:
Hadi Nategh 2021-05-07 12:15:20 +02:00
parent 4261922728
commit a2d182c11a
9 changed files with 51 additions and 11 deletions

View File

@ -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');
});
}); });
}); });

View File

@ -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++;

View File

@ -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);
} }

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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

View File

@ -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;