Exemplo n.º 1
0
 public function getPassedData($idScorm)
 {
     $output = false;
     $items = $this->getItems($idScorm, false);
     $query = "SELECT idscorm_item, lesson_status, COUNT(*) as num_count " . " FROM %lms_scorm_tracking WHERE idscorm_item IN (" . implode(",", $items) . ") " . " GROUP BY idscorm_item, lesson_status" . " ORDER BY idscorm_item ";
     $res = $this->db->query($query);
     if ($res) {
         $data = array();
         while ($row = $this->db->fetch_obj($res)) {
             if (!isset($data[$row->idscorm_item])) {
                 $data[$row->idscorm_item] = array('passed' => 0, 'not_passed' => 0);
             }
             if ($row->lesson_status == 'passed' || $row->lesson_status == 'completed') {
                 $data[$row->idscorm_item]['passed'] += $row->num_count;
             } else {
                 $data[$row->idscorm_item]['not_passed'] += $row->num_count;
             }
         }
         //get number of users subscribed to the course
         $subs_man = new SubscriptionAlms($_SESSION['idCourse']);
         $tot = $subs_man->totalUser("", 3);
         //all subscribed students
         $output = array();
         foreach ($items as $idItem) {
             $p1 = isset($data[$idItem]['passed']) ? $data[$idItem]['passed'] : 0;
             $p2 = isset($data[$idItem]['not_passed']) ? $data[$idItem]['not_passed'] : 0;
             //$tot = $p1 + $p2;
             if ($tot <= 0) {
                 $result = 0;
             } else {
                 $result = 100 * $p1 / $tot;
             }
             $output[$idItem] = $result;
         }
     }
     return $output;
 }