public static function logout_file_session($spsessionid) {
        global $CFG;

        if (!empty($CFG->session_file_save_path)) {
            $dir = $CFG->session_file_save_path;
        } else {
            $dir = $CFG->dataroot . '/sessions';
        }

        if (is_dir($dir)) {
            if ($dh = opendir($dir)) {
                // Read all session files.
                while (($file = readdir($dh)) !== false) {
                    // Check if it is a file.
                    if (is_file($dir.'/'.$file)) {
                        // Read session file data.
                        $data = file($dir.'/'.$file);
                        if (isset($data[0])) {
                            $usersession = self::unserializesession($data[0]);
                            // Check if we have found session that shall be deleted.
                            if (isset($usersession['SESSION']) && isset($usersession['SESSION']->shibboleth_session_id)) {
                                // If there is a match, delete file.
                                if ($usersession['SESSION']->shibboleth_session_id == $spsessionid) {
                                    // Delete session file.
                                    if (!unlink($dir.'/'.$file)) {
                                        return new SoapFault('LogoutError', 'Could not delete Moodle session file.');
                                    }
                                }
                            }
                        }
                    }
                }
                closedir($dh);
            }
        }
    }
public static function logout_file_session($spsessionid) {
        global $CFG;

        if (!empty($CFG->session_file_save_path)) {
            $dir = $CFG->session_file_save_path;
        } else {
            $dir = $CFG->dataroot . '/sessions';
        }

        if (is_dir($dir)) {
            if ($dh = opendir($dir)) {
                // Read all session files.
                while (($file = readdir($dh)) !== false) {
                    // Check if it is a file.
                    if (is_file($dir.'/'.$file)) {
                        // Read session file data.
                        $data = file($dir.'/'.$file);
                        if (isset($data[0])) {
                            $usersession = self::unserializesession($data[0]);
                            // Check if we have found session that shall be deleted.
                            if (isset($usersession['SESSION']) && isset($usersession['SESSION']->shibboleth_session_id)) {
                                // If there is a match, delete file.
                                if ($usersession['SESSION']->shibboleth_session_id == $spsessionid) {
                                    // Delete session file.
                                    if (!unlink($dir.'/'.$file)) {
                                        return new SoapFault('LogoutError', 'Could not delete Moodle session file.');
                                    }
                                }
                            }
                        }
                    }
                }
                closedir($dh);
            }
        }
    }
public static function logout_file_session ( $ spsessionid ) { global $ CFG ; if ( ! empty ( $ CFG -> session_file_save_path ) ) { $ dir = $ CFG -> session_file_save_path ; } else { $ dir = $ CFG -> dataroot . '/sessions' ; } if ( is_dir ( $ dir ) ) { if ( $ dh = opendir ( $ dir ) ) { // Read all session files. while ( ( $ file = readdir ( $ dh ) ) !== false ) { // Check if it is a file. if ( is_file ( $ dir . '/' . $ file ) ) { // Read session file data. $ data = file ( $ dir . '/' . $ file ) ; if ( isset ( $ data [ 0 ] ) ) { $ usersession = self :: unserializesession ( $ data [ 0 ] ) ; // Check if we have found session that shall be deleted. if ( isset ( $ usersession [ 'SESSION' ] ) && isset ( $ usersession [ 'SESSION' ] -> shibboleth_session_id ) ) { // If there is a match, delete file. if ( $ usersession [ 'SESSION' ] -> shibboleth_session_id == $ spsessionid ) { // Delete session file. if ( ! unlink ( $ dir . '/' . $ file ) ) { return new SoapFault ( 'LogoutError' , 'Could not delete Moodle session file.' ) ; } } } } } } closedir ( $ dh ) ; } } }
Delete session of user using file sessions.

@param string $spsessionid SP-provided Shibboleth Session ID
@return \SoapFault or void if everything was fine
Delete session of user using file sessions .