Browse Source

Show session description in session catalog - refs BT#9049

Angel Fernando Quiroz Campos 10 years ago
parent
commit
dc773819ce

+ 6 - 0
main/auth/courses.php

@@ -24,6 +24,12 @@ require_once api_get_path(LIBRARY_PATH).'app_view.php';
 require_once 'courses_controller.php';
 require_once api_get_path(LIBRARY_PATH).'mail.lib.inc.php';
 
+$advancedSessionsPluginFilePath = api_get_path(PLUGIN_PATH) . 'advancedsessions/src/AdvancedSessionsPlugin.class.php';
+
+if (file_exists($advancedSessionsPluginFilePath)) {
+    require_once api_get_path(PLUGIN_PATH) . 'advancedsessions/src/AdvancedSessionsPlugin.class.php';
+}
+
 if (api_get_setting('show_courses_descriptions_in_catalog') == 'true') {
     $htmlHeadXtra[] = '
     <script>

+ 8 - 0
main/auth/courses_controller.php

@@ -546,6 +546,12 @@ class CoursesController
         // Get session search catalogue URL
         $courseUrl = getCourseCategoryUrl(1, $limit['length'], null, 0, 'subscribe');
 
+        $showDescription = false;
+
+        if (class_exists('AdvancedSessionsPlugin') && AdvancedSessionsPlugin::hasDescriptionField()) {
+            $showDescription = true;
+        }
+
         foreach ($sessions as $session) {
             $sessionsBlocks[] = array(
                 'id' => $session['id'],
@@ -580,6 +586,8 @@ class CoursesController
         $tpl->assign('sessions_blocks', $sessionsBlocks);
         $tpl->assign('already_subscribed_label', $this->getAlreadyRegisterInSessionLabel());
 
+        $tpl->assign('showDescription', $showDescription);
+
         $contentTemplate = $tpl->get_template('auth/sessions_catalog.tpl');
 
         $tpl->display($contentTemplate);

+ 22 - 0
main/inc/ajax/session.ajax.php

@@ -98,6 +98,28 @@ switch ($action) {
             }
         }
         break;
+    case 'get_description':
+        $advancedSessionsPluginFilePath = api_get_path(PLUGIN_PATH) . 'advancedsessions/src/AdvancedSessionsPlugin.class.php';
+
+        if (file_exists($advancedSessionsPluginFilePath)) {
+            require_once api_get_path(PLUGIN_PATH) . 'advancedsessions/src/AdvancedSessionsPlugin.class.php';
+        }
+
+        $sessionId = intval($_GET['session']);
+
+        if (class_exists('AdvancedSessionsPlugin') && AdvancedSessionsPlugin::hasDescriptionField()) {
+            $sessionInfo = api_get_session_info($sessionId);
+            ?>
+                <h2><?php echo $sessionInfo['name'] ?></h2><br>
+                <div class="home-course-intro">
+                    <div class="page-course">
+                        <div class="page-course-intro">
+                            <p><?php echo AdvancedSessionsPlugin::getSessionDescription($sessionId) ?></p>
+                        </div>
+                    </div>
+                </div>
+            <?php
+        }
     default:
         echo '';
 }

+ 5 - 0
main/template/default/auth/sessions_catalog.tpl

@@ -133,6 +133,11 @@
                             </div>
                         </div>
                         <div class="span3">
+                            {% if showDescription %}
+                                <div class="buttom-subscribed">
+                                    <a class="ajax btn btn-large btn-info" href="{{ _p.web_ajax }}session.ajax.php?a=get_description&session={{ session.id }}">{{ 'Description' | get_lang }}</a>
+                                </div>
+                            {% endif %}
                             
                             <div class="buttom-subscribed">
                             {% if session.is_subscribed %}