currentUser = $r[0]['channel_address']; $this->channel_name = $r[0]['channel_address']; $this->channel_id = $r[0]['channel_id']; $this->channel_hash = $this->observer = $r[0]['channel_hash']; return true; } } $r = q("select * from channel where channel_address = '%s' limit 1", dbesc($username) ); if($r) { $x = q("select * from account where account_id = %d limit 1", intval($r[0]['channel_account_id']) ); if($x) { foreach($x as $record) { if(($record['account_flags'] == ACCOUNT_OK) || ($record['account_flags'] == ACCOUNT_UNVERIFIED) && (hash('whirlpool',$record['account_salt'] . $password) === $record['account_password'])) { logger('(DAV) RedBasicAuth: password verified for ' . $username); $this->channel_name = $r[0]['channel_address']; $this->channel_id = $r[0]['channel_id']; $this->channel_hash = $r[0]['channel_hash']; return true; } } } } logger('(DAV) RedBasicAuth: password failed for ' . $username); return false; } } function cloud_init(&$a) { if(! get_config('system','enable_cloud')) killme(); require_once('include/reddav.php'); $auth = new RedBasicAuth(); $rootDirectory = new RedDirectory('/cloud',$auth); $server = new DAV\Server($rootDirectory); $lockBackend = new DAV\Locks\Backend\File('store/data/locks'); $lockPlugin = new DAV\Locks\Plugin($lockBackend); $server->addPlugin($lockPlugin); $auth->Authenticate($server,'Red Matrix'); $browser = new DAV\Browser\Plugin(); $server->addPlugin($browser); // All we need to do now, is to fire up the server $server->exec(); killme(); }