Julio Montoya 15 anos atrás
pai
commit
5bec08d904

+ 1 - 0
documentation/changelog.html

@@ -30,6 +30,7 @@
   <li>Added sessions history (optional access to previous sessions in read-only for students)</li>
   <li>Added advanced search  in sessions: you can also search by session name, session category, tutor and visibility. (DT#5541)</li>
   <li>Added an option to configure courses as "auto-registered" (every user has it in his courses list and is automatically subscribed)</li>
+  <li>Added chat tool to the groups(DT#3318)</li>
   <li>Allowed password to be recovered using username *or* e-mail</li>
   <li>Added editable section to the registration form</li>
   <li>Reporting: notification of user who have never been active yet</li>

+ 44 - 5
main/chat/chat_banner.php

@@ -31,15 +31,54 @@
 */
 
 $language_file = array ('chat');
-
 include('../inc/global.inc.php');
+require_once api_get_path(LIBRARY_PATH).'groupmanager.lib.php';
+
+//$interbreadcrumb[] = array ("url" => "chat.php", "name" => get_lang("Chat"));
+//$noPHP_SELF=true;
+//$shortBanner=false;
+//Display::display_header(null,"Chat");
+
+$tool_name = get_lang('Chat');
+
+// If it is a group chat then the breadcrumbs.
+if ($_SESSION['_gid'] OR $_GET['group_id']) {
+
+	if (isset($_SESSION['_gid'])) {
+		$_clean['group_id']=(int)$_SESSION['_gid'];
+	}
+	if (isset($_GET['group_id'])) {
+		$_clean['group_id']=(int)Database::escape_string($_GET['group_id']);
+	}
 
+	$group_properties  = GroupManager :: get_group_properties($_clean['group_id']);
+	$interbreadcrumb[] = array ("url" => "../group/group.php", "name" => get_lang('Groups'));
+	$interbreadcrumb[] = array ("url"=>"../group/group_space.php?gidReq=".$_SESSION['_gid'], "name"=> get_lang('GroupSpace').' ('.$group_properties['name'].')');
+	$noPHP_SELF=true;
+	$shortBanner=false;
+	$add_group_to_title = ' ('.$group_properties['name'].')';
+	$groupfilter='group_id="'.$_clean['group_id'].'"';
 
-$interbreadcrumb[] = array ("url" => "chat.php", "name" => get_lang("Chat"));
-$noPHP_SELF=true;
-$shortBanner=false;
+	//ensure this tool in groups whe it's private or deactivated
+	/*if 	($group_properties['chat_state']==0)
+	{
+		echo api_not_allowed();
+	}
+	elseif ($group_properties['chat_state']==2)
+	{
+ 		if (!api_is_allowed_to_edit(false,true) and !GroupManager :: is_user_in_group($_user['user_id'], $_SESSION['_gid']))
+		{
+			echo api_not_allowed();
+		}
+	}*/
 
-Display::display_header(null,"Chat");
+}
+else
+{
+	$groupfilter='group_id=0';
+}
+Display::display_header($tool_name, 'Chat');
+//$is_allowed_to_edit = api_is_allowed_to_edit(false,true);
 ?>
 
 </body>

+ 26 - 0
main/css/academica/default.css

@@ -1692,6 +1692,32 @@ span.radio {
 .quiz_export_link {
 	float: right;
 }
+/*Exercice timer*/
+#square{
+  padding:15px;
+  background-color:#EEEEEE;
+  border:1px solid #CCCCCC;
+  margin-right : 25px;
+  width : 260px;margin-bottom:10px;
+}
+#wrapper-clock{
+  width:100%;
+  margin:0;
+}
+.count_down{
+  padding: 3px;
+  font-family:Georgia, "Times New Roman", Times, serif;
+  font-size:38px;
+  font-weight:bold;
+  color:#222;
+}
+.count_down sup{
+  font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
+  font-size:12px;
+  color:#555;
+  padding:0px 10px 0 0;
+  font-weight:normal;
+}
 /*SOCIAL TOOL*/
 div.image-social-content {
 	float:left;

+ 26 - 0
main/css/baby_orange/default.css

@@ -1687,6 +1687,32 @@ span.radio {
 .quiz_export_link {
 	float: right;
 }
+/*Exercice timer*/
+#square{
+  padding:15px;
+  background-color:#EEEEEE;
+  border:1px solid #CCCCCC;
+  margin-right : 25px;
+  width : 260px;margin-bottom:10px;
+}
+#wrapper-clock{
+  width:100%;
+  margin:0;
+}
+.count_down{
+  padding: 3px;
+  font-family:Georgia, "Times New Roman", Times, serif;
+  font-size:38px;
+  font-weight:bold;
+  color:#222;
+}
+.count_down sup{
+  font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
+  font-size:12px;
+  color:#555;
+  padding:0px 10px 0 0;
+  font-weight:normal;
+}
 /*SOCIAL TOOL*/
 div.image-social-content {
 	float:left;

+ 26 - 0
main/css/blue_lagoon/default.css

@@ -1899,6 +1899,32 @@ div.comments {
 .quiz_export_link {
 	float: right;
 }
+/*Exercice timer*/
+#square{
+  padding:15px;
+  background-color:#EEEEEE;
+  border:1px solid #CCCCCC;
+  margin-right : 25px;
+  width : 260px;margin-bottom:10px;
+}
+#wrapper-clock{
+  width:100%;
+  margin:0;
+}
+.count_down{
+  padding: 3px;
+  font-family:Georgia, "Times New Roman", Times, serif;
+  font-size:38px;
+  font-weight:bold;
+  color:#222;
+}
+.count_down sup{
+  font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
+  font-size:12px;
+  color:#555;
+  padding:0px 10px 0 0;
+  font-weight:normal;
+}
 /*
 ------------------------------------------------------------------------------
     Learning path

+ 26 - 0
main/css/cool_blue/default.css

@@ -1891,6 +1891,32 @@ div.comments {
 .quiz_export_link {
 	float: right;
 }
+/*Exercice timer*/
+#square{
+  padding:15px;
+  background-color:#EEEEEE;
+  border:1px solid #CCCCCC;
+  margin-right : 25px;
+  width : 260px;margin-bottom:10px;
+}
+#wrapper-clock{
+  width:100%;
+  margin:0;
+}
+.count_down{
+  padding: 3px;
+  font-family:Georgia, "Times New Roman", Times, serif;
+  font-size:38px;
+  font-weight:bold;
+  color:#222;
+}
+.count_down sup{
+  font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
+  font-size:12px;
+  color:#555;
+  padding:0px 10px 0 0;
+  font-weight:normal;
+}
 /*
 ------------------------------------------------------------------------------
     Learning path

+ 26 - 0
main/css/corporate/default.css

@@ -1686,6 +1686,32 @@ span.radio {
 .quiz_export_link {
 	float: right;
 }
+/*Exercice timer*/
+#square{
+  padding:15px;
+  background-color:#EEEEEE;
+  border:1px solid #CCCCCC;
+  margin-right : 25px;
+  width : 260px;margin-bottom:10px;
+}
+#wrapper-clock{
+  width:100%;
+  margin:0;
+}
+.count_down{
+  padding: 3px;
+  font-family:Georgia, "Times New Roman", Times, serif;
+  font-size:38px;
+  font-weight:bold;
+  color:#222;
+}
+.count_down sup{
+  font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
+  font-size:12px;
+  color:#555;
+  padding:0px 10px 0 0;
+  font-weight:normal;
+}
 /*SOCIAL TOOL*/
 div.image-social-content {
 	float:left;

+ 26 - 0
main/css/cosmic_campus/default.css

@@ -1720,6 +1720,32 @@ span.radio {
 .quiz_export_link {
 	float: right;
 }
+/*Exercice timer*/
+#square{
+  padding:15px;
+  background-color:#EEEEEE;
+  border:1px solid #CCCCCC;
+  margin-right : 25px;
+  width : 260px;margin-bottom:10px;
+}
+#wrapper-clock{
+  width:100%;
+  margin:0;
+}
+.count_down{
+  padding: 3px;
+  font-family:Georgia, "Times New Roman", Times, serif;
+  font-size:38px;
+  font-weight:bold;
+  color:#222;
+}
+.count_down sup{
+  font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
+  font-size:12px;
+  color:#555;
+  padding:0px 10px 0 0;
+  font-weight:normal;
+}
 /*SOCIAL TOOL*/
 div.image-social-content {
 	float:left;

+ 26 - 0
main/css/delicious_bordeaux/default.css

@@ -1908,6 +1908,32 @@ div.comments {
 .quiz_export_link {
 	float: right;
 }
+/*Exercice timer*/
+#square{
+  padding:15px;
+  background-color:#EEEEEE;
+  border:1px solid #CCCCCC;
+  margin-right : 25px;
+  width : 260px;margin-bottom:10px;
+}
+#wrapper-clock{
+  width:100%;
+  margin:0;
+}
+.count_down{
+  padding: 3px;
+  font-family:Georgia, "Times New Roman", Times, serif;
+  font-size:38px;
+  font-weight:bold;
+  color:#222;
+}
+.count_down sup{
+  font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
+  font-size:12px;
+  color:#555;
+  padding:0px 10px 0 0;
+  font-weight:normal;
+}
 /*
 ------------------------------------------------------------------------------
     Learning path

+ 26 - 0
main/css/dokeos_blue/default.css

@@ -1897,6 +1897,32 @@ div.comments {
 .quiz_export_link {
 	float: right;
 }
+/*Exercice timer*/
+#square{
+  padding:15px;
+  background-color:#EEEEEE;
+  border:1px solid #CCCCCC;
+  margin-right : 25px;
+  width : 260px;margin-bottom:10px;
+}
+#wrapper-clock{
+  width:100%;
+  margin:0;
+}
+.count_down{
+  padding: 3px;
+  font-family:Georgia, "Times New Roman", Times, serif;
+  font-size:38px;
+  font-weight:bold;
+  color:#222;
+}
+.count_down sup{
+  font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
+  font-size:12px;
+  color:#555;
+  padding:0px 10px 0 0;
+  font-weight:normal;
+}
 /*
 ------------------------------------------------------------------------------
     Learning path

+ 26 - 0
main/css/dokeos_classic/default.css

@@ -2404,6 +2404,32 @@ span.radio {
 .quiz_export_link {
 	float: right;
 }
+/*Exercice timer*/
+#square{
+  padding:15px;
+  background-color:#EEEEEE;
+  border:1px solid #CCCCCC;
+  margin-right : 25px;
+  width : 260px;margin-bottom:10px;
+}
+#wrapper-clock{
+  width:100%;
+  margin:0;
+}
+.count_down{
+  padding: 3px;
+  font-family:Georgia, "Times New Roman", Times, serif;
+  font-size:38px;
+  font-weight:bold;
+  color:#222;
+}
+.count_down sup{
+  font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
+  font-size:12px;
+  color:#555;
+  padding:0px 10px 0 0;
+  font-weight:normal;
+}
 /*SOCIAL TOOL*/
 div.image-social-content {
 	float:left;

+ 26 - 0
main/css/dokeos_classic_2D/default.css

@@ -2437,6 +2437,32 @@ span.radio {
 .quiz_export_link {
 	float: right;
 }
+/*Exercice timer*/
+#square{
+  padding:15px;
+  background-color:#EEEEEE;
+  border:1px solid #CCCCCC;
+  margin-right : 25px;
+  width : 260px;margin-bottom:10px;
+}
+#wrapper-clock{
+  width:100%;
+  margin:0;
+}
+.count_down{
+  padding: 3px;
+  font-family:Georgia, "Times New Roman", Times, serif;
+  font-size:38px;
+  font-weight:bold;
+  color:#222;
+}
+.count_down sup{
+  font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
+  font-size:12px;
+  color:#555;
+  padding:0px 10px 0 0;
+  font-weight:normal;
+}
 /*SOCIAL TOOL*/
 div.image-social-content {
 	float:left;

+ 26 - 0
main/css/empire_green/default.css

@@ -1907,6 +1907,32 @@ div.comments {
 .quiz_export_link {
 	float: right;
 }
+/*Exercice timer*/
+#square{
+  padding:15px;
+  background-color:#EEEEEE;
+  border:1px solid #CCCCCC;
+  margin-right : 25px;
+  width : 260px;margin-bottom:10px;
+}
+#wrapper-clock{
+  width:100%;
+  margin:0;
+}
+.count_down{
+  padding: 3px;
+  font-family:Georgia, "Times New Roman", Times, serif;
+  font-size:38px;
+  font-weight:bold;
+  color:#222;
+}
+.count_down sup{
+  font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
+  font-size:12px;
+  color:#555;
+  padding:0px 10px 0 0;
+  font-weight:normal;
+}
 /*
 ------------------------------------------------------------------------------
     Learning path

+ 26 - 0
main/css/fruity_orange/default.css

@@ -1907,6 +1907,32 @@ div.comments {
 .quiz_export_link {
 	float: right;
 }
+/*Exercice timer*/
+#square{
+  padding:15px;
+  background-color:#EEEEEE;
+  border:1px solid #CCCCCC;
+  margin-right : 25px;
+  width : 260px;margin-bottom:10px;
+}
+#wrapper-clock{
+  width:100%;
+  margin:0;
+}
+.count_down{
+  padding: 3px;
+  font-family:Georgia, "Times New Roman", Times, serif;
+  font-size:38px;
+  font-weight:bold;
+  color:#222;
+}
+.count_down sup{
+  font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
+  font-size:12px;
+  color:#555;
+  padding:0px 10px 0 0;
+  font-weight:normal;
+}
 /*
 ------------------------------------------------------------------------------
     Learning path

+ 26 - 0
main/css/medical/default.css

@@ -2361,6 +2361,32 @@ span.radio {
 .quiz_export_link {
 	float: right;
 }
+/*Exercice timer*/
+#square{
+  padding:15px;
+  background-color:#EEEEEE;
+  border:1px solid #CCCCCC;
+  margin-right : 25px;
+  width : 260px;margin-bottom:10px;
+}
+#wrapper-clock{
+  width:100%;
+  margin:0;
+}
+.count_down{
+  padding: 3px;
+  font-family:Georgia, "Times New Roman", Times, serif;
+  font-size:38px;
+  font-weight:bold;
+  color:#222;
+}
+.count_down sup{
+  font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
+  font-size:12px;
+  color:#555;
+  padding:0px 10px 0 0;
+  font-weight:normal;
+}
 /*SOCIAL TOOL*/
 div.image-social-content {
 	float:left;

+ 26 - 0
main/css/royal_purple/default.css

@@ -1903,6 +1903,32 @@ div.comments {
 .quiz_export_link {
 	float: right;
 }
+/*Exercice timer*/
+#square{
+  padding:15px;
+  background-color:#EEEEEE;
+  border:1px solid #CCCCCC;
+  margin-right : 25px;
+  width : 260px;margin-bottom:10px;
+}
+#wrapper-clock{
+  width:100%;
+  margin:0;
+}
+.count_down{
+  padding: 3px;
+  font-family:Georgia, "Times New Roman", Times, serif;
+  font-size:38px;
+  font-weight:bold;
+  color:#222;
+}
+.count_down sup{
+  font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
+  font-size:12px;
+  color:#555;
+  padding:0px 10px 0 0;
+  font-weight:normal;
+}
 /*
 ------------------------------------------------------------------------------
     Learning path

+ 26 - 0
main/css/silver_line/default.css

@@ -2092,6 +2092,32 @@ span.radio {
 .quiz_export_link {
 	float: right;
 }
+/*Exercice timer*/
+#square{
+  padding:15px;
+  background-color:#EEEEEE;
+  border:1px solid #CCCCCC;
+  margin-right : 25px;
+  width : 260px;margin-bottom:10px;
+}
+#wrapper-clock{
+  width:100%;
+  margin:0;
+}
+.count_down{
+  padding: 3px;
+  font-family:Georgia, "Times New Roman", Times, serif;
+  font-size:38px;
+  font-weight:bold;
+  color:#222;
+}
+.count_down sup{
+  font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
+  font-size:12px;
+  color:#555;
+  padding:0px 10px 0 0;
+  font-weight:normal;
+}
 /*SOCIAL TOOL*/
 div.image-social-content {
 	float:left;

+ 26 - 0
main/css/sober_brown/default.css

@@ -2395,6 +2395,32 @@ span.radio {
 .quiz_export_link {
 	float: right;
 }
+/*Exercice timer*/
+#square{
+  padding:15px;
+  background-color:#EEEEEE;
+  border:1px solid #CCCCCC;
+  margin-right : 25px;
+  width : 260px;margin-bottom:10px;
+}
+#wrapper-clock{
+  width:100%;
+  margin:0;
+}
+.count_down{
+  padding: 3px;
+  font-family:Georgia, "Times New Roman", Times, serif;
+  font-size:38px;
+  font-weight:bold;
+  color:#222;
+}
+.count_down sup{
+  font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
+  font-size:12px;
+  color:#555;
+  padding:0px 10px 0 0;
+  font-weight:normal;
+}
 /*SOCIAL TOOL*/
 div.image-social-content {
 	float:left;

+ 26 - 0
main/css/steel_grey/default.css

@@ -1909,6 +1909,32 @@ div.comments {
 .quiz_export_link {
 	float: right;
 }
+/*Exercice timer*/
+#square{
+  padding:15px;
+  background-color:#EEEEEE;
+  border:1px solid #CCCCCC;
+  margin-right : 25px;
+  width : 260px;margin-bottom:10px;
+}
+#wrapper-clock{
+  width:100%;
+  margin:0;
+}
+.count_down{
+  padding: 3px;
+  font-family:Georgia, "Times New Roman", Times, serif;
+  font-size:38px;
+  font-weight:bold;
+  color:#222;
+}
+.count_down sup{
+  font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
+  font-size:12px;
+  color:#555;
+  padding:0px 10px 0 0;
+  font-weight:normal;
+}
 /*
 ------------------------------------------------------------------------------
     Learning path

+ 26 - 0
main/css/tasty_olive/default.css

@@ -2222,6 +2222,32 @@ div.comments {
 	margin: 0px;
 	padding: 0px;
 }
+/*Exercice timer*/
+#square{
+  padding:15px;
+  background-color:#EEEEEE;
+  border:1px solid #CCCCCC;
+  margin-right : 25px;
+  width : 260px;margin-bottom:10px;
+}
+#wrapper-clock{
+  width:100%;
+  margin:0;
+}
+.count_down{
+  padding: 3px;
+  font-family:Georgia, "Times New Roman", Times, serif;
+  font-size:38px;
+  font-weight:bold;
+  color:#222;
+}
+.count_down sup{
+  font-family:"Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
+  font-size:12px;
+  color:#555;
+  padding:0px 10px 0 0;
+  font-weight:normal;
+}
 /*SOCIAL TOOL*/
 div.image-social-content {
 	float:left;

+ 1 - 1
main/exercice/exercice_submit.php

@@ -280,7 +280,7 @@ if ($exercise_row['expired_time'] != 0) {
     });
     </script>";
 }
-
+error_log(print_r($_COOKIE,true));
 if ($_configuration['live_exercise_tracking'] == true && $exerciseType == 2 && $exerciseFeedbackType != 1) {
 	$query = 'SELECT * FROM ' . $stat_table . $condition;
 	$result_select = Database::query($query, __FILE__, __LINE__);

+ 14 - 1
main/group/group_space.php

@@ -79,7 +79,7 @@ if (is_array($forums_of_groups)) {
 	}
 }
 
-if 	($current_group['doc_state']!=1 and $current_group['calendar_state']!=1 and $current_group['work_state']!=1 and $current_group['announcements_state']!=1 and $current_group['wiki_state']!=1 and $forum_state_public!=1) {
+if 	($current_group['doc_state']!=1 and $current_group['calendar_state']!=1 and $current_group['work_state']!=1 and $current_group['announcements_state']!=1 and $current_group['wiki_state']!=1 and $current_group['chat_state']!=1 and $forum_state_public!=1) {
 	if (!api_is_allowed_to_edit(null,true) and !GroupManager :: is_user_in_group($_user['user_id'], $current_group['id'])) {
 		echo api_not_allowed($print_headers);
 	}
@@ -214,6 +214,13 @@ if (api_is_allowed_to_edit(false,true) OR GroupManager :: is_user_in_group($_SES
 		//link to the wiki area of this group
 		$tools .= "<div style='margin-bottom: 5px;'><a href=\"../wiki/index.php?".api_get_cidreq()."&amp;toolgroup=".$current_group['id']."\">".Display::return_icon('wiki.gif', get_lang("GroupWiki"))."&nbsp;".get_lang("GroupWiki")."</a></div>";
 	}
+	
+	if ( $current_group['chat_state'] != TOOL_NOT_AVAILABLE)
+	{
+		//link to the chat area of this group
+		$tools .= "<div style='margin-bottom: 5px;'><a href=\"../chat/chat.php?".api_get_cidreq()."&amp;toolgroup=".$current_group['id']."\">".Display::return_icon('chat.gif', get_lang("Chat"))."&nbsp;".get_lang("Chat")."</a></div>";
+	}
+	
 	echo '<div class="actions-message" style="margin-bottom:4px;"><b>'.get_lang("Tools").':</b></div>';
 	if (!empty($tools))
 	{
@@ -262,6 +269,12 @@ if (api_is_allowed_to_edit(false,true) OR GroupManager :: is_user_in_group($_SES
 		//link to the wiki area of this group
 		$tools .= "<a href=\"../wiki/index.php?".api_get_cidreq()."&amp;toolgroup=".$current_group['id']."\">".Display::return_icon('wiki.gif', get_lang('GroupWiki'))."&nbsp;".get_lang('GroupWiki')."</a><br/>";
 	}
+	
+	if ( $current_group['chat_state'] == TOOL_PUBLIC )
+	{
+		//link to the chat area of this group
+		$tools .= "<a href=\"../chat/chat.php?".api_get_cidreq()."&amp;toolgroup=".$current_group['id']."\">".Display::return_icon('chat.gif', get_lang('Chat'))."&nbsp;".get_lang('Chat')."</a><br/>";
+	}
 
 	echo '<br/>';
 

+ 6 - 6
main/inc/lib/fckeditor/editor/plugins/ajaxfilemanager/_ajax_get_details_listing.php

@@ -7,7 +7,7 @@
 							<th width="10" class="fileColumns">&nbsp;</th>
 							<th class="docName"><?php echo LBL_NAME; ?></th>
 							<th  width="70" class="fileColumns"><?php echo LBL_SIZE; ?></th>
-                            <!-- hidde by now while implementing this dokeos -->
+                            <!-- hide while implementing this Dokeos -->
 							<!--<th class="fileColumns"><?php // echo LBL_MODIFIED; ?></th> -->
 						</tr>
 					</thead>
@@ -25,7 +25,7 @@
 								$strClass = ($file['is_writable']?"left":" leftDisabled");
 
 								///First step for hidden some type of Dokeos files and folders
-								//Juan Carlos Raa
+								//Juan Carlos Raña
 
 									//hidden files and folders deleted by Dokeos. Hidde folders css, hotpotatoes, chat_files
 									$deleted_by_dokeos_file=' DELETED '; // ' DELETED ' not '_DELETED_' because in $file['name'] _ is replaced with blank see class.manager.php
@@ -52,7 +52,7 @@
 									$shared_folder='shared folder';	 //'shared folder' not 'shared_folder' because  in $file['name'] _ is replaced with blank see class.manager.php
 
 								///Second step: hiding as the case
-								//Juan Carlos Raa
+								//Juan Carlos Raña
 
 								if((!ereg($deleted_by_dokeos_file, $file['name']) || !ereg($deleted_by_dokeos_folder, $file['path'])) && !ereg($css_folder_dokeos, $file['path']) && !ereg($hotpotatoes_folder_dokeos, $file['path']) && !ereg($chat_files_dokeos, $file['path']) && $show_doc_group==true && $file['name'][0]!='.')
 								{
@@ -62,11 +62,11 @@
 									?>
 									<tr class="<?php echo $css; ?>" id="row<?php echo $count; ?>"  >
 										<td align="center" id="tdz<?php echo $count; ?>"><span id="flag<?php echo $count; ?>" class="<?php echo $file['flag']; ?>">&nbsp;</span><input type="checkbox"  name="check[]" id="cb<?php echo $count; ?>" value="<?php echo $file['path']; ?>" <?php echo $strDisabled; ?> /></td>
-										<td align="center" class="fileColumns" id="tdst<?php echo $count; ?>">&nbsp;<a id="a<?php echo $count; ?>" href="<?php echo "../".$file['path']; ?>" target="_blank"><span class="<?php echo $file['cssClass']; ?>">&nbsp;</span></a></td><!-- Juan Carlos Raa Fix for Dokeos: On the path I put a directory up echo "../".$ file [ 'path'], what makes good show when pressed next on window preview, don't only one image -->
+										<td align="center" class="fileColumns" id="tdst<?php echo $count; ?>">&nbsp;<a id="a<?php echo $count; ?>" href="<?php echo "../".$file['path']; ?>" target="_blank"><span class="<?php echo $file['cssClass']; ?>">&nbsp;</span></a></td><!-- Juan Carlos Raña Fix for Dokeos: On the path I put a directory up echo "../".$ file [ 'path'], what makes good show when pressed next on window preview, don't only one image -->
 										<td class="<?php echo $strClass; ?> docName"  id="tdnd<?php echo $count; ?>"><a id="aa<?php echo $count; ?>" href="<?php echo "../".$file['path']; ?>" target="_blank"><?php echo $file['name']; ?></a></td>
 
 										<td class="docInfo" id="tdrd<?php echo $count; ?>"><?php echo transformFileSize($file['size']); ?></td>
-                                         <!-- hidde by now while implementing this dokeos -->
+                                         <!-- hide while implementing this Dokeos -->
 										<!--<td class="docInfo" id="tdth<?php //echo $count; ?>"><?php //echo @date(DATE_TIME_FORMAT,$file['mtime']); ?></td> -->
 									</tr>
 									<?php
@@ -98,7 +98,7 @@
 
 											<td class="<?php echo $strClass; ?> docName" id="tdnd<?php echo $count; ?>"><a id="aa<?php echo $count; ?>" href="<?php echo "../".$file['path']; ?>" target="_blank"><?php echo $file['name']; ?></a></td>
 											<td class="docInfo" id="tdrd<?php echo $count; ?>">&nbsp;</td>
-                                             <!-- hidde by now while implementing this dokeos -->
+                                             <!-- hide while implementing this Dokeos -->
 											<!--<td class="docInfo" id="tdth<?php// echo $count; ?>"><?php //echo @date(DATE_TIME_FORMAT,$file['mtime']); ?></td> -->
 										</tr>
 										<?php

+ 6 - 7
main/inc/lib/fckeditor/editor/plugins/ajaxfilemanager/ajaxfilemanager.php

@@ -214,7 +214,7 @@ $(document).ready(
   	<div id="header">
   		<dl id="currentFolderInfo">
   			<dt><?php echo LBL_CURRENT_FOLDER_PATH; ?></dt>
-  			<dd id="currentFolderPath"><?php echo $folderInfo['path']; ?></dd>
+  			<dt id="currentFolderPath"><?php echo $folderInfo['path']; ?></dt><!-- hack for breadcrumb for Dokeos change <dd> by <dt> -->
   		</dl>
     	<div id="viewList">
 
@@ -466,7 +466,7 @@ $(document).ready(
 
 					foreach(getFolderListing(CONFIG_SYS_ROOT_PATH) as $k=>$v)
 					{
-                              	if(hideFolderName($k))
+                        if(hideFolderName($k))
 						{
 						//shows only those permitted by Dokeos
 						?>
@@ -477,7 +477,8 @@ $(document).ready(
 					}
 
 					?>
-		            </select>
+		          </select>
+                    
 		      <?php
 	          		}
 		      ?></span>
@@ -502,10 +503,8 @@ $(document).ready(
                 </td><td><!--add a col while integratins -->
           	<b><?php  // echo LBL_SEARCH_RECURSIVELY; ?></b>&nbsp;&nbsp;
 		<!--change for Dokeos recursively by default  -->
-          	<input type="radio" name="search_recursively" value="1" id="search_recursively_1" class="radio" <?php echo (empty($_GET['search_recursively'])?'checked="checked"':''); ?> /> <?php //echo LBL_RECURSIVELY_YES; ?>
+     <!--     	<input type="radio" name="search_recursively" value="1" id="search_recursively_1" class="radio" <?php //echo (empty($_GET['search_recursively'])?'checked="checked"':''); ?> /> <?php //echo LBL_RECURSIVELY_YES; ?> -->       
         <!--  	<input type="radio" name="search_recursively" value="0" id="search_recursively_0" class="radio" <?php //echo (!empty($_GET['search_recursively'])?'checked="checked"':''); ?> /> <?php //echo LBL_RECURSIVELY_NO; ?> -->
-        
-        
           	</td>
           </tr>
           	</tbody>
@@ -514,7 +513,7 @@ $(document).ready(
 
         <p class="searchButtons">
         	<span class="left" id="linkClose" style="display:none">
-                  <!-- comment these lines while integrating into dokeos -->
+                  <!-- comment these lines while integrating into Dokeos -->
         		<!--<input  type="button" value="<?php // echo LBL_ACTION_CLOSE; ?>" onclick="return cancelSelectFile();"  class="button"> -->
         	</span>
         	<span class="right" id="linkSearch">

+ 1 - 1
main/inc/lib/fckeditor/editor/plugins/ajaxfilemanager/inc/config.base.php

@@ -195,7 +195,7 @@
 	define('CONFIG_EDITOR_NAME', (CONFIG_QUERY_STRING_ENABLE && !empty($_GET['editor'])?secureFileName($_GET['editor']):'fckeditor')); // run mode fckeditor (Dokeos editor)
 	define('CONFIG_THEME_NAME', (CONFIG_QUERY_STRING_ENABLE && !empty($_GET['theme'])?secureFileName($_GET['theme']):'default'));  //change the theme to your custom theme rather than default
 	define('CONFIG_DEFAULT_VIEW', (CONFIG_SYS_THUMBNAIL_VIEW_ENABLE?'thumbnail':'detail')); //thumbnail or detail
-	define('CONFIG_DEFAULT_PAGINATION_LIMIT', 10);
+	define('CONFIG_DEFAULT_PAGINATION_LIMIT', 10000); //change 10 by 10000 while pagination is deactivated on Dokeos
 	define('CONFIG_LOAD_DOC_LATTER', false); //all documents will be loaded up after the template has been loaded to the client
 
 

+ 2 - 2
main/inc/lib/fckeditor/editor/plugins/ajaxfilemanager/jscripts/ajaxfilemanager_c.js

@@ -140,8 +140,8 @@ return false;}; function getUrl(index,limitNeeded , viewNeeded, searchNeeded)
 }
 if(typeof(viewNeeded) == 'boolean' && viewNeeded)
 { queryStr += (queryStr == ''?'':'&') + 'view=' + getView(); excluded[excluded.length] = 'view';}
-if(typeof(searchNeeded) == 'boolean' && searchNeeded && searchRequired)
-{ var search_recursively = 0; $('input[@name=search_recursively][@checked]').each( function()
+if(typeof(searchNeeded) == 'boolean' && searchNeeded && searchRequired) // Below a temporal hack for Dokeos, change var search_recursively from = 0 to = 1 while radio button is deactivated into ajaxfilemanager.php Now alltime is recursively
+{ var search_recursively = 1; $('input[@name=search_recursively][@checked]').each( function()
 { search_recursively = this.value;} ); var searchFolder = document.getElementById('search_folder'); queryStr += (queryStr == ''?'':'&') + 'search=1&search_name=' + $('#search_name').val() + '&search_recursively=' + search_recursively + '&search_mtime_from=' + $('#search_mtime_from').val() + '&search_mtime_to=' + $('#search_mtime_to').val() + '&search_folder=' + searchFolder.options[searchFolder.selectedIndex].value; excluded[excluded.length] = 'search'; excluded[excluded.length] = 'search_recursively'; excluded[excluded.length] = 'search_mtime_from'; excluded[excluded.length] = 'search_mtime_to'; excluded[excluded.length] = 'search_folder'; excluded[excluded.length] = 'search_name'; excluded[excluded.length] = 'search';}
 return appendQueryString(appendQueryString(urls[index], queryString), queryStr, excluded);}; function changeView()
 { var url = getUrl('view', true, true); $('#rightCol').empty(); ajaxStart('#rightCol'); $('#rightCol').load(url, {}, function(){ ajaxStop('#rightCol img.ajaxLoadingImg'); urls.present = getUrl('home', true, true); initAfterListingLoaded();});}; function goParentFolder()

+ 3 - 2
main/inc/lib/fckeditor/editor/plugins/ajaxfilemanager/theme/default/css/fckeditor.css

@@ -48,6 +48,7 @@ input{ padding: 0; background-color: transparent;}
 #wrapper
 {
     margin: 0px 0px;
+	margin-top:15px;
 	min-width:760px;
 	width:100%;
     padding:0px;
@@ -58,6 +59,7 @@ position:absolute;
 top:60px;
 width:100%;
 border-color:#0000CC;
+margin-top:15px;
 }
 #leftCol{
 	background:#e8e8e8;
@@ -79,7 +81,7 @@ margin-left: 50%;
 margin-top:100px;
 }
 #content{
-  margin-left: 200px;
+margin-left: 200px;
 overflow: auto;
 overflow-x: hidden;
 max-height:380px;
@@ -183,7 +185,6 @@ float:left;
 	font-size: 14px;
 	font-weight: bold;
 	color: #666666;
-
 }
 #currentFolderInfo dt{
 	font-size:12px;

+ 13 - 4
main/inc/lib/groupmanager.lib.php

@@ -68,6 +68,7 @@ define("GROUP_TOOL_CALENDAR","2");
 define("GROUP_TOOL_ANNOUNCEMENT","3");
 define("GROUP_TOOL_WORK","4");
 define("GROUP_TOOL_WIKI", "5");
+define("GROUP_TOOL_CHAT", "6");
 
 /**
  * Fixed id's for group categories
@@ -226,7 +227,7 @@ class GroupManager {
 		}
 		$sql = "INSERT INTO ".$table_group." SET
 				category_id='".Database::escape_string($category_id)."', max_student = '".$places."', doc_state = '".$category['doc_state']."',
-				calendar_state = '".$category['calendar_state']."', work_state = '".$category['work_state']."', announcements_state = '".$category['announcements_state']."', forum_state = '".$category['forum_state']."', wiki_state = '".$category['wiki_state']."', self_registration_allowed = '".$category['self_reg_allowed']."',  self_unregistration_allowed = '".$category['self_unreg_allowed']."', session_id='".Database::escape_string($my_id_session)."'";
+				calendar_state = '".$category['calendar_state']."', work_state = '".$category['work_state']."', announcements_state = '".$category['announcements_state']."', forum_state = '".$category['forum_state']."', wiki_state = '".$category['wiki_state']."', chat_state = '".$category['chat_state']."', self_registration_allowed = '".$category['self_reg_allowed']."',  self_unregistration_allowed = '".$category['self_unreg_allowed']."', session_id='".Database::escape_string($my_id_session)."'";
 		Database::query($sql,__FILE__,__LINE__);
 		$lastId = Database::insert_id();
 		/*$secret_directory = uniqid("")."_team_".$lastId;
@@ -470,6 +471,7 @@ class GroupManager {
 			$result['announcements_state'] = $db_object->announcements_state;
 			$result['forum_state'] = $db_object->forum_state;
 			$result['wiki_state'] = $db_object->wiki_state;
+			$result['chat_state'] = $db_object->chat_state;
 			$result['directory'] = $db_object->secret_directory;
 			$result['self_registration_allowed'] = $db_object->self_registration_allowed;
 			$result['self_unregistration_allowed'] = $db_object->self_unregistration_allowed;
@@ -489,11 +491,12 @@ class GroupManager {
 	 * @param int		Announcement tool's visibility (0=none,1=private,2=public)
 	 * @param int		Forum tool's visibility (0=none,1=private,2=public)
 	 * @param int		Wiki tool's visibility (0=none,1=private,2=public)
+	 * @param int		Chat tool's visibility (0=none,1=private,2=public)
 	 * @param bool 		Whether self registration is allowed or not
 	 * @param bool 		Whether self unregistration is allowed or not
 	 * @return bool 	TRUE if properties are successfully changed, false otherwise
 	 */
-	public static function set_group_properties ($group_id, $name, $description, $maximum_number_of_students, $doc_state, $work_state, $calendar_state, $announcements_state, $forum_state,$wiki_state, $self_registration_allowed, $self_unregistration_allowed) {
+	public static function set_group_properties ($group_id, $name, $description, $maximum_number_of_students, $doc_state, $work_state, $calendar_state, $announcements_state, $forum_state, $wiki_state, $chat_state, $self_registration_allowed, $self_unregistration_allowed) {
 		$table_group = Database :: get_course_table(TABLE_GROUP);
 		$table_forum = Database :: get_course_table(TABLE_FORUM);
 		//$forum_id = get_forums_of_group($group_id);
@@ -506,6 +509,7 @@ class GroupManager {
 					announcements_state = '".Database::escape_string($announcements_state)."',
 					forum_state = '".Database::escape_string($forum_state)."',
 					wiki_state = '".Database::escape_string($wiki_state)."',
+					chat_state = '".Database::escape_string($chat_state)."',
 					description='".Database::escape_string(trim($description))."',
 					max_student=".Database::escape_string($maximum_number_of_students).",
 					self_registration_allowed='".Database::escape_string($self_registration_allowed)."',
@@ -642,7 +646,7 @@ class GroupManager {
 	 * @param int $max_number_of_students
 	 * @param int $groups_per_user
 	 */
-	public static function create_category ($title, $description, $doc_state, $work_state, $calendar_state, $announcements_state, $forum_state, $wiki_state, $self_registration_allowed, $self_unregistration_allowed, $maximum_number_of_students, $groups_per_user) {
+	public static function create_category ($title, $description, $doc_state, $work_state, $calendar_state, $announcements_state, $forum_state, $wiki_state, $chat_state, $self_registration_allowed, $self_unregistration_allowed, $maximum_number_of_students, $groups_per_user) {
 		$table_group_category = Database :: get_course_table(TABLE_GROUP_CATEGORY);
 		$sql = "SELECT MAX(display_order)+1 as new_order FROM $table_group_category ";
 		$res = Database::query($sql,__FILE__,__LINE__);
@@ -661,6 +665,7 @@ class GroupManager {
               		announcements_state = '".Database::escape_string($announcements_state)."',
               		forum_state = '".Database::escape_string($forum_state)."',
 					wiki_state = '".Database::escape_string($wiki_state)."',
+					chat_state = '".Database::escape_string($chat_state)."',
 					groups_per_user   = '".Database::escape_string($groups_per_user)."',
 					self_reg_allowed = '".Database::escape_string($self_registration_allowed)."',
 					self_unreg_allowed = '".Database::escape_string($self_unregistration_allowed)."',
@@ -686,7 +691,7 @@ class GroupManager {
 	 * @param int $max_number_of_students
 	 * @param int $groups_per_user
 	 */
-	public static function update_category ($id, $title, $description, $doc_state, $work_state, $calendar_state, $announcements_state, $forum_state, $wiki_state, $self_registration_allowed, $self_unregistration_allowed, $maximum_number_of_students, $groups_per_user) {
+	public static function update_category ($id, $title, $description, $doc_state, $work_state, $calendar_state, $announcements_state, $forum_state, $wiki_state, $chat_state, $self_registration_allowed, $self_unregistration_allowed, $maximum_number_of_students, $groups_per_user) {
 		$table_group_category = Database :: get_course_table(TABLE_GROUP_CATEGORY);
 		$id = Database::escape_string($id);
 		$sql = "UPDATE ".$table_group_category."
@@ -698,6 +703,7 @@ class GroupManager {
             	announcements_state = '".Database::escape_string($announcements_state)."',
             	forum_state = '".Database::escape_string($forum_state)."',
 				wiki_state = '".Database::escape_string($wiki_state)."',
+				chat_state = '".Database::escape_string($chat_state)."',
 				groups_per_user   = ".Database::escape_string($groups_per_user).",
 				self_reg_allowed = '".Database::escape_string($self_registration_allowed)."',
 				self_unreg_allowed = '".Database::escape_string($self_unregistration_allowed)."',
@@ -1485,6 +1491,9 @@ class GroupManager {
 			case GROUP_TOOL_WIKI :
 				$state_key = 'wiki_state';
 				break;
+			case GROUP_TOOL_CHAT :
+				$state_key = 'chat_state';
+				break;
 			default:
 				return false;
 		}