X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=index.php;h=f048d10c3cff264f144489995eb625311361a368;hb=44ebf768ba60377b29b6c765020410a0c115e91a;hp=3289d29b34215858c738024713ecd09ac696fe31;hpb=f2bfcdc2c1d7bc4634bb06285380884a57075759;p=quix0rs-gnu-social.git diff --git a/index.php b/index.php index 3289d29b34..f048d10c3c 100644 --- a/index.php +++ b/index.php @@ -43,6 +43,12 @@ $_startTime = microtime(true); $_perfCounters = array(); +// We provide all our dependencies through our own autoload. +// This will probably be configurable for distributing with +// system packages (like with Debian apt etc. where included +// libraries are maintained through repositories) +set_include_path('.'); // mainly fixes an issue where /usr/share/{pear,php*}/DB/DataObject.php is _old_ on various systems... + define('INSTALLDIR', dirname(__FILE__)); define('GNUSOCIAL', true); define('STATUSNET', true); // compatibility @@ -128,16 +134,21 @@ function handleError($error) common_config('site', 'email') ); - $dac = new DBErrorAction($msg, 500); - $dac->showPage(); + $erraction = new DBErrorAction($msg, 500); + } elseif ($error instanceof ClientException) { + $erraction = new ClientErrorAction($error->getMessage(), $error->getCode()); + } elseif ($error instanceof ServerException) { + $erraction = new ServerErrorAction($error->getMessage(), $error->getCode(), $error); } else { - $sac = new ServerErrorAction($error->getMessage(), 500, $error); - $sac->showPage(); + // If it wasn't specified more closely which kind of exception it was + $erraction = new ServerErrorAction($error->getMessage(), 500, $error); } + $erraction->showPage(); } catch (Exception $e) { // TRANS: Error message. echo _('An error occurred.'); + exit(-1); } exit(-1); } @@ -258,17 +269,8 @@ function main() $args = $r->map($path); - if (!$args) { - // TRANS: Error message displayed when trying to access a non-existing page. - $cac = new ClientErrorAction(_('Unknown page'), 404); - $cac->showPage(); - return; - } - - $site_ssl = common_config('site', 'ssl'); - // If the request is HTTP and it should be HTTPS... - if ($site_ssl != 'never' && !StatusNet::isHTTPS() && common_is_sensitive($args['action'])) { + if (GNUsocial::useHTTPS() && !GNUsocial::isHTTPS()) { common_redirect(common_local_url($args['action'], $args)); } @@ -312,22 +314,10 @@ function main() if (!class_exists($action_class)) { // TRANS: Error message displayed when trying to perform an undefined action. - $cac = new ClientErrorAction(_('Unknown action'), 404); - $cac->showPage(); - } else { - try { - call_user_func("$action_class::run", $args); - } catch (ClientException $e) { - $cac = new ClientErrorAction($e->getMessage(), $e->getCode()); - $cac->showPage(); - } catch (ServerException $e) { // snort snort guffaw - $sac = new ServerErrorAction($e->getMessage(), $e->getCode(), $e); - $sac->showPage(); - } catch (Exception $e) { - $sac = new ServerErrorAction($e->getMessage(), 500, $e); - $sac->showPage(); - } + throw new ClientException(_('Unknown action'), 404); } + + call_user_func("$action_class::run", $args); } main();