2010-03-10 15:03:40 +03:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* ownCloud
|
|
|
|
*
|
2011-03-02 01:20:16 +03:00
|
|
|
* @author Frank Karlitschek
|
|
|
|
* @copyright 2010 Frank Karlitschek karlitschek@kde.org
|
|
|
|
*
|
2010-03-10 15:03:40 +03:00
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
|
2011-03-02 01:20:16 +03:00
|
|
|
* License as published by the Free Software Foundation; either
|
2010-03-10 15:03:40 +03:00
|
|
|
* version 3 of the License, or any later version.
|
2011-03-02 01:20:16 +03:00
|
|
|
*
|
2010-03-10 15:03:40 +03:00
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
|
2011-03-02 01:20:16 +03:00
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Affero General Public
|
2010-03-10 15:03:40 +03:00
|
|
|
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
2011-03-02 01:20:16 +03:00
|
|
|
*
|
2010-03-10 15:03:40 +03:00
|
|
|
*/
|
|
|
|
|
2012-10-23 10:20:17 +04:00
|
|
|
$RUNTIME_NOAPPS = true; //no apps, yet
|
2011-04-18 16:05:21 +04:00
|
|
|
|
2013-10-22 21:16:34 +04:00
|
|
|
function logException($ex) {
|
|
|
|
$message = $ex->getMessage();
|
|
|
|
if ($ex->getCode()) {
|
|
|
|
$message .= ' [' . $message . ']';
|
|
|
|
}
|
|
|
|
\OCP\Util::writeLog('index', $message, \OCP\Util::FATAL);
|
|
|
|
if (defined('DEBUG') and DEBUG) {
|
|
|
|
// also log stack trace
|
|
|
|
$stack = explode('#', $ex->getTraceAsString());
|
|
|
|
// first element is empty
|
|
|
|
array_shift($stack);
|
|
|
|
foreach ($stack as $s) {
|
|
|
|
\OCP\Util::writeLog('index', $s, \OCP\Util::FATAL);
|
|
|
|
}
|
|
|
|
|
|
|
|
// include cause
|
|
|
|
$l = OC_L10N::get('lib');
|
|
|
|
while (method_exists($ex, 'getPrevious') && $ex = $ex->getPrevious()) {
|
|
|
|
$message .= ' - '.$l->t('Caused by:').' ';
|
|
|
|
$message .= $ex->getMessage();
|
|
|
|
if ($ex->getCode()) {
|
|
|
|
$message .= '['.$ex->getCode().'] ';
|
|
|
|
}
|
|
|
|
\OCP\Util::writeLog('index', $message, \OCP\Util::FATAL);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2013-06-10 15:45:19 +04:00
|
|
|
try {
|
|
|
|
|
|
|
|
require_once 'lib/base.php';
|
2011-04-16 17:47:27 +04:00
|
|
|
|
2013-06-10 15:45:19 +04:00
|
|
|
OC::handleRequest();
|
|
|
|
|
|
|
|
} catch (Exception $ex) {
|
2013-10-22 21:16:34 +04:00
|
|
|
logException($ex);
|
|
|
|
|
2013-06-10 15:45:19 +04:00
|
|
|
//show the user a detailed error page
|
2013-09-15 23:20:22 +04:00
|
|
|
OC_Response::setStatus(OC_Response::STATUS_INTERNAL_SERVER_ERROR);
|
2013-06-10 15:45:19 +04:00
|
|
|
OC_Template::printExceptionErrorPage($ex);
|
2013-06-25 18:45:42 +04:00
|
|
|
}
|