add hots sessions - sessions_current.tpl

pull/2475/head
Alex Aragón 8 years ago
parent 55ca4ec162
commit b99aaa338a
  1. 13
      index.php
  2. 62
      main/inc/lib/sessionmanager.lib.php
  3. 3
      main/install/configuration.dist.php
  4. 2
      main/template/default/layout/layout_2_col.tpl
  5. 54
      main/template/default/session/sessions_current.tpl

@ -100,6 +100,7 @@ if (api_get_setting('display_categories_on_homepage') === 'true') {
}
$controller->set_login_form();
//@todo move this inside the IndexManager
if (!api_is_anonymous()) {
$controller->tpl->assign('profile_block', $controller->return_profile_block());
$controller->tpl->assign('user_image_block', $controller->return_user_image_block());
@ -109,10 +110,12 @@ if (!api_is_anonymous()) {
$controller->tpl->assign('teacher_block', $controller->return_teacher_link());
}
}
$hot_courses = '';
$hotCourses = '';
$announcements_block = '';
// Display the Site Use Cookie Warning Validation
$useCookieValidation = api_get_setting('cookie_warning');
if ($useCookieValidation === 'true') {
if (isset($_POST['acceptCookies'])) {
api_set_site_use_cookie_warning_cookie();
@ -128,11 +131,15 @@ if ($useCookieValidation === 'true') {
// When loading a chamilo page do not include the hot courses and news
if (!isset($_REQUEST['include'])) {
if (api_get_setting('show_hot_courses') == 'true') {
$hot_courses = $controller->return_hot_courses();
$hotCourses = $controller->return_hot_courses();
}
$announcements_block = $controller->return_announcements();
}
$controller->tpl->assign('hot_courses', $hot_courses);
if (api_get_configuration_value('show_hot_sessions') === true) {
$hotSessions = SessionManager::getHotSessions();
$controller->tpl->assign('hot_sessions', $hotSessions);
}
$controller->tpl->assign('hot_courses', $hotCourses);
$controller->tpl->assign('announcements_block', $announcements_block);
$controller->tpl->assign('home_page_block', $controller->return_home_page());
$controller->tpl->assign('navigation_course_links', $controller->return_navigation_links());

@ -3199,6 +3199,68 @@ class SessionManager
}
}
/**
+ * Get the session image
+ *
+ * @return image path
+ */
public static function getSessionImage($id)
{
$extraFieldValuesTable = Database::get_main_table(TABLE_EXTRA_FIELD_VALUES);
$sql = "SELECT value FROM extra_field_values WHERE field_id = 16 AND item_id = ". intval($id);
$result = Database::query($sql);
if (Database::num_rows($result) > 0) {
while ($row = Database::fetch_array($result, 'ASSOC')) {
$sessionImage = $row['value'];
$sessionImage = api_get_path(WEB_UPLOAD_PATH) . $sessionImage;
}
return $sessionImage;
} else {
$sessionImage = api_get_path(WEB_IMG_PATH) . "session_default.png";
return $sessionImage;
}
}
/**
+ * Get Hot Sessions (limit 8)
+ *
+ * @return Array with sessions
+ */
public static function getHotSessions()
{
$tbl_session = Database::get_main_table(TABLE_MAIN_SESSION);
$tbl_session_category = Database::get_main_table(TABLE_MAIN_SESSION_CATEGORY);
$tbl_users = Database::get_main_table(TABLE_MAIN_USER);
$sql = "SELECT
s.id,
s.name,
s.id_coach,
u.firstname,
u.lastname,
s.session_category_id,
c.name as category_name,
s.description,
(SELECT COUNT(*) FROM session_rel_user WHERE session_id = s.id) as users,
(SELECT COUNT(*) FROM c_lp WHERE session_id = s.id) as lessons,
(SELECT value FROM extra_field_values WHERE field_id = 16 AND item_id = s.id) as image
FROM $tbl_session s
INNER JOIN $tbl_session_category c
ON s.session_category_id = c.id
INNER JOIN $tbl_users u
ON s.id_coach = u.id
ORDER BY 9 DESC
LIMIT 8";
$result = Database::query($sql);
if (Database::num_rows($result) > 0) {
while ($row = Database::fetch_array($result, 'ASSOC')) {
$sessions[] = $row;
}
return $sessions;
} else {
return false;
}
}
/**
* Get all session categories (filter by access_url_id).
*

@ -693,6 +693,9 @@ $_configuration['gradebook_badge_sidebar'] = [
]
];*/
// Show popular sessions on homepage
//$_configuration['show_hot_sessions'] = false;
// Hide skill levels options
//$_configuration['hide_skill_levels'] = false;

@ -57,6 +57,8 @@
{% include template ~ "/layout/hot_courses.tpl" %}
{% include template ~ "/session/sessions_current.tpl" %}
{% if plugin_content_bottom %}
<div id="plugin_content_bottom">
{{ plugin_content_bottom }}

@ -0,0 +1,54 @@
{% if hot_sessions %}
<section id="sessions-current" class="grid-courses">
<div class="page-header">
<h4 class="hot-course-title">
{{ "HottestSessions"|get_lang}}
</h4>
</div>
<div class="row">
<!-- Esto repite para mostar 8 sessiones recientes -->
{% for session in hot_sessions %}
<div class="col-xs-12 col-sm-6 col-md-4">
<div class="items items-hotcourse">
<div class="image">
<a href="{{ _p.web }}session/{{ session.id }}/about/" title="title-session">
<img class="img-responsive" src="{{ session.image ? _p.web_upload ~ session.image : 'session_default.png'|icon() }}">
</a>
<span class="category">{{ session.category_name }}</span>
<div class="cribbon"></div>
</div>
<div class="description">
<div class="block-title">
<h3 class="title">
<a href="{{ _p.web }}session/{{ session.id }}/about/"
title="title-session">{{ session.name }}</a>
</h3>
</div>
<div class="block-author">
<a href="{{ _p.web_main }}inc/ajax/user_manager.ajax.php?a=get_user_popup&user_id={{ session.id_coach }}"
class="ajax" data-title="{{ session.firstname }} {{ session.lastname }}">
<img src="{{ session.avatar }}"/>
</a>
<div class="teachers-details">
<h5>
<a href="#">{{ session.firstname }} {{ session.lastname }}</a>
</h5>
<p>{{ 'Teacher'|get_lang }}</p>
</div>
</div>
<div class="block-info">
<i class="fa fa-user"></i> {{ session.users }} {{ "Users"|get_lang }}
&nbsp;
&nbsp;
<i class="fa fa-book"></i> {{ session.lessons }} {{ "Learnpaths"|get_lang }}
</div>
</div>
</div>
</div>
{% endfor %}
<!-- Fin de 8 sessiones recientes -->
</div>
</section>
{% endif %}
Loading…
Cancel
Save