Quellcode durchsuchen

added parameter course_db for consulting to course databade

Christian Fasanando vor 14 Jahren
Ursprung
Commit
259651ae9a
2 geänderte Dateien mit 23 neuen und 14 gelöschten Zeilen
  1. 12 12
      main/newscorm/learnpath.class.php
  2. 11 2
      main/newscorm/learnpathItem.class.php

+ 12 - 12
main/newscorm/learnpath.class.php

@@ -113,9 +113,6 @@ class learnpath {
             }
         }
 
-
-        error_log('CURSO_DB====>'.$course_db);
-
         // Check learnpath ID.
         if (empty($lp_id)) {
             $this->error = 'Learnpath ID is empty';
@@ -232,10 +229,10 @@ class learnpath {
             switch ($this->type) {
 
                 case 3: //aicc
-                    $oItem = new aiccItem('db', $row['id']);
+                    $oItem = new aiccItem('db', $row['id'], $course_db);
                     if (is_object($oItem)) {
                         $my_item_id = $oItem->get_id();
-                        $oItem->set_lp_view($this->lp_view_id);
+                        $oItem->set_lp_view($this->lp_view_id, $course_db);
                         $oItem->set_prevent_reinit($this->prevent_reinit);
                         // Don't use reference here as the next loop will make the pointed object change.
                         $this->items[$my_item_id] = $oItem;
@@ -245,7 +242,7 @@ class learnpath {
                         }
                     }
                     break;
-                case 2:                    
+                case 2:
                     require_once 'scorm.class.php';
                     require_once 'scormItem.class.php';
                     $oItem = new scormItem('db', $row['id'], $course_db);
@@ -254,6 +251,9 @@ class learnpath {
                         $oItem->set_lp_view($this->lp_view_id, $course_db);
                         $oItem->set_prevent_reinit($this->prevent_reinit);
                         // Don't use reference here as the next loop will make the pointed object change.
+
+                        error_log('my_item_id->'.$my_item_id);
+
                         $this->items[$my_item_id] = $oItem;
                         $this->refs_list[$oItem->ref] = $my_item_id;
                         if ($this->debug > 2) {
@@ -345,10 +345,10 @@ class learnpath {
             }
             // Setting the view in the item object.
             if (is_object($this->items[$row['id']])) {
-              $this->items[$row['id']]->set_lp_view($this->lp_view_id);
+              $this->items[$row['id']]->set_lp_view($this->lp_view_id, $course_db);
             }
         }
-        $this->ordered_items = $this->get_flat_ordered_items_list($this->get_id(), 0);
+        $this->ordered_items = $this->get_flat_ordered_items_list($this->get_id(), 0, $course_db);
         $this->max_ordered_items = 0;
         foreach ($this->ordered_items as $index => $dummy) {
             if ($index > $this->max_ordered_items && !empty($dummy)) {
@@ -1907,7 +1907,7 @@ class learnpath {
                                     ON item.id = item_view.lp_item_id
                                     AND item_type NOT IN('dokeos_chapter','chapter','dir')
                                 WHERE lp_view_id = " . $view_id . "
-                                AND status IN ('passed','completed','succeeded','browsed','failed')"; echo '<br />';
+                                AND status IN ('passed','completed','succeeded','browsed','failed')"; //echo '<br />';
             $res = Database::query($sql);
             $row = Database :: fetch_array($res);
             $completed = $row[0];
@@ -2605,17 +2605,17 @@ class learnpath {
      * @param	integer	Parent ID of the items to look for
      * @return	mixed	Ordered list of item IDs or false on error
      */
-    public function get_flat_ordered_items_list($lp, $parent = 0) {
+    public function get_flat_ordered_items_list($lp, $parent = 0, $course_db = '') {
         //if ($this->debug > 0) { error_log('New LP - In learnpath::get_flat_ordered_items_list('.$lp.','.$parent.')', 0); }
         $list = array();
         if (empty ($lp)) {
             return false;
         }
-        $tbl_lp_item = Database :: get_course_table(TABLE_LP_ITEM);
+        $tbl_lp_item = Database :: get_course_table(TABLE_LP_ITEM, $course_db);
         $sql = "SELECT * FROM $tbl_lp_item WHERE lp_id = $lp AND parent_item_id = $parent ORDER BY display_order";
         $res = Database::query($sql);
         while ($row = Database :: fetch_array($res)) {
-            $sublist = learnpath :: get_flat_ordered_items_list($lp, $row['id']);
+            $sublist = learnpath :: get_flat_ordered_items_list($lp, $row['id'], $course_db);
             $list[] = $row['id'];
             foreach ($sublist as $item) {
                 $list[] = $item;

+ 11 - 2
main/newscorm/learnpathItem.class.php

@@ -71,11 +71,11 @@ class learnpathItem {
 	public function learnpathItem($db_id, $user_id, $course_db = '') {
 		// Get items table.
 		if (self::debug > 0) { error_log('New LP - In learnpathItem constructor: '.$db_id.','.$user_id, 0); }
-		$items_table = Database::get_course_table(TABLE_LP_ITEM);
+		$items_table = Database::get_course_table(TABLE_LP_ITEM, $course_db);
 		$id = (int) $db_id;
 		$sql = "SELECT * FROM $items_table WHERE id = $id";
 		//error_log('New LP - Creating item object from DB: '.$sql, 0);
-		$res = @Database::query($sql);
+		$res = Database::query($sql);
 		if (Database::num_rows($res) < 1) {
 			$this->error = 'Could not find given learnpath item in learnpath_item table';
 			//error_log('New LP - '.$this->error, 0);
@@ -1798,10 +1798,17 @@ class learnpathItem {
 		if (self::debug > 0) { error_log('New LP - In learnpathItem::set_lp_view('.$lp_view_id.')', 0); }
 		if (!empty($lp_view_id) and $lp_view_id = intval(strval($lp_view_id))) {
 	 		$this->view_id = $lp_view_id;
+
+
+      //error_log()
+
 		 	$item_view_table = Database::get_course_table(TABLE_LP_ITEM_VIEW, $course_db);
 		 	// Get the lp_item_view with the highest view_count.
 		 	$sql = "SELECT * FROM $item_view_table WHERE lp_item_id = ".$this->get_id()." " .
 		 			" AND lp_view_id = ".$lp_view_id." ORDER BY view_count DESC";
+
+      error_log('sql9->'.$sql);
+
 		 	if (self::debug > 2) { error_log('New LP - In learnpathItem::set_lp_view() - Querying lp_item_view: '.$sql, 0); }
 		 	$res = Database::query($sql);
 		 	if (Database::num_rows($res) > 0) {
@@ -1822,6 +1829,7 @@ class learnpathItem {
 			 	// Now get the number of interactions for this little guy.
 			 	$item_view_interaction_table = Database::get_course_table(TABLE_LP_IV_INTERACTION, $course_db);
 			 	$sql = "SELECT * FROM $item_view_interaction_table WHERE lp_iv_id = '".$this->db_item_view_id."'";
+        error_log('sql10->'.$sql);
 				$res = Database::query($sql);
 				if ($res !== false) {
 					$this->interactions_count = Database::num_rows($res);
@@ -1831,6 +1839,7 @@ class learnpathItem {
 			 	// Now get the number of objectives for this little guy.
 			 	$item_view_objective_table = Database::get_course_table(TABLE_LP_IV_OBJECTIVE, $course_db);
 			 	$sql = "SELECT * FROM $item_view_objective_table WHERE lp_iv_id = '".$this->db_item_view_id."'";
+        error_log('sql11->'.$sql);
 				$res = Database::query($sql);
 				if ($res !== false) {
 					$this->objectives_count = Database::num_rows($res);