Browse Source

seguimiento d eleccions refs #7315

César Perales 11 years ago
parent
commit
880f934e93
3 changed files with 44 additions and 19 deletions
  1. 14 13
      main/inc/lib/tracking.lib.php
  2. 8 2
      main/newscorm/lp_ajax_save_item.php
  3. 22 4
      main/newscorm/scorm_api.php

+ 14 - 13
main/inc/lib/tracking.lib.php

@@ -539,23 +539,24 @@ class Tracking
      * @param int session id
      * @return data array
      */
-    static function get_teachers_progress_by_course($courseId, $sessionId) {
-           $course = api_get_course_info_by_id($courseId);
-           //get teachers
-           $sql = "SELECT id_session, id_user
-                   FROM `session_rel_course_rel_user`
-                   WHERE status = 2
-                   AND visibility = 1
-                   AND course_code = '%s' 
-                  AND id_session = %s";
+    static function get_teachers_progress_by_course($courseId, $sessionId)
+    {
+        $course = api_get_course_info_by_id($courseId);
+        //get teachers
+        $sql = "SELECT scu.id_session, scu.id_user, s.name
+                FROM session_rel_course_rel_user scu, session s
+                WHERE scu.id_session = s.id
+                AND scu.status = 2
+                AND scu.visibility = 1
+                AND scu.course_code = '%s'
+               AND scu.id_session = %s";
         $query = sprintf($sql,$course['code'], $sessionId);
         $rs = Database::query($query);
         $teachers = array();
         while ($teacher = Database::fetch_array($rs,'ASSOC')) {
-       error_log(print_r($teacher,1));
             $teachers[] = $teacher;
         }
-       foreach ($teachers as $teacher) {
+        foreach ($teachers as $teacher) {
             //total documents added
             $sql = "SELECT count(*) as total
                     FROM c_item_property
@@ -674,8 +675,8 @@ class Tracking
             $tutor = get_user_info_by_id($teacher['id_user']);
             $data[] = array(
                 'course'        => $course['title'],
-                'session'       => $teacher['id_session'],
-                'tutor'         => $tutor['lastname'] . ' ' . $tutor['firstname'],
+                'session'       => $teacher['name'],
+                'tutor'         => $tutor['username'] . ' - ' . $tutor['lastname'] . ' ' . $tutor['firstname'],
                 'documents'     => $totalDocuments,
                 'links'         => $totalLinks,
                 'forums'        => $totalForums,

+ 8 - 2
main/newscorm/lp_ajax_save_item.php

@@ -44,7 +44,7 @@ require_once 'aiccItem.class.php';
  * @param   array   Interactions array
  * @param   string  Core exit SCORM string
  */
-function save_item($lp_id, $user_id, $view_id, $item_id, $score = -1, $max = -1, $min = -1, $status = '', $time = 0, $suspend = '', $location = '', $interactions = array(), $core_exit = 'none')
+function save_item($lp_id, $user_id, $view_id, $item_id, $score = -1, $max = -1, $min = -1, $status = '', $time = 0, $suspend = '', $location = '', $interactions = array(), $core_exit = 'none', $sessionId = null, $courseId = null)
 {
     $return = null;
 
@@ -57,6 +57,9 @@ function save_item($lp_id, $user_id, $view_id, $item_id, $score = -1, $max = -1,
 
     $mylp = null;
     $lpobject = Session::read('lpobject');
+    if (!is_object($lpobject) && isset($sessionId) && isset($courseId)) {
+        $lpobject = new learnpathItem($lp_id, $user_id, $courseId);
+    }
     if (isset($lpobject)) {
         $oLP = unserialize($lpobject);
         if ($debug) error_log("lpobject was set");
@@ -298,5 +301,8 @@ echo save_item(
     (!empty($_REQUEST['suspend'])?$_REQUEST['suspend']:null),
     (!empty($_REQUEST['loc'])?$_REQUEST['loc']:null),
     $interactions,
-    (!empty($_REQUEST['core_exit'])?$_REQUEST['core_exit']:'')
+    (!empty($_REQUEST['core_exit'])?$_REQUEST['core_exit']:''),
+    '',
+    (!empty($_REQUEST['session_id'])?$_REQUEST['session_id']:''),
+    (!empty($_REQUEST['course_id'])?$_REQUEST['course_id']:'')
 );

+ 22 - 4
main/newscorm/scorm_api.php

@@ -183,8 +183,8 @@ olms.lms_item_lesson_mode = '<?php echo $oItem->get_lesson_mode();?>';
 olms.lms_item_launch_data = '<?php echo $oItem->get_launch_data();?>';
 olms.lms_item_core_exit = '<?php echo $oItem->get_core_exit();?>';
 olms.lms_course_id = '<?php echo $oLP->get_course_int_id(); ?>';
+olms.lms_session_id = '<?php echo api_get_session_id(); ?>';
 olms.lms_course_code = '<?php echo $oLP->getCourseCode(); ?>';
-
 <?php echo $oLP->get_items_details_as_js('olms.lms_item_types');?>
 
 olms.asset_timer = 0;
@@ -1369,12 +1369,12 @@ function switch_item(current_item, next_item){
         if (next_item_type != 'sco' ) {
             //case 1
             logit_lms('Case 1');
-            xajax_save_item(olms.lms_lp_id, olms.lms_user_id, olms.lms_view_id, olms.lms_item_id, olms.score, olms.max, olms.min, olms.lesson_status, olms.asset_timer, olms.suspend_data, olms.lesson_location,olms.interactions, olms.lms_item_core_exit, orig_item_type);
+            xajax_save_item(olms.lms_lp_id, olms.lms_user_id, olms.lms_view_id, olms.lms_item_id, olms.score, olms.max, olms.min, olms.lesson_status, olms.asset_timer, olms.suspend_data, olms.lesson_location,olms.interactions, olms.lms_item_core_exit, orig_item_type, olms.lms_session_id, olms.lms_course_id);
             xajax_switch_item_details(olms.lms_lp_id, olms.lms_user_id, olms.lms_view_id, olms.lms_item_id, next_item);
         } else {
             logit_lms('Case 2');
             //case 2
-            xajax_save_item(olms.lms_lp_id, olms.lms_user_id, olms.lms_view_id, olms.lms_item_id, olms.score, olms.max, olms.min, olms.lesson_status, olms.asset_timer, olms.suspend_data, olms.lesson_location,olms.interactions, olms.lms_item_core_exit, orig_item_type);
+            xajax_save_item(olms.lms_lp_id, olms.lms_user_id, olms.lms_view_id, olms.lms_item_id, olms.score, olms.max, olms.min, olms.lesson_status, olms.asset_timer, olms.suspend_data, olms.lesson_location,olms.interactions, olms.lms_item_core_exit, orig_item_type, olms.lms_session_id, olms.lms_course_id);
             xajax_switch_item_details(olms.lms_lp_id,olms.lms_user_id,olms.lms_view_id,olms.lms_item_id,next_item);
         }
     } else {
@@ -1532,13 +1532,31 @@ function switch_item(current_item, next_item){
  * @return  void
  * @uses lp_ajax_save_item.php through an AJAX call
  */
-function xajax_save_item(lms_lp_id, lms_user_id, lms_view_id, lms_item_id, score, max, min, lesson_status, session_time, suspend_data, lesson_location, interactions, lms_item_core_exit, item_type) {
+function xajax_save_item(
+        lms_lp_id,
+        lms_user_id,
+        lms_view_id,
+        lms_item_id,
+        score,
+        max,
+        min,
+        lesson_status,
+        session_time,
+        suspend_data,
+        lesson_location,
+        interactions,
+        lms_item_core_exit,
+        item_type,
+        session_id,
+        course_id) {
     var params = '';
     params += 'lid='+lms_lp_id+'&uid='+lms_user_id+'&vid='+lms_view_id;
     params += '&iid='+lms_item_id+'&s='+score+'&max='+max+'&min='+min;
     params += '&status='+lesson_status+'&t='+session_time;
     params += '&suspend='+suspend_data+'&loc='+lesson_location;
     params += '&core_exit='+lms_item_core_exit;
+    params += '&session_id='+session_id;
+    params += '&course_id='+course_id;
     //console.info(session_time);
     if (olms.lms_lp_type == 1 || item_type == 'document') {
         logit_lms('xajax_save_item with params:' + params,3);