Merge branch 'singleuser-profile' into 1.0.x

* singleuser-profile:
  * Allow setting single user site profile * Fix site profile array munging
  Add "Single User" to installer's site profile form
This commit is contained in:
Zach Copley 2011-08-27 14:26:57 -07:00
commit e565477e3f
4 changed files with 54 additions and 32 deletions

View File

@ -257,6 +257,7 @@ class WebInstaller extends Installer
<option value="private">Private</option> <option value="private">Private</option>
<option value="community">Community</option> <option value="community">Community</option>
<option value ="public">Public</option> <option value ="public">Public</option>
<option value ="singleuser">Single User</option>
</select> </select>
<p class="form_guide">Initial access settings for your site</p> <p class="form_guide">Initial access settings for your site</p>
</li> </li>

View File

@ -414,7 +414,8 @@ abstract class Installer
'path' => $this->path, 'path' => $this->path,
'db_database' => $this->db['database'], 'db_database' => $this->db['database'],
'db_type' => $this->db['type'], 'db_type' => $this->db['type'],
'site_profile' => $this->siteProfile 'site_profile' => $this->siteProfile,
'nickname' => $this->adminNick
)); ));
// assemble configuration file in a string // assemble configuration file in a string
@ -437,7 +438,13 @@ abstract class Installer
"\$config['db']['type'] = {$vals['db_type']};\n\n". "\$config['db']['type'] = {$vals['db_type']};\n\n".
// site profile // site profile
"\$config['site']['profile'] = {$vals['site_profile']};\n\n"; "\$config['site']['profile'] = {$vals['site_profile']};\n";
if ($this->siteProfile == "singleuser") {
$cfg .= "\$config['singleuser']['nickname'] = {$vals['nickname']};\n\n";
} else {
$cfg .= "\n";
}
// Normalize line endings for Windows servers // Normalize line endings for Windows servers
$cfg = str_replace("\n", PHP_EOL, $cfg); $cfg = str_replace("\n", PHP_EOL, $cfg);

View File

@ -87,11 +87,16 @@ class PublicSite extends SiteProfileSettings
* @return type array an array of settings * @return type array an array of settings
*/ */
static function getSettings() { static function getSettings() {
global $config;
return array( return array(
'site' => array( // We only want to change these values, not replace entire 'site' array
'inviteonly' => false, 'site' => array_replace(
'private' => false $config['site'], array(
), 'inviteonly' => false,
'private' => false,
'closed' => false
)
),
'plugins' => array( 'plugins' => array(
'default' => array( 'default' => array(
'Activity' => null, 'Activity' => null,
@ -109,10 +114,9 @@ class PublicSite extends SiteProfileSettings
'SearchSub' => null, 'SearchSub' => null,
'StrictTransportSecurity' => null, 'StrictTransportSecurity' => null,
'TagSub' => null 'TagSub' => null
), )
'discovery' => ),
array('cors' => true) // Allow Cross-Origin Resource Sharing for service discovery (host-meta, XRD, etc.) 'discovery' => array('cors' => true) // Allow Cross-Origin Resource Sharing for service discovery (host-meta, XRD, etc.)
)
); );
} }
} }
@ -130,11 +134,15 @@ class PrivateSite extends SiteProfileSettings
* @return type array an array of settings * @return type array an array of settings
*/ */
static function getSettings() { static function getSettings() {
global $config;
return array( return array(
'site' => array( // We only want to change these values, not replace entire 'site' array
'inviteonly' => true, 'site' => array_replace(
'private' => true $config['site'], array(
), 'inviteonly' => true,
'private' => true,
)
),
'plugins' => array( 'plugins' => array(
'default' => array( 'default' => array(
'Activity' => null, 'Activity' => null,
@ -189,11 +197,15 @@ class CommunitySite extends SiteProfileSettings
* @return type array an array of settings * @return type array an array of settings
*/ */
static function getSettings() { static function getSettings() {
global $config;
return array( return array(
'site' => array( // We only want to change these values, not replace entire 'site' array
'inviteonly' => true, 'site' => array_replace(
'private' => false $config['site'], array(
), 'private' => false,
'closed' => false
)
),
'plugins' => array( 'plugins' => array(
'default' => array( 'default' => array(
'Activity' => null, 'Activity' => null,
@ -210,10 +222,9 @@ class CommunitySite extends SiteProfileSettings
'SearchSub' => null, 'SearchSub' => null,
'StrictTransportSecurity' => null, 'StrictTransportSecurity' => null,
'TagSub' => null 'TagSub' => null
), )
'discovery' => ),
array('cors' => true) // Allow Cross-Origin Resource Sharing for service discovery (host-meta, XRD, etc.) 'discovery' => array('cors' => true) // Allow Cross-Origin Resource Sharing for service discovery (host-meta, XRD, etc.)
)
); );
} }
@ -230,12 +241,16 @@ class SingleuserSite extends SiteProfileSettings
* @return type array an array of settings * @return type array an array of settings
*/ */
static function getSettings() { static function getSettings() {
global $config;
return array( return array(
'singleuser' => array('enabled' => true), 'singleuser' => array('enabled' => true),
'site' => array( // We only want to change these values, not replace entire 'site' array
'private' => false, 'site' => array_replace(
'closed' => true, $config['site'], array(
), 'private' => false,
'closed' => true,
)
),
'plugins' => array( 'plugins' => array(
'default' => array( 'default' => array(
'Activity' => null, 'Activity' => null,
@ -253,11 +268,10 @@ class SingleuserSite extends SiteProfileSettings
'StrictTransportSecurity' => null, 'StrictTransportSecurity' => null,
'TagSub' => null, 'TagSub' => null,
'TwitterBridge' => null, 'TwitterBridge' => null,
'FacebookBridge' => null 'FacebookBridge' => null,
), )
'discovery' => ),
array('cors' => true) // Allow Cross-Origin Resource Sharing for service discovery (host-meta, XRD, etc.) 'discovery' => array('cors' => true) // Allow Cross-Origin Resource Sharing for service discovery (host-meta, XRD, etc.)
)
); );
} }

View File

@ -310,7 +310,7 @@ class StatusNet
{ {
global $config; global $config;
$settings = SiteProfile::getSettings($name); $settings = SiteProfile::getSettings($name);
$config = array_replace_recursive($config, $settings); $config = array_replace($config, $settings);
} }
protected function _sn_to_path($sn) protected function _sn_to_path($sn)