public function __construct($conf) { require_once "include/Settings.class.php"; require_once "include/session/Session.class.php"; require_once "include/ServiceEnvironment.class.php"; require_once "include/Util.class.php"; require_once "db/DBConnectionFactory.class.php"; require_once "include/configuration/ConfigurationDao.class.php"; require_once "include/Logging.class.php"; require_once "include/Version.info.php"; require_once "include/Cookie.class.php"; require_once "include/Features.class.php"; require_once "include/Request.class.php"; Logging::initialize($conf); $this->settings = new Settings($conf); $this->session = new Session(TRUE); $f = new DBConnectionFactory(); $db = $f->createConnection($this->settings); $this->configuration = new ConfigurationDao($db); $env = new ServiceEnvironment($db, $this->session, new VoidResponseHandler(), $this->configuration, $this->settings); $env->initialize(new Request(TRUE)); $this->authentication = $env->authentication(); }
$auth = new Sabre_HTTP_BasicAuth(); $result = $auth->getUserPass(); if (!$result) { Logging::logDebug("DAV authentication missing"); $auth->requireLogin(); echo "Authentication required\n"; die; } $user = $env->configuration()->getUserByNameOrEmail($result[0]); if (!$user) { Logging::logDebug("DAV authentication failure"); $auth->requireLogin(); echo "Authentication required\n"; die; } if (!$env->authentication()->authenticate($user["id"], $result[1])) { //$userAuth = $env->configuration()->getUserAuth($user["id"]); //if (!$env->passwordHash()->isEqual($result[1], $userAuth["hash"], $userAuth["salt"])) { Logging::logDebug("DAV authentication failure"); $auth->requireLogin(); echo "Authentication required\n"; die; } //$env->authentication()->setAuth($user, "pw"); $userAuth = $env->configuration()->getUserAuth($user["id"]); $env->authentication()->setAuth($user, $userAuth["type"]); $session->init($user); $dav = new Kloudspeaker_DAV_Server(new Kloudspeaker_DAV_Root($env)); $rq->init($dav->httpRequest); $dav->setBaseUri($BASE_URI); if ($ENABLE_LOCKING) {
} $user = $env->configuration()->getUserByNameOrEmail($result[0]); if (!$user) { Logging::logDebug("DAV authentication failure"); $auth->requireLogin(); echo "Authentication required\n"; die; } $userAuth = $env->configuration()->getUserAuth($user["id"]); if (!$env->passwordHash()->isEqual($result[1], $userAuth["hash"], $userAuth["salt"])) { Logging::logDebug("DAV authentication failure"); $auth->requireLogin(); echo "Authentication required\n"; die; } $env->authentication()->setAuth($user, "pw"); } else { $auth = new Sabre_HTTP_DigestAuth(); $auth->setRealm($env->authentication()->realm()); $auth->init(); $username = $auth->getUserName(); if (!$username) { Logging::logDebug("DAV digest authentication missing"); $auth->requireLogin(); echo "Authentication required\n"; die; } $user = $env->configuration()->getUserByNameOrEmail($username); if (!$user) { Logging::logDebug("DAV digest authentication failure"); $auth->requireLogin();
$f = new DBConnectionFactory(); $db = $f->createConnection($settings); $configuration = new ConfigurationDao($db); $env = new ServiceEnvironment($db, $session, new VoidResponseHandler(), $configuration, $settings); $env->initialize(Request::get(TRUE)); $env->plugins()->setup(); $options = $opts["options"]; if (isset($options["user"])) { //TODO validate & auth $user = $env->configuration()->getUser($options["user"]); if (!$user) { echo "Invalid user: "******"user"] . "\n"; return; } echo "Running as user: id=" . $user["id"] . " name=" . $user["name"] . "\n"; $env->authentication()->setAuth($user); } $command = $opts["commands"][0]; if (!$env->commands()->exists($command)) { echo "Invalid command: " . $command . "\n"; return; } echo "Command [" . $command . "]\n"; //TODO allow command registrations from plugins etc try { $env->commands()->execute($command, $options); } catch (ServiceException $e) { Logging::logException($e); echo "ERROR: " . $e->type() . " " . $e->details() . " (" . Util::array2str($e->data()) . ")\n"; } catch (Exception $e) { Logging::logException($e);