Browse Source

Add About Session page - refs BT#9889 #TMI

Angel Fernando Quiroz Campos 9 years ago
parent
commit
bd5519006e
3 changed files with 179 additions and 0 deletions
  1. 3 0
      .htaccess
  2. 81 0
      main/session/about.php
  3. 95 0
      main/template/default/session/about.tpl

+ 3 - 0
.htaccess

@@ -33,3 +33,6 @@ RewriteRule ^courses/([^/]+)/upload/(.*)$ app/courses/$1/upload/$2 [QSA,L]
 
 RewriteRule ^courses/([^/]+)/course-pic85x85.png$ app/courses/$1/course-pic85x85.png [QSA,L]
 RewriteRule ^courses/([^/]+)/course-pic.png$ app/courses/$1/course-pic.png [QSA,L]
+
+# About session
+RewriteRule ^session/(\d)/about/?$ main/session/about.php?session_id=$1 [L]

+ 81 - 0
main/session/about.php

@@ -0,0 +1,81 @@
+<?php
+/* For licensing terms, see /license.txt */
+/**
+ * Session about page
+ * Show information about a session and its courses
+ * @author Angel Fernando Quiroz Campos <angel.quiroz@beeznest.com>
+ * @package chamilo.session
+ */
+use Chamilo\CourseBundle\Entity\CCourseDescription;
+
+$cidReset = true;
+
+require_once '../inc/global.inc.php';
+
+$sessionId = isset($_GET['session_id']) ? intval($_GET['session_id']) : 0;
+
+$entityManager = Database::getManager();
+
+$session = $entityManager->find('ChamiloCoreBundle:Session', $sessionId);
+
+$sessionCourses = $entityManager->getRepository('ChamiloCoreBundle:Session')
+    ->getCoursesOrderedByPosition($session);
+
+$courses = [];
+
+foreach ($sessionCourses as $sessionCourse) {
+    $courseCoaches = $entityManager->getRepository('ChamiloCoreBundle:Session')
+        ->getCourseCoachesForCoach($session, $sessionCourse);
+
+    $courseDescriptionTools = $entityManager->getRepository('ChamiloCourseBundle:CCourseDescription')
+        ->findBy(
+            [
+                'cId' => $sessionCourse->getId(),
+                'sessionId' => 0
+            ],
+            [
+                'id' => 'DESC',
+                'descriptionType' => 'ASC'
+            ]
+        );
+
+    $courseDescription = $courseObjectives = $courseTopics = null;
+
+    foreach ($courseDescriptionTools as $descriptionTool) {
+        switch ($descriptionTool->getDescriptionType()) {
+            case CCourseDescription::TYPE_DESCRIPTION:
+                $courseDescription = $descriptionTool;
+                break;
+            case CCourseDescription::TYPE_OBJECTIVES:
+                $courseObjectives = $descriptionTool;
+                break;
+            case CCourseDescription::TYPE_TOPICS:
+                $courseTopics = $descriptionTool;
+                break;
+        }
+    }
+
+    $courses[] = [
+        'course' => $sessionCourse,
+        'description' => $courseDescription,
+        'objectives' => $courseObjectives,
+        'topics' => $courseTopics,
+        'coaches' => $courseCoaches
+    ];
+}
+
+/* View */
+$template = new Template($session->getName(), true, true, false, true, false);
+$template->assign('courses', $courses);
+
+$templateFolder = api_get_configuration_value('default_template');
+
+if (!empty($templateFolder)) {
+    $content = $template->fetch($templateFolder.'/session/about.tpl');
+} else {
+    $content = $template->fetch('default/session/about.tpl');
+}
+
+$template->assign('header', $session->getName());
+$template->assign('content', $content);
+$template->display_one_col_template();

+ 95 - 0
main/template/default/session/about.tpl

@@ -0,0 +1,95 @@
+{% for course_data in courses %}
+    {% if courses|length > 1 %}
+        <div class="row">
+            <div class="col-xs-12">
+                <h2 class="text-uppercase">{{ course_data.course.getTitle }}</h2>
+            </div>
+        </div>
+    {% endif %}
+
+    <div class="row">
+        <div class="col-xs-12">
+            <div class="well">
+                {{ course_data.description.getContent }}
+
+                <p class="text-right text-uppercase">
+                    <a href="#" class="btn btn-success">{{ "Subscribe"|get_lang }}</a>
+                </p>
+            </div>
+        </div>
+    </div>
+
+    <div class="row">
+        <div class="col-xs-12">
+            <h3 class="text-uppercase">{{ "CourseInformation"|get_lang }}</h3>
+        </div>
+    </div>
+
+    <div class="row">
+        <div class="col-sm-7">
+            {% if course_data.objectives %}
+                <div class="row">
+                    <div class="col-xs-12">
+                        <h4>{{ "Objectives"|get_lang }}</h4>
+                        <div class="well">
+                            {{ course_data.objectives.getContent }}
+                        </div>
+                    </div>
+                </div>
+            {% endif %}
+
+            {% if course_data.topics %}
+                <div class="row">
+                    <div class="col-xs-12">
+                        <h4>{{ "Topics"|get_lang }}</h4>
+                        <div class="well">
+                            {{ course_data.topics.getContent }}
+                        </div>
+                    </div>
+                </div>
+            {% endif %}
+        </div>
+
+        <div class="col-sm-5">
+            <div class="row">
+                <div class="col-xs-12">
+                    <div class="well">
+                        {% if course_data.coaches %}
+                            <h5>{{ "Coaches"|get_lang }}</h5>
+
+                            <ul>
+                                {% for coach in course_data.coaches %}
+                                    <li>
+                                        {{ coach.getCompleteName }}
+                                    </li>
+                                {% endfor %}
+                            </ul>
+                            <hr>
+                        {% endif %}
+
+                        <p class="text-center">{{ "ShareWithYourFriends"|get_lang }}</p>
+                        <p class="text-center">
+                            <a href="#" class="btn bnt-link btn-lg">
+                                <i class="fa fa-facebook fa-2x"></i>
+                            </a>
+                            <a href="#" class="btn bnt-link btn-lg">
+                                <i class="fa fa-twitter fa-2x"></i>
+                            </a>
+                            <a href="#" class="btn bnt-link btn-lg">
+                                <i class="fa fa-linkedin fa-2x"></i>
+                            </a>
+                        </p>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <div class="row">
+        <div class="col-xs-12">
+            <p class="text-center text-uppercase">
+                <a href="#" class="btn btn-success">{{ "Subscribe"|get_lang }}</a>
+            </p>
+        </div>
+    </div>
+{% endfor %}