Exemplo n.º 1
0
/**
 * 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;
}
Exemplo n.º 2
0
/**
 * 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;
}