summaryrefslogtreecommitdiff
path: root/index.php
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2010-11-21 00:37:54 -0500
committerLuke Shumaker <LukeShu@sbcglobal.net>2010-11-21 00:37:54 -0500
commitd6877baca9b8c56ce3e1565791fa260cdc983d95 (patch)
tree8107511c9c449680af10b00cf5cbd845e3f63717 /index.php
parent3a336843e1cdd340dd3630747b3e6265b6effa39 (diff)
Load data for all plugins on plugin management page.
include.php: file to include to make creation of entry points easy index.php: move most of this file into include.php (and include it) plugindata.php: a separate entry point using include.php; load ALL plugins found, and write data gathered to plugindata.out.php .gitignore: add plugindata.out.php actions/pluginsadminpanel.php: * use plugindata.out.php's common_plugindata() instead of StatusNet::getPlugins() * give a button linking to plugindata.php, to refresh plugin data lib/pluginlist.php: * use plugindata.out.php's common_plugindata() instead of thowing the 'PluginVersion' event to currently enabled plugins * for the enable/disable forms: was: if (!$disabled) now: if ($enabled && (!$disabled)) lib/statusnet.php: move the list of filenames for a plugin into it's own public static function; this is used by plugindata.php
Diffstat (limited to 'index.php')
-rw-r--r--index.php178
1 files changed, 1 insertions, 177 deletions
diff --git a/index.php b/index.php
index 0aceeda55..32f14b5c6 100644
--- a/index.php
+++ b/index.php
@@ -37,183 +37,7 @@
* @license GNU Affero General Public License http://www.gnu.org/licenses/
*/
-define('INSTALLDIR', dirname(__FILE__));
-define('STATUSNET', true);
-define('LACONICA', true); // compatibility
-
-$user = null;
-$action = null;
-
-function getPath($req)
-{
- if ((common_config('site', 'fancy') || !array_key_exists('PATH_INFO', $_SERVER))
- && array_key_exists('p', $req)
- ) {
- return $req['p'];
- } else if (array_key_exists('PATH_INFO', $_SERVER)) {
- $path = $_SERVER['PATH_INFO'];
- $script = $_SERVER['SCRIPT_NAME'];
- if (substr($path, 0, mb_strlen($script)) == $script) {
- return substr($path, mb_strlen($script));
- } else {
- return $path;
- }
- } else {
- return null;
- }
-}
-
-/**
- * logs and then displays error messages
- *
- * @return void
- */
-function handleError($error)
-{
- try {
-
- if ($error->getCode() == DB_DATAOBJECT_ERROR_NODATA) {
- return;
- }
-
- $logmsg = "PEAR error: " . $error->getMessage();
- if ($error instanceof PEAR_Exception && common_config('site', 'logdebug')) {
- $logmsg .= " : ". $error->toText();
- }
- // DB queries often end up with a lot of newlines; merge to a single line
- // for easier grepability...
- $logmsg = str_replace("\n", " ", $logmsg);
- common_log(LOG_ERR, $logmsg);
-
- // @fixme backtrace output should be consistent with exception handling
- if (common_config('site', 'logdebug')) {
- $bt = $error->getTrace();
- foreach ($bt as $n => $line) {
- common_log(LOG_ERR, formatBacktraceLine($n, $line));
- }
- }
- if ($error instanceof DB_DataObject_Error
- || $error instanceof DB_Error
- || ($error instanceof PEAR_Exception && $error->getCode() == -24)
- ) {
- //If we run into a DB error, assume we can't connect to the DB at all
- //so set the current user to null, so we don't try to access the DB
- //while rendering the error page.
- global $_cur;
- $_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.'
- ),
- common_config('site', 'name'),
- common_config('site', 'email')
- );
- } else {
- $msg = _(
- 'An important error occured, probably related to email setup. '.
- 'Check logfiles for more info..'
- );
- }
-
- $dac = new DBErrorAction($msg, 500);
- $dac->showPage();
-
- } catch (Exception $e) {
- echo _('An error occurred.');
- }
- exit(-1);
-}
-
-set_exception_handler('handleError');
-
-require_once INSTALLDIR . '/lib/common.php';
-
-/**
- * Format a backtrace line for debug output roughly like debug_print_backtrace() does.
- * Exceptions already have this built in, but PEAR error objects just give us the array.
- *
- * @param int $n line number
- * @param array $line per-frame array item from debug_backtrace()
- * @return string
- */
-function formatBacktraceLine($n, $line)
-{
- $out = "#$n ";
- if (isset($line['class'])) $out .= $line['class'];
- if (isset($line['type'])) $out .= $line['type'];
- if (isset($line['function'])) $out .= $line['function'];
- $out .= '(';
- if (isset($line['args'])) {
- $args = array();
- foreach ($line['args'] as $arg) {
- // debug_print_backtrace seems to use var_export
- // but this gets *very* verbose!
- $args[] = gettype($arg);
- }
- $out .= implode(',', $args);
- }
- $out .= ')';
- $out .= ' called at [';
- if (isset($line['file'])) $out .= $line['file'];
- if (isset($line['line'])) $out .= ':' . $line['line'];
- $out .= ']';
- return $out;
-}
-
-function setupRW()
-{
- global $config;
-
- static $alwaysRW = array('session', 'remember_me');
-
- // 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';
-
- foreach ($alwaysRW as $table) {
- $config['db']['table_'.$table] = 'rw';
- }
-}
-
-function checkMirror($action_obj, $args)
-{
- global $config;
-
- if (common_config('db', 'mirror') && $action_obj->isReadOnly($args)) {
- if (is_array(common_config('db', 'mirror'))) {
- // "load balancing", ha ha
- $arr = common_config('db', 'mirror');
- $k = array_rand($arr);
- $mirror = $arr[$k];
- } else {
- $mirror = common_config('db', 'mirror');
- }
-
- // everyone else uses the mirror
-
- $config['db']['database'] = $mirror;
- }
-}
-
-function isLoginAction($action)
-{
- static $loginActions = array('login', 'recoverpassword', 'api', 'doc', 'register', 'publicxrds', 'otp', 'opensearch', 'rsd');
-
- $login = null;
-
- if (Event::handle('LoginAction', array($action, &$login))) {
- $login = in_array($action, $loginActions);
- }
-
- return $login;
-}
+require('include.php');
function main()
{