Browse Source

[svn r13742] Minor - improved code to avoid warnings (and possibly stabilise it)

Yannick Warnier 17 years ago
parent
commit
62e2d5ce89
2 changed files with 171 additions and 162 deletions
  1. 15 9
      main/forum/forumfunction.inc.php
  2. 156 153
      main/forum/index.php

+ 15 - 9
main/forum/forumfunction.inc.php

@@ -1185,15 +1185,22 @@ function get_forums($id='')
 	// finding the last post information (last_post_id, last_poster_id, last_post_date, last_poster_name, last_poster_lastname, last_poster_firstname)
 	if ($id=='')
 	{
-		foreach ($forum_list as $key=>$value)
+		if(is_array($forum_list))
 		{
-			$last_post_info_of_forum=get_last_post_information($key,is_allowed_to_edit());
-			$forum_list[$key]['last_post_id']=$last_post_info_of_forum['last_post_id'];
-			$forum_list[$key]['last_poster_id']=$last_post_info_of_forum['last_poster_id'];
-			$forum_list[$key]['last_post_date']=$last_post_info_of_forum['last_post_date'];
-			$forum_list[$key]['last_poster_name']=$last_post_info_of_forum['last_poster_name'];
-			$forum_list[$key]['last_poster_lastname']=$last_post_info_of_forum['last_poster_lastname'];
-			$forum_list[$key]['last_poster_firstname']=$last_post_info_of_forum['last_poster_firstname'];
+			foreach ($forum_list as $key=>$value)
+			{
+				$last_post_info_of_forum=get_last_post_information($key,is_allowed_to_edit());
+				$forum_list[$key]['last_post_id']=$last_post_info_of_forum['last_post_id'];
+				$forum_list[$key]['last_poster_id']=$last_post_info_of_forum['last_poster_id'];
+				$forum_list[$key]['last_post_date']=$last_post_info_of_forum['last_post_date'];
+				$forum_list[$key]['last_poster_name']=$last_post_info_of_forum['last_poster_name'];
+				$forum_list[$key]['last_poster_lastname']=$last_post_info_of_forum['last_poster_lastname'];
+				$forum_list[$key]['last_poster_firstname']=$last_post_info_of_forum['last_poster_firstname'];
+			}
+		}
+		else
+		{
+			$forum_list = array();
 		}
 	}
 	else
@@ -1304,7 +1311,6 @@ function get_threads($forum_id)
 				ON post.poster_id= last_poster_users.user_id
 			WHERE thread.forum_id='".mysql_real_escape_string($forum_id)."'
 			ORDER BY thread.thread_sticky DESC, thread.thread_date DESC";
