[svn r18437] Logic changes - Implemented Student can see uploaded file from course administrator and fixed count directory and documents into a folder in assignment tool - see FS#3534

skala
Cristian Fasanando 17 years ago
parent d8cdc859a9
commit a5b1192969
  1. 43
      main/work/work.lib.php
  2. 30
      main/work/work.php

@ -1,4 +1,4 @@
<?php //$Id: work.lib.php 18420 2009-02-10 20:19:02Z cvargas1 $
<?php //$Id: work.lib.php 18437 2009-02-11 16:34:36Z cfasanando $
/* For licensing terms, see /dokeos_license.txt */
/**
* @package dokeos.work
@ -6,7 +6,7 @@
* @author Patrick Cool <patrick.cool@UGent.be>, 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 "</td></tr>";
display_default_visibility_form($uploadvisibledisabled);
echo '</table>';
echo '<div>'.get_lang("ValidateChanges").' : <input type="submit" name="changeProperties" value="'.get_lang("Ok").'" /></div></form>';
echo '</table>';
echo '<div>'.get_lang("ValidateChanges").' : <button type="submit" name="changeProperties" value="'.get_lang('Ok').'">'.get_lang('Ok').'</button></div></form>';
}
@ -534,18 +534,35 @@ function display_student_publications_list($work_dir,$sub_course_dir,$currentCou
$row = array();
$class = '';
$row[] = '<img src="../img/folder_document.gif" border="0" hspace="5" align="middle" alt="'.get_lang('Folder').'" title="'.get_lang('Folder').'" />'; //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;

@ -1,4 +1,4 @@
<?php //$Id: work.php 18407 2009-02-10 16:03:50Z cfasanando $
<?php //$Id: work.php 18437 2009-02-11 16:34:36Z cfasanando $
/* For licensing terms, see /dokeos_license.txt */
/**
* @package dokeos.work
@ -6,7 +6,7 @@
* @author Patrick Cool <patrick.cool@UGent.be>, 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) {

Loading…
Cancel
Save