Minor - fix div panels, improve UI because bootstrap 4

pull/2650/head
Julio Montoya 7 years ago
parent ea927109c9
commit 39d3dd709c
  1. 1
      main/course_description/course_description_controller.php
  2. 55
      main/course_info/infocours.php
  3. 41
      main/inc/lib/display.lib.php
  4. 28
      main/inc/lib/formvalidator/FormValidator.class.php
  5. 12
      main/inc/lib/social.lib.php
  6. 2
      main/social/home.php
  7. 9
      main/template/default/admin/settings_index.html.twig
  8. 3
      main/template/default/social/edit_profile.html.twig
  9. 1
      main/template/default/social/group_block.html.twig
  10. 58
      main/template/default/social/home.html.twig
  11. 158
      main/template/default/social/user_block.html.twig
  12. 9
      src/CoreBundle/Menu/LeftMenuBuilder.php
  13. 3
      src/ThemeBundle/Resources/views/Layout/base-layout.html.twig
  14. 46
      src/ThemeBundle/Resources/views/Layout/layout_one_col.html.twig
  15. 116
      src/ThemeBundle/Resources/views/Layout/layout_two_col.html.twig
  16. 10
      src/ThemeBundle/Resources/views/Macros/box.html.twig
  17. 8
      src/ThemeBundle/Resources/views/Sidebar/left_menu.html.twig

@ -119,6 +119,7 @@ class CourseDescriptionController
$tpl->assign('is_allowed_to_edit', $is_allowed_to_edit);
$tpl->assign('actions', $actions);
$tpl->assign('session_id', $session_id);
$tpl->assign('c_id', api_get_course_int_id());
$templateName = $tpl->get_template('course_description/index.tpl');
$content = $tpl->fetch($templateName);
$tpl->assign('content', $content);

