currentUser = $r[0]['channel_address']; return true; } } $r = q("select channel_account_id 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); return true; } } } } logger('(DAV) RedBasicAuth: password failed for ' . $username); return false; } } function cloud_init() { if(! get_config('system','enable_cloud')) killme(); $rootDirectory = new DAV\FS\Directory('store'); $server = new DAV\Server($rootDirectory); $lockBackend = new DAV\Locks\Backend\File('store/data/locks'); $lockPlugin = new DAV\Locks\Plugin($lockBackend); $server->addPlugin($lockPlugin); $auth = new RedBasicAuth(); $auth->Authenticate($server,'Red Matrix'); // All we need to do now, is to fire up the server $server->exec(); exit; }