diff options
author | Sashi20 | 2024-02-08 10:46:27 +0530 |
---|---|---|
committer | GitHub | 2024-02-08 10:46:27 +0530 |
commit | 76d6778e66b13d37c3b912a2515a4211ef7e6d1c (patch) | |
tree | bcfcf26d9cd950e1995e86d5a464bbb8d9be93fb /full_download.inc | |
parent | f378e7132172cdc3460326c39d4caaa08a771936 (diff) | |
parent | 861c481422e9b5442483c0c824757e2211d8c00e (diff) | |
download | scilab_case_sudy_portal-76d6778e66b13d37c3b912a2515a4211ef7e6d1c.tar.gz scilab_case_sudy_portal-76d6778e66b13d37c3b912a2515a4211ef7e6d1c.tar.bz2 scilab_case_sudy_portal-76d6778e66b13d37c3b912a2515a4211ef7e6d1c.zip |
Merge pull request #1 from Sashi20/master
Case study proposal submission interface
Diffstat (limited to 'full_download.inc')
-rw-r--r-- | full_download.inc | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/full_download.inc b/full_download.inc new file mode 100644 index 0000000..5328e7c --- /dev/null +++ b/full_download.inc @@ -0,0 +1,66 @@ +<?php +// $Id$ +function scilab_case_study_download_full_project() +{ + global $user; + $id = arg(3); + $root_path = scilab_case_study_path(); + //var_dump($root_path);die; + $query = db_select('case_study_proposal'); + $query->fields('case_study_proposal'); + $query->condition('id', $id); + $case_study_q = $query->execute(); + $case_study_data = $case_study_q->fetchObject(); + $CASE_STUDY_PATH = $case_study_data->directory_name . '/project_files/'; + /* zip filename */ + $zip_filename = $root_path . 'zip-' . time() . '-' . rand(0, 999999) . '.zip'; + /* creating zip archive on the server */ + $zip = new ZipArchive(); + $zip->open($zip_filename, ZipArchive::CREATE); + $query = db_select('case_study_proposal'); + $query->fields('case_study_proposal'); + $query->condition('id', $id); + $circuit_simulation_udc_q = $query->execute(); + $query = db_select('case_study_proposal'); + $query->fields('case_study_proposal'); + $query->condition('id', $id); + $query = db_select('case_study_submitted_abstracts_file'); + $query->fields('case_study_submitted_abstracts_file'); + $query->condition('proposal_id', $id); + $project_files = $query->execute(); + while ($scilab_project_files = $project_files->fetchObject()) { + $zip->addFile($root_path . $CASE_STUDY_PATH . $scilab_project_files->filepath, $CASE_STUDY_PATH . str_replace(' ', '_', basename($scilab_project_files->filename))); + } + $zip_file_count = $zip->numFiles; + $zip->close(); + if ($zip_file_count > 0) { + if ($user->uid) { + /* download zip file */ + header('Content-Type: application/zip'); + header('Content-disposition: attachment; filename="' . str_replace(' ', '_', $case_study_data->project_title) . '.zip"'); + header('Content-Length: ' . filesize($zip_filename)); + ob_end_flush(); + ob_clean(); + flush(); + readfile($zip_filename); + unlink($zip_filename); + } //$user->uid + else { + header('Content-Type: application/zip'); + header('Content-disposition: attachment; filename="' . str_replace(' ', '_', $case_study_data->project_title) . '.zip"'); + header('Content-Length: ' . filesize($zip_filename)); + header("Content-Transfer-Encoding: binary"); + header('Expires: 0'); + header('Pragma: no-cache'); + ob_end_flush(); + ob_clean(); + flush(); + readfile($zip_filename); + unlink($zip_filename); + } + } //$zip_file_count > 0 + else { + drupal_set_message("There are no case study project in this proposal to download", 'error'); + drupal_goto('circuit-simulation-project/full-download/project'); + } +}
\ No newline at end of file |