-		
 	if (is_allowed_to_edit())
 	{
 		// important note: 	it might seem a little bit awkward that we have 'thread.locked as locked' in the sql statement

+ 156 - 153
main/forum/index.php

@@ -187,202 +187,205 @@ if (api_is_allowed_to_edit())
 	Display Forum Categories and the Forums in it
 ------------------------------------------------------------------------------------------------------
 */
-echo "<table class='data_table' width='100%'>\n";
+echo '<table class="data_table" width="100%">'."\n";
 // Step 3: we display the forum_categories first
-foreach ($forum_categories_list as $forum_category_key => $forum_category)
+if(is_array($forum_categories_list))
 {
-	echo "\t<tr>\n\t\t<th style=\"padding-left:5px;\" align=\"left\" colspan=\"5\">";
-	echo '<a href="viewforumcategory.php?'.api_get_cidreq().'&forumcategory='.prepare4display($forum_category['cat_id']).'" '.class_visible_invisible(prepare4display($forum_category['visibility'])).'>'.prepare4display($forum_category['cat_title']).'</a><br />';
-	if ($forum_category['cat_comment']<>'' AND trim($forum_category['cat_comment'])<>'&nbsp;')
+	foreach ($forum_categories_list as $forum_category_key => $forum_category)
 	{
-		echo '<span>'.prepare4display($forum_category['cat_comment']).'</span>';
-	}
-	echo "</th>\n";
-	if (api_is_allowed_to_edit())
-	{
-		echo "\t\t<th>";
-		echo "<a href=\"".api_get_self()."?".api_get_cidreq()."&action=edit&amp;content=forumcategory&amp;id=".prepare4display($forum_category['cat_id'])."\">".icon('../img/edit.gif',get_lang('Edit'))."</a>";
-		echo "<a href=\"".api_get_self()."?".api_get_cidreq()."&action=delete&amp;content=forumcategory&amp;id=".prepare4display($forum_category['cat_id'])."\" onclick=\"javascript:if(!confirm('".addslashes(htmlentities(get_lang("DeleteForumCategory"),ENT_QUOTES,$charset))."')) return false;\">".icon('../img/delete.gif',get_lang('Delete'))."</a>";
-		display_visible_invisible_icon('forumcategory', prepare4display($forum_category['cat_id']), prepare4display($forum_category['visibility']));
-		display_lock_unlock_icon('forumcategory',prepare4display($forum_category['cat_id']), prepare4display($forum_category['locked']));
-		display_up_down_icon('forumcategory',prepare4display($forum_category['cat_id']), $forum_categories_list);
+		echo "\t<tr>\n\t\t<th style=\"padding-left:5px;\" align=\"left\" colspan=\"5\">";
+		echo '<a href="viewforumcategory.php?'.api_get_cidreq().'&forumcategory='.prepare4display($forum_category['cat_id']).'" '.class_visible_invisible(prepare4display($forum_category['visibility'])).'>'.prepare4display($forum_category['cat_title']).'</a><br />';
+		if ($forum_category['cat_comment']<>'' AND trim($forum_category['cat_comment'])<>'&nbsp;')
+		{
+			echo '<span>'.prepare4display($forum_category['cat_comment']).'</span>';
+		}
 		echo "</th>\n";
-	}
-	echo "\t</tr>\n";
-
-	// step 4: the interim headers (for the forum)
-	echo "\t<tr class=\"forum_header\">\n";
-	echo "\t\t<td colspan='2'>".get_lang('Forum')."</td>\n";
-	echo "\t\t<td>".get_lang('Topics')."</td>\n";
-	echo "\t\t<td>".get_lang('Posts')."</td>\n";
-	echo "\t\t<td>".get_lang('LastPosts')."</td>\n";
-	if (api_is_allowed_to_edit())
-	{
-		echo "\t\t<td>".get_lang('Actions')."</td>\n";
-	}
-	echo "\t</tr>\n";
-
-	// the forums in this category
-	$forums_in_category=get_forums_in_category($forum_category['cat_id']);
-
-	// step 5: we display all the forums in this category.
-	$forum_count=0;
-	foreach ($forum_list as $key=>$forum)
-	{
-		// Here we clean the whatnew_post_info array a little bit because to display the icon we
-		// test if $whatsnew_post_info[$forum['forum_id']] is empty or not.
-		if(is_array($whatsnew_post_info[$forum['forum_id']]))
+		if (api_is_allowed_to_edit())
 		{
-			foreach ($whatsnew_post_info[$forum['forum_id']] as $key_thread_id => $new_post_array)
-			{
-				if (empty($whatsnew_post_info[$forum['forum_id']][$key_thread_id]))
-				{
-					unset($whatsnew_post_info[$forum['forum_id']][$key_thread_id]);
-					unset($_SESSION['whatsnew_post_info'][$forum['forum_id']][$key_thread_id]);
-				}
-			}
+			echo "\t\t<th>";
+			echo "<a href=\"".api_get_self()."?".api_get_cidreq()."&action=edit&amp;content=forumcategory&amp;id=".prepare4display($forum_category['cat_id'])."\">".icon('../img/edit.gif',get_lang('Edit'))."</a>";
+			echo "<a href=\"".api_get_self()."?".api_get_cidreq()."&action=delete&amp;content=forumcategory&amp;id=".prepare4display($forum_category['cat_id'])."\" onclick=\"javascript:if(!confirm('".addslashes(htmlentities(get_lang("DeleteForumCategory"),ENT_QUOTES,$charset))."')) return false;\">".icon('../img/delete.gif',get_lang('Delete'))."</a>";
+			display_visible_invisible_icon('forumcategory', prepare4display($forum_category['cat_id']), prepare4display($forum_category['visibility']));
+			display_lock_unlock_icon('forumcategory',prepare4display($forum_category['cat_id']), prepare4display($forum_category['locked']));
+			display_up_down_icon('forumcategory',prepare4display($forum_category['cat_id']), $forum_categories_list);
+			echo "</th>\n";
 		}
-		// note: this can be speeded up if we transform the $forum_list to an array that uses the forum_category as the key.
-		if (prepare4display($forum['forum_category'])==prepare4display($forum_category['cat_id']))
+		echo "\t</tr>\n";
+	
+		// step 4: the interim headers (for the forum)
+		echo "\t<tr class=\"forum_header\">\n";
+		echo "\t\t<td colspan='2'>".get_lang('Forum')."</td>\n";
+		echo "\t\t<td>".get_lang('Topics')."</td>\n";
+		echo "\t\t<td>".get_lang('Posts')."</td>\n";
+		echo "\t\t<td>".get_lang('LastPosts')."</td>\n";
+		if (api_is_allowed_to_edit())
 		{
-			// the forum has to be showed if
-			// 1.v it is a not a group forum (teacher and student)
-			// 2.v it is a group forum and it is public (teacher and student)
-			// 3. it is a group forum and it is private (always for teachers only if the user is member of the forum
-			// if the forum is private and it is a group forum and the user is not a member of the group forum then it cannot be displayed
-			//if (!($forum['forum_group_public_private']=='private' AND !is_null($forum['forum_of_group']) AND !in_array($forum['forum_of_group'], $groups_of_user)))
-			//{
-			$show_forum=false;
-
-			// SHOULD WE SHOW THIS PARTICULAR FORUM
-			// you are teacher => show forum
-
-			if (api_is_allowed_to_edit())
+			echo "\t\t<td>".get_lang('Actions')."</td>\n";
+		}
+		echo "\t</tr>\n";
+	
+		// the forums in this category
+		$forums_in_category=get_forums_in_category($forum_category['cat_id']);
+	
+		// step 5: we display all the forums in this category.
+		$forum_count=0;
+		foreach ($forum_list as $key=>$forum)
+		{
+			// Here we clean the whatnew_post_info array a little bit because to display the icon we
+			// test if $whatsnew_post_info[$forum['forum_id']] is empty or not.
+			if(is_array($whatsnew_post_info[$forum['forum_id']]))
 			{
-				//echo 'teacher';
-				$show_forum=true;
+				foreach ($whatsnew_post_info[$forum['forum_id']] as $key_thread_id => $new_post_array)
+				{
+					if (empty($whatsnew_post_info[$forum['forum_id']][$key_thread_id]))
+					{
+						unset($whatsnew_post_info[$forum['forum_id']][$key_thread_id]);
+						unset($_SESSION['whatsnew_post_info'][$forum['forum_id']][$key_thread_id]);
+					}
+				}
 			}
-			// you are not a teacher
-			else
+			// note: this can be speeded up if we transform the $forum_list to an array that uses the forum_category as the key.
+			if (prepare4display($forum['forum_category'])==prepare4display($forum_category['cat_id']))
 			{
-				//echo 'student';
-				// it is not a group forum => show forum (invisible forums are already left out see get_forums function)
-				if ($forum['forum_of_group']=='0')
+				// the forum has to be showed if
+				// 1.v it is a not a group forum (teacher and student)
+				// 2.v it is a group forum and it is public (teacher and student)
+				// 3. it is a group forum and it is private (always for teachers only if the user is member of the forum
+				// if the forum is private and it is a group forum and the user is not a member of the group forum then it cannot be displayed
+				//if (!($forum['forum_group_public_private']=='private' AND !is_null($forum['forum_of_group']) AND !in_array($forum['forum_of_group'], $groups_of_user)))
+				//{
+				$show_forum=false;
+	
+				// SHOULD WE SHOW THIS PARTICULAR FORUM
+				// you are teacher => show forum
+	
+				if (api_is_allowed_to_edit())
 				{
-					//echo '-gewoon forum';
+					//echo 'teacher';
 					$show_forum=true;
 				}
-				// it is a group forum
+				// you are not a teacher
 				else
 				{
-					//echo '-groepsforum';
-					// it is a group forum but it is public => show
-					if ($forum['forum_group_public_private']=='public')
+					//echo 'student';
+					// it is not a group forum => show forum (invisible forums are already left out see get_forums function)
+					if ($forum['forum_of_group']=='0')
 					{
+						//echo '-gewoon forum';
 						$show_forum=true;
-						//echo '-publiek';
 					}
-					// it is a group forum and it is private
+					// it is a group forum
 					else
 					{
-						//echo '-prive';
-						// it is a group forum and it is private but the user is member of the group
-						if (in_array($forum['forum_of_group'],$groups_of_user))
+						//echo '-groepsforum';
+						// it is a group forum but it is public => show
+						if ($forum['forum_group_public_private']=='public')
 						{
-							//echo '-is lid';
 							$show_forum=true;
+							//echo '-publiek';
 						}
+						// it is a group forum and it is private
 						else
 						{
-							//echo '-is GEEN lid';
-							$show_forum=false;
+							//echo '-prive';
+							// it is a group forum and it is private but the user is member of the group
+							if (in_array($forum['forum_of_group'],$groups_of_user))
+							{
+								//echo '-is lid';
+								$show_forum=true;
+							}
+							else
+							{
+								//echo '-is GEEN lid';
+								$show_forum=false;
+							}
 						}
+	
 					}
-
 				}
-			}
-			//echo '<hr>';
-
-			if ($show_forum)
-			{
-				$form_count++;
-				echo "\t<tr class=\"forum\">\n";
-				echo "\t\t<td width=\"20\">";
-				if ($forum['forum_of_group']!=='0')
+				//echo '<hr>';
+	
+				if ($show_forum)
 				{
-					if (is_array($whatsnew_post_info[$forum['forum_id']]) and !empty($whatsnew_post_info[$forum['forum_id']]))
+					$form_count++;
+					echo "\t<tr class=\"forum\">\n";
+					echo "\t\t<td width=\"20\">";
+					if ($forum['forum_of_group']!=='0')
+					{
+						if (is_array($whatsnew_post_info[$forum['forum_id']]) and !empty($whatsnew_post_info[$forum['forum_id']]))
+						{
+							echo icon('../img/forumgroupnew.gif');
+						}
+						else
+						{
+							echo icon('../img/forumgroup.gif');
+						}
+					}
+					else
+					{
+						if (is_array($whatsnew_post_info[$forum['forum_id']]) and !empty($whatsnew_post_info[$forum['forum_id']]))
+						{
+							echo icon('../img/forum.gif');
+						}
+						else
+						{
+							echo icon('../img/forum.gif');
+						}
+	
+					}
+					echo "</td>\n";
+					if ($forum['forum_of_group']<>'0')
 					{
-						echo icon('../img/forumgroupnew.gif');
+						$group_title=substr($all_groups[$forum['forum_of_group']]['name'],0,30);
+						$forum_title_group_addition=' (<a href="../group/group_space.php?'.api_get_cidreq().'&gidReq='.$all_groups[$forum['forum_of_group']]['id'].'" class="forum_group_link">'.$group_title.'</a>)';
 					}
 					else
 					{
-						echo icon('../img/forumgroup.gif');
+						$forum_title_group_addition='';
 					}
-				}
-				else
-				{
-					if (is_array($whatsnew_post_info[$forum['forum_id']]) and !empty($whatsnew_post_info[$forum['forum_id']]))
+	
+					echo "\t\t<td><a href=\"viewforum.php?".api_get_cidreq()."&forum=".prepare4display($forum['forum_id'])."\" ".class_visible_invisible(prepare4display($forum['visibility'])).">".prepare4display($forum['forum_title']).'</a>'.$forum_title_group_addition.'<br />'.prepare4display($forum['forum_comment'])."</td>\n";
+					//$number_forum_topics_and_posts=get_post_topics_of_forum($forum['forum_id']); // deprecated
+					// the number of topics and posts
+					echo "\t\t<td>".$forum['number_of_threads']."</td>\n";
+					echo "\t\t<td>".$forum['number_of_posts']."</td>\n";
+					// the last post in the forum
+					if ($forum['last_poster_name']<>'')
 					{
-						echo icon('../img/forum.gif');
+						$name=$forum['last_poster_name'];
+						$poster_id=0;
 					}
 					else
 					{
-						echo icon('../img/forum.gif');
+						$name=$forum['last_poster_firstname'].' '.$forum['last_poster_lastname'];
+						$poster_id=$forum['last_poster_id'];
+					}
+					echo "\t\t<td NOWRAP>";
+					if (!empty($forum['last_post_id']))
+					{
+						echo $forum['last_post_date']."<br /> ".get_lang('By').' '.display_user_link($poster_id, $name);
 					}
-
-				}
-				echo "</td>\n";
-				if ($forum['forum_of_group']<>'0')
-				{
-					$group_title=substr($all_groups[$forum['forum_of_group']]['name'],0,30);
-					$forum_title_group_addition=' (<a href="../group/group_space.php?'.api_get_cidreq().'&gidReq='.$all_groups[$forum['forum_of_group']]['id'].'" class="forum_group_link">'.$group_title.'</a>)';
-				}
-				else
-				{
-					$forum_title_group_addition='';
-				}
-
-				echo "\t\t<td><a href=\"viewforum.php?".api_get_cidreq()."&forum=".prepare4display($forum['forum_id'])."\" ".class_visible_invisible(prepare4display($forum['visibility'])).">".prepare4display($forum['forum_title']).'</a>'.$forum_title_group_addition.'<br />'.prepare4display($forum['forum_comment'])."</td>\n";
-				//$number_forum_topics_and_posts=get_post_topics_of_forum($forum['forum_id']); // deprecated
-				// the number of topics and posts
-				echo "\t\t<td>".$forum['number_of_threads']."</td>\n";
-				echo "\t\t<td>".$forum['number_of_posts']."</td>\n";
-				// the last post in the forum
-				if ($forum['last_poster_name']<>'')
-				{
-					$name=$forum['last_poster_name'];
-					$poster_id=0;
-				}
-				else
-				{
-					$name=$forum['last_poster_firstname'].' '.$forum['last_poster_lastname'];
-					$poster_id=$forum['last_poster_id'];
-				}
-				echo "\t\t<td NOWRAP>";
-				if (!empty($forum['last_post_id']))
-				{
-					echo $forum['last_post_date']."<br /> ".get_lang('By').' '.display_user_link($poster_id, $name);
-				}
-				echo "</td>\n";
-
-
-				if (api_is_allowed_to_edit())
-				{
-					echo "\t\t<td NOWRAP align='center'>";
-					echo "<a href=\"".api_get_self()."?".api_get_cidreq()."&action=edit&amp;content=forum&amp;id=".$forum['forum_id']."\">".icon('../img/edit.gif',get_lang('Edit'))."</a>";
-					echo "<a href=\"".api_get_self()."?".api_get_cidreq()."&action=delete&amp;content=forum&amp;id=".$forum['forum_id']."\" onclick=\"javascript:if(!confirm('".addslashes(htmlentities(get_lang("DeleteForum"),ENT_QUOTES,$charset))."')) return false;\">".icon('../img/delete.gif',get_lang('Delete'))."</a>";
-					display_visible_invisible_icon('forum',$forum['forum_id'], $forum['visibility']);
-					display_lock_unlock_icon('forum',$forum['forum_id'], $forum['locked']);
-					display_up_down_icon('forum',$forum['forum_id'], $forums_in_category);
 					echo "</td>\n";
+	
+	
+					if (api_is_allowed_to_edit())
+					{
+						echo "\t\t<td NOWRAP align='center'>";
+						echo "<a href=\"".api_get_self()."?".api_get_cidreq()."&action=edit&amp;content=forum&amp;id=".$forum['forum_id']."\">".icon('../img/edit.gif',get_lang('Edit'))."</a>";
+						echo "<a href=\"".api_get_self()."?".api_get_cidreq()."&action=delete&amp;content=forum&amp;id=".$forum['forum_id']."\" onclick=\"javascript:if(!confirm('".addslashes(htmlentities(get_lang("DeleteForum"),ENT_QUOTES,$charset))."')) return false;\">".icon('../img/delete.gif',get_lang('Delete'))."</a>";
+						display_visible_invisible_icon('forum',$forum['forum_id'], $forum['visibility']);
+						display_lock_unlock_icon('forum',$forum['forum_id'], $forum['locked']);
+						display_up_down_icon('forum',$forum['forum_id'], $forums_in_category);
+						echo "</td>\n";
+					}
+					echo "\t</tr>";
 				}
-				echo "\t</tr>";
 			}
 		}
-	}
-	if (count($forum_list)==0)
-	{
-		echo "\t<tr><td>".get_lang('NoForumInThisCategory')."</td></tr>\n";
+		if (count($forum_list)==0)
+		{
+			echo "\t<tr><td>".get_lang('NoForumInThisCategory')."</td>".(api_is_allowed_to_edit()?'<td colspan="5"></td>':'<td colspan="4"></td>')."</tr>\n";
+		}
 	}
 }
 echo "</table>\n";