X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fsiteprofile.php;h=4bbffea7542ccd149ded02acad15b64f4762c4bb;hb=8abc2d3b8d603d45d1228684f7366b5e4e8ab8de;hp=53e6482aae762f616fb30159be4ae8e2654557f0;hpb=af97bc896e64ccbfc161ebde7bca808ae5089564;p=quix0rs-gnu-social.git diff --git a/lib/siteprofile.php b/lib/siteprofile.php index 53e6482aae..4bbffea754 100644 --- a/lib/siteprofile.php +++ b/lib/siteprofile.php @@ -28,7 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { +if (!defined('GNUSOCIAL')) { exit(1); } @@ -48,7 +48,7 @@ class SiteProfile $sprofileClass = ucfirst($name) . "Site"; if (class_exists($sprofileClass)) { - return $sprofileClass::getSettings(); + return call_user_func(array($sprofileClass, 'getSettings')); } else { common_log( LOG_ERR, @@ -73,7 +73,17 @@ class SiteProfile */ abstract class SiteProfileSettings { - abstract static function getSettings(); + static function getSettings() + { + throw new MethodNotImplementedException(__METHOD__); + } + + static function corePlugins() { + return common_config('plugins', 'core'); + } + static function defaultPlugins() { + return common_config('plugins', 'default'); + } } /** @@ -87,32 +97,24 @@ class PublicSite extends SiteProfileSettings * @return type array an array of settings */ static function getSettings() { + global $config; return array( - 'site' => array( - 'inviteonly' => false, - 'private' => false - ), + // We only want to change these values, not replace entire 'site' array + 'site' => array_merge( + $config['site'], array( + 'inviteonly' => false, + 'private' => false, + 'closed' => false + ) + ), 'plugins' => array( - 'default' => array( - 'Activity' => null, - 'Bookmark' => null, - 'ClientSideShorten' => null, - 'Directory' => null, - 'Event' => null, - 'ExtendedProfile' => null, - 'Geonames' => null, - 'Gravatar' => null, - 'OpenID' => null, - 'OStatus' => null, - 'Poll' => null, - 'QnA' => null, - 'SearchSub' => null, - 'StrictTransportSecurity' => null, - 'TagSub' => null - ), - 'discovery' => - array('cors' => true) // Allow Cross-Origin Resource Sharing for service discovery (host-meta, XRD, etc.) - ) + 'core' => self::corePlugins(), + 'default' => array_merge(self::defaultPlugins(), array( + 'ExtendedProfile' => array(), + 'RegisterThrottle' => array(), + )) + ), + 'discovery' => array('cors' => true) // Allow Cross-Origin Resource Sharing for service discovery (host-meta, XRD, etc.) ); } } @@ -130,32 +132,26 @@ class PrivateSite extends SiteProfileSettings * @return type array an array of settings */ static function getSettings() { + global $config; return array( - 'site' => array( - 'inviteonly' => true, - 'private' => true - ), - 'plugins' => array( - 'default' => array( - 'Activity' => null, - 'Bookmark' => null, - 'ClientSideShorten' => null, - 'Directory' => null, - 'Event' => null, - 'ExtendedProfile' => null, - 'EmailRegistration' => null, - 'Geonames' => null, - 'Gravatar' => null, - 'NewMenu' => null, - 'MobileProfile' => null, - 'OpenID' => null, - 'Poll' => null, - 'QnA' => null, - 'SearchSub' => null, - 'StrictTransportSecurity' => null, - 'TagSub' => null + // We only want to change these values, not replace entire 'site' array + 'site' => array_merge( + $config['site'], array( + 'inviteonly' => true, + 'private' => true, ) + ), + 'plugins' => array( + 'core' => self::corePlugins(), + 'default' => array_merge(self::defaultPlugins(), array( + 'ExtendedProfile' => array(), + 'EmailRegistration' => array(), + 'MobileProfile' => array(), + )), + 'disable-OStatus' => 1, + 'disable-WebFinger' => 1, ), + 'public' => array('localonly' => true), 'profile' => array('delete' => 'true'), 'license' => array('type' => 'private'), 'attachments' => array( @@ -189,31 +185,23 @@ class CommunitySite extends SiteProfileSettings * @return type array an array of settings */ static function getSettings() { + global $config; return array( - 'site' => array( - 'inviteonly' => true, - 'private' => false - ), + // We only want to change these values, not replace entire 'site' array + 'site' => array_merge( + $config['site'], array( + 'private' => false, + 'inviteonly' => true, + 'closed' => false + ) + ), 'plugins' => array( - 'default' => array( - 'Activity' => null, - 'Bookmark' => null, - 'ClientSideShorten' => null, - 'Directory' => null, - 'Event' => null, - 'Geonames' => null, - 'Gravatar' => null, - 'OpenID' => null, - 'OStatus' => null, - 'Poll' => null, - 'QnA' => null, - 'SearchSub' => null, - 'StrictTransportSecurity' => null, - 'TagSub' => null - ), - 'discovery' => - array('cors' => true) // Allow Cross-Origin Resource Sharing for service discovery (host-meta, XRD, etc.) - ) + 'core' => self::corePlugins(), + 'default' => array_merge(self::defaultPlugins(), array( + )) + ), + 'public' => array('localonly' => true), + 'discovery' => array('cors' => true) // Allow Cross-Origin Resource Sharing for service discovery (host-meta, XRD, etc.) ); } @@ -230,34 +218,26 @@ class SingleuserSite extends SiteProfileSettings * @return type array an array of settings */ static function getSettings() { + global $config; return array( 'singleuser' => array('enabled' => true), - 'site' => array( - 'private' => false, - 'closed' => true, - ), + // We only want to change these values, not replace entire 'site' array + 'site' => array_merge( + $config['site'], array( + 'private' => false, + 'closed' => true, + 'localonly' => true, + ) + ), 'plugins' => array( - 'default' => array( - 'Activity' => null, - 'Bookmark' => null, - 'ClientSideShorten' => null, - 'Event' => null, - 'Geonames' => null, - 'NewMenu' => null, - 'MobileProfile' => null, - 'OpenID' => null, - 'OStatus' => null, - 'Poll' => null, - 'QnA' => null, - 'SearchSub' => null, - 'StrictTransportSecurity' => null, - 'TagSub' => null, - 'TwitterBridge' => null, - 'FacebookBridge' => null - ), - 'discovery' => - array('cors' => true) // Allow Cross-Origin Resource Sharing for service discovery (host-meta, XRD, etc.) - ) + 'core' => self::corePlugins(), + 'default' => array_merge(self::defaultPlugins(), array( + 'MobileProfile' => array(), + )), + 'disable-Directory' => 1, + ), + 'public' => array('localonly' => true), + 'discovery' => array('cors' => true) // Allow Cross-Origin Resource Sharing for service discovery (host-meta, XRD, etc.) ); }