@ -349,26 +349,9 @@ $form->addPanelOption(
);
// EMAIL NOTIFICATIONS
$form->addHtml('<div class="panel panel-default">');
$form->addHtml('
<div class="panel-heading" role="tab" id="heading-email-notifications">
<h4 class="panel-title">
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion"
href="#collapse-email-notifications" aria-expanded="false" aria-controls="collapse-email-notifications">
');
$form->addHtml(
Display::return_icon('mail.png', get_lang('EmailNotifications')).' '.get_lang('EmailNotifications')
);
$form->addHtml('
</a>
</h4>
</div>
');
$form->addHtml('
<div id="collapse-email-notifications" class="panel-collapse collapse" role="tabpanel"
aria-labelledby="heading-email-notifications">
<div class="panel-body">
');
$globalGroup = [];
$group = [];
$group[] = $form->createElement(
'radio',
@ -391,7 +374,7 @@ $group[] = $form->createElement(
get_lang('NewUserEmailAlertDisable'),
0
);
$form->addGroup($group, '', [get_lang("NewUserEmailAlert")]);
$globalGroup[get_lang('NewUserEmailAlert')] = $group;
$group = [];
$group[] = $form->createElement(
@ -415,7 +398,8 @@ $group[] = $form->createElement(
get_lang('NewHomeworkEmailAlertDisable'),
0
);
$form->addGroup($group, '', [get_lang("NewHomeworkEmailAlert")]);
$globalGroup[get_lang('NewHomeworkEmailAlert')] = $group;
$group = [];
$group[] = $form->createElement(
@ -446,7 +430,8 @@ $group[] = $form->createElement(
get_lang('WorkEmailAlertDeactivate'),
0
);
$form->addGroup($group, '', [get_lang("WorkEmailAlert")]);
$globalGroup[get_lang('WorkEmailAlert')] = $group;
$group = [];
$group[] = $form->createElement(
@ -463,7 +448,8 @@ $group[] = $form->createElement(
get_lang('DropboxEmailAlertDeactivate'),
0
);
$form->addGroup($group, '', [get_lang("DropboxEmailAlert")]);
$globalGroup[get_lang('DropboxEmailAlert')] = $group;
// Exercises notifications
$emailAlerts = ExerciseLib::getNotificationSettings();
@ -478,7 +464,7 @@ foreach ($emailAlerts as $itemId => $label) {
);
}
$form->addGroup($group, '', [get_lang('Exercises')]);
$globalGroup[get_lang('Exercises')] = $group;
$group = [];
$group[] = $form->createElement(
@ -495,15 +481,18 @@ $group[] = $form->createElement(
get_lang('No'),
2
);
$form->addGroup($group, '', [get_lang("EmailToTeachersWhenNewWorkFeedback")]);
$form->addButtonSave(get_lang('SaveSettings'), 'submit_save');
$globalGroup[get_lang('EmailToTeachersWhenNewWorkFeedback')] = $group;
$myButton = $form->addButtonSave(get_lang('SaveSettings'), 'submit_save', true);
$globalGroup[] = $myButton;
$form->addPanelOption(
'email-notifications',
Display::return_icon('mail.png', get_lang('EmailNotifications')).' '.get_lang('EmailNotifications'),
$globalGroup
);
$form->addHtml('
</div>
</div>
');
$form->addHtml('</div>');
$group = [];
$group[] = $form->createElement(
@ -705,7 +694,7 @@ if ($exerciseInvisible === 'true' &&
0
),
];
$form->addGroup($group, '', [get_lang("ExerciseInvisibleInSession")]);
$form->addGroup($group, '', [get_lang('ExerciseInvisibleInSession')]);
}
if (is_settings_editable()) {

@ -2449,8 +2449,9 @@ class Display
$headerStyle = 'style = "color: white; background-color: '.$customColor.'" ';
}
$title = !empty($title) ? '<div class="panel-heading" '.$headerStyle.' ><h3 class="panel-title">'.$title.'</h3>'.$extra.'</div>' : '';
$footer = !empty($footer) ? '<div class="panel-footer">'.$footer.'</div>' : '';
//$title = !empty($title) ? '<div class="panel-heading" '.$headerStyle.' ><h3 class="panel-title">'.$title.'</h3>'.$extra.'</div>' : '';
$title = !empty($title) ? '<h4 class="card-header">'.$title.'</h4>'.$extra : '';
$footer = !empty($footer) ? '<div class="card-footer">'.$footer.'</div>' : '';
$typeList = ['primary', 'success', 'info', 'warning', 'danger'];
$style = !in_array($type, $typeList) ? 'default' : $type;
@ -2458,8 +2459,9 @@ class Display
$id = " id='$id'";
}
//<div '.$id.' class="panel panel-'.$style.'">
return '
<div '.$id.' class="panel panel-'.$style.'">
<div '.$id.' class="card">
'.$title.'
'.self::contentPanel($content).'
'.$footer.'
@ -2472,13 +2474,13 @@ class Display
*
* @return string
*/
public static function contentPanel($content)
public static function contentPanel($content): string
{
if (empty($content)) {
return '';
}
return '<div class="panel-body">'.$content.'</div>';
return '<div class="card-text">'.$content.'</div>';
}
/**
@ -2531,7 +2533,7 @@ class Display
});
}
$html = '<div id="'.$id.'" class="actions">';
$html = '<div id="'.$id.'" >';
$html .= '<div class="row">';
for ($i = 0; $i < $col; $i++) {
@ -2628,31 +2630,26 @@ class Display
$contentClass = 'panel-collapse collapse ';
$contentClass .= $open ? 'in' : '';
$ariaExpanded = $open ? 'true' : 'false';
$html = <<<HTML
<div class="panel-group" id="$idAccordion" role="tablist" aria-multiselectable="true">
<div class="panel panel-default" id="$id">
<div class="panel-heading" role="tab">
<h4 class="panel-title">
<a class="$headerClass" role="button" data-toggle="collapse" data-parent="#$idAccordion" href="#$idCollapse" aria-expanded="$ariaExpanded" aria-controls="$idCollapse">$title</a>
</h4>
</div>
<div id="$idCollapse" class="$contentClass" role="tabpanel">
<div class="panel-body">$content</div>
</div>
</div>
$html = <<<HTML
<div class="card" id="$id">
<div class="card-header">
$title
</div>
<div class="card-body">$content</div>
</div>
HTML;
} else {
if (!empty($id)) {
$params['id'] = $id;
}
$params['class'] = 'panel panel-default';
$params['class'] = 'card';
$html = null;
if (!empty($title)) {
$html .= '<div class="panel-heading">'.$title.'</div>'.PHP_EOL;
$html .= '<div class="card-header">'.$title.'</div>'.PHP_EOL;
}
$html .= '<div class="panel-body">'.$content.'</div>'.PHP_EOL;
$html .= '<div class="card-body">'.$content.'</div>'.PHP_EOL;
$html = self::div($html, $params);
}

@ -947,7 +947,7 @@ EOT;
*/
public function addPanelOption($name, $title, $groupList)
{
$this->addHtml('<div class="panel panel-default">');
/*$this->addHtml('<div class="panel panel-default">');
$this->addHtml(
'
<div class="panel-heading" role="tab" id="heading-'.$name.'-settings">
@ -975,6 +975,32 @@ EOT;
}
$this->addHtml('</div></div>');
$this->addHtml('</div>');*/
$this->addHtml('<div class="card">');
$this->addHtml(
'
<h4 class="card-header">
<a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion"
href="#collapse-'.$name.'-settings" aria-expanded="false" aria-controls="collapse-'.$name.'-settings">
'
);
$this->addHtml($title);
$this->addHtml('</a></h4>');
$this->addHtml('<div class="card-body">');
foreach ($groupList as $groupName => $group) {
// Add group array
if (!empty($groupName) && is_array($group)) {
$this->addGroup($group, '', $groupName);
}
// Add element
if ($group instanceof HTML_QuickForm_element) {
$this->addElement($group);
}
}
$this->addHtml('</div>');
$this->addHtml('</div>');
}

@ -940,7 +940,7 @@ class SocialManager extends UserManager
$show,
['shared_profile', 'groups', 'group_edit', 'member_list', 'waiting_list', 'invite_friends']
)) {
$links = '<ul class="nav nav-pills nav-stacked">';
$links = '<ul class="nav navbar-nav">';
$active = $show == 'home' ? 'active' : null;
$links .= '
<li class="home-icon '.$active.'">
@ -1052,7 +1052,7 @@ class SocialManager extends UserManager
}
if ($show == 'shared_profile') {
$links = '<ul class="nav nav-pills nav-stacked">';
$links = '<ul class="nav navbar-nav">';
// My own profile
if ($show_full_profile && $user_id == intval(api_get_user_id())) {
$links .= '
@ -1966,12 +1966,10 @@ class SocialManager extends UserManager
$template->assign('user_relation', $userRelationType);
$template->assign('user_relation_type_friend', USER_RELATION_TYPE_FRIEND);
$template->assign('show_full_profile', $show_full_profile);
$templateName = $template->get_template('social/user_block.tpl');
if (in_array($groupBlock, ['groups', 'group_edit', 'member_list'])) {
$templateName = $template->get_template('social/group_block.tpl');
}
$inGroup = in_array($groupBlock, ['groups', 'group_edit', 'member_list']);
$template->assign('in_group', $inGroup);
$templateName = $template->get_template('social/user_block.tpl');
$template->assign('social_avatar_block', $template->fetch($templateName));
}

@ -82,7 +82,7 @@ $social_menu_block = SocialManager::show_social_menu('home');
$social_search_block = Display::panel(
UserManager::get_search_form(''),
get_lang("SearchUsers")
get_lang('SearchUsers')
);
$results = $userGroup->get_groups_by_age(1, false);

@ -45,18 +45,19 @@
{% for block_item in blocks %}
{% if block_item.items %}
<div id="tabs-{{ loop.index }}" class="settings-block col-md-6">
<div class="panel panel-default {{ block_item.class }}">
<div class="panel-heading">
{#<div class="panel panel-default {{ block_item.class }}">#}
<div class="card">
<div class="card-header">
{{ block_item.icon }} {{ block_item.label }}
{% if block_item.editable and _u.is_admin %}
<button type="button" class="btn btn-link btn-sm admin-edit-block pull-right"
<button type="button" class="btn btn-link btn-sm admin-edit-block float-right"
data-label="{{ block_item.label }}" data-id="{{ block_item.class }}">
<img src="{{ "edit.png"|icon(22) }}" width="22" height="22" alt="{{ "Edit"|get_lang }}"
title="{{ "Edit"|get_lang }}"/>
</button>
{% endif %}
</div>
<div class="panel-body">
<div class="card-body">
<div style="display: block;">
{{ block_item.search_form }}
</div>

@ -6,6 +6,9 @@
<div class="col-md-3">
<div class="social-network-menu">
{{ social_avatar_block }}
{% extends "@ChamiloTheme/Layout/base-layout.html.twig" %}
{{ social_menu_block }}
</div>
</div>

@ -1,4 +1,5 @@
{% extends "@ChamiloTheme/Layout/layout_one_col.html.twig" %}
{% import "ChamiloThemeBundle:Macros:box.html.twig" as macro %}
{% block content %}
{% autoescape false %}
@ -19,52 +20,21 @@
{{ social_auto_extend_link }}
</div>
<div class="col-md-3">
<!-- Block chat list -->
<div class="chat-friends">
<div class="panel-group" id="blocklistFriends" role="tablist" aria-multiselectable="true">
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingOne">
<h4 class="panel-title">
<a role="button" data-toggle="collapse" data-parent="#blocklistFriends" href="#listFriends" aria-expanded="true" aria-controls="listFriends">
{{ "SocialFriend" | get_lang }}
</a>
</h4>
</div>
<div id="listFriends" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
<div class="panel-body">
{{ social_friend_block }}
</div>
</div>
</div>
</div>
</div>
{{ macro.panel("SocialFriend" | get_lang, social_friend_block ) }}
<!-- Block session list -->
{% if session_list != null %}
<div class="panel-group" id="session-block" role="tablist" aria-multiselectable="true">
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingOne">
<h4 class="panel-title">
<a role="button" data-toggle="collapse" data-parent="#session-block" href="#sessionList" aria-expanded="true" aria-controls="sessionList">
{{ "MySessions" | get_lang }}
</a>
</h4>
</div>
<div id="sessionList" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
<div class="panel-body">
<ul class="list-group">
{% for session in session_list %}
<li id="session_{{ session.id }}" class="list-group-item" style="min-height:65px;">
<img class="img-session" src="{{ session.image }}"/>
<span class="title">{{ session.name }}</span>
</li>
{% endfor %}
</ul>
</div>
</div>
</div>
</div>
{% endif %}
{% set sessionList %}
<ul class="list-group">
{% for session in session_list %}
<li id="session_{{ session.id }}" class="list-group-item" style="min-height:65px;">
<img class="img-session" src="{{ session.image }}"/>
<span class="title">{{ session.name }}</span>
</li>
{% endfor %}
</ul>
{% endset %}
{{ macro.panel("MySessions" | get_lang, sessionList) }}
</div>
</div>
{% endautoescape %}

@ -1,97 +1,87 @@
{% import "ChamiloThemeBundle:Macros:box.html.twig" as macro %}
{% autoescape false %}
<div class="sidebar-avatar">
<div class="panel-group" id="sn-avatar" role="tablist" aria-multiselectable="true">
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="heading-sn">
<h4 class="panel-title">
<a role="button" data-toggle="collapse" data-parent="#sn-avatar" href="#sn-avatar-one" aria-expanded="true" aria-controls="sn-avatar-one">
{{ "Profile" | get_lang }}
{% set profile_body %}
{{ social_avatar_block }}
<ul class="list-user-data">
<li class="item">
{{ user.complete_name }}
</li>
{% if _u.is_admin == 1 %}
<li class="item">
<a href="{{ _p.web }}main/admin/user_edit.php?user_id={{ user.id }}">
<img src="{{ "edit.png" | icon }}" alt="{{ "Edit" | get_lang }}">
</a>
</h4>
</div>
<div id="sn-avatar-one" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="heading-sn">
<div class="panel-body">
{{ social_avatar_block }}
<ul class="list-user-data">
<li class="item">
{{ user.complete_name }}
</li>
{% if _u.is_admin == 1 %}
<li class="item">
<a href="{{ _p.web }}main/admin/user_edit.php?user_id={{ user.id }}">
<img src="{{ "edit.png" | icon }}" alt="{{ "Edit" | get_lang }}">
</a>
</li>
{% endif %}
{% if show_full_profile %}
<li class="item">
<a href="{{ _p.web }}main/messages/new_message.php">
<img src="{{ "instant_message.png" | icon }}" alt="{{ "Email" | get_lang }}">
{{ user.email}}
</a>
</li>
<li class="item">
<a href="{{ vcard_user_link }}">
<img src="{{ "vcard.png" | icon(16) }}" alt="{{ "BusinessCard" | get_lang }}" width="16" height="16">
{{ "BusinessCard" | get_lang }}
</a>
</li>
{% set skype_account = '' %}
{% set linkedin_url = '' %}
{% for extra in user.extra %}
{% if extra.value.getField().getVariable() == 'skype' %}
{% set skype_account = extra.value.getValue() %}
{% endif %}
</li>
{% endif %}
{% if show_full_profile %}
<li class="item">
<a href="{{ _p.web }}main/messages/new_message.php">
<img src="{{ "instant_message.png" | icon }}" alt="{{ "Email" | get_lang }}">
{{ user.email}}
</a>
</li>
<li class="item">
<a href="{{ vcard_user_link }}">
<img src="{{ "vcard.png" | icon(16) }}" alt="{{ "BusinessCard" | get_lang }}" width="16" height="16">
{{ "BusinessCard" | get_lang }}
</a>
</li>
{% if extra.value.getField().getVariable() == 'linkedin_url' %}
{% set linkedin_url = extra.value.getValue() %}
{% endif %}
{% endfor %}
{% set skype_account = '' %}
{% set linkedin_url = '' %}
{% for extra in user.extra %}
{% if extra.value.getField().getVariable() == 'skype' %}
{% set skype_account = extra.value.getValue() %}
{% endif %}
{% if 'allow_show_skype_account'|api_get_setting == 'true' and not skype_account is empty %}
<li class="item">
<a href="skype:{{ skype_account }}?chat">
<span class="fa fa-skype fa-fw" aria-hidden="true"></span> {{ 'Skype'|get_lang }}
</a>
</li>
{% endif %}
{% if extra.value.getField().getVariable() == 'linkedin_url' %}
{% set linkedin_url = extra.value.getValue() %}
{% endif %}
{% endfor %}
{% if 'allow_show_linkedin_url'|api_get_setting == 'true' and not linkedin_url is empty %}
<li class="item">
<a href="{{ linkedin_url }}" target="_blank">
<span class="fa fa-linkedin fa-fw" aria-hidden="true"></span> {{ 'LinkedIn'|get_lang }}
</a>
</li>
{% endif %}
{% endif %}
{% if chat_enabled == 1 %}
{% if user.user_is_online_in_chat != 0 %}
{% if user_relation == user_relation_type_friend %}
<li class="item">
<a onclick="javascript:chatWith('{{ user.id }}', '{{ user.complete_name }}', '{{ user.user_is_online }}','{{ user.avatar_small }}')" href="javascript:void(0);">
<img src="{{ "online.png" | icon }}" alt="{{ "Online" | get_lang }}">
{{ "Chat" | get_lang }} ({{ "Online" | get_lang }})
</a>
</li>
{# else #}
{# <img src="{{ "offline.png" | icon }}" alt="{{ "Online" | get_lang }}"> #}
{# {{ "Chat" | get_lang }} ({{ "Offline" | get_lang }}) #}
{% endif %}
{% endif %}
{% endif %}
{% if 'allow_show_skype_account'|api_get_setting == 'true' and not skype_account is empty %}
<li class="item">
<a href="skype:{{ skype_account }}?chat">
<span class="fa fa-skype fa-fw" aria-hidden="true"></span> {{ 'Skype'|get_lang }}
</a>
</li>
{% endif %}
{% if not profile_edition_link is empty %}
{% if 'allow_show_linkedin_url'|api_get_setting == 'true' and not linkedin_url is empty %}
<li class="item">
<a class="btn btn-link btn-sm btn-block" href="{{ profile_edition_link }}">
<em class="fa fa-edit"></em>{{ "EditProfile" | get_lang }}
<a href="{{ linkedin_url }}" target="_blank">
<span class="fa fa-linkedin fa-fw" aria-hidden="true"></span> {{ 'LinkedIn'|get_lang }}
</a>
</li>
{% endif %}
{% endif %}
{% if chat_enabled == 1 %}
{% if user.user_is_online_in_chat != 0 %}
{% if user_relation == user_relation_type_friend %}
<li class="item">
<a onclick="javascript:chatWith('{{ user.id }}', '{{ user.complete_name }}', '{{ user.user_is_online }}','{{ user.avatar_small }}')" href="javascript:void(0);">
<img src="{{ "online.png" | icon }}" alt="{{ "Online" | get_lang }}">
{{ "Chat" | get_lang }} ({{ "Online" | get_lang }})
</a>
</li>
{# else #}
{# <img src="{{ "offline.png" | icon }}" alt="{{ "Online" | get_lang }}"> #}
{# {{ "Chat" | get_lang }} ({{ "Offline" | get_lang }}) #}
{% endif %}
</ul>
</div>
</div>
</div>
</div>
{% endif %}
{% endif %}
{% if not profile_edition_link is empty %}
<li class="item">
<a class="btn btn-link btn-sm btn-block" href="{{ profile_edition_link }}">
<em class="fa fa-edit"></em>{{ "EditProfile" | get_lang }}
</a>
</li>
{% endif %}
</ul>
{% endset %}
{{ macro.panel("Profile" | get_lang, profile_body ) }}
</div>
{% endautoescape %}

@ -156,7 +156,7 @@ class LeftMenuBuilder implements ContainerAwareInterface
$translator = $this->container->get('translator');
if ($security->isGranted('IS_AUTHENTICATED_FULLY')) {
$menu->setChildrenAttribute('class', 'nav nav-pills nav-stacked');
$menu->setChildrenAttribute('class', 'navbar-nav');
$menu->addChild(
$translator->trans('Inbox'),
@ -219,6 +219,13 @@ class LeftMenuBuilder implements ContainerAwareInterface
);
}
// Set CSS classes for the items
foreach ($menu->getChildren() as $child) {
$child
->setLinkAttribute('class', 'nav-link')
->setAttribute('class', 'nav-item');
}
return $menu;
}

@ -93,7 +93,6 @@
</div>
</section>
{# menu #}
{% block chamilo_menu %}
<div id="menu-bar">
@ -107,6 +106,7 @@
</header>
{% endblock %}
{#<div id="top_main_content" class="container">#}
<div id="top_main_content" class="container">
{# course navigation links/shortcuts need to be activated by the admin #}
{% include "@ChamiloTheme/Layout/course_navigation.html.twig" %}
@ -123,7 +123,6 @@
{#</header>#}
{% block page_content %}
{% endblock %}
</div> {# end top_main_content #}
</div> {# End page-wrap div #}
{% block chamilo_footer %}

@ -28,34 +28,32 @@
{% endif %}
<section id="content-section">
<div class="container">
<div class="row">
<div class="col-xs-12 col-md-12">
{% autoescape false %}
<div class="row">
<div class="col-xs-12 col-md-12">
{% autoescape false %}
{# Breadcrumb #}
{% block chamilo_breadcrumb %}
{% include '@ChamiloTheme/Layout/breadcrumb.html.twig' %}
{% endblock %}
{# Breadcrumb #}
{% block chamilo_breadcrumb %}
{% include '@ChamiloTheme/Layout/breadcrumb.html.twig' %}
{% endblock %}
{% if actions != '' %}
<div class="actions">
{{ actions }}
</div>
{% endif %}
{% if actions != '' %}
<div class="actions">
{{ actions }}
</div>
{% endif %}
{% block chamilo_messages %}
{% include '@ChamiloTheme/FlashMessage/render.html.twig' %}
{% endblock %}
{% block chamilo_messages %}
{% include '@ChamiloTheme/FlashMessage/render.html.twig' %}
{% endblock %}
{# Content #}
{% block content %}
<section id="main_content">
{{ content }}
</section>
{% endblock %}
{% endautoescape %}
</div>
{# Content #}
{% block content %}
<section id="main_content">
{{ content }}
</section>
{% endblock %}
{% endautoescape %}
</div>
</div>
</section>

@ -6,75 +6,77 @@
{#%}#}
{% block page_content %}
{% autoescape false %}
{% if plugin_main_top %}
<div id="plugin_main_top" class="col-md-12">
{{ plugin_main_top }}
</div>
{% endif %}
{# Left column #}
<div class="col-md-3">
{% if plugin_menu_top %}
<div id="plugin_menu_top">
{{ plugin_menu_top }}
<div class="row">
{% autoescape false %}
{% if plugin_main_top %}
<div id="plugin_main_top" class="col-md-12">
{{ plugin_main_top }}
</div>
{% endif %}
{% block chamilo_left_column %}
<section class="left_column">
{% if is_granted('IS_AUTHENTICATED_FULLY') %}
{# User avatar #}
{{ render(controller('ChamiloThemeBundle:Sidebar:userPanel', {'pathInfo': pathInfo })) }}
{% endif %}
{# Login, Courses, Skills menu #}
{{ render(controller('ChamiloThemeBundle:Sidebar:leftMenu', {'request' : app.request, pathInfo: pathInfo })) }}
</section>
{% endblock %}
{% if plugin_menu_bottom %}
<div id="plugin_menu_bottom">
{{ plugin_menu_bottom }}
{# Left column #}
<div class="col-md-3">
{% if plugin_menu_top %}
<div id="plugin_menu_top">
{{ plugin_menu_top }}
</div>
{% endif %}
</div>
{% endif %}
{# Right column #}
<div class="col-md-9">
{% if plugin_content_top %}
<div id="plugin_content_top">
{{ plugin_content_top }}
</div>
{% endif %}
{% block chamilo_left_column %}
<section class="left_column">
{% if is_granted('IS_AUTHENTICATED_FULLY') %}
{# User avatar #}
{{ render(controller('ChamiloThemeBundle:Sidebar:userPanel', {'pathInfo': pathInfo })) }}
{% endif %}
{# Login, Courses, Skills menu #}
{{ render(controller('ChamiloThemeBundle:Sidebar:leftMenu', {'request' : app.request, pathInfo: pathInfo })) }}
</section>
{% endblock %}
{% if plugin_menu_bottom %}
<div id="plugin_menu_bottom">
{{ plugin_menu_bottom }}
</div>
{% endif %}
</div>
{# Right column #}
<div class="col-md-9">
{% if plugin_content_top %}
<div id="plugin_content_top">
{{ plugin_content_top }}
</div>
{% endif %}
{% block chamilo_breadcrumb %}
{% include '@ChamiloTheme/Layout/breadcrumb.html.twig' %}
{% endblock %}
{% block chamilo_breadcrumb %}
{% include '@ChamiloTheme/Layout/breadcrumb.html.twig' %}
{% endblock %}
{% block chamilo_messages %}
{# Flash messages #}
{% autoescape false %}
{% include '@ChamiloTheme/FlashMessage/render.html.twig' %}
{% endautoescape %}
{% endblock %}
{% block chamilo_messages %}
{# Flash messages #}
{% autoescape false %}
{% include '@ChamiloTheme/FlashMessage/render.html.twig' %}
{% endautoescape %}
{% endblock %}
{% block chamilo_right_column %}
{% block content %}
<section class="right_column">
{{ content }}
</section>
{% block chamilo_right_column %}
{% block content %}
<section class="right_column">
{{ content }}
</section>
{% endblock %}
{% endblock %}
{% endblock %}
{% if plugin_content_bottom %}
<div id="plugin_content_bottom">
{{plugin_content_bottom}}
{% if plugin_content_bottom %}
<div id="plugin_content_bottom">
{{plugin_content_bottom}}
</div>
{% endif %}
</div>
{% endif %}
</div>
{% if plugin_main_bottom %}
<div id="plugin_main_bottom" class="col-md-12">
{{ plugin_main_bottom }}
{% if plugin_main_bottom %}
<div id="plugin_main_bottom" class="col-md-12">
{{ plugin_main_bottom }}
</div>
</div>
{% endif %}
{% endautoescape %}

@ -53,13 +53,9 @@
{% macro panel(title, content) %}
{% autoescape false %}
<div class="panel panel-default">
<div class="panel-heading">
<div class="panel-title">
<h4> {{ title }} </h4>
</div>
</div>
<div class="panel-body">
<div class="card">
<div class="card-header"> {{ title }} </div>
<div class="card-body">
{{ content }}
</div>
</div>

@ -5,22 +5,22 @@
{% if is_granted('IS_AUTHENTICATED_FULLY') %}
{{ macro.panel(
'Profile' | trans,
mopa_bootstrap_menu('ChamiloCoreBundle:LeftMenuBuilder:profileMenu', {'automenu': 'pills', 'stacked':true})
mopa_bootstrap_menu('ChamiloCoreBundle:LeftMenuBuilder:profileMenu', {'automenu': 'navbar', 'stacked':false})
) }}
{{ macro.panel(
'Courses' | trans,
mopa_bootstrap_menu('ChamiloCoreBundle:LeftMenuBuilder:courseMenu', {'automenu': 'pills', 'stacked':true})
mopa_bootstrap_menu('ChamiloCoreBundle:LeftMenuBuilder:courseMenu', {'automenu': 'navbar', 'stacked':false})
) }}
{{ macro.panel(
'Sessions' | trans,
mopa_bootstrap_menu('ChamiloCoreBundle:LeftMenuBuilder:sessionMenu', {'automenu': 'pills', 'stacked':true})
mopa_bootstrap_menu('ChamiloCoreBundle:LeftMenuBuilder:sessionMenu', {'automenu': 'navbar', 'stacked':false})
) }}
{{ macro.panel(
'Skills' | trans,
mopa_bootstrap_menu('ChamiloCoreBundle:LeftMenuBuilder:skillsMenu', {'automenu': 'pills', 'stacked':true})
mopa_bootstrap_menu('ChamiloCoreBundle:LeftMenuBuilder:skillsMenu', {'automenu': 'navbar', 'stacked':false})
) }}
{% else %}
{# Plugin login before/after tpls #}

Loading…
Cancel
Save