updated install script step7 to list the build date rather than the revision number...
[atutor.git] / docs / install / include / step7.php
1 <?php
2 /************************************************************************/
3 /* ATutor                                                                                                                               */
4 /************************************************************************/
5 /* Copyright (c) 2002-2010                                              */
6 /* http://atutor.ca                                                     */
7 /* This program is free software. You can redistribute it and/or        */
8 /* modify it under the terms of the GNU General Public License          */
9 /* as published by the Free Software Foundation.                        */
10 /************************************************************************/
11 // $Id$
12
13 if (!defined('AT_INCLUDE_PATH')) { exit; }
14
15 require('../svn.php');
16
17 if ($svn_data <> '') $svn_data = explode("\n", $svn_data);
18
19 if (substr($svn_data[1], 0, 1) == 'r') {
20         $svn_data = $svn_data[1];
21 } else if (substr($svn_data[2], 0, 1) == 'r') {
22         $svn_data = $svn_data[2];
23 }
24
25 if (count($svn_data) > 1) {
26         $build = 'unknown';
27         $build_date = date('Y-m-d H:i:s');
28 } else {
29         $svn_data   = explode(' ', $svn_data);
30
31         $build      = $svn_data[0];
32         $build_date = $svn_data[4] .' '. $svn_data[5];
33 }
34
35 if (!$build) {
36         $build = 'unknown';
37 }
38
39 $os = php_uname('s') . ' '. php_uname('r'). ' '. php_uname('v'). ' '. php_uname('m');
40
41
42 if (isset($_POST['submit'])) {
43         unset($_POST['submit']);
44         unset($action);
45
46         if ($_POST['log_yes']) {
47
48                 $request  = '&upgrade=' . urlencode($stripslashes($_POST['log_upgrade']));
49                 $request .= '&version=' . urlencode($stripslashes($new_version));
50                 $request .= '&build='   . urlencode($stripslashes($build));
51                 $request .= '&build_date=' . urlencode($stripslashes($build_date));
52                 $request .= '&os='      . urlencode($stripslashes($_POST['log_os']));
53                 $request .= '&server='  . urlencode($stripslashes($_POST['log_server']));
54                 $request .= '&php='     . urlencode($stripslashes($_POST['log_php']));
55                 $request .= '&mysql='   . urlencode($stripslashes($_POST['log_mysql']));
56
57                 if ($_POST['step1']['old_path'] != '') {
58                         // get some usage data from this upgrade:
59                         $db     = @mysql_connect($_POST['step1']['db_host'] . ':' . $_POST['step1']['db_port'], $_POST['step1']['db_login'], urldecode($_POST['step1']['db_password']));
60                         @mysql_select_db($_POST['step1']['db_name'], $db);
61
62                         $db_size = 0; // db size in bytes
63                         $sql = 'SHOW TABLE STATUS';
64                         $result = mysql_query($sql, $db);
65                         while ($row = mysql_fetch_assoc($result)) {
66                                 $db_size += $row['Data_length']+$row['Index_length'];
67                         }
68
69                         $sql = "SELECT COUNT(*) AS cnt FROM ".$_POST['step1']['tb_prefix']."courses";
70                         $result = mysql_query($sql, $db);
71                         $row = mysql_fetch_assoc($result);
72                         $num_courses = $row['cnt'];
73
74                         $sql = "SELECT COUNT(*) AS cnt FROM ".$_POST['step1']['tb_prefix']."members";
75                         $result = mysql_query($sql, $db);
76                         $row = mysql_fetch_assoc($result);
77                         $num_users = $row['cnt'];
78
79                         $sql = "SELECT COUNT(*) AS cnt FROM ".$_POST['step1']['tb_prefix']."admins";
80                         $result = mysql_query($sql, $db);
81                         $row = mysql_fetch_assoc($result);
82                         $num_users += $row['cnt'];
83
84                         $sql = "SELECT GROUP_CONCAT(language_code) AS langs FROM ".$_POST['step1']['tb_prefix']."languages";
85                         $result = mysql_query($sql, $db);
86                         $row = mysql_fetch_assoc($result);
87                         $languages = $row['langs'];
88
89                         $request .= '&db='      . $db_size;     // db size in bytes
90                         $request .= '&courses=' . $num_courses; // number of courses
91                         $request .= '&users='   . $num_users;   // number of users (including admins)
92                         $request .= '&langs='   . $languages;   // comma separated list of installed languages
93                 }
94
95                 if ($_POST['log_url_yes']) {
96                         $request .= '&url=' . urlencode($stripslashes($_POST['log_url']));
97                 }
98
99                 $header = "POST /install_log.php HTTP/1.1\r\n";
100                 $header .= "Host: atutor.ca\r\n";
101                 $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
102                 $header .= "Content-Length: " . strlen($request) . "\r\n\r\n";
103                 $fp = fsockopen('www.atutor.ca', 80, $errno, $errstr, 30);
104
105                 if ($fp) {
106                         fputs($fp, $header . $request . "\r\n\r\n");
107                         fclose($fp);
108                 }
109         }
110
111         store_steps($step);
112         $step++;
113         return;
114 }
115
116 print_progress($step);
117
118 ?>
119 <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="form">
120 <input type="hidden" name="step" value="<?php echo $step; ?>" />
121 <?php
122         if ($_POST['step1']['old_path'] != '') {
123                 echo '<input type="hidden" name="log_upgrade" value="1" />';
124         } else {
125                 echo '<input type="hidden" name="log_upgrade" value="0" />';
126         }
127                 print_hidden($step);
128         ?>
129 <br />
130         <table width="80%" class="tableborder" cellspacing="0" cellpadding="1" align="center">  
131         <tr>
132                 <td class="row1" colspan="2">Submit the following information to the atutor.ca server anonymously? The information we gather helps us plan our development resources to better suit the needs of the community. You may optionally choose to send the URL of your ATutor installation.</td>
133         </tr>
134         <tr>
135                 <td class="row1" width="20%"><b>ATutor Version:</b></td>
136                 <td class="row1"><?php echo $new_version; ?> (Git build date<?php echo ' - '. $build_date; ?>)</td>
137         </tr>
138         <tr>
139                 <td class="row1" nowrap="nowrap"><b>Operating System:</b></td>
140                 <td class="row1"><?php echo $os; ?> <input type="hidden" name="log_os" value="<?php echo $os; ?>" /></td>
141         </tr>
142         <tr>
143                 <td class="row1"><b>Web Server:</b></td>
144                 <td class="row1"><?php echo $_SERVER['SERVER_SOFTWARE']; ?> <input type="hidden" name="log_server" value="<?php echo $_SERVER['SERVER_SOFTWARE']; ?>" /></td>
145         </tr>
146         <tr>
147                 <td class="row1"><b>PHP Version:</b></td>
148                 <td class="row1"><?php echo phpversion(); ?> <input type="hidden" name="log_php" value="<?php echo phpversion(); ?>" /></td>
149         </tr>
150         <tr>
151                 <td class="row1"><b>MySQL Version:</b></td>
152                 <td class="row1"><?php
153
154                         if ($_POST['step1']['old_path'] != '') {
155                                 $db     = @mysql_connect($_POST['step1']['db_host'] . ':' . $_POST['step1']['db_port'], $_POST['step1']['db_login'], urldecode($_POST['step1']['db_password']));
156                         } else {
157                                 $db     = @mysql_connect($_POST['step2']['db_host'] . ':' . $_POST['step2']['db_port'], $_POST['step2']['db_login'], $_POST['step2']['db_password']);
158                         }
159
160                         $sql    = 'SELECT VERSION() AS version';
161                         $result = @mysql_query($sql, $db);
162                         $row    = @mysql_fetch_assoc($result);
163                         echo $row['version'];
164                         ?> <input type="hidden" name="log_mysql" value="<?php echo $row['version']; ?>" /></td>
165         </tr>
166         <tr>
167                 <td class="row1" valign="top"><div class="optional" title="Optional Field">?</div><b>Optional URL:</b></td>
168                 <td class="row1"><?php
169                         $url = 'http' . ((isset($_SERVER['HTTPS']) || strtolower($_SERVER['HTTPS']) == 'on') ? 's' : '') . '://' . $_SERVER['SERVER_NAME'] . substr($_SERVER['PHP_SELF'], 0, -strlen('install/install.php'));
170                         echo $url; ?><input type="hidden" name="log_url" value="<?php echo $url; ?>" /><br />
171                 <input type="checkbox" name="log_url_yes" value="1" id="url_yes" checked="checked"/><label for="url_yes">Include this URL as well.</label></td>
172         </tr>
173         <!--tr>
174                 <td class="row1" colspan="2">
175
176 <div class="optional" title="Optional Field">?</div><input type="checkbox" name="log_yes" value="1" checked="checked" id="yes_send" /><label for="yes_send">Yes, send this information to atutor.ca.</label>
177 <input type="hidden" name="log_yes" value="1" />
178 </td>
179         </tr -->
180         </table>
181 <input type="hidden" name="log_yes" value="1" />
182 <br />
183 <p align="center"><input type="submit" class="button" value=" Next &raquo; " name="submit" /></p>
184
185 </form>