From aa735666fb6e10dee8324e37b20e84ef66476111 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Wed, 11 Dec 2013 12:02:16 +0100 Subject: [PATCH] Minor - format code. --- main/dropbox/dropbox_class.inc.php | 18 +-- main/dropbox/dropbox_download.php | 183 ++++++++++++------------- main/dropbox/dropbox_functions.inc.php | 19 ++- main/dropbox/dropbox_init.inc.php | 24 ++-- main/dropbox/dropbox_submit.php | 100 +++++++------- 5 files changed, 159 insertions(+), 185 deletions(-) diff --git a/main/dropbox/dropbox_class.inc.php b/main/dropbox/dropbox_class.inc.php index 0d7c9b82a1..aa5bbbecc0 100644 --- a/main/dropbox/dropbox_class.inc.php +++ b/main/dropbox/dropbox_class.inc.php @@ -68,11 +68,11 @@ class Dropbox_Work * @param unknown_type $arg6 * @return Dropbox_Work */ - function Dropbox_Work($arg1, $arg2 = null, $arg3 = null, $arg4 = null, $arg5 = null, $arg6 = null) + public function Dropbox_Work($arg1, $arg2 = null, $arg3 = null, $arg4 = null, $arg5 = null, $arg6 = null) { if (func_num_args() > 1) { $this->_createNewWork($arg1, $arg2, $arg3, $arg4, $arg5, $arg6); - } else { + } else { $this->_createExistingWork($arg1); } } @@ -80,17 +80,17 @@ class Dropbox_Work /** * private function creating a new work object * - * @param unknown_type $uploader_id - * @param unknown_type $title - * @param unknown_type $description - * @param unknown_type $author - * @param unknown_type $filename - * @param unknown_type $filesize + * @param int $uploader_id + * @param string $title + * @param string $description + * @param string $author + * @param string $filename + * @param int $filesize * * @todo $author was originally a field but this has now been replaced by the first and lastname of the uploader (to prevent anonymous uploads) * As a consequence this parameter can be removed */ - function _createNewWork($uploader_id, $title, $description, $author, $filename, $filesize) + public function _createNewWork($uploader_id, $title, $description, $author, $filename, $filesize) { global $_user, $dropbox_cnf; // Fill in the properties diff --git a/main/dropbox/dropbox_download.php b/main/dropbox/dropbox_download.php index 5a164ad839..496e91ba02 100644 --- a/main/dropbox/dropbox_download.php +++ b/main/dropbox/dropbox_download.php @@ -6,10 +6,8 @@ /** * Code */ -/* INIT SECTION */ // We cannot use dropbox_init.inc.php because this one already outputs data. - $language_file = 'dropbox'; // including the basic Chamilo initialisation file @@ -32,137 +30,126 @@ $course_id = api_get_course_int_id(); $user_id = api_get_user_id(); if (isset($_GET['cat_id']) AND is_numeric($_GET['cat_id']) AND $_GET['action'] == 'downloadcategory' AND isset($_GET['sent_received'])) { - // step 1: constructingd' the sql statement. Due to the nature off the classes of the dropbox the categories for sent files are stored in the table - // dropbox_file while the categories for the received files are stored in dropbox_post. It would have been more elegant if these could be stored - // in dropbox_person (which stores the link file-person) - // Therefore we have to create to separate sql statements to find which files are in the categorie (depending if we zip-download a sent category or a - // received category) - - if ($_GET['sent_received'] == 'sent') { - // here we also incorporate the person table to make sure that deleted sent documents are not included. - $sql = "SELECT DISTINCT file.id, file.filename, file.title + /** step 1: constructing the sql statement. + Due to the nature off the classes of the dropbox the categories for sent files are stored in the table + dropbox_file while the categories for the received files are stored in dropbox_post. + It would have been more elegant if these could be stored in dropbox_person (which stores the link file-person) + Therefore we have to create to separate sql statements to find which files are in the category + (depending if we zip-download a sent category or a received category)*/ + + if ($_GET['sent_received'] == 'sent') { + // here we also incorporate the person table to make sure that deleted sent documents are not included. + $sql = "SELECT DISTINCT file.id, file.filename, file.title FROM ".$dropbox_cnf['tbl_file']." file INNER JOIN ".$dropbox_cnf['tbl_person']." person ON (person.file_id=file.id AND file.c_id = $course_id AND person.c_id = $course_id) - WHERE + WHERE file.uploader_id = $user_id AND file.cat_id='".intval($_GET['cat_id'])."' AND person.user_id = $user_id"; - } + } - if ($_GET['sent_received'] == 'received') { - $sql = "SELECT DISTINCT file.id, file.filename, file.title + if ($_GET['sent_received'] == 'received') { + $sql = "SELECT DISTINCT file.id, file.filename, file.title FROM ".$dropbox_cnf['tbl_file']." file INNER JOIN ".$dropbox_cnf['tbl_person']." person ON (person.file_id=file.id AND file.c_id = $course_id AND person.c_id = $course_id) INNER JOIN ".$dropbox_cnf['tbl_post']." post ON (post.file_id = file.id AND post.c_id = $course_id AND file.c_id = $course_id) - WHERE + WHERE post.cat_id = ".intval($_GET['cat_id'])." AND post.dest_user_id = $user_id" ; - } - - $result = Database::query($sql); - while ($row = Database::fetch_array($result)) { - $files_to_download[] = $row['id']; - } - if (!is_array($files_to_download) OR empty($files_to_download)) { - header('location: index.php?view='.Security::remove_XSS($_GET['sent_received']).'&error=ErrorNoFilesInFolder'); - exit; - } - zip_download($files_to_download); - exit; -} - + } + $result = Database::query($sql); + while ($row = Database::fetch_array($result)) { + $files_to_download[] = $row['id']; + } + if (!is_array($files_to_download) OR empty($files_to_download)) { + header('location: index.php?view='.Security::remove_XSS($_GET['sent_received']).'&error=ErrorNoFilesInFolder'); + exit; + } + zip_download($files_to_download); + exit; +} /* DOWNLOAD A FILE */ - -/* AUTHORIZATION */ +/* AUTHORIZATION */ // Check if the id makes sense if (!isset($_GET['id']) || !is_numeric($_GET['id'])) { - Display::display_header($nameTools, 'Dropbox'); - Display :: display_error_message(get_lang('Error')); - Display::display_footer(); - exit; + Display::display_header($nameTools, 'Dropbox'); + Display :: display_error_message(get_lang('Error')); + Display::display_footer(); + exit; } // Check if the user is allowed to download the file $allowed_to_download = false; if (user_can_download_file($_GET['id'], api_get_user_id())) { - $allowed_to_download = true; + $allowed_to_download = true; } /* ERROR IF NOT ALLOWED TO DOWNLOAD */ - if (!$allowed_to_download) { - Display::display_header($nameTools, 'Dropbox'); - Display::display_error_message(get_lang('YouAreNotAllowedToDownloadThisFile')); - Display::display_footer(); + Display::display_header($nameTools, 'Dropbox'); + Display::display_error_message(get_lang('YouAreNotAllowedToDownloadThisFile')); + Display::display_footer(); exit; } else { /* DOWNLOAD THE FILE */ // the user is allowed to download the file - $_SESSION['_seen'][$_course['id']][TOOL_DROPBOX][] = intval($_GET['id']); + $_SESSION['_seen'][$_course['id']][TOOL_DROPBOX][] = intval($_GET['id']); - $work = new Dropbox_work($_GET['id']); - $path = dropbox_cnf('sysPath') . '/' . $work -> filename; //path to file as stored on server + $work = new Dropbox_work($_GET['id']); + $path = dropbox_cnf('sysPath') . '/' . $work -> filename; //path to file as stored on server if (!Security::check_abs_path($path, dropbox_cnf('sysPath').'/')) { - exit; + exit; + } + $file = $work->title; + $mimetype = DocumentManager::file_get_mime_type(true); + $fileinfo = pathinfo($file); + $extension = $fileinfo['extension']; + + if (!empty($extension) && isset($mimetype[$extension]) && $_GET['action'] != 'download') { + // give hint to browser about filetype + header( 'Content-type: ' . $mimetype[$extension] . "\n"); + } else { + //no information about filetype: force a download dialog window in browser + header( "Content-type: application/octet-stream\n"); } - $file = $work->title; - $mimetype = DocumentManager::file_get_mime_type(true); - $fileinfo = pathinfo($file); - $extension = $fileinfo['extension']; - - if (!empty($extension) && isset($mimetype[$extension]) && $_GET['action'] != 'download') { - // give hint to browser about filetype - header( 'Content-type: ' . $mimetype[$extension] . "\n"); - } else { - //no information about filetype: force a download dialog window in browser - header( "Content-type: application/octet-stream\n"); - } - - /*if (!in_array(strtolower($extension), array('doc', 'xls', 'ppt', 'pps', 'sxw', 'sxc', 'sxi'))) { - header('Content-Disposition: inline; filename='.$file); // bugs with open office - } else { - header('Content-Disposition: attachment; filename='.$file); - }*/ - - header('Content-Disposition: attachment; filename='.$file); - - /** - * Note that if you use these two headers from a previous example: - * header('Cache-Control: no-cache, must-revalidate'); - * header('Pragma: no-cache'); - * before sending a file to the browser, the "Open" option on Internet Explorer's file download dialog will not work properly. If the user clicks "Open" instead of "Save," the target application will open an empty file, because the downloaded file was not cached. The user will have to save the file to their hard drive in order to use it. - * Make sure to leave these headers out if you'd like your visitors to be able to use IE's "Open" option. - */ - header("Pragma: \n"); - header("Cache-Control: \n"); - header("Cache-Control: public\n"); // IE cannot download from sessions without a cache - - /*if (isset($_SERVER['HTTPS'])) { - /** - * We need to set the following headers to make downloads work using IE in HTTPS mode. - * - //header('Pragma: '); - //header('Cache-Control: '); - header("Expires: Mon, 26 Jul 1997 05:00:00 GMT\n"); - header("Last-Modified: " . gmdate( "D, d M Y H:i:s") . " GMT\n"); - header("Cache-Control: no-store, no-cache, must-revalidate\n"); // HTTP/1.1 - header("Cache-Control: post-check=0, pre-check=0\n", false); - }*/ - - header('Content-Description: '.trim(htmlentities($file))); - header('Content-transfer-encoding: binary'); - - header("Content-Length: " . filesize($path)."\n" ); - - $fp = fopen( $path, 'rb'); - fpassthru($fp); - exit(); + header('Content-Disposition: attachment; filename='.$file); + + /** + * Note that if you use these two headers from a previous example: + * header('Cache-Control: no-cache, must-revalidate'); + * header('Pragma: no-cache'); + * before sending a file to the browser, the "Open" option on Internet Explorer's file download dialog will not work properly. If the user clicks "Open" instead of "Save," the target application will open an empty file, because the downloaded file was not cached. The user will have to save the file to their hard drive in order to use it. + * Make sure to leave these headers out if you'd like your visitors to be able to use IE's "Open" option. + */ + header("Pragma: \n"); + header("Cache-Control: \n"); + header("Cache-Control: public\n"); // IE cannot download from sessions without a cache + + /*if (isset($_SERVER['HTTPS'])) { + /** + * We need to set the following headers to make downloads work using IE in HTTPS mode. + * + //header('Pragma: '); + //header('Cache-Control: '); + header("Expires: Mon, 26 Jul 1997 05:00:00 GMT\n"); + header("Last-Modified: " . gmdate( "D, d M Y H:i:s") . " GMT\n"); + header("Cache-Control: no-store, no-cache, must-revalidate\n"); // HTTP/1.1 + header("Cache-Control: post-check=0, pre-check=0\n", false); + }*/ + + header('Content-Description: '.trim(htmlentities($file))); + header('Content-transfer-encoding: binary'); + + header("Content-Length: " . filesize($path)."\n" ); + + $fp = fopen( $path, 'rb'); + fpassthru($fp); + exit(); } - //@todo clean this file the code below is useless there are 2 exits in previous conditions ... maybe a bad copy/paste/merge? exit; \ No newline at end of file diff --git a/main/dropbox/dropbox_functions.inc.php b/main/dropbox/dropbox_functions.inc.php index 5707f357be..ce6f3003cc 100644 --- a/main/dropbox/dropbox_functions.inc.php +++ b/main/dropbox/dropbox_functions.inc.php @@ -37,10 +37,9 @@ function handle_multiple_actions() { // STEP 2: at least one file has to be selected. If not we return an error message $ids = Request::get('id', array()); - if(count($ids)>0){ + if (count($ids)>0) { $checked_file_ids = $_POST['id']; - } - else{ + } else { foreach ($_POST as $key => $value) { if (strstr($value, $part.'_') AND $key != 'view_received_category' AND $key != 'view_sent_category') { $checked_files = true; @@ -107,7 +106,8 @@ function handle_multiple_actions() { * @author Patrick Cool , Ghent University * @version march 2006 */ -function delete_category($action, $id, $user_id = null) { +function delete_category($action, $id, $user_id = null) +{ $course_id = api_get_course_int_id(); global $dropbox_cnf; @@ -160,11 +160,8 @@ function delete_category($action, $id, $user_id = null) { /** * Displays the form to move one individual file to a category -* -* @return html code of the form that appears in a message box. -* +*@ return html code of the form that appears in a message box. * @author Julio Montoya - function rewritten - */ function display_move_form($part, $id, $target = array(), $extra_params = array()) { @@ -180,7 +177,6 @@ function display_move_form($part, $id, $target = array(), $extra_params = array( $form->addElement('select', 'move_target', get_lang('MoveFileTo'), $options); $form->addElement('button', 'do_move', get_lang('MoveFile')); $form->display(); - } /** @@ -241,7 +237,7 @@ function display_action_options($part, $categories, $current_category = 0) if ($current_category != 0) { echo ''; } @@ -310,7 +306,8 @@ function get_dropbox_categories($filter = '') * @param int The category ID * @return array The details of this category */ -function get_dropbox_category($id) { +function get_dropbox_category($id) +{ global $dropbox_cnf; $course_id = api_get_course_int_id(); if (empty($id) or $id != intval($id)) { return array(); } diff --git a/main/dropbox/dropbox_init.inc.php b/main/dropbox/dropbox_init.inc.php index 24f3e773df..f4c699b505 100644 --- a/main/dropbox/dropbox_init.inc.php +++ b/main/dropbox/dropbox_init.inc.php @@ -54,12 +54,8 @@ require_once api_get_path(LIBRARY_PATH).'fileUpload.lib.php'; // protecting the script api_protect_course_script(); - /* Libraries */ -// including the library for the sortable table -//require_once api_get_path(LIBRARY_PATH).'tablesort.lib.php';moved to autoload - // including the library for the dropbox require_once 'dropbox_class.inc.php'; @@ -68,7 +64,6 @@ require_once api_get_path(SYS_CODE_PATH).'document/document.inc.php'; // we use require_once api_get_path(LIBRARY_PATH).'fileDisplay.lib.php'; // the function choose_image is used require_once api_get_path(LIBRARY_PATH).'document.lib.php'; - /* Virtual course support */ $user_id = api_get_user_id(); @@ -139,7 +134,6 @@ if (dropbox_cnf('allowOverwrite')) { $javascript .= ", "; } $javascript .= "'".$dropbox_person->sentWork[$i]->title."'"; - //echo '***'.$dropbox_person->sentWork[$i]->title; } $javascript .= "); @@ -188,9 +182,7 @@ if (dropbox_cnf('allowOverwrite')) { $javascript .= " "; - $htmlHeadXtra[] = $javascript; - $htmlHeadXtra[] = "