Improve sidebar blocks - refs BT#12955

pull/2487/head
Angel Fernando Quiroz Campos 8 years ago
parent 77e0218f04
commit f5c5740942
  1. 5
      app/Resources/public/css/base.css
  2. 311
      main/inc/lib/userportal.lib.php

@ -3854,9 +3854,8 @@ i.size-32.icon-new-work{
color: #666;
}
/* Items menus sidebar */
.sidebar .nav li a img{
vertical-align: middle;
margin-right: 5px;
.sidebar .fa-ul li{
line-height: 25px;
}
.social-network-menu .nav li a, #groups-acordeon .nav li a{
padding: 5px;

@ -376,70 +376,56 @@ class IndexManager
*/
public function return_skills_links()
{
$content = '<ul class="nav nav-pills nav-stacked">';
$certificatesItem = '';
if (!api_is_anonymous()) {
$allow = api_get_configuration_value('hide_my_certificate_link');
if ($allow === false) {
$certificatesItem = Display::tag(
'li',
Display::url(
Display::return_icon('graduation.png', get_lang('MyCertificates')).get_lang('MyCertificates'),
api_get_path(WEB_CODE_PATH)."gradebook/my_certificates.php"
)
);
}
$items = [];
$certificatesItem = [];
if (!api_is_anonymous() && api_get_configuration_value('hide_my_certificate_link') === false) {
$certificatesItem = [
'icon' => Display::return_icon('graduation.png', get_lang('MyCertificates')),
'link' => api_get_path(WEB_CODE_PATH).'gradebook/my_certificates.php',
'title' => get_lang('MyCertificates')
];
}
$searchItem = '';
$searchItem = [];
if (api_get_setting('allow_public_certificates') == 'true') {
$searchItem = Display::tag(
'li',
Display::url(
Display::return_icon('search_graduation.png', get_lang('Search')).get_lang('Search'),
api_get_path(WEB_CODE_PATH)."gradebook/search.php"
)
);
$searchItem = [
'icon' => Display::return_icon('search_graduation.png', get_lang('Search')),
'link' => api_get_path(WEB_CODE_PATH).'gradebook/search.php',
'title' => get_lang('Search')
];
}
if (empty($certificatesItem) && empty($searchItem)) {
return '';
} else {
$content .= $certificatesItem;
$content .= $searchItem;
$items[] = $certificatesItem;
$items[] = $searchItem;
}
if (api_get_setting('allow_skills_tool') == 'true') {
$content .= Display::tag(
'li',
Display::url(
Display::return_icon('skill-badges.png', get_lang('MySkills')).get_lang('MySkills'),
api_get_path(WEB_CODE_PATH).'social/my_skills_report.php'
)
);
$items[] = [
'icon' => Display::return_icon('skill-badges.png', get_lang('MySkills')),
'link' => api_get_path(WEB_CODE_PATH).'social/my_skills_report.php',
'title' => get_lang('MySkills')
];
$allowSkillsManagement = api_get_setting('allow_hr_skills_management') == 'true';
if (($allowSkillsManagement && api_is_drh()) || api_is_platform_admin()) {
$content .= Display::tag(
'li',
Display::url(
Display::return_icon('edit-skill.png', get_lang('MySkills')).get_lang('ManageSkills'),
api_get_path(WEB_CODE_PATH).'admin/skills_wheel.php'
)
);
$items[] = [
'icon' => Display::return_icon('edit-skill.png', get_lang('MySkills')),
'link' => api_get_path(WEB_CODE_PATH).'admin/skills_wheel.php',
'title' => get_lang('ManageSkills')
];
}
}
$content .= '</ul>';
$html = self::show_right_block(
return self::show_right_block(
get_lang("Skills"),
$content,
self::returnRightBlockItems($items),
'skill_block',
null,
'skills',
'skillsCollapse'
);
return $html;
}
/**
@ -778,7 +764,7 @@ class IndexManager
* @param string $idCollapse
* @return string
*/
public function show_right_block(
public function show_right_block(
$title,
$content,
$id = '',
@ -847,32 +833,34 @@ class IndexManager
*/
public function return_classes_block()
{
$html = '';
if (api_get_setting('show_groups_to_users') === 'true') {
$usergroup = new UserGroup();
$usergroup_list = $usergroup->get_usergroup_by_user(api_get_user_id());
$classes = '';
if (!empty($usergroup_list)) {
foreach ($usergroup_list as $group_id) {
$data = $usergroup->get($group_id);
$data['name'] = Display::url(
$data['name'],
api_get_path(WEB_CODE_PATH).'user/classes.php?id='.$data['id']
);
$classes .= Display::tag('li', $data['name']);
}
}
if (api_is_platform_admin()) {
$classes .= Display::tag(
'li',
Display::url(get_lang('AddClasses'), api_get_path(WEB_CODE_PATH).'admin/usergroups.php?action=add')
);
}
if (!empty($classes)) {
$classes = Display::tag('ul', $classes, array('class' => 'nav nav-pills nav-stacked'));
$html .= self::show_right_block(get_lang('Classes'), $classes, 'classes_block');
if (api_get_setting('show_groups_to_users') !== 'true') {
return '';
}
$usergroup = new UserGroup();
$usergroup_list = $usergroup->get_usergroup_by_user(api_get_user_id());
$items = [];
if (!empty($usergroup_list)) {
foreach ($usergroup_list as $group_id) {
$data = $usergroup->get($group_id);
$items[] = [
'link' => api_get_path(WEB_CODE_PATH).'user/classes.php?id='.$data['id'],
'title' => $data['name']
];
}
}
if (api_is_platform_admin()) {
$items[] = [
'link' => api_get_path(WEB_CODE_PATH).'admin/usergroups.php?action=add',
'title' => get_lang('AddClasses')
];
}
$html = self::show_right_block(
get_lang('Classes'),
self::returnRightBlockItems($items),
'classes_block'
);
return $html;
}
@ -918,8 +906,8 @@ class IndexManager
return;
}
$items = [];
$userGroup = new UserGroup();
$profile_content = '<ul class="nav nav-pills nav-stacked">';
// @todo Add a platform setting to add the user image.
if (api_get_setting('allow_message_tool') == 'true') {
@ -944,54 +932,60 @@ class IndexManager
if (api_get_setting('allow_social_tool') == 'true') {
$link = '?f=social';
}
$profile_content .= '<li class="inbox-message-social"><a href="'.api_get_path(WEB_PATH).'main/messages/inbox.php'.$link.'">'
.Display::return_icon('inbox.png', get_lang('Inbox'))
.get_lang('Inbox').$cant_msg.' </a></li>';
$profile_content .= '<li class="new-message-social"><a href="'.api_get_path(WEB_PATH).'main/messages/new_message.php'.$link.'">'
.Display::return_icon('new-message.png', get_lang('Compose'))
.get_lang('Compose').' </a></li>';
$items[] = [
'class' => 'inbox-message-social',
'icon' => Display::return_icon('inbox.png', get_lang('Inbox')),
'link' => api_get_path(WEB_PATH).'main/messages/inbox.php'.$link,
'title' => get_lang('Inbox').$cant_msg
];
$items[] = [
'class' => 'new-message-social',
'icon' => Display::return_icon('new-message.png', get_lang('Compose')),
'link' => api_get_path(WEB_PATH).'main/messages/new_message.php'.$link,
'title' => get_lang('Compose')
];
if (api_get_setting('allow_social_tool') == 'true') {
$total_invitations = Display::badge($total_invitations);
$profile_content .= '<li class="invitations-social"><a href="'.api_get_path(WEB_PATH).'main/social/invitations.php">'
.Display::return_icon('invitations.png', get_lang('PendingInvitations'))
.get_lang('PendingInvitations').$total_invitations.'</a></li>';
$items[] = [
'class' => 'invitations-social',
'icon' => Display::return_icon('invitations.png', get_lang('PendingInvitations')),
'link' => api_get_path(WEB_PATH).'main/social/invitations.php',
'title' => get_lang('PendingInvitations').$total_invitations
];
}
if (isset($_configuration['allow_my_files_link_in_homepage']) && $_configuration['allow_my_files_link_in_homepage']) {
$myFiles = '<li class="myfiles-social"><a href="'.api_get_path(WEB_PATH).'main/social/myfiles.php">'
.Display::return_icon('sn-files.png', get_lang('Files'))
.get_lang('MyFiles').'</a></li>';
if (api_get_setting('allow_my_files') === 'false') {
$myFiles = '';
if (api_get_setting('allow_my_files') !== 'false') {
$items[] = [
'class' => 'myfiles-social',
'icon' => Display::return_icon('sn-files.png', get_lang('Files')),
'link' => api_get_path(WEB_PATH).'main/social/myfiles.php',
'title' => get_lang('MyFiles')
];
}
$profile_content .= $myFiles;
}
}
$editProfileUrl = Display::getProfileEditionLink($user_id);
$profile_content .= '<li class="profile-social"><a href="'.$editProfileUrl.'">'
.Display::return_icon('edit-profile.png', get_lang('EditProfile'))
.get_lang('EditProfile').'</a></li>';
$items[] = [
'class' => 'profile-social',
'icon' => Display::return_icon('edit-profile.png', get_lang('EditProfile')),
'link' => Display::getProfileEditionLink($user_id),
'title' => get_lang('EditProfile')
];
if (api_get_configuration_value('show_link_request_hrm_user') && api_is_drh()) {
$label = get_lang('RequestLinkingToUser');
$icon = Display::return_icon('new_group.png', $label);
$profile_content .= '<li>'
.Display::url(
$icon.$label,
api_get_path(WEB_CODE_PATH).'social/require_user_linking.php'
)
.'</li>';
$items[] = [
'icon' => Display::return_icon('new_group.png', $label),
'link' => api_get_path(WEB_CODE_PATH).'social/require_user_linking.php',
'title' => $label
];
}
$profile_content .= '</ul>';
$html = self::show_right_block(
get_lang('Profile'),
$profile_content,
self::returnRightBlockItems($items),
'profile_block',
null,
'profile',
@ -1055,7 +1049,6 @@ class IndexManager
*/
public function return_course_block()
{
$html = '';
$show_create_link = false;
$show_course_link = false;
if (api_is_allowed_to_create_course()) {
@ -1066,75 +1059,109 @@ class IndexManager
$show_course_link = true;
}
// My account section
$my_account_content = '<ul class="nav nav-pills nav-stacked">';
$items = [];
// My account section
if ($show_create_link) {
$my_account_content .= '<li class="add-course"><a href="main/create_course/add_course.php">';
if (api_get_setting('course_validation') == 'true' && !api_is_platform_admin()) {
$my_account_content .= Display::return_icon('new-course.png', get_lang('CreateCourseRequest'));
$my_account_content .= get_lang('CreateCourseRequest');
$items[] = [
'class' => 'add-course',
'icon' => Display::return_icon('new-course.png', get_lang('CreateCourseRequest')),
'link' => 'main/create_course/add_course.php',
'title' => get_lang('CreateCourseRequest')
];
} else {
$my_account_content .= Display::return_icon('new-course.png', get_lang('CourseCreate'));
$my_account_content .= get_lang('CourseCreate');
$items[] = [
'class' => 'add-course',
'icon' => Display::return_icon('new-course.png', get_lang('CourseCreate')),
'link' => 'main/create_course/add_course.php',
'title' => get_lang('CourseCreate')
];
}
$my_account_content .= '</a></li>';
if (SessionManager::allowToManageSessions()) {
$my_account_content .= '<li class="add-course"><a href="main/session/session_add.php">';
$my_account_content .= Display::return_icon('session.png', get_lang('AddSession'));
$my_account_content .= get_lang('AddSession');
$my_account_content .= '</a></li>';
$items[] = [
'class' => 'add-course',
'icon' => Display::return_icon('session.png', get_lang('AddSession')),
'link' => 'main/session/session_add.php',
'title' => get_lang('AddSession')
];
}
}
// Sort courses
$url = api_get_path(WEB_CODE_PATH).'auth/courses.php?action=sortmycourses';
$img_order = Display::return_icon('order-course.png', get_lang('SortMyCourses'));
$my_account_content .= '<li class="order-course">'.
Display::url(
$img_order.get_lang('SortMyCourses'),
$url,
array('class' => 'sort course')
).
'</li>';
$items[] = [
'class' => 'order-course',
'icon' => Display::return_icon('order-course.png', get_lang('SortMyCourses')),
'link' => api_get_path(WEB_CODE_PATH).'auth/courses.php?action=sortmycourses',
'title' => get_lang('SortMyCourses')
];
// Session history
if (isset($_GET['history']) && intval($_GET['history']) == 1) {
$my_account_content .= '<li class="history-course"><a href="user_portal.php">'
.Display::return_icon('history-course.png', get_lang('DisplayTrainingList'))
.get_lang('DisplayTrainingList').'</a></li>';
$items[] = [
'class' => 'history-course',
'icon' => Display::return_icon('history-course.png', get_lang('DisplayTrainingList')),
'link' => 'user_portal.php',
'title' => get_lang('DisplayTrainingList')
];
} else {
$my_account_content .= '<li class="history-course"><a href="user_portal.php?history=1">'
.Display::return_icon('history-course.png', get_lang('HistoryTrainingSessions'))
.get_lang('HistoryTrainingSessions').'</a></li>';
$items[] = [
'class' => 'history-course',
'icon' => Display::return_icon('history-course.png', get_lang('HistoryTrainingSessions')),
'link' => 'user_portal.php?history=1',
'title' => get_lang('HistoryTrainingSessions')
];
}
// Course catalog
if ($show_course_link) {
if (!api_is_drh()) {
$my_account_content .= '<li class="list-course"><a href="main/auth/courses.php">'
.Display::return_icon('catalog-course.png', get_lang('CourseCatalog'))
.get_lang('CourseCatalog').'</a></li>';
$items[] = [
'class' => 'list-course',
'icon' => Display::return_icon('catalog-course.png', get_lang('CourseCatalog')),
'link' => 'main/auth/courses.php',
'title' => get_lang('CourseCatalog')
];
} else {
$my_account_content .= '<li><a href="main/dashboard/index.php">'.get_lang('Dashboard').'</a></li>';
$items[] = [
'link' => 'main/dashboard/index.php',
'title' => get_lang('Dashboard')
];
}
}
$my_account_content .= '</ul>';
return self::show_right_block(
get_lang('Courses'),
self::returnRightBlockItems($items),
'course_block',
null,
'course',
'courseCollapse'
);
}
if (!empty($my_account_content)) {
$html = self::show_right_block(
get_lang('Courses'),
$my_account_content,
'course_block',
null,
'course',
'courseCollapse'
);
/**
* Generate the HTML code for items when displaying the right-side blocks
* @param array $items
* @return string
*/
private static function returnRightBlockItems(array $items)
{
$my_account_content = '';
foreach ($items as $item) {
if (empty($item['link']) && empty($item['title'])) {
continue;
}
$my_account_content .= '<li class="'.(empty($item['class']) ? '' : $item['class']).'">'
.(empty($item['icon']) ? '' : '<i class="fa-li fa">'.$item['icon'].'</i>')
.'<a href="'.$item['link'].'">'.$item['title'].'</a>'
.'</li>';
}
return $html;
return '<ul class="fa-ul">'.$my_account_content.'</ul>';
}
/**

Loading…
Cancel
Save