Ejemplo n.º 1
0
function fs_install_impl(&$fsdb, $upgrade_if_needed = false)
{
    $db_status_arr = fs_get_db_status($fsdb);
    $db_status = $db_status_arr['status'];
    $db_version = $db_status_arr['ver'];
    $msg = fs_get_database_status_message($db_status_arr);
    if ($db_status == FS_DB_VALID) {
        return true;
    } else {
        if ($db_status == FS_DB_NOT_CONFIGURED || $db_status == FS_DB_IS_NEWER_THAN_CODE) {
            echo $msg;
            return false;
        } else {
            if ($db_status == FS_DB_GENERAL_ERROR || $db_status == FS_DB_CONNECTION_ERROR) {
                echo $msg . " : " . $fsdb->debug();
                return false;
            } else {
                if ($db_status == FS_DB_NOT_INSTALLED) {
                    if (!fs_db_install($fsdb)) {
                        return false;
                    }
                } else {
                    if ($db_status == FS_DB_NEED_UPGRADE && $upgrade_if_needed) {
                        if (!fs_db_upgrade($fsdb, $db_version)) {
                            return false;
                        }
                        fs_do_action("db_upgraded");
                        // after a db upgrade (major releases only) reset donation status for users that didn't donate
                        $donation = fs_get_option('donation_status');
                        if ($donation != 'donated') {
                            fs_update_option('donation_status', '');
                            fs_update_option('last_nag_time', time());
                        }
                    }
                }
            }
        }
    }
    return true;
}
Ejemplo n.º 2
0
function fs_start_user_session($user)
{
    require_once FS_ABS_PATH . '/php/session.php';
    $ok = fs_session_start();
    if ($ok !== true) {
        $msg = "Error starting session";
        if (is_string($ok)) {
            $msg .= " :{$ok}";
        }
        $msg .= "<br/>";
        echo $msg;
        return false;
    }
    global $FS_SESSION;
    $FS_SESSION['user'] = $user;
    fs_store_session();
    // user is null for dummy sessions (may be needed before login)
    if ($user != null) {
        // raise authenticated event.
        // some initialization code may only happen after the user is authenticated.
        fs_do_action("authenticated");
    }
    return true;
}