remove old readme
[atutor.git] / docs / mods / _core / modules / version_history.php
1 <?php
2 /************************************************************************/
3 /* ATutor                                                               */
4 /************************************************************************/
5 /* Copyright (c) 2002-2010                                              */
6 /* Inclusive Design Institute                                           */
7 /* http://atutor.ca                                                     */
8 /*                                                                      */
9 /* This program is free software. You can redistribute it and/or        */
10 /* modify it under the terms of the GNU General Public License          */
11 /* as published by the Free Software Foundation.                        */
12 /************************************************************************/
13 // $Id: 
14
15 define('AT_INCLUDE_PATH', '../../../include/');
16 require (AT_INCLUDE_PATH.'vitals.inc.php');
17 admin_authenticate(AT_ADMIN_PRIV_MODULES);
18 require(AT_INCLUDE_PATH.'../mods/_core/modules/classes/ModuleListParser.class.php');
19
20 if (isset($_POST["cancel"]))
21 {
22         header('Location: '.AT_BASE_HREF.'mods/_core/modules/install_modules.php');
23         exit;
24 }
25
26 // check the connection to server update.atutor.ca
27 $update_server = "update.atutor.ca"; 
28 $connection_test_file = "http://" . $update_server . '/index.php';
29 $connection = @file_get_contents($connection_test_file);
30
31 if (!$connection) 
32 {
33         $infos = array('CANNOT_CONNECT_SERVER', $update_server);
34         $msg->addError($infos);
35         
36         require(AT_INCLUDE_PATH.'header.inc.php');
37   $msg->printAll();
38         require(AT_INCLUDE_PATH.'footer.inc.php');
39         exit;
40 }
41
42 if (isset($_GET["id"])) $id = intval($_GET["id"]);
43 else if (isset($_POST["id"])) $id = intval($_POST["id"]);
44
45 // get module list
46 $module_folder = "http://" . $update_server . '/modules/';
47
48 $module_list_xml = @file_get_contents($module_folder . 'module_list.xml');
49
50 if ($module_list_xml) 
51 {
52         $moduleListParser = new ModuleListParser();
53         $moduleListParser->parse($module_list_xml);
54         $module_list_array = $moduleListParser->getParsedArray();
55 }
56 // end of get module list
57
58 $module_content_folder = AT_CONTENT_DIR . "module";
59
60 //debug($_POST["vid"]);
61 //exit;
62 // download process
63 if (isset($_POST["download"]) && !isset($_POST["vid"]))
64 {
65         $msg->addError('NO_ITEM_SELECTED');
66 }
67 else if ($_POST['download'])
68 {
69         $vid = intval($_POST['vid']);
70         $file_content = @file_get_contents($module_folder . $module_list_array[$id]['history'][$vid]['location'].$module_list_array[$id]['history'][$vid]['filename']);
71
72         if (!$file_content)
73         {
74                 $msg->addError('FILE_NOT_EXIST');
75         }
76         else
77         {
78                 header('Content-Type: application/x-zip');
79                 header('Content-transfer-encoding: binary'); 
80                 header('Content-Disposition: attachment; filename="'.htmlspecialchars($module_list_array[$id]['history'][$vid]['filename']).'"');
81                 header('Expires: 0');
82                 header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
83                 header('Pragma: public');
84                 header('Content-Length: '.strlen($file_content));
85         
86                 echo $file_content;
87                 exit;
88         }
89 }
90
91 require (AT_INCLUDE_PATH.'header.inc.php');
92
93 $msg->printErrors();
94
95 $savant->assign('id', $id);
96 $savant->assign('module_list_array', $module_list_array);
97 $savant->display('admin/modules/version_history.tmpl.php');
98 require (AT_INCLUDE_PATH.'footer.inc.php'); ?>