diff --git a/main/work/work.lib.php b/main/work/work.lib.php index 8e64f427f9..3bca3575c8 100644 --- a/main/work/work.lib.php +++ b/main/work/work.lib.php @@ -1,4 +1,4 @@ -, Ghent University - ability for course admins to specify wether uploaded documents are visible or invisible by default. * @author Roan Embrechts, code refactoring and virtual course support * @author Frederic Vauthier, directories management -* @version $Id: work.lib.php 18420 2009-02-10 20:19:02Z cvargas1 $ +* @version $Id: work.lib.php 18437 2009-02-11 16:34:36Z cfasanando $ */ /** * Displays action links (for admins, authorized groups members and authorized students) @@ -99,8 +99,8 @@ function display_tool_options($uploadvisibledisabled, $origin,$base_work_dir,$cu } echo ""; display_default_visibility_form($uploadvisibledisabled); - echo ''; - echo '
'; //image
- $a_count_directory=count_dir($work_dir.'/'.$dir,false);
+ //$a_count_directory=count_dir($work_dir.'/'.$dir,false);
+
$cant_files=0;
+ $cant_dir = 0;
if(api_is_allowed_to_edit()) {
- $cant_files=$a_count_directory[0];
+ $sql_document = "SELECT count(*) FROM $work_table WHERE url NOT LIKE '".$sub_course_dir.$dir."/%/%' AND url LIKE '".$sub_course_dir.$dir."/%'";
} else {
- $sql = "SELECT count(*) FROM $work_table s, $iprop_table p WHERE s.id = p.ref AND lastedit_user_id='".(int)api_get_user_id()."' AND url NOT LIKE '".$sub_course_dir.$dir."/%/%' AND url LIKE '".$sub_course_dir.$dir."/%'";
- $res = api_sql_query($sql,__FILE__,__LINE__);
- $r = Database::fetch_row($res);
- $cant_files = $r[0];
+ // gets admin_course
+ $table_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
+ $table_user = Database :: get_main_table(TABLE_MAIN_USER);
+ $sql = "SELECT course_user.user_id FROM $table_user user, $table_course_user course_user
+ WHERE course_user.user_id=user.user_id AND course_user.course_code='".api_get_course_id()."' AND course_user.status='1'";
+ $res = api_sql_query($sql,__FILE__,__LINE__);
+ $admin_course = '';
+ while($row_admin = Database::fetch_row($res)) {
+ $admin_course .='\''.$row_admin[0].'\',';
+ }
+ $sql_document = "SELECT count(*) FROM $work_table s, $iprop_table p WHERE s.id = p.ref AND p.tool='work' AND lastedit_user_id IN(".$admin_course.'\''.api_get_user_id().'\''.") AND s.accepted='1' AND url NOT LIKE '".$sub_course_dir.$dir."/%/%' AND url LIKE '".$sub_course_dir.$dir."/%'";
}
- $cant_dir=$a_count_directory[1];
-
+ //count documents
+ $res_document = api_sql_query($sql_document,__FILE__,__LINE__);
+ $count_document = Database::fetch_row($res_document);
+ $cant_files = $count_document[0];
+ //count directories
+ $sql_directory = "SELECT count(*) FROM $work_table s WHERE url NOT LIKE '/".$mydir."/%/%' AND url LIKE '/".$mydir."/%'";
+ $res_directory = api_sql_query($sql_directory,__FILE__,__LINE__);
+ $count_directory = Database::fetch_row($res_directory);
+ $cant_dir = $count_directory[0];
+
$text_file=get_lang('FilesUpload');
$text_dir=get_lang('Directories');
@@ -608,7 +625,7 @@ function display_student_publications_list($work_dir,$sub_course_dir,$currentCou
$table_data[] = $row;
}
- while( $work = mysql_fetch_object($sql_result)) {
+ while( $work = Database::fetch_object($sql_result)) {
//Get the author ID for that document from the item_property table
$is_author = false;
$author_sql = "SELECT * FROM $iprop_table WHERE tool = 'work' AND ref=".$work->id;
diff --git a/main/work/work.php b/main/work/work.php
index ff15b10739..5c802b782d 100644
--- a/main/work/work.php
+++ b/main/work/work.php
@@ -1,4 +1,4 @@
-, Ghent University - ability for course admins to specify wether uploaded documents are visible or invisible by default.
* @author Roan Embrechts, code refactoring and virtual course support
* @author Frederic Vauthier, directories management
-* @version $Id: work.php 18407 2009-02-10 16:03:50Z cfasanando $
+* @version $Id: work.php 18437 2009-02-11 16:34:36Z cfasanando $
*
* @todo refactor more code into functions, use quickforms, coding standards, ...
*/
@@ -107,6 +107,10 @@ $work_table = Database :: get_course_table(TABLE_STUDENT_PUBLICATION);
$iprop_table = Database :: get_course_table(TABLE_ITEM_PROPERTY);
$TSTDPUBASG = Database :: get_course_table(TABLE_STUDENT_PUBLICATION_ASSIGNMENT);
$t_gradebook_link = Database::get_main_table(TABLE_MAIN_GRADEBOOK_LINK);
+$table_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
+$table_user = Database :: get_main_table(TABLE_MAIN_USER);
+$table_session = Database :: get_main_table(TABLE_MAIN_SESSION);
+$table_session_course = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE);
/*
-----------------------------------------------------------
Constants and variables
@@ -809,15 +813,14 @@ if ($ctok==$_POST['sec_token']) { //check the token inserted into the form
if(Database::num_rows($sql) > 0 ) {
$dir_row = Database::fetch_array($sql);
$parent_id = $dir_row['id'];
- }
-
+ }
$sql_add_publication = "INSERT INTO " . $work_table . " SET " .
"url = '" . $url . "',
title = '" . $title . "',
description = '" . $description . "',
author = '" . $authors . "',
active = '" . $active . "',
- accepted = '" . (!$uploadvisibledisabled) . "',
+ accepted = '" . (api_is_allowed_to_edit()?$uploadvisibledisabled:(!$uploadvisibledisabled)) . "',
post_group_id = '" . $post_group_id . "',
sent_date = '".$current_date ."',
parent_id = '".$parent_id ."' ,
@@ -936,11 +939,7 @@ if (!empty($_POST['submitWork']) && !empty($succeed) && !$id) {
$send = api_get_course_setting('email_alert_manager_on_new_doc');
if ($send > 0) {
- // Lets predefine some variables. Be sure to change the from address!
- $table_course_user = Database :: get_main_table(TABLE_MAIN_COURSE_USER);
- $table_user = Database :: get_main_table(TABLE_MAIN_USER);
- $table_session = Database :: get_main_table(TABLE_MAIN_SESSION);
- $table_session_course = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE);
+ // Lets predefine some variables. Be sure to change the from address!
$emailto = array ();
if (empty ($id_session)) {
@@ -1296,9 +1295,16 @@ if ($cur_dir_path == '/') {
}
if (!$display_upload_form && !$display_tool_options) {
- $add_query = '';
+ $add_query = '';
+ $sql = "SELECT concat(user.firstname,' ',user.lastname) FROM $table_user user, $table_course_user course_user
+ WHERE course_user.user_id=user.user_id AND course_user.course_code='".api_get_course_id()."' AND course_user.status='1'";
+ $res = api_sql_query($sql,__FILE__,__LINE__);
+ $admin_course = '';
+ while($row = Database::fetch_row($res)) {
+ $admin_course .='\''.$row[0].'\',';
+ }
if(!$is_allowed_to_edit && $is_special==true) {
- $add_query = ' AND author = '."'".$_user['firstName'].' '.$_user['lastName']."' ";
+ $add_query = ' AND author IN('.$admin_course.'\''.$_user['firstName'].' '.$_user['lastName'].'\')';
}
if($is_allowed_to_edit && $is_special==true) {