forked from GNUsocial/gnu-social
Core and Default plugins separated, now loads on install
_flow_ reported on IRC that install.php had stopped working. This was because default plugins had been put into two separate lists, and the list with AuthCrypt was never loaded when performing an installation. Core plugins cannot be disabled. I also removed the Memcache autodetection thing since it should be solved in a more elegant manner.
This commit is contained in:
parent
2f70866367
commit
2a5ba1f74b
@ -17,17 +17,12 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
if (!defined('STATUSNET') && !defined('LACONICA')) {
|
||||
exit(1);
|
||||
}
|
||||
if (!defined('GNUSOCIAL')) { exit(1); }
|
||||
|
||||
/**
|
||||
* Table Definition for user
|
||||
*/
|
||||
|
||||
require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
|
||||
require_once 'Validate.php';
|
||||
|
||||
class User extends Managed_DataObject
|
||||
{
|
||||
const SUBSCRIBE_POLICY_OPEN = 0;
|
||||
@ -233,7 +228,7 @@ class User extends Managed_DataObject
|
||||
try {
|
||||
$profile->nickname = Nickname::normalize($nickname, true);
|
||||
} catch (NicknameException $e) {
|
||||
common_log(LOG_WARNING, sprintf('Bad nickname during User registration for %s: %s', $profile->nickname, $e->getMessage()), __FILE__);
|
||||
common_log(LOG_WARNING, sprintf('Bad nickname during User registration for %s: %s', $nickname, $e->getMessage()), __FILE__);
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -305,7 +300,7 @@ class User extends Managed_DataObject
|
||||
$profile->query('BEGIN');
|
||||
|
||||
$id = $profile->insert();
|
||||
if (empty($id)) {
|
||||
if ($id === false) {
|
||||
common_log_db_error($profile, 'INSERT', __FILE__);
|
||||
return false;
|
||||
}
|
||||
@ -324,7 +319,7 @@ class User extends Managed_DataObject
|
||||
|
||||
$result = $user->insert();
|
||||
|
||||
if (!$result) {
|
||||
if ($result === false) {
|
||||
common_log_db_error($user, 'INSERT', __FILE__);
|
||||
$profile->query('ROLLBACK');
|
||||
return false;
|
||||
|
@ -20,17 +20,17 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @category Config
|
||||
* @package StatusNet
|
||||
* @package GNUsocial
|
||||
* @author Evan Prodromou <evan@status.net>
|
||||
* @copyright 2008-9 StatusNet, Inc.
|
||||
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
|
||||
* @link http://status.net/
|
||||
* @link http://www.gnu.org/software/social/
|
||||
*/
|
||||
|
||||
$default =
|
||||
array('site' =>
|
||||
array('name' => 'Just another StatusNet microblog',
|
||||
'nickname' => 'statusnet',
|
||||
array('name' => 'Just another GNU social node',
|
||||
'nickname' => 'gnusocial',
|
||||
'wildcard' => null,
|
||||
'server' => $_server,
|
||||
'theme' => 'neo',
|
||||
@ -305,19 +305,22 @@ $default =
|
||||
'logincommand' =>
|
||||
array('disabled' => true),
|
||||
'plugins' =>
|
||||
array('default' => array('Geonames' => null,
|
||||
'ClientSideShorten' => null,
|
||||
'StrictTransportSecurity' => null,
|
||||
'Bookmark' => null,
|
||||
'Event' => null,
|
||||
'Poll' => null,
|
||||
'QnA' => null,
|
||||
'SearchSub' => null,
|
||||
'TagSub' => null,
|
||||
'OpenID' => null,
|
||||
'Directory' => null,
|
||||
'ExtendedProfile' => null,
|
||||
'Activity' => null),
|
||||
array('core' => array(
|
||||
'AuthCrypt' => null,
|
||||
'LRDD' => null,
|
||||
'StrictTransportSecurity' => null,
|
||||
),
|
||||
'default' => array(
|
||||
'Activity' => null,
|
||||
'Bookmark' => null,
|
||||
'ClientSideShorten' => null,
|
||||
'Event' => null,
|
||||
'OpenID' => null,
|
||||
'Poll' => null,
|
||||
'QnA' => null,
|
||||
'SearchSub' => null,
|
||||
'TagSub' => null,
|
||||
),
|
||||
'locale_path' => false, // Set to a path to use *instead of* each plugin's own locale subdirectories
|
||||
'server' => null,
|
||||
'sslserver' => null,
|
||||
|
@ -438,16 +438,6 @@ abstract class Installer
|
||||
($this->db['type'] == 'pgsql' ? "\$config['db']['quote_identifiers'] = true;\n\n":'').
|
||||
"\$config['db']['type'] = {$vals['db_type']};\n\n";
|
||||
|
||||
// Auto memcache support detection
|
||||
$cfg .= '
|
||||
foreach(array("Memcache", "Memcached") as $plugin) :
|
||||
if (class_exists($plugin)) {
|
||||
addPlugin($plugin);
|
||||
break;
|
||||
}
|
||||
endforeach;
|
||||
';
|
||||
|
||||
// Normalize line endings for Windows servers
|
||||
$cfg = str_replace("\n", PHP_EOL, $cfg);
|
||||
|
||||
@ -618,7 +608,7 @@ endforeach;
|
||||
);
|
||||
} else {
|
||||
$this->updateStatus(
|
||||
"Could not create initial StatusNet user (administrator).",
|
||||
"Could not create initial GNU social user.",
|
||||
true
|
||||
);
|
||||
return false;
|
||||
|
@ -79,18 +79,8 @@ abstract class SiteProfileSettings
|
||||
}
|
||||
|
||||
static function defaultPlugins() {
|
||||
return array(
|
||||
'AuthCrypt' => null,
|
||||
'Bookmark' => null,
|
||||
'Event' => null,
|
||||
'OpenID' => null,
|
||||
'LRDD' => null,
|
||||
'Poll' => null,
|
||||
'QnA' => null,
|
||||
'SearchSub' => null,
|
||||
'StrictTransportSecurity' => null,
|
||||
'TagSub' => null,
|
||||
);
|
||||
return array_merge(common_config('plugins', 'core'),
|
||||
common_config('plugins', 'default'));
|
||||
}
|
||||
}
|
||||
|
||||
@ -117,7 +107,6 @@ class PublicSite extends SiteProfileSettings
|
||||
),
|
||||
'plugins' => array(
|
||||
'default' => array_merge(self::defaultPlugins(), array(
|
||||
'ClientSideShorten' => null,
|
||||
'Directory' => null,
|
||||
'ExtendedProfile' => null,
|
||||
'Geonames' => null,
|
||||
@ -154,7 +143,6 @@ class PrivateSite extends SiteProfileSettings
|
||||
),
|
||||
'plugins' => array(
|
||||
'default' => array_merge(self::defaultPlugins(), array(
|
||||
'ClientSideShorten' => null,
|
||||
'Directory' => null,
|
||||
'ExtendedProfile' => null,
|
||||
'EmailRegistration' => null,
|
||||
@ -207,7 +195,6 @@ class CommunitySite extends SiteProfileSettings
|
||||
),
|
||||
'plugins' => array(
|
||||
'default' => array_merge(self::defaultPlugins(), array(
|
||||
'ClientSideShorten' => null,
|
||||
'Directory' => null,
|
||||
'Geonames' => null,
|
||||
'OStatus' => null,
|
||||
@ -243,7 +230,6 @@ class SingleuserSite extends SiteProfileSettings
|
||||
),
|
||||
'plugins' => array(
|
||||
'default' => array_merge(self::defaultPlugins(), array(
|
||||
'ClientSideShorten' => null,
|
||||
'Geonames' => null,
|
||||
'NewMenu' => null,
|
||||
'MobileProfile' => null,
|
||||
|
@ -181,6 +181,11 @@ class StatusNet
|
||||
*/
|
||||
protected static function initPlugins()
|
||||
{
|
||||
// Load core plugins
|
||||
foreach (common_config('plugins', 'core') as $name => $params) {
|
||||
call_user_func('addPlugin', $name, $params);
|
||||
}
|
||||
|
||||
// Load default plugins
|
||||
foreach (common_config('plugins', 'default') as $name => $params) {
|
||||
$key = 'disable-' . $name;
|
||||
|
Loading…
Reference in New Issue
Block a user