/** * Check if the current installation is up to date * The code is borrowed from phpBB and slighlty modified * @author The phpBB Group <*****@*****.**> (the code) * @author Patrick Cool <*****@*****.**>, Ghent University (the modifications) * @author Yannick Warnier <*****@*****.**> for the move to HTTP request * @copyright (C) 2001 The phpBB Group * @return string language string with some layout (color) */ function check_system_version() { global $_configuration; $system_version = trim($_configuration['system_version']); // the chamilo version of your installation if (ini_get('allow_url_fopen') == 1) { // The number of courses $number_of_courses = Statistics::count_courses(); // The number of users $number_of_users = Statistics::count_users(); $number_of_active_users = Statistics::count_users(null, null, null, true); // The number of sessions $number_of_sessions = Statistics::count_sessions(); $data = array('url' => api_get_path(WEB_PATH), 'campus' => api_get_setting('platform.site_name'), 'contact' => api_get_setting('platform.administrator_email'), 'version' => $system_version, 'numberofcourses' => $number_of_courses, 'numberofusers' => $number_of_users, 'numberofactiveusers' => $number_of_active_users, 'numberofsessions' => $number_of_sessions, 'donotlistcampus' => api_get_setting('donotlistcampus'), 'organisation' => api_get_setting('platform.institution'), 'language' => api_get_setting('platformLanguage'), 'adminname' => api_get_setting('platform.administrator_name') . ' ' . api_get_setting('platform.administrator_surname')); $res = api_http_request('version.chamilo.org', 80, '/version.php', $data); if ($res != 0) { $version_info = $res; if ($system_version != $version_info) { $output = '<br /><span style="color:red">' . get_lang('YourVersionNotUpToDate') . '. ' . get_lang('LatestVersionIs') . ' <b>Chamilo ' . $version_info . '</b>. ' . get_lang('YourVersionIs') . ' <b>Chamilo ' . $system_version . '</b>. ' . str_replace('http://www.chamilo.org', '<a href="http://www.chamilo.org">http://www.chamilo.org</a>', get_lang('PleaseVisitOurWebsite')) . '</span>'; } else { $output = '<br /><span style="color:green">' . get_lang('VersionUpToDate') . ': Chamilo ' . $version_info . '</span>'; } } else { $output = '<span style="color:red">' . get_lang('ImpossibleToContactVersionServerPleaseTryAgain') . '</span>'; } } else { $output = '<span style="color:red">' . get_lang('AllowurlfopenIsSetToOff') . '</span>'; } return $output; }
/** * Check if the current installation is up to date * The code is borrowed from phpBB and slighlty modified * @author The phpBB Group <*****@*****.**> (the code) * @author Patrick Cool <*****@*****.**>, Ghent University (the modifications) * @author Yannick Warnier <*****@*****.**> for the move to HTTP request * @copyright (C) 2001 The phpBB Group * @return string language string with some layout (color) */ function check_system_version() { global $_configuration; $system_version = trim($_configuration['system_version']); // the chamilo version of your installation if (ini_get('allow_url_fopen') == 1) { // The number of courses $number_of_courses = Statistics::count_courses(); // The number of users $number_of_users = Statistics::count_users(); $number_of_active_users = Statistics::count_users(null, null, null, true); // The number of sessions $number_of_sessions = Statistics::count_sessions(); $data = array('url' => api_get_path(WEB_PATH), 'campus' => api_get_setting('siteName'), 'contact' => api_get_setting('emailAdministrator'), 'version' => $system_version, 'numberofcourses' => $number_of_courses, 'numberofusers' => $number_of_users, 'numberofactiveusers' => $number_of_active_users, 'numberofsessions' => $number_of_sessions, 'donotlistcampus' => api_get_setting('donotlistcampus'), 'organisation' => api_get_setting('Institution'), 'language' => api_get_setting('platformLanguage'), 'adminname' => api_get_setting('administratorName') . ' ' . api_get_setting('administratorSurname')); $version = null; // version.php has been updated to include the version in an HTTP header // called "X-Chamilo-Version", so that we don't have to worry about // issues with the content not being returned by fread for some reason $res = _http_request('version.chamilo.org', 80, '/version.php', $data, 5, null, true); $lines = preg_split('/\\r\\n/', $res); foreach ($lines as $line) { $elements = preg_split('/:/', $line); // extract the X-Chamilo-Version header from the version.php response if (strcmp(trim($elements[0]), 'X-Chamilo-Version') === 0) { $version = trim($elements[1]); } } if (substr($res, 0, 5) != 'Error') { if (empty($version)) { $version_info = $res; } else { $version_info = $version; } if ($system_version != $version_info) { $output = '<br /><span style="color:red">' . get_lang('YourVersionNotUpToDate') . '. ' . get_lang('LatestVersionIs') . ' <b>Chamilo ' . $version_info . '</b>. ' . get_lang('YourVersionIs') . ' <b>Chamilo ' . $system_version . '</b>. ' . str_replace('http://www.chamilo.org', '<a href="http://www.chamilo.org">http://www.chamilo.org</a>', get_lang('PleaseVisitOurWebsite')) . '</span>'; } else { $output = '<br /><span style="color:green">' . get_lang('VersionUpToDate') . ': Chamilo ' . $version_info . '</span>'; } } else { $output = '<span style="color:red">' . get_lang('ImpossibleToContactVersionServerPleaseTryAgain') . '</span>'; } } else { $output = '<span style="color:red">' . get_lang('AllowurlfopenIsSetToOff') . '</span>'; } return $output; }