X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=index.php;h=850208c9d1501a80337a7a8d568a85aa88100527;hb=e2914189f3d7f11b16c4b4e16106da251433c028;hp=21e222e3b803c2d45e7dae07511b84eed66a0bf6;hpb=99194e03fa50b61f99164674afc949b4bbefd44a;p=quix0rs-gnu-social.git diff --git a/index.php b/index.php index 21e222e3b8..850208c9d1 100644 --- a/index.php +++ b/index.php @@ -37,6 +37,9 @@ * @license GNU Affero General Public License http://www.gnu.org/licenses/ */ +$_startTime = microtime(true); +$_perfCounters = array(); + define('INSTALLDIR', dirname(__FILE__)); define('STATUSNET', true); define('LACONICA', true); // compatibility @@ -103,27 +106,26 @@ function handleError($error) $_cur = null; $msg = sprintf( - _( - 'The database for %s isn\'t responding correctly, '. - 'so the site won\'t work properly. '. - 'The site admins probably know about the problem, '. - 'but you can contact them at %s to make sure. '. - 'Otherwise, wait a few minutes and try again.' + // TRANS: Database error message. + _('The database for %1$s is not responding correctly, '. + 'so the site will not work properly. '. + 'The site admins probably know about the problem, '. + 'but you can contact them at %2$s to make sure. '. + 'Otherwise, wait a few minutes and try again.' ), common_config('site', 'name'), common_config('site', 'email') ); + + $dac = new DBErrorAction($msg, 500); + $dac->showPage(); } else { - $msg = _( - 'An important error occured, probably related to email setup. '. - 'Check logfiles for more info..' - ); + $sac = new ServerErrorAction($error->getMessage(), 500, $error); + $sac->showPage(); } - $dac = new DBErrorAction($msg, 500); - $dac->showPage(); - } catch (Exception $e) { + // TRANS: Error message. echo _('An error occurred.'); } exit(-1); @@ -171,15 +173,24 @@ function setupRW() static $alwaysRW = array('session', 'remember_me'); - // We ensure that these tables always are used - // on the master DB + $rwdb = $config['db']['database']; + + if (Event::handle('StartReadWriteTables', array(&$alwaysRW, &$rwdb))) { + + // We ensure that these tables always are used + // on the master DB - $config['db']['database_rw'] = $config['db']['database']; - $config['db']['ini_rw'] = INSTALLDIR.'/classes/statusnet.ini'; + $config['db']['database_rw'] = $rwdb; + $config['db']['ini_rw'] = INSTALLDIR.'/classes/statusnet.ini'; - foreach ($alwaysRW as $table) { - $config['db']['table_'.$table] = 'rw'; + foreach ($alwaysRW as $table) { + $config['db']['table_'.$table] = 'rw'; + } + + Event::handle('EndReadWriteTables', array($alwaysRW, $rwdb)); } + + return; } function checkMirror($action_obj, $args) @@ -219,7 +230,7 @@ function main() { // fake HTTP redirects using lighttpd's 404 redirects if (strpos($_SERVER['SERVER_SOFTWARE'], 'lighttpd') !== false) { - $_lighty_url = $base_url.$_SERVER['REQUEST_URI']; + $_lighty_url = $_SERVER['REQUEST_URI']; $_lighty_url = @parse_url($_lighty_url); if ($_lighty_url['path'] != '/index.php' && $_lighty_url['path'] != '/') { @@ -247,9 +258,9 @@ function main() if (!_have_config()) { $msg = sprintf( - _( - "No configuration file found. Try running ". - "the installation program first." + // TRANS: Error message displayed when there is no StatusNet configuration file. + _("No configuration file found. Try running ". + "the installation program first." ) ); $sac = new ServerErrorAction($msg); @@ -278,11 +289,20 @@ 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'])) { + common_redirect(common_local_url($args['action'], $args)); + return; + } + $args = array_merge($args, $_REQUEST); Event::handle('ArgsInitialize', array(&$args)); @@ -324,6 +344,7 @@ function main() $action_class = ucfirst($action).'Action'; 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 {