2 /****************************************************************/
\r
4 /****************************************************************/
\r
5 /* Copyright (c) 2002-2010 */
\r
6 /* Inclusive Design Institute */
\r
7 /* http://atutor.ca */
\r
9 /* This program is free software. You can redistribute it and/or*/
\r
10 /* modify it under the terms of the GNU General Public License */
\r
11 /* as published by the Free Software Foundation. */
\r
12 /****************************************************************/
\r
15 define('AT_INCLUDE_PATH', '../../../include/');
\r
16 require(AT_INCLUDE_PATH.'vitals.inc.php');
\r
17 require(AT_INCLUDE_PATH.'../mods/_standard/file_storage/file_storage.inc.php');
\r
19 $owner_type = abs($_REQUEST['ot']);
\r
20 $owner_id = abs($_REQUEST['oid']);
\r
21 $owner_arg_prefix = '?ot='.$owner_type.SEP.'oid='.$owner_id. SEP;
\r
22 if (!($owner_status = fs_authenticate($owner_type, $owner_id)) || !query_bit($owner_status, WORKSPACE_AUTH_WRITE)) {
\r
23 $msg->addError('ACCESS_DENIED');
\r
24 header('Location: '.url_rewrite('mods/_standard/file_storage/index.php', AT_PRETTY_URL_IS_HEADER));
\r
28 if (isset($_POST['cancel'])) {
\r
29 $msg->addFeedback('CANCELLED');
\r
30 header('Location: '.url_rewrite('mods/_standard/file_storage/index.php'.$owner_arg_prefix.'folder='.abs($_POST['folder']), AT_PRETTY_URL_IS_HEADER));
\r
32 } else if (isset($_POST['submit'])) {
\r
33 $_POST['assignment'] = abs($_POST['assignment']);
\r
34 $assignment_row = fs_get_assignment($_POST['assignment']);
\r
36 if (!$assignment_row) {
\r
37 $msg->addError('ACCESS_DENIED');
\r
38 header('Location: '.url_rewrite('mods/_standard/file_storage/index.php', AT_PRETTY_URL_IS_HEADER));
\r
42 if (!$assignment_row['assign_to']) {
\r
43 if (!$_SESSION['enroll']) {
\r
44 $msg->addError('ACCESS_DENIED');
\r
45 header('Location: '.url_rewrite('mods/_standard/file_storage/index.php', AT_PRETTY_URL_IS_HEADER));
\r
50 $sql = "SELECT group_id FROM ".TABLE_PREFIX."groups WHERE group_id=$owner_id AND type_id=$assignment_row[assign_to]";
\r
51 $result = mysql_query($sql, $db);
\r
52 if (!$row = mysql_fetch_assoc($result)) {
\r
53 $msg->addError('ACCESS_DENIED');
\r
54 header('Location: '.url_rewrite('mods/_standard/file_storage/index.php', AT_PRETTY_URL_IS_HEADER));
\r
59 if ($assignment_row['u_date_cutoff'] && ($assignment_row['u_date_cutoff'] < time())) {
\r
60 $msg->addError('ASSIGNMENT_CUTOFF');
\r
61 header('Location: '.url_rewrite('mods/_standard/file_storage/index.php'.$owner_arg_prefix.'folder='.$_POST['folder'], AT_PRETTY_URL_IS_HEADER));
\r
65 foreach ($_POST['files'] as $file) {
\r
67 fs_copy_file($file, $owner_type, $owner_id, WORKSPACE_ASSIGNMENT, $_POST['assignment'], $owner_id);
\r
70 $msg->addFeedback('ASSIGNMENT_HANDED_IN');
\r
71 header('Location: '.url_rewrite('mods/_standard/file_storage/index.php'.$owner_arg_prefix.'folder='.$_POST['folder'], AT_PRETTY_URL_IS_HEADER));
\r
75 // get all the assignments assigned to $owner_id (which is either a student ID or a group type ID)
\r
76 if ($owner_type == WORKSPACE_GROUP) {
\r
77 // get all the assignments assigned to this group type
\r
79 $sql = "SELECT type_id FROM ".TABLE_PREFIX."groups WHERE group_id=$owner_id LIMIT 1";
\r
80 $result = mysql_query($sql, $db);
\r
81 $row = mysql_fetch_assoc($result);
\r
83 $sql = "SELECT assignment_id, title, date_due, date_cutoff FROM ".TABLE_PREFIX."assignments WHERE assign_to=$row[type_id] AND course_id=$_SESSION[course_id] AND (date_cutoff=0 OR UNIX_TIMESTAMP(date_cutoff) > ".time().") ORDER BY title";
\r
85 } else if ($owner_type == WORKSPACE_PERSONAL) {
\r
86 // get all the assignments assigned to students
\r
88 $sql = "SELECT assignment_id, title, date_due FROM ".TABLE_PREFIX."assignments WHERE assign_to=0 AND course_id=$_SESSION[course_id] AND (date_cutoff=0 OR UNIX_TIMESTAMP(date_cutoff) > ".time().") ORDER BY title";
\r
90 exit('wrong workspace');
\r
93 $assignments = array();
\r
94 $result = mysql_query($sql, $db);
\r
95 while ($row = mysql_fetch_assoc($result)) {
\r
96 $assignments[] = $row;
\r
99 if (!$assignments) {
\r
100 $msg->addError('NO_ASSIGNMENTS_FOUND');
\r
101 header('Location: '.url_rewrite('mods/_standard/file_storage/index.php'.$owner_arg_prefix.'folder='.$_GET['folder'], AT_PRETTY_URL_IS_HEADER));
\r
105 require(AT_INCLUDE_PATH.'header.inc.php');
\r
108 <form method="post" action="<?php echo $_SERVER['PHP_SELF'].$owner_arg_prefix; ?>">
\r
109 <input type="hidden" name="folder" value="<?php echo abs($_GET['folder']); ?>" />
\r
110 <?php foreach ($_GET['files'] as $key => $file): ?>
\r
111 <?php $_GET['files'][$key] = $file = abs($file); ?>
\r
112 <input type="hidden" name="files[]" value="<?php echo $file; ?>" />
\r
113 <?php endforeach; ?>
\r
115 <div class="input-form">
\r
118 <span class="required" title="<?php echo _AT('required_field'); ?>">*</span><label for="name"><?php echo _AT('assignment'); ?></label><br />
\r
119 <select name="assignment" size="<?php echo min(5, count($assignments)); ?>">
\r
120 <?php foreach ($assignments as $assignment): ?>
\r
121 <?php if ($assignment['date_due'] != '0000-00-00 00:00:00'): ?>
\r
122 <option value="<?php echo $assignment['assignment_id']; ?>"><?php echo $assignment['title']; ?> - <?php echo _AT('due') . ': ' . AT_date(_AT('filemanager_date_format'), $assignment['date_due'], AT_DATE_MYSQL_DATETIME); ?></option>
\r
124 <option value="<?php echo $assignment['assignment_id']; ?>"><?php echo $assignment['title']; ?> - <?php echo _AT('no_due_date'); ?></option>
\r
126 <?php endforeach; ?>
\r
131 <?php echo _AT('files'); ?>
\r
132 <ul style="list-style: none; margin: 0px; padding: 0px 10px;">
\r
134 $file_list = implode(',', $_GET['files']);
\r
135 $sql = "SELECT file_name FROM ".TABLE_PREFIX."files WHERE file_id IN ($file_list) AND owner_type=$owner_type AND owner_id=$owner_id ORDER BY file_name";
\r
136 $result = mysql_query($sql, $db);
\r
138 <?php while ($row = mysql_fetch_assoc($result)): ?>
\r
139 <li><img src="images/file_types/<?php echo fs_get_file_type_icon($row['file_name']); ?>.gif" height="16" width="16" alt="" title="" /> <?php echo $row['file_name']; ?></li>
\r
144 <div class="buttons row">
\r
145 <input type="submit" name="submit" value="<?php echo _AT('submit'); ?>" />
\r
146 <input type="submit" name="cancel" value="<?php echo _AT('cancel'); ?>" />
\r
151 <?php require(AT_INCLUDE_PATH.'footer.inc.php'); ?>