improved chat for group, log file is now save into group folder - partial DT#5496

skala
Cristian Fasanando 16 years ago
parent a2dd7f1ff5
commit e158bc4fe5
  1. 40
      main/chat/chat_chat.php
  2. 17
      main/chat/chat_hidden.php
  3. 39
      main/chat/chat_message.php

@ -33,9 +33,10 @@
define('FRAME','chat'); define('FRAME','chat');
$language_file = array ('chat'); $language_file = array ('chat');
require('../inc/global.inc.php'); require_once '../inc/global.inc.php';
include(api_get_path(LIBRARY_PATH).'document.lib.php'); require_once api_get_path(LIBRARY_PATH).'document.lib.php';
include (api_get_path(LIBRARY_PATH).'fileUpload.lib.php'); require_once api_get_path(LIBRARY_PATH).'fileUpload.lib.php';
require_once api_get_path(LIBRARY_PATH).'groupmanager.lib.php';
//$course=api_get_course_id(); //$course=api_get_course_id();
$course=$_GET['cidReq']; $course=$_GET['cidReq'];
@ -57,9 +58,16 @@ if (!empty($course))
$dateNow=date('Y-m-d'); $dateNow=date('Y-m-d');
$basepath_chat = '';
$documentPath=api_get_path(SYS_COURSE_PATH).$_course['path'].'/document';
if (!empty($group_id)) {
$group_info = GroupManager :: get_group_properties($group_id);
$basepath_chat = $group_info['directory'].'/chat_files';
} else {
$basepath_chat = '/chat_files';
}
$chatPath=$documentPath.$basepath_chat.'/';
$documentPath=api_get_path(SYS_COURSE_PATH).$_course['path'].'/document/';
$chatPath=$documentPath.'chat_files/';
$TABLEITEMPROPERTY= Database::get_course_table(TABLE_ITEM_PROPERTY); $TABLEITEMPROPERTY= Database::get_course_table(TABLE_ITEM_PROPERTY);
if(!is_dir($chatPath)) if(!is_dir($chatPath))
@ -74,11 +82,13 @@ if (!empty($course))
$perm = octdec(!empty($perm)?$perm:'0770'); $perm = octdec(!empty($perm)?$perm:'0770');
@mkdir($chatPath,$perm); @mkdir($chatPath,$perm);
@chmod($chatPath,$perm); @chmod($chatPath,$perm);
// save chat files document for group into item property
/* if (!empty($group_id)) {
$doc_id=add_document($_course,'/chat_files','folder',0,'chat_files'); $doc_id=add_document($_course,$basepath_chat,'folder',0,'chat_files');
Database::query("INSERT INTO ".$TABLEITEMPROPERTY . " (tool,insert_user_id,insert_te,lastedit_date,ref,lastedit_type,lastedit_user_id,to_group_id,to_user_id,visibility) VALUES ('document',1,NOW(),NOW(),$doc_id,'DocumentAdded',1,0,NULL,0)"); $sql = "INSERT INTO $TABLEITEMPROPERTY (tool,insert_user_id,insert_date,lastedit_date,ref,lastedit_type,lastedit_user_id,to_group_id,to_user_id,visibility)
*/ VALUES ('document',1,NOW(),NOW(),$doc_id,'FolderCreated',1,$group_id,NULL,0)";
Database::query($sql,__FILE__,__LINE__);
}
} }
} }
@ -95,10 +105,10 @@ if (!empty($course))
{ {
@fclose(fopen($chatPath.$filename_chat,'w')); @fclose(fopen($chatPath.$filename_chat,'w'));
if (!api_is_anonymous()) { if (!api_is_anonymous()) {
$doc_id=add_document($_course,'/chat_files/'.$filename_chat,'file',0,$filename_chat); $doc_id=add_document($_course,$basepath_chat.'/'.$filename_chat,'file',0,$filename_chat);
api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'DocumentAdded', $_user['user_id'],$group_id,null,null,null,$session_id); api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'DocumentAdded', $_user['user_id'],$group_id,null,null,null,$session_id);
api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'invisible', $_user['user_id'],$group_id,null,null,null,$session_id); api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'invisible', $_user['user_id'],$group_id,null,null,null,$session_id);
item_property_update_on_folder($_course,'/chat_files', $_user['user_id']); item_property_update_on_folder($_course,$basepath_chat, $_user['user_id']);
} }
} }
@ -124,13 +134,13 @@ if (!empty($course))
@fclose(fopen($chatPath.$basename_chat.'.log.html','w')); @fclose(fopen($chatPath.$basename_chat.'.log.html','w'));
$doc_id=add_document($_course,'/chat_files/'.$basename_chat.'-'.$i.'.log.html','file',filesize($chatPath.$basename_chat.'-'.$i.'.log.html'),$basename_chat.'-'.$i.'.log.html'); $doc_id=add_document($_course,$basepath_chat.'/'.$basename_chat.'-'.$i.'.log.html','file',filesize($chatPath.$basename_chat.'-'.$i.'.log.html'),$basename_chat.'-'.$i.'.log.html');
api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'DocumentAdded', $_user['user_id'],$group_id,null,null,null,$session_id); api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'DocumentAdded', $_user['user_id'],$group_id,null,null,null,$session_id);
api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'invisible', $_user['user_id'],$group_id,null,null,null,$session_id); api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'invisible', $_user['user_id'],$group_id,null,null,null,$session_id);
item_property_update_on_folder($_course,'/chat_files', $_user['user_id']); item_property_update_on_folder($_course,$basepath_chat, $_user['user_id']);
$doc_id = DocumentManager::get_document_id($_course,'/chat_files/'.$basename_chat.'.log.html'); $doc_id = DocumentManager::get_document_id($_course,$basepath_chat.'/'.$basename_chat.'.log.html');
update_existing_document($_course, $doc_id,0); update_existing_document($_course, $doc_id,0);
} }

