Browse Source

fixed possible warnings when array is empty - see DT#5082

Cristian Fasanando 15 years ago
parent
commit
588cff6edf
1 changed files with 25 additions and 19 deletions
  1. 25 19
      main/install/update-db-1.8.6-1.8.6.1.inc.php

+ 25 - 19
main/install/update-db-1.8.6-1.8.6.1.inc.php

@@ -310,34 +310,40 @@ if (defined('DOKEOS_INSTALL') || defined('DOKEOS_COURSE_UPDATE'))
                         $t_wiki_conf = "$prefix{$row_course['db_name']}_wiki_conf";
                     }
                     
-                    //update page_id from wiki table
+                    //update correct page_id to wiki table, actually only store 0
                     $query = "SELECT id, reflink FROM $t_wiki";
                     $res_page = mysql_query($query);
                     $wiki_id = $reflink = array(); 
-                    
-                    while ($row_page = mysql_fetch_row($res_page)) {                    	
-                    	$wiki_id[] = $row_page[0];
-                    	$reflink[] = $row_page[1];                    	 
-                    }
+
+					if (mysql_num_rows($res_page) > 0 ) {
+	                    while ($row_page = mysql_fetch_row($res_page)) {                    	
+	                    	$wiki_id[] = $row_page[0];
+	                    	$reflink[] = $row_page[1];                    	 
+	                    }
+					}
                                         
                     $reflink_unique = array_unique($reflink);
                     $reflink_flip = array_flip($reflink_unique);
-                     					 
-                    foreach ($wiki_id as $key=>$wiki_page) {                   	                    	
-                    	$pag_id = $reflink_flip[$reflink[$key]];
-                    	$sql= "UPDATE $t_wiki SET page_id='".($pag_id + 1)."' WHERE id = '$wiki_page'";
-                    	$res_update = mysql_query($sql);		                     		       					       				                        	
-                    }					
                     
-                    //insert page_id into wiki config					
+                    if (is_array($wiki_id)) {  					 
+	                    foreach ($wiki_id as $key=>$wiki_page) {                   	                    	
+	                    	$pag_id = $reflink_flip[$reflink[$key]];
+	                    	$sql= "UPDATE $t_wiki SET page_id='".($pag_id + 1)."' WHERE id = '$wiki_page'";
+	                    	$res_update = mysql_query($sql);		                     		       					       				                        	
+	                    }					
+                    }
+
+                    //insert page_id into wiki_conf table, actually this table is empty					
 				   	$query = "SELECT DISTINCT page_id FROM $t_wiki ORDER BY page_id";	
+				   	$myres_wiki = mysql_query($query);
 				   	
-				   	$myres_wiki = mysql_query($query);					
-				   	while ($row_wiki = mysql_fetch_row($myres_wiki)) {
-				   		$page_id = $row_wiki[0];
-				   		$query="INSERT INTO ".$t_wiki_conf." (page_id, task, feedback1, feedback2, feedback3, fprogress1, fprogress2, fprogress3) VALUES ('".$page_id."','','','','','','','')";				   
-                   		$myres_wiki_conf = mysql_query($query); 					   	
-				   }
+				   	if (mysql_num_rows($myres_wiki) > 0 ) {					
+					   	while ($row_wiki = mysql_fetch_row($myres_wiki)) {
+					   		$page_id = $row_wiki[0];
+					   		$query="INSERT INTO ".$t_wiki_conf." (page_id, task, feedback1, feedback2, feedback3, fprogress1, fprogress2, fprogress3) VALUES ('".$page_id."','','','','','','','')";				   
+	                   		$myres_wiki_conf = mysql_query($query); 					   	
+					   	}
+				   	}
 					
    				}
 			}