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['new_folder'] = abs($_POST['new_folder']);
\r
35 if ($_POST['folder'] == $_POST['new_folder']) {
\r
37 $msg->addFeedback('CANCELLED');
\r
38 header('Location: '.url_rewrite('mods/_standard/file_storage/index.php'.$owner_arg_prefix.'folder='.$_POST['new_folder'], AT_PRETTY_URL_IS_HEADER));
\r
42 if (isset($_POST['files'])) {
\r
43 foreach ($_POST['files'] as $file) {
\r
45 // check if this file name already exists
\r
46 $sql = "SELECT file_name FROM ".TABLE_PREFIX."files WHERE file_id=$file";
\r
47 $result = mysql_query($sql, $db);
\r
48 $row = mysql_fetch_assoc($result);
\r
50 $sql = "SELECT file_id FROM ".TABLE_PREFIX."files WHERE folder_id={$_POST['new_folder']} AND file_id<>$file AND file_name='{$row['file_name']}' AND parent_file_id=0 AND owner_type=$owner_type AND owner_id=$owner_id ORDER BY file_id DESC LIMIT 1";
\r
51 $result = mysql_query($sql, $db);
\r
52 if ($row = mysql_fetch_assoc($result)) {
\r
53 fs_delete_file($row['file_id'], $owner_type, $owner_id);
\r
56 $sql = "UPDATE ".TABLE_PREFIX."files SET folder_id={$_POST['new_folder']}, date=date WHERE file_id=$file AND owner_type=$owner_type AND owner_id=$owner_id";
\r
57 mysql_query($sql, $db);
\r
59 $msg->addFeedback('FILES_MOVED');
\r
62 if (isset($_POST['folders'])) {
\r
63 foreach ($_POST['folders'] as $folder) {
\r
65 $sql = "UPDATE ".TABLE_PREFIX."folders SET parent_folder_id={$_POST['new_folder']} WHERE folder_id=$folder AND owner_type=$owner_type AND owner_id=$owner_id";
\r
66 mysql_query($sql, $db);
\r
68 $msg->addFeedback('DIRS_MOVED');
\r
70 header('Location: '.url_rewrite('mods/_standard/file_storage/index.php'.$owner_arg_prefix.'folder='.$_POST['new_folder'], AT_PRETTY_URL_IS_HEADER));
\r
74 require(AT_INCLUDE_PATH.'header.inc.php');
\r
76 $folder_id = abs($_GET['folder']);
\r
78 // can't use fs_get_folders() because we want all folders, not just at one level
\r
80 $sql = "SELECT folder_id, parent_folder_id, title FROM ".TABLE_PREFIX."folders WHERE owner_type=$owner_type AND owner_id=$owner_id ORDER BY parent_folder_id, title";
\r
81 $result = mysql_query($sql, $db);
\r
82 while ($row = mysql_fetch_assoc($result)) {
\r
83 $folders[$row['parent_folder_id']][$row['folder_id']] = $row;
\r
88 <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
\r
89 <?php if ($_GET['files']): foreach ($_GET['files'] as $tmpfile): ?>
\r
90 <input type="hidden" name="files[]" value="<?php echo $tmpfile; ?>" />
\r
91 <?php endforeach; endif; ?>
\r
93 <?php if ($_GET['folders']): foreach ($_GET['folders'] as $tmpfolder): ?>
\r
94 <input type="hidden" name="folders[]" value="<?php echo $tmpfolder; ?>" />
\r
95 <?php endforeach; endif; ?>
\r
97 <input type="hidden" name="folder" value="<?php echo $folder_id; ?>" />
\r
98 <input type="hidden" name="ot" value="<?php echo $owner_type; ?>" />
\r
99 <input type="hidden" name="oid" value="<?php echo $owner_id; ?>" />
\r
100 <div class="input-form">
\r
102 <p><?php echo _AT('select_directory'); ?></p>
\r
107 <li class="folders"><input type="radio" name="new_folder" value="0" id="fhome" <?php
\r
108 if ($folder_id == 0) {
\r
109 echo ' checked="checked"';
\r
111 ?>/><label for="fhome"><?php echo fs_get_workspace($owner_type, $owner_id); ?></label>
\r
113 if ($folder_id == $current_folder_id) {
\r
114 echo ' '._AT('current_location');
\r
117 <?php fs_print_folders($folder_id, 0, $folders); ?>
\r
122 <div class="row buttons">
\r
123 <input type="submit" name="submit" value="<?php echo _AT('move'); ?>" />
\r
124 <input type="submit" name="cancel" value="<?php echo _AT('cancel'); ?>" />
\r
129 <?php require(AT_INCLUDE_PATH.'footer.inc.php'); ?>