diff --git a/actions/cancelsubscription.php b/actions/cancelsubscription.php index 35e775ab1d..4f4805814b 100644 --- a/actions/cancelsubscription.php +++ b/actions/cancelsubscription.php @@ -70,7 +70,7 @@ class CancelsubscriptionAction extends FormAction common_debug('Tried to cancel a non-existing pending subscription'); } - if (StatusNet::isAjax()) { + if (GNUsocial::isAjax()) { $this->startHTML('text/xml;charset=utf-8'); $this->elementStart('head'); // TRANS: Title after unsubscribing from a group. diff --git a/actions/newnotice.php b/actions/newnotice.php index 692ba765c8..f9b04cae3c 100644 --- a/actions/newnotice.php +++ b/actions/newnotice.php @@ -110,7 +110,7 @@ class NewnoticeAction extends FormAction $cmd = $inter->handle_command($user, $content); if ($cmd) { - if (StatusNet::isAjax()) { + if (GNUsocial::isAjax()) { $cmd->execute(new AjaxWebChannel($this)); } else { $cmd->execute(new WebChannel($this)); @@ -195,7 +195,7 @@ class NewnoticeAction extends FormAction Event::handle('EndSaveNewNoticeWeb', array($this, $user, &$content_shortened, &$options)); - if (!StatusNet::isAjax()) { + if (!GNUsocial::isAjax()) { $url = common_local_url('shownotice', array('notice' => $this->stored->id)); common_redirect($url, 303); } diff --git a/actions/shownotice.php b/actions/shownotice.php index 2576bcc111..4a1adfd7de 100644 --- a/actions/shownotice.php +++ b/actions/shownotice.php @@ -70,7 +70,7 @@ class ShownoticeAction extends ManagedAction { parent::prepare($args); if ($this->boolean('ajax')) { - StatusNet::setApi(true); + GNUsocial::setApi(true); } $this->notice = $this->getNotice(); diff --git a/classes/File.php b/classes/File.php index f1f1493dce..3048eb4983 100644 --- a/classes/File.php +++ b/classes/File.php @@ -325,7 +325,7 @@ class File extends Managed_DataObject } - if (StatusNet::useHTTPS()) { + if (GNUsocial::useHTTPS()) { $sslserver = common_config('attachments', 'sslserver'); diff --git a/index.php b/index.php index 674099e712..44599d68e9 100644 --- a/index.php +++ b/index.php @@ -265,7 +265,7 @@ function main() $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 ($site_ssl != 'never' && !GNUsocial::isHTTPS() && common_is_sensitive($args['action'])) { common_redirect(common_local_url($args['action'], $args)); } diff --git a/lib/action.php b/lib/action.php index 3b3d21680e..d8b691093c 100644 --- a/lib/action.php +++ b/lib/action.php @@ -158,8 +158,8 @@ class Action extends HTMLOutputter // lawsuit $this->action = strtolower($this->trimmed('action')); if ($this->ajax || $this->boolean('ajax')) { - // check with StatusNet::isAjax() - StatusNet::setAjax(true); + // check with GNUsocial::isAjax() + GNUsocial::setAjax(true); } if ($this->needLogin) { @@ -208,7 +208,7 @@ class Action extends HTMLOutputter // lawsuit */ function showPage() { - if (StatusNet::isAjax()) { + if (GNUsocial::isAjax()) { self::showAjax(); return; } @@ -328,7 +328,7 @@ class Action extends HTMLOutputter // lawsuit } else { // favicon.ico should be HTTPS if the rest of the page is $this->element('link', array('rel' => 'shortcut icon', - 'href' => common_path('favicon.ico', StatusNet::isHTTPS()))); + 'href' => common_path('favicon.ico', GNUsocial::isHTTPS()))); } if (common_config('site', 'mobile')) { @@ -417,7 +417,7 @@ class Action extends HTMLOutputter // lawsuit $this->script('extlib/jquery.form.js'); $this->script('extlib/jquery-ui/jquery-ui.js'); $this->script('extlib/jquery.cookie.js'); - $this->inlineScript('if (typeof window.JSON !== "object") { $.getScript("'.common_path('js/extlib/json2.js', StatusNet::isHTTPS()).'"); }'); + $this->inlineScript('if (typeof window.JSON !== "object") { $.getScript("'.common_path('js/extlib/json2.js', GNUsocial::isHTTPS()).'"); }'); $this->script('extlib/jquery.infieldlabel.js'); Event::handle('EndShowJQueryScripts', array($this)); @@ -640,7 +640,7 @@ class Action extends HTMLOutputter // lawsuit $this->elementStart('a', array('class' => 'home bookmark', 'href' => $url)); - if (StatusNet::isHTTPS()) { + if (GNUsocial::isHTTPS()) { $logoUrl = common_config('site', 'ssllogo'); if (empty($logoUrl)) { // if logo is an uploaded file, try to fall back to HTTPS file URL @@ -1146,7 +1146,7 @@ class Action extends HTMLOutputter // lawsuit $image = common_config('license', 'image'); $sslimage = common_config('license', 'sslimage'); - if (StatusNet::isHTTPS()) { + if (GNUsocial::isHTTPS()) { if (!empty($sslimage)) { $url = $sslimage; } else if (preg_match('#^http://i.creativecommons.org/#', $image)) { diff --git a/lib/apiaction.php b/lib/apiaction.php index f1304a1d1e..09061e3647 100755 --- a/lib/apiaction.php +++ b/lib/apiaction.php @@ -144,7 +144,7 @@ class ApiAction extends Action */ protected function prepare(array $args=array()) { - StatusNet::setApi(true); // reduce exception reports to aid in debugging + GNUsocial::setApi(true); // reduce exception reports to aid in debugging parent::prepare($args); $this->format = $this->arg('format'); diff --git a/lib/attachmentlistitem.php b/lib/attachmentlistitem.php index 919727bc1f..47ffaaec23 100644 --- a/lib/attachmentlistitem.php +++ b/lib/attachmentlistitem.php @@ -163,7 +163,7 @@ class AttachmentListItem extends Widget case 'text/html': if (!empty($this->attachment->filename) - && (StatusNet::isAjax() || common_config('attachments', 'show_html'))) { + && (GNUsocial::isAjax() || common_config('attachments', 'show_html'))) { // Locally-uploaded HTML. Scrub and display inline. $this->showHtmlFile($this->attachment); break; diff --git a/lib/cache.php b/lib/cache.php index e79d75c294..104314cb06 100644 --- a/lib/cache.php +++ b/lib/cache.php @@ -127,7 +127,7 @@ class Cache $names = array(); - foreach (StatusNet::getActivePlugins() as $plugin=>$attrs) { + foreach (GNUsocial::getActivePlugins() as $plugin=>$attrs) { $names[] = $plugin; } diff --git a/lib/common.php b/lib/common.php index 4592fd15a5..c31c45f626 100644 --- a/lib/common.php +++ b/lib/common.php @@ -24,7 +24,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } require_once INSTALLDIR . '/lib/framework.php'; try { - StatusNet::init(@$server, @$path, @$conffile); + GNUsocial::init(@$server, @$path, @$conffile); } catch (NoConfigException $e) { // XXX: Throw a conniption if database not installed // XXX: Find a way to use htmlwriter for this instead of handcoded markup diff --git a/lib/docfile.php b/lib/docfile.php index e396870695..3331bcd19d 100644 --- a/lib/docfile.php +++ b/lib/docfile.php @@ -113,7 +113,7 @@ class DocFile $paths = array(INSTALLDIR.'/local/doc-src/', INSTALLDIR.'/doc-src/'); - $site = StatusNet::currentSite(); + $site = GNUsocial::currentSite(); if (!empty($site)) { array_unshift($paths, INSTALLDIR.'/local/doc-src/'.$site.'/'); @@ -127,7 +127,7 @@ class DocFile $paths = array(INSTALLDIR.'/local/mail-src/', INSTALLDIR.'/mail-src/'); - $site = StatusNet::currentSite(); + $site = GNUsocial::currentSite(); if (!empty($site)) { array_unshift($paths, INSTALLDIR.'/local/mail-src/'.$site.'/'); diff --git a/lib/error.php b/lib/error.php index e7bdd05707..03a1960c62 100644 --- a/lib/error.php +++ b/lib/error.php @@ -56,7 +56,7 @@ class ErrorAction extends InfoAction $this->code = $code; $this->message = $message; - $this->minimal = StatusNet::isApi(); + $this->minimal = GNUsocial::isApi(); // XXX: hack alert: usually we aren't going to // call this page directly, but because it's @@ -66,7 +66,7 @@ class ErrorAction extends InfoAction function showPage() { - if (StatusNet::isAjax()) { + if (GNUsocial::isAjax()) { $this->extraHeaders(); $this->ajaxErrorMsg(); exit(); diff --git a/lib/framework.php b/lib/framework.php index d3b59cf111..b71f365c24 100644 --- a/lib/framework.php +++ b/lib/framework.php @@ -97,12 +97,12 @@ require_once(INSTALLDIR.'/lib/plugin.php'); function addPlugin($name, array $attrs=array()) { - return StatusNet::addPlugin($name, $attrs); + return GNUsocial::addPlugin($name, $attrs); } function _have_config() { - return StatusNet::haveConfig(); + return GNUsocial::haveConfig(); } function GNUsocial_class_autoload($cls) diff --git a/lib/gnusocial.php b/lib/gnusocial.php new file mode 100644 index 0000000000..5551f43204 --- /dev/null +++ b/lib/gnusocial.php @@ -0,0 +1,449 @@ +. + * + */ + +if (!defined('GNUSOCIAL')) { exit(1); } + +global $config, $_server, $_path; + +/** + * Global configuration setup and management. + */ +class GNUsocial +{ + protected static $have_config; + protected static $is_api; + protected static $is_ajax; + protected static $plugins = array(); + + /** + * Configure and instantiate a plugin into the current configuration. + * Class definitions will be loaded from standard paths if necessary. + * Note that initialization events won't be fired until later. + * + * @param string $name class name & plugin file/subdir name + * @param array $attrs key/value pairs of public attributes to set on plugin instance + * + * @throws ServerException if plugin can't be found + */ + public static function addPlugin($name, array $attrs=array()) + { + $name = ucfirst($name); + + if (isset(self::$plugins[$name])) { + // We have already loaded this plugin. Don't try to + // do it again with (possibly) different values. + // Försten till kvarn får mala. + return true; + } + + $pluginclass = "{$name}Plugin"; + + if (!class_exists($pluginclass)) { + + $files = array("local/plugins/{$pluginclass}.php", + "local/plugins/{$name}/{$pluginclass}.php", + "local/{$pluginclass}.php", + "local/{$name}/{$pluginclass}.php", + "plugins/{$pluginclass}.php", + "plugins/{$name}/{$pluginclass}.php"); + + foreach ($files as $file) { + $fullpath = INSTALLDIR.'/'.$file; + if (@file_exists($fullpath)) { + include_once($fullpath); + break; + } + } + if (!class_exists($pluginclass)) { + throw new ServerException("Plugin $name not found.", 500); + } + } + + // Doesn't this $inst risk being garbage collected or something? + // TODO: put into a static array that makes sure $inst isn't lost. + $inst = new $pluginclass(); + foreach ($attrs as $aname => $avalue) { + $inst->$aname = $avalue; + } + + // Record activated plugins for later display/config dump + self::$plugins[$name] = $attrs; + + return true; + } + + public static function delPlugin($name) + { + // Remove our plugin if it was previously loaded + $name = ucfirst($name); + if (isset(self::$plugins[$name])) { + unset(self::$plugins[$name]); + } + + // make sure initPlugins will avoid this + common_config_set('plugins', 'disable-'.$name, true); + + return true; + } + + /** + * Get a list of activated plugins in this process. + * @return array of (string $name, array $args) pairs + */ + public static function getActivePlugins() + { + return self::$plugins; + } + + /** + * Initialize, or re-initialize, GNU social global configuration + * and plugins. + * + * If switching site configurations during script execution, be + * careful when working with leftover objects -- global settings + * affect many things and they may not behave as you expected. + * + * @param $server optional web server hostname for picking config + * @param $path optional URL path for picking config + * @param $conffile optional configuration file path + * + * @throws NoConfigException if config file can't be found + */ + public static function init($server=null, $path=null, $conffile=null) + { + Router::clear(); + + self::initDefaults($server, $path); + self::loadConfigFile($conffile); + + $sprofile = common_config('site', 'profile'); + if (!empty($sprofile)) { + self::loadSiteProfile($sprofile); + } + // Load settings from database; note we need autoload for this + Config::loadSettings(); + + self::initPlugins(); + } + + /** + * Get identifier of the currently active site configuration + * @return string + */ + public static function currentSite() + { + return common_config('site', 'nickname'); + } + + /** + * Change site configuration to site specified by nickname, + * if set up via Status_network. If not, sites other than + * the current will fail horribly. + * + * May throw exception or trigger a fatal error if the given + * site is missing or configured incorrectly. + * + * @param string $nickname + */ + public static function switchSite($nickname) + { + if ($nickname == self::currentSite()) { + return true; + } + + $sn = Status_network::getKV('nickname', $nickname); + if (empty($sn)) { + return false; + throw new Exception("No such site nickname '$nickname'"); + } + + $server = $sn->getServerName(); + self::init($server); + } + + /** + * Pull all local sites from status_network table. + * + * Behavior undefined if site is not configured via Status_network. + * + * @return array of nicknames + */ + public static function findAllSites() + { + $sites = array(); + $sn = new Status_network(); + $sn->find(); + while ($sn->fetch()) { + $sites[] = $sn->nickname; + } + return $sites; + } + + /** + * Fire initialization events for all instantiated plugins. + */ + protected static function initPlugins() + { + // User config may have already added some of these plugins, with + // maybe configured parameters. The self::addPlugin function will + // ignore the new call if it has already been instantiated. + + // Load core plugins + foreach (common_config('plugins', 'core') as $name => $params) { + call_user_func('self::addPlugin', $name, $params); + } + + // Load default plugins + foreach (common_config('plugins', 'default') as $name => $params) { + $key = 'disable-' . $name; + if (common_config('plugins', $key)) { + continue; + } + + // TODO: We should be able to avoid this is_null and assume $params + // is an array, since that's how it is typed in addPlugin + if (is_null($params)) { + self::addPlugin($name); + } else if (is_array($params)) { + if (count($params) == 0) { + self::addPlugin($name); + } else { + $keys = array_keys($params); + if (is_string($keys[0])) { + self::addPlugin($name, $params); + } else { + foreach ($params as $paramset) { + self::addPlugin($name, $paramset); + } + } + } + } + } + + // XXX: if plugins should check the schema at runtime, do that here. + if (common_config('db', 'schemacheck') == 'runtime') { + Event::handle('CheckSchema'); + } + + // Give plugins a chance to initialize in a fully-prepared environment + Event::handle('InitializePlugin'); + } + + /** + * Quick-check if configuration has been established. + * Useful for functions which may get used partway through + * initialization to back off from fancier things. + * + * @return bool + */ + public static function haveConfig() + { + return self::$have_config; + } + + public static function isApi() + { + return self::$is_api; + } + + public static function setApi($mode) + { + self::$is_api = $mode; + } + + public static function isAjax() + { + return self::$is_ajax; + } + + public static function setAjax($mode) + { + self::$is_ajax = $mode; + } + + /** + * Build default configuration array + * @return array + */ + protected static function defaultConfig() + { + global $_server, $_path; + require(INSTALLDIR.'/lib/default.php'); + return $default; + } + + /** + * Establish default configuration based on given or default server and path + * Sets global $_server, $_path, and $config + */ + public static function initDefaults($server, $path) + { + global $_server, $_path, $config, $_PEAR; + + Event::clearHandlers(); + self::$plugins = array(); + + // try to figure out where we are. $server and $path + // can be set by including module, else we guess based + // on HTTP info. + + if (isset($server)) { + $_server = $server; + } else { + $_server = array_key_exists('SERVER_NAME', $_SERVER) ? + strtolower($_SERVER['SERVER_NAME']) : + null; + } + + if (isset($path)) { + $_path = $path; + } else { + $_path = (array_key_exists('SERVER_NAME', $_SERVER) && array_key_exists('SCRIPT_NAME', $_SERVER)) ? + self::_sn_to_path($_SERVER['SCRIPT_NAME']) : + null; + } + + // Set config values initially to default values + $default = self::defaultConfig(); + $config = $default; + + // default configuration, overwritten in config.php + // Keep DB_DataObject's db config synced to ours... + + $config['db'] = &$_PEAR->getStaticProperty('DB_DataObject','options'); + + $config['db'] = $default['db']; + + if (function_exists('date_default_timezone_set')) { + /* Work internally in UTC */ + date_default_timezone_set('UTC'); + } + } + + public static function loadSiteProfile($name) + { + global $config; + $settings = SiteProfile::getSettings($name); + $config = array_replace_recursive($config, $settings); + } + + protected static function _sn_to_path($sn) + { + $past_root = substr($sn, 1); + $last_slash = strrpos($past_root, '/'); + if ($last_slash > 0) { + $p = substr($past_root, 0, $last_slash); + } else { + $p = ''; + } + return $p; + } + + /** + * Load the default or specified configuration file. + * Modifies global $config and may establish plugins. + * + * @throws NoConfigException + */ + protected static function loadConfigFile($conffile=null) + { + global $_server, $_path, $config; + + // From most general to most specific: + // server-wide, then vhost-wide, then for a path, + // finally for a dir (usually only need one of the last two). + + if (isset($conffile)) { + $config_files = array($conffile); + } else { + $config_files = array('/etc/statusnet/statusnet.php', + '/etc/statusnet/laconica.php', + '/etc/laconica/laconica.php', + '/etc/statusnet/'.$_server.'.php', + '/etc/laconica/'.$_server.'.php'); + + if (strlen($_path) > 0) { + $config_files[] = '/etc/statusnet/'.$_server.'_'.$_path.'.php'; + $config_files[] = '/etc/laconica/'.$_server.'_'.$_path.'.php'; + } + + $config_files[] = INSTALLDIR.'/config.php'; + } + + self::$have_config = false; + + foreach ($config_files as $_config_file) { + if (@file_exists($_config_file)) { + // Ignore 0-byte config files + if (filesize($_config_file) > 0) { + common_log(LOG_INFO, "Including config file: " . $_config_file); + include($_config_file); + self::$have_config = true; + } + } + } + + if (!self::$have_config) { + throw new NoConfigException("No configuration file found.", + $config_files); + } + + // Check for database server; must exist! + + if (empty($config['db']['database'])) { + throw new ServerException("No database server for this site."); + } + } + + /** + * Are we running from the web with HTTPS? + * + * @return boolean true if we're running with HTTPS; else false + */ + + static function isHTTPS() + { + // There are some exceptions to this; add them here! + if (empty($_SERVER['HTTPS'])) { + return false; + } + + // If it is _not_ "off", it is on, so "true". + return strtolower($_SERVER['HTTPS']) !== 'off'; + } + + /** + * Can we use HTTPS? Then do! Only return false if it's not configured ("never"). + */ + static function useHTTPS() + { + return self::isHTTPS() || common_config('site', 'ssl') != 'never'; + } +} + +class NoConfigException extends Exception +{ + public $configFiles; + + function __construct($msg, $configFiles) { + parent::__construct($msg); + $this->configFiles = $configFiles; + } +} diff --git a/lib/htmloutputter.php b/lib/htmloutputter.php index b1aae16fad..9e9dc02e59 100644 --- a/lib/htmloutputter.php +++ b/lib/htmloutputter.php @@ -386,11 +386,11 @@ class HTMLOutputter extends XMLOutputter if (strpos($src, 'plugins/') === 0 || strpos($src, 'local/') === 0) { - $src = common_path($src, StatusNet::isHTTPS()) . '?version=' . GNUSOCIAL_VERSION; + $src = common_path($src, GNUsocial::isHTTPS()) . '?version=' . GNUSOCIAL_VERSION; } else { - if (StatusNet::isHTTPS()) { + if (GNUsocial::isHTTPS()) { $sslserver = common_config('javascript', 'sslserver'); @@ -493,7 +493,7 @@ class HTMLOutputter extends XMLOutputter if(file_exists(Theme::file($src,$theme))){ $src = Theme::path($src, $theme); }else{ - $src = common_path($src, StatusNet::isHTTPS()); + $src = common_path($src, GNUsocial::isHTTPS()); } $src.= '?version=' . GNUSOCIAL_VERSION; } diff --git a/lib/installer.php b/lib/installer.php index 1fcd0961c5..d6e7fddf53 100644 --- a/lib/installer.php +++ b/lib/installer.php @@ -551,7 +551,7 @@ abstract class Installer } require_once INSTALLDIR . '/lib/framework.php'; - StatusNet::initDefaults($this->server, $this->path); + GNUsocial::initDefaults($this->server, $this->path); if ($this->siteProfile == "singleuser") { // Until we use ['site']['profile']==='singleuser' everywhere diff --git a/lib/plugin.php b/lib/plugin.php index 5acdc1c2ba..4233913752 100644 --- a/lib/plugin.php +++ b/lib/plugin.php @@ -196,7 +196,7 @@ class Plugin static function staticPath($plugin, $relative) { - $isHTTPS = StatusNet::isHTTPS(); + $isHTTPS = GNUsocial::isHTTPS(); if ($isHTTPS) { $server = common_config('plugins', 'sslserver'); diff --git a/lib/statusnet.php b/lib/statusnet.php index 844a15c339..0ab869ab18 100644 --- a/lib/statusnet.php +++ b/lib/statusnet.php @@ -1,451 +1,20 @@ . - * - */ -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} - -global $config, $_server, $_path; +if (!defined('GNUSOCIAL')) { exit(1); } /** - * Global configuration setup and management. + * Backwards compatible class for plugins for GNU social <1.2 + * and thus only have the class StatusNet defined. */ class StatusNet { - protected static $have_config; - protected static $is_api; - protected static $is_ajax; - protected static $plugins = array(); - - /** - * Configure and instantiate a plugin into the current configuration. - * Class definitions will be loaded from standard paths if necessary. - * Note that initialization events won't be fired until later. - * - * @param string $name class name & plugin file/subdir name - * @param array $attrs key/value pairs of public attributes to set on plugin instance - * - * @throws ServerException if plugin can't be found - */ - public static function addPlugin($name, array $attrs=array()) - { - $name = ucfirst($name); - - if (isset(self::$plugins[$name])) { - // We have already loaded this plugin. Don't try to - // do it again with (possibly) different values. - // Försten till kvarn får mala. - return true; - } - - $pluginclass = "{$name}Plugin"; - - if (!class_exists($pluginclass)) { - - $files = array("local/plugins/{$pluginclass}.php", - "local/plugins/{$name}/{$pluginclass}.php", - "local/{$pluginclass}.php", - "local/{$name}/{$pluginclass}.php", - "plugins/{$pluginclass}.php", - "plugins/{$name}/{$pluginclass}.php"); - - foreach ($files as $file) { - $fullpath = INSTALLDIR.'/'.$file; - if (@file_exists($fullpath)) { - include_once($fullpath); - break; - } - } - if (!class_exists($pluginclass)) { - throw new ServerException("Plugin $name not found.", 500); - } - } - - // Doesn't this $inst risk being garbage collected or something? - // TODO: put into a static array that makes sure $inst isn't lost. - $inst = new $pluginclass(); - foreach ($attrs as $aname => $avalue) { - $inst->$aname = $avalue; - } - - // Record activated plugins for later display/config dump - self::$plugins[$name] = $attrs; - - return true; - } - - public static function delPlugin($name) - { - // Remove our plugin if it was previously loaded - $name = ucfirst($name); - if (isset(self::$plugins[$name])) { - unset(self::$plugins[$name]); - } - - // make sure initPlugins will avoid this - common_config_set('plugins', 'disable-'.$name, true); - - return true; - } - - /** - * Get a list of activated plugins in this process. - * @return array of (string $name, array $args) pairs - */ public static function getActivePlugins() { - return self::$plugins; + return GNUsocial::getActivePlugins(); } - /** - * Initialize, or re-initialize, StatusNet global configuration - * and plugins. - * - * If switching site configurations during script execution, be - * careful when working with leftover objects -- global settings - * affect many things and they may not behave as you expected. - * - * @param $server optional web server hostname for picking config - * @param $path optional URL path for picking config - * @param $conffile optional configuration file path - * - * @throws NoConfigException if config file can't be found - */ - public static function init($server=null, $path=null, $conffile=null) + public static function isHTTPS() { - Router::clear(); - - self::initDefaults($server, $path); - self::loadConfigFile($conffile); - - $sprofile = common_config('site', 'profile'); - if (!empty($sprofile)) { - self::loadSiteProfile($sprofile); - } - // Load settings from database; note we need autoload for this - Config::loadSettings(); - - self::initPlugins(); - } - - /** - * Get identifier of the currently active site configuration - * @return string - */ - public static function currentSite() - { - return common_config('site', 'nickname'); - } - - /** - * Change site configuration to site specified by nickname, - * if set up via Status_network. If not, sites other than - * the current will fail horribly. - * - * May throw exception or trigger a fatal error if the given - * site is missing or configured incorrectly. - * - * @param string $nickname - */ - public static function switchSite($nickname) - { - if ($nickname == StatusNet::currentSite()) { - return true; - } - - $sn = Status_network::getKV('nickname', $nickname); - if (empty($sn)) { - return false; - throw new Exception("No such site nickname '$nickname'"); - } - - $server = $sn->getServerName(); - StatusNet::init($server); - } - - /** - * Pull all local sites from status_network table. - * - * Behavior undefined if site is not configured via Status_network. - * - * @return array of nicknames - */ - public static function findAllSites() - { - $sites = array(); - $sn = new Status_network(); - $sn->find(); - while ($sn->fetch()) { - $sites[] = $sn->nickname; - } - return $sites; - } - - /** - * Fire initialization events for all instantiated plugins. - */ - protected static function initPlugins() - { - // User config may have already added some of these plugins, with - // maybe configured parameters. The self::addPlugin function will - // ignore the new call if it has already been instantiated. - - // Load core plugins - foreach (common_config('plugins', 'core') as $name => $params) { - call_user_func('self::addPlugin', $name, $params); - } - - // Load default plugins - foreach (common_config('plugins', 'default') as $name => $params) { - $key = 'disable-' . $name; - if (common_config('plugins', $key)) { - continue; - } - - // TODO: We should be able to avoid this is_null and assume $params - // is an array, since that's how it is typed in addPlugin - if (is_null($params)) { - self::addPlugin($name); - } else if (is_array($params)) { - if (count($params) == 0) { - self::addPlugin($name); - } else { - $keys = array_keys($params); - if (is_string($keys[0])) { - self::addPlugin($name, $params); - } else { - foreach ($params as $paramset) { - self::addPlugin($name, $paramset); - } - } - } - } - } - - // XXX: if plugins should check the schema at runtime, do that here. - if (common_config('db', 'schemacheck') == 'runtime') { - Event::handle('CheckSchema'); - } - - // Give plugins a chance to initialize in a fully-prepared environment - Event::handle('InitializePlugin'); - } - - /** - * Quick-check if configuration has been established. - * Useful for functions which may get used partway through - * initialization to back off from fancier things. - * - * @return bool - */ - public static function haveConfig() - { - return self::$have_config; - } - - public static function isApi() - { - return self::$is_api; - } - - public static function setApi($mode) - { - self::$is_api = $mode; - } - - public static function isAjax() - { - return self::$is_ajax; - } - - public static function setAjax($mode) - { - self::$is_ajax = $mode; - } - - /** - * Build default configuration array - * @return array - */ - protected static function defaultConfig() - { - global $_server, $_path; - require(INSTALLDIR.'/lib/default.php'); - return $default; - } - - /** - * Establish default configuration based on given or default server and path - * Sets global $_server, $_path, and $config - */ - public static function initDefaults($server, $path) - { - global $_server, $_path, $config, $_PEAR; - - Event::clearHandlers(); - self::$plugins = array(); - - // try to figure out where we are. $server and $path - // can be set by including module, else we guess based - // on HTTP info. - - if (isset($server)) { - $_server = $server; - } else { - $_server = array_key_exists('SERVER_NAME', $_SERVER) ? - strtolower($_SERVER['SERVER_NAME']) : - null; - } - - if (isset($path)) { - $_path = $path; - } else { - $_path = (array_key_exists('SERVER_NAME', $_SERVER) && array_key_exists('SCRIPT_NAME', $_SERVER)) ? - self::_sn_to_path($_SERVER['SCRIPT_NAME']) : - null; - } - - // Set config values initially to default values - $default = self::defaultConfig(); - $config = $default; - - // default configuration, overwritten in config.php - // Keep DB_DataObject's db config synced to ours... - - $config['db'] = &$_PEAR->getStaticProperty('DB_DataObject','options'); - - $config['db'] = $default['db']; - - if (function_exists('date_default_timezone_set')) { - /* Work internally in UTC */ - date_default_timezone_set('UTC'); - } - } - - public static function loadSiteProfile($name) - { - global $config; - $settings = SiteProfile::getSettings($name); - $config = array_replace_recursive($config, $settings); - } - - protected static function _sn_to_path($sn) - { - $past_root = substr($sn, 1); - $last_slash = strrpos($past_root, '/'); - if ($last_slash > 0) { - $p = substr($past_root, 0, $last_slash); - } else { - $p = ''; - } - return $p; - } - - /** - * Load the default or specified configuration file. - * Modifies global $config and may establish plugins. - * - * @throws NoConfigException - */ - protected static function loadConfigFile($conffile=null) - { - global $_server, $_path, $config; - - // From most general to most specific: - // server-wide, then vhost-wide, then for a path, - // finally for a dir (usually only need one of the last two). - - if (isset($conffile)) { - $config_files = array($conffile); - } else { - $config_files = array('/etc/statusnet/statusnet.php', - '/etc/statusnet/laconica.php', - '/etc/laconica/laconica.php', - '/etc/statusnet/'.$_server.'.php', - '/etc/laconica/'.$_server.'.php'); - - if (strlen($_path) > 0) { - $config_files[] = '/etc/statusnet/'.$_server.'_'.$_path.'.php'; - $config_files[] = '/etc/laconica/'.$_server.'_'.$_path.'.php'; - } - - $config_files[] = INSTALLDIR.'/config.php'; - } - - self::$have_config = false; - - foreach ($config_files as $_config_file) { - if (@file_exists($_config_file)) { - // Ignore 0-byte config files - if (filesize($_config_file) > 0) { - common_log(LOG_INFO, "Including config file: " . $_config_file); - include($_config_file); - self::$have_config = true; - } - } - } - - if (!self::$have_config) { - throw new NoConfigException("No configuration file found.", - $config_files); - } - - // Check for database server; must exist! - - if (empty($config['db']['database'])) { - throw new ServerException("No database server for this site."); - } - } - - /** - * Are we running from the web with HTTPS? - * - * @return boolean true if we're running with HTTPS; else false - */ - - static function isHTTPS() - { - // There are some exceptions to this; add them here! - if (empty($_SERVER['HTTPS'])) { - return false; - } - - // If it is _not_ "off", it is on, so "true". - return strtolower($_SERVER['HTTPS']) !== 'off'; - } - - /** - * Can we use HTTPS? Then do! Only return false if it's not configured ("never"). - */ - static function useHTTPS() - { - return self::isHTTPS() || common_config('site', 'ssl') != 'never'; - } -} - -class NoConfigException extends Exception -{ - public $configFiles; - - function __construct($msg, $configFiles) { - parent::__construct($msg); - $this->configFiles = $configFiles; + return GNUsocial::isHTTPS(); } } diff --git a/lib/stompqueuemanager.php b/lib/stompqueuemanager.php index 25a8e2a27e..4084470e21 100644 --- a/lib/stompqueuemanager.php +++ b/lib/stompqueuemanager.php @@ -638,9 +638,9 @@ class StompQueueManager extends QueueManager */ function switchSite($site) { - if ($site != StatusNet::currentSite()) { + if ($site != GNUsocial::currentSite()) { $this->stats('switch'); - StatusNet::switchSite($site); + GNUsocial::switchSite($site); $this->initialize(); } } @@ -683,7 +683,7 @@ class StompQueueManager extends QueueManager protected function queueName($queue) { $group = $this->queueGroup($queue); - $site = StatusNet::currentSite(); + $site = GNUsocial::currentSite(); $specs = array("$group/$queue/$site", "$group/$queue"); diff --git a/lib/theme.php b/lib/theme.php index fbcbbe052a..ef7290de23 100644 --- a/lib/theme.php +++ b/lib/theme.php @@ -130,7 +130,7 @@ class Theme */ protected function relativeThemePath($group, $fallbackSubdir, $name) { - if (StatusNet::isHTTPS()) { + if (GNUsocial::isHTTPS()) { $sslserver = common_config($group, 'sslserver'); if (empty($sslserver)) { diff --git a/lib/util.php b/lib/util.php index e132c587fa..f29507f846 100644 --- a/lib/util.php +++ b/lib/util.php @@ -1260,7 +1260,7 @@ function common_local_url($action, $args=null, $params=null, $fragment=null, $ad $path = $r->build($action, $args, $params, $fragment); $ssl = common_config('site', 'ssl') === 'always' - || StatusNet::isHTTPS() + || GNUsocial::isHTTPS() || common_is_sensitive($action); if (common_config('site','fancy')) { @@ -1304,7 +1304,7 @@ function common_path($relative, $ssl=false, $addSession=true) $pathpart = (common_config('site', 'path')) ? common_config('site', 'path')."/" : ''; if (($ssl && (common_config('site', 'ssl') === 'sometimes')) - || StatusNet::isHTTPS() + || GNUsocial::isHTTPS() || common_config('site', 'ssl') === 'always') { $proto = 'https'; if (is_string(common_config('site', 'sslserver')) && diff --git a/plugins/Autocomplete/actions/autocomplete.php b/plugins/Autocomplete/actions/autocomplete.php index 6c8775d65a..56df4eb6d8 100644 --- a/plugins/Autocomplete/actions/autocomplete.php +++ b/plugins/Autocomplete/actions/autocomplete.php @@ -92,7 +92,7 @@ class AutocompleteAction extends Action protected function prepare(array $args=array()) { // If we die, show short error messages. - StatusNet::setApi(true); + GNUsocial::setApi(true); parent::prepare($args); diff --git a/plugins/Bookmark/actions/newbookmark.php b/plugins/Bookmark/actions/newbookmark.php index bc043f41ed..7551994b7c 100644 --- a/plugins/Bookmark/actions/newbookmark.php +++ b/plugins/Bookmark/actions/newbookmark.php @@ -76,7 +76,7 @@ class NewbookmarkAction extends Action parent::prepare($argarray); if ($this->boolean('ajax')) { - StatusNet::setApi(true); + GNUsocial::setApi(true); } $this->user = common_current_user(); diff --git a/plugins/DomainStatusNetwork/DomainStatusNetworkPlugin.php b/plugins/DomainStatusNetwork/DomainStatusNetworkPlugin.php index 0d0f744277..d0e1ea7d76 100644 --- a/plugins/DomainStatusNetwork/DomainStatusNetworkPlugin.php +++ b/plugins/DomainStatusNetwork/DomainStatusNetworkPlugin.php @@ -66,7 +66,7 @@ class DomainStatusNetworkPlugin extends Plugin } } - $nickname = StatusNet::currentSite(); + $nickname = GNUsocial::currentSite(); if (empty($nickname)) { $this->log(LOG_WARNING, "No current site"); @@ -212,7 +212,7 @@ class DomainStatusNetworkPlugin extends Plugin return false; } - StatusNet::switchSite($sn->nickname); + GNUsocial::switchSite($sn->nickname); $user = User::getKV('email', $email); @@ -242,7 +242,7 @@ class DomainStatusNetworkPlugin extends Plugin Status_network::$wildcard = $config['WILDCARD']; } - StatusNet::switchSite($sn->nickname); + GNUsocial::switchSite($sn->nickname); $confirm = EmailRegistrationPlugin::registerEmail($email); @@ -259,7 +259,7 @@ class DomainStatusNetworkPlugin extends Plugin throw new ClientException(_("No such site.")); } - StatusNet::switchSite($sn->nickname); + GNUsocial::switchSite($sn->nickname); $user = common_check_user($email, $password); @@ -294,7 +294,7 @@ class DomainStatusNetworkPlugin extends Plugin throw new NoSuchUserException(array('email' => $email)); } - StatusNet::switchSite($sn->nickname); + GNUsocial::switchSite($sn->nickname); $user = User::getKV('email', $email); diff --git a/plugins/DomainStatusNetwork/actions/globalapi.php b/plugins/DomainStatusNetwork/actions/globalapi.php index cd0c7f9526..d47a254940 100644 --- a/plugins/DomainStatusNetwork/actions/globalapi.php +++ b/plugins/DomainStatusNetwork/actions/globalapi.php @@ -59,7 +59,7 @@ class GlobalApiAction extends Action function prepare($args) { - StatusNet::setApi(true); // reduce exception reports to aid in debugging + GNUsocial::setApi(true); // reduce exception reports to aid in debugging parent::prepare($args); diff --git a/plugins/DomainStatusNetwork/lib/domainstatusnetworkinstaller.php b/plugins/DomainStatusNetwork/lib/domainstatusnetworkinstaller.php index 0547a2596f..877319be75 100644 --- a/plugins/DomainStatusNetwork/lib/domainstatusnetworkinstaller.php +++ b/plugins/DomainStatusNetwork/lib/domainstatusnetworkinstaller.php @@ -212,7 +212,7 @@ class DomainStatusNetworkInstaller extends Installer Status_network::$wildcard = $config['WILDCARD']; - StatusNet::switchSite($this->nickname); + GNUsocial::switchSite($this->nickname); // We need to initialize the schema_version stuff to make later setup easier diff --git a/plugins/EmailReminder/scripts/sendemailreminder.php b/plugins/EmailReminder/scripts/sendemailreminder.php index 2cc214a671..5b5b26dde3 100644 --- a/plugins/EmailReminder/scripts/sendemailreminder.php +++ b/plugins/EmailReminder/scripts/sendemailreminder.php @@ -95,7 +95,7 @@ if (have_option('u', 'universe')) { while ($sn->fetch()) { try { $server = $sn->getServerName(); - StatusNet::init($server); + GNUsocial::init($server); // Different queue manager, maybe! $qm = QueueManager::get(); foreach ($reminders as $reminder) { diff --git a/plugins/EmailSummary/scripts/sendemailsummary.php b/plugins/EmailSummary/scripts/sendemailsummary.php index 06a5327f61..721fede55b 100644 --- a/plugins/EmailSummary/scripts/sendemailsummary.php +++ b/plugins/EmailSummary/scripts/sendemailsummary.php @@ -40,7 +40,7 @@ if (have_option('u', 'universe')) { if ($sn->find()) { while ($sn->fetch()) { $server = $sn->getServerName(); - StatusNet::init($server); + GNUsocial::init($server); // Different queue manager, maybe! $qm = QueueManager::get(); $qm->enqueue(1, 'sitesum'); diff --git a/plugins/Event/actions/cancelrsvp.php b/plugins/Event/actions/cancelrsvp.php index 1a30e86a1e..1f8e6fde71 100644 --- a/plugins/Event/actions/cancelrsvp.php +++ b/plugins/Event/actions/cancelrsvp.php @@ -72,7 +72,7 @@ class CancelrsvpAction extends Action { parent::prepare($argarray); if ($this->boolean('ajax')) { - StatusNet::setApi(true); // short error results! + GNUsocial::setApi(true); // short error results! } $rsvpId = $this->trimmed('rsvp'); diff --git a/plugins/Event/actions/newrsvp.php b/plugins/Event/actions/newrsvp.php index 7a87d359e0..adc9751448 100644 --- a/plugins/Event/actions/newrsvp.php +++ b/plugins/Event/actions/newrsvp.php @@ -72,7 +72,7 @@ class NewrsvpAction extends Action { parent::prepare($argarray); if ($this->boolean('ajax')) { - StatusNet::setApi(true); // short error results! + GNUsocial::setApi(true); // short error results! } $eventId = $this->trimmed('event'); diff --git a/plugins/Favorite/actions/disfavor.php b/plugins/Favorite/actions/disfavor.php index 3ce7e74c79..b39453b5aa 100644 --- a/plugins/Favorite/actions/disfavor.php +++ b/plugins/Favorite/actions/disfavor.php @@ -74,7 +74,7 @@ class DisfavorAction extends FormAction $this->serverError(_('Could not delete favorite.')); } Fave::blowCacheForProfileId($this->scoped->id); - if (StatusNet::isAjax()) { + if (GNUsocial::isAjax()) { $this->startHTML('text/xml;charset=utf-8'); $this->elementStart('head'); // TRANS: Title for page on which favorites can be added. diff --git a/plugins/LinkPreview/actions/oembedproxy.php b/plugins/LinkPreview/actions/oembedproxy.php index 7e54aca570..97b0942441 100644 --- a/plugins/LinkPreview/actions/oembedproxy.php +++ b/plugins/LinkPreview/actions/oembedproxy.php @@ -49,7 +49,7 @@ class OembedproxyAction extends OembedAction function handle($args) { // Trigger short error responses; not a human-readable web page. - StatusNet::setApi(true); + GNUsocial::setApi(true); // We're not a general oEmbed proxy service; limit to valid sessions. $token = $this->trimmed('token'); diff --git a/plugins/Mapstraction/MapstractionPlugin.php b/plugins/Mapstraction/MapstractionPlugin.php index e2551de184..1e0d05f8ad 100644 --- a/plugins/Mapstraction/MapstractionPlugin.php +++ b/plugins/Mapstraction/MapstractionPlugin.php @@ -102,7 +102,7 @@ class MapstractionPlugin extends Plugin urlencode($this->apikey))); break; case 'microsoft': - $action->script((StatusNet::isHTTPS()?'https':'http') + '://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6'); + $action->script((GNUsocial::isHTTPS()?'https':'http') + '://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6'); break; case 'openlayers': // Use our included stripped & minified OpenLayers. diff --git a/plugins/OStatus/actions/pushcallback.php b/plugins/OStatus/actions/pushcallback.php index 1dab72b2e0..95514112ca 100644 --- a/plugins/OStatus/actions/pushcallback.php +++ b/plugins/OStatus/actions/pushcallback.php @@ -30,7 +30,7 @@ class PushCallbackAction extends Action { protected function handle() { - StatusNet::setApi(true); // Minimize error messages to aid in debugging + GNUsocial::setApi(true); // Minimize error messages to aid in debugging parent::handle(); if ($this->isPost()) { return $this->handlePost(); diff --git a/plugins/OStatus/actions/pushhub.php b/plugins/OStatus/actions/pushhub.php index 5ab1fc23d8..5d0b9fbf90 100644 --- a/plugins/OStatus/actions/pushhub.php +++ b/plugins/OStatus/actions/pushhub.php @@ -49,7 +49,7 @@ class PushHubAction extends Action protected function prepare(array $args=array()) { - StatusNet::setApi(true); // reduce exception reports to aid in debugging + GNUsocial::setApi(true); // reduce exception reports to aid in debugging return parent::prepare($args); } diff --git a/plugins/OStatus/lib/salmonaction.php b/plugins/OStatus/lib/salmonaction.php index 2954d8038c..6fb3d2f9fe 100644 --- a/plugins/OStatus/lib/salmonaction.php +++ b/plugins/OStatus/lib/salmonaction.php @@ -37,7 +37,7 @@ class SalmonAction extends Action protected function prepare(array $args=array()) { - StatusNet::setApi(true); // Send smaller error pages + GNUsocial::setApi(true); // Send smaller error pages parent::prepare($args); diff --git a/plugins/Oembed/OembedPlugin.php b/plugins/Oembed/OembedPlugin.php index a366103a02..44e5d1a72b 100644 --- a/plugins/Oembed/OembedPlugin.php +++ b/plugins/Oembed/OembedPlugin.php @@ -182,7 +182,7 @@ class OembedPlugin extends Plugin case 'video': case 'link': if (!empty($oembed->html) - && (StatusNet::isAjax() || common_config('attachments', 'show_html'))) { + && (GNUsocial::isAjax() || common_config('attachments', 'show_html'))) { require_once INSTALLDIR.'/extlib/htmLawed/htmLawed.php'; $config = array( 'safe'=>1, diff --git a/plugins/Poll/actions/newpoll.php b/plugins/Poll/actions/newpoll.php index 071778aaa2..b097553498 100644 --- a/plugins/Poll/actions/newpoll.php +++ b/plugins/Poll/actions/newpoll.php @@ -125,7 +125,7 @@ class NewPollAction extends Action function newPoll() { if ($this->boolean('ajax')) { - StatusNet::setApi(true); + GNUsocial::setApi(true); } try { if (empty($this->question)) { diff --git a/plugins/Poll/actions/respondpoll.php b/plugins/Poll/actions/respondpoll.php index 13d3abf683..02aec67830 100644 --- a/plugins/Poll/actions/respondpoll.php +++ b/plugins/Poll/actions/respondpoll.php @@ -74,7 +74,7 @@ class RespondPollAction extends Action { parent::prepare($argarray); if ($this->boolean('ajax')) { - StatusNet::setApi(true); + GNUsocial::setApi(true); } $this->user = common_current_user(); diff --git a/plugins/QnA/actions/qnaclosequestion.php b/plugins/QnA/actions/qnaclosequestion.php index b8fed19480..5c5e0f8467 100644 --- a/plugins/QnA/actions/qnaclosequestion.php +++ b/plugins/QnA/actions/qnaclosequestion.php @@ -74,7 +74,7 @@ class QnaclosequestionAction extends Action { parent::prepare($argarray); if ($this->boolean('ajax')) { - StatusNet::setApi(true); + GNUsocial::setApi(true); } $this->user = common_current_user(); diff --git a/plugins/QnA/actions/qnanewanswer.php b/plugins/QnA/actions/qnanewanswer.php index aad207fba2..94561a1548 100644 --- a/plugins/QnA/actions/qnanewanswer.php +++ b/plugins/QnA/actions/qnanewanswer.php @@ -74,7 +74,7 @@ class QnanewanswerAction extends Action { parent::prepare($argarray); if ($this->boolean('ajax')) { - StatusNet::setApi(true); + GNUsocial::setApi(true); } common_debug("in qnanewanswer"); $this->user = common_current_user(); diff --git a/plugins/QnA/actions/qnanewquestion.php b/plugins/QnA/actions/qnanewquestion.php index ab3c9db136..79ef3a6eb0 100644 --- a/plugins/QnA/actions/qnanewquestion.php +++ b/plugins/QnA/actions/qnanewquestion.php @@ -121,7 +121,7 @@ class QnanewquestionAction extends Action function newQuestion() { if ($this->boolean('ajax')) { - StatusNet::setApi(true); + GNUsocial::setApi(true); } try { if (empty($this->title)) { diff --git a/plugins/QnA/actions/qnareviseanswer.php b/plugins/QnA/actions/qnareviseanswer.php index e2e76a7873..ae9644a7e0 100644 --- a/plugins/QnA/actions/qnareviseanswer.php +++ b/plugins/QnA/actions/qnareviseanswer.php @@ -73,7 +73,7 @@ class QnareviseanswerAction extends Action { parent::prepare($argarray); if ($this->boolean('ajax')) { - StatusNet::setApi(true); + GNUsocial::setApi(true); } $this->user = common_current_user(); diff --git a/plugins/QnA/actions/qnavote.php b/plugins/QnA/actions/qnavote.php index 6cda1ff827..5531b3124b 100644 --- a/plugins/QnA/actions/qnavote.php +++ b/plugins/QnA/actions/qnavote.php @@ -74,7 +74,7 @@ class Qnavote extends Action { parent::prepare($argarray); if ($this->boolean('ajax')) { - StatusNet::setApi(true); + GNUsocial::setApi(true); } $this->user = common_current_user(); diff --git a/plugins/Realtime/scripts/cleanupchannels.php b/plugins/Realtime/scripts/cleanupchannels.php index ea195b02cd..37883b1da6 100644 --- a/plugins/Realtime/scripts/cleanupchannels.php +++ b/plugins/Realtime/scripts/cleanupchannels.php @@ -62,7 +62,7 @@ if (have_option('u', 'universe')) { if ($sn->find()) { while ($sn->fetch()) { $server = $sn->getServerName(); - StatusNet::init($server); + GNUsocial::init($server); cleanupChannels(); } } diff --git a/plugins/Recaptcha/RecaptchaPlugin.php b/plugins/Recaptcha/RecaptchaPlugin.php index 10bf2a3c04..946c604e65 100644 --- a/plugins/Recaptcha/RecaptchaPlugin.php +++ b/plugins/Recaptcha/RecaptchaPlugin.php @@ -71,7 +71,7 @@ class RecaptchaPlugin extends Plugin { if (isset($action->recaptchaPluginNeedsOutput) && $action->recaptchaPluginNeedsOutput) { // Load the AJAX API - if (StatusNet::isHTTPS()) { + if (GNUsocial::isHTTPS()) { $url = "https://www.google.com/recaptcha/api/js/recaptcha_ajax.js"; } else { $url = "http://www.google.com/recaptcha/api/js/recaptcha_ajax.js"; diff --git a/plugins/SearchSub/actions/searchsub.php b/plugins/SearchSub/actions/searchsub.php index cf9e5e5e94..586f2252f6 100644 --- a/plugins/SearchSub/actions/searchsub.php +++ b/plugins/SearchSub/actions/searchsub.php @@ -67,7 +67,7 @@ class SearchsubAction extends Action { parent::prepare($args); if ($this->boolean('ajax')) { - StatusNet::setApi(true); + GNUsocial::setApi(true); } // Only allow POST requests diff --git a/plugins/TagSub/actions/tagsub.php b/plugins/TagSub/actions/tagsub.php index 4550716cab..de333c8f58 100644 --- a/plugins/TagSub/actions/tagsub.php +++ b/plugins/TagSub/actions/tagsub.php @@ -67,7 +67,7 @@ class TagsubAction extends Action { parent::prepare($args); if ($this->boolean('ajax')) { - StatusNet::setApi(true); + GNUsocial::setApi(true); } // Only allow POST requests