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="community">Community</option>
<option value ="public">Public</option>
<option value ="singleuser">Single User</option>
</select>
<p class="form_guide">Initial access settings for your site</p>
</li>

View File

@ -414,7 +414,8 @@ abstract class Installer
'path' => $this->path,
'db_database' => $this->db['database'],
'db_type' => $this->db['type'],
'site_profile' => $this->siteProfile
'site_profile' => $this->siteProfile,
'nickname' => $this->adminNick
));
// assemble configuration file in a string
@ -437,7 +438,13 @@ abstract class Installer
"\$config['db']['type'] = {$vals['db_type']};\n\n".
// 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
$cfg = str_replace("\n", PHP_EOL, $cfg);

View File

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