@ -34,8 +34,9 @@ define('FRAME','hidden');
$language_file = array ('chat'); $language_file = array ('chat');
require('../inc/global.inc.php'); require_once '../inc/global.inc.php';
include_once '../inc/lib/course.lib.php'; require_once api_get_path(LIBRARY_PATH).'course.lib.php';
require_once api_get_path(LIBRARY_PATH).'groupmanager.lib.php';
require_once 'chat_functions.lib.php'; require_once 'chat_functions.lib.php';
//$tbl_user=$mainDbName."`.`user"; //$tbl_user=$mainDbName."`.`user";
//$tbl_chat_connected=$_course['dbNameGlu'].'chat_connected'; //$tbl_chat_connected=$_course['dbNameGlu'].'chat_connected';
@ -69,9 +70,17 @@ if (!empty($group_id)) {
$extra_condition = $session_condition; $extra_condition = $session_condition;
} }
$documentPath=api_get_path(SYS_COURSE_PATH).$_course['path'].'/document/'; // get chat path
$chatPath=$documentPath.'chat_files/'; $chatPath = '';
$documentPath=api_get_path(SYS_COURSE_PATH).$_course['path'].'/document';
if (!empty($group_id)) {
$group_info = GroupManager :: get_group_properties($group_id);
$chatPath=$documentPath.$group_info['directory'].'/chat_files/';
} else {
$chatPath=$documentPath.'/chat_files/';
}
// get chat file
$basename_chat = ''; $basename_chat = '';
if (!empty($group_id)) { if (!empty($group_id)) {
$basename_chat = 'messages-'.$dateNow.'_gid-'.$group_id; $basename_chat = 'messages-'.$dateNow.'_gid-'.$group_id;

@ -40,14 +40,14 @@ define('FRAME','message');
$language_file = array ('chat'); $language_file = array ('chat');
require('../inc/global.inc.php'); require_once '../inc/global.inc.php';
require_once api_get_path(LIBRARY_PATH).'groupmanager.lib.php';
$course=api_get_course_id(); $course=api_get_course_id();
$session_id = intval($_SESSION['id_session']); $session_id = intval($_SESSION['id_session']);
$group_id = intval($_SESSION['_gid']); $group_id = intval($_SESSION['_gid']);
///// /////
// Juan Carlos Ra<EFBFBD>a insert smileys and self-closing window // Juan Carlos Raña insert smileys and self-closing window
//// ////
?> ?>
<script language="javascript" type="text/javascript"> <script language="javascript" type="text/javascript">
@ -122,8 +122,16 @@ if (!empty($course) && !empty($_user['user_id']))
$dateNow=date('Y-m-d'); $dateNow=date('Y-m-d');
$documentPath=api_get_path(SYS_COURSE_PATH).$_course['path'].'/document/'; $basepath_chat = '';
$chatPath=$documentPath.'chat_files/'; $documentPath=api_get_path(SYS_COURSE_PATH).$_course['path'].'/document';
if (!empty($group_id)) {
$group_info = GroupManager :: get_group_properties($group_id);
$basepath_chat = $group_info['directory'].'/chat_files';
} else {
$basepath_chat = '/chat_files';
}
$chatPath=$documentPath.$basepath_chat.'/';
$TABLEITEMPROPERTY= Database::get_course_table(TABLE_ITEM_PROPERTY); $TABLEITEMPROPERTY= Database::get_course_table(TABLE_ITEM_PROPERTY);
if(!is_dir($chatPath)) { if(!is_dir($chatPath)) {
@ -135,12 +143,13 @@ if (!empty($course) && !empty($_user['user_id']))
$perm = octdec(!empty($perm)?$perm:'0770'); $perm = octdec(!empty($perm)?$perm:'0770');
@mkdir($chatPath,$perm); @mkdir($chatPath,$perm);
@chmod($chatPath,$perm); @chmod($chatPath,$perm);
// save chat files document for group into item property
/* if (!empty($group_id)) {
$doc_id=add_document($_course,'/chat_files','folder',0,'chat_files'); $doc_id=add_document($_course,$basepath_chat,'folder',0,'chat_files');
$sql_insert = "INSERT INTO ".$TABLEITEMPROPERTY . " (tool,insert_user_id,insert_date,lastedit_date,ref,lastedit_type,lastedit_user_id,to_group_id,to_user_id,visibility) VALUES ('document',1,NOW(),NOW(),$doc_id,'DocumentAdded',1,0,NULL,0)"; $sql = "INSERT INTO $TABLEITEMPROPERTY (tool,insert_user_id,insert_date,lastedit_date,ref,lastedit_type,lastedit_user_id,to_group_id,to_user_id,visibility)
Database::query($sql_insert ,__FILE__,__LINE__); VALUES ('document',1,NOW(),NOW(),$doc_id,'FolderCreated',1,$group_id,NULL,0)";
*/ Database::query($sql,__FILE__,__LINE__);
}
} }
} }
@ -245,15 +254,15 @@ if (!empty($course) && !empty($_user['user_id']))
if(!file_exists($chatPath.$basename_chat.'.log.html')) if(!file_exists($chatPath.$basename_chat.'.log.html'))
{ {
$doc_id=add_document($_course,'/chat_files/'.$basename_chat.'.log.html','file',0,$basename_chat.'.log.html'); $doc_id=add_document($_course,$basepath_chat.'/'.$basename_chat.'.log.html','file',0,$basename_chat.'.log.html');
api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'DocumentAdded', $_user['user_id'],$group_id,null,null,null,$session_id); api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'DocumentAdded', $_user['user_id'],$group_id,null,null,null,$session_id);
api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'invisible', $_user['user_id'],$group_id,null,null,null,$session_id); api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'invisible', $_user['user_id'],$group_id,null,null,null,$session_id);
item_property_update_on_folder($_course,'/chat_files', $_user['user_id']); item_property_update_on_folder($_course,$basepath_chat, $_user['user_id']);
} }
else else
{ {
$doc_id = DocumentManager::get_document_id($_course,'/chat_files/'.$basename_chat.'.log.html'); $doc_id = DocumentManager::get_document_id($_course,$basepath_chat.'/'.$basename_chat.'.log.html');
} }
$fp=fopen($chatPath.$basename_chat.'.log.html','a'); $fp=fopen($chatPath.$basename_chat.'.log.html','a');
@ -275,7 +284,7 @@ if (!empty($course) && !empty($_user['user_id']))
$chat_size=filesize($chatPath.$basename_chat.'.log.html'); $chat_size=filesize($chatPath.$basename_chat.'.log.html');
update_existing_document($_course, $doc_id,$chat_size); update_existing_document($_course, $doc_id,$chat_size);
item_property_update_on_folder($_course,'/chat_files', $_user['user_id']); item_property_update_on_folder($_course,$basepath_chat, $_user['user_id']);
} }
} }
} }

Loading…
Cancel
Save