exit(1);
}
-require_once INSTALLDIR . '/lib/api.php';
-
/**
* Gives a full dump of configuration variables for this instance
* of StatusNet, minus variables that may be security-sensitive (like
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class ApiStatusnetConfigAction extends ApiAction
{
var $keys = array(
- 'site' => array('name', 'server', 'theme', 'path', 'fancy', 'language',
- 'email', 'broughtby', 'broughtbyurl', 'closed',
- 'inviteonly', 'private'),
- 'license' => array('url', 'title', 'image'),
+ 'site' => array('name', 'server', 'theme', 'path', 'logo', 'fancy', 'language',
+ 'email', 'broughtby', 'broughtbyurl', 'timezone', 'closed',
+ 'inviteonly', 'private', 'textlimit', 'ssl', 'sslserver', 'shorturllength'),
+ 'license' => array('type', 'owner', 'url', 'title', 'image'),
'nickname' => array('featured'),
+ 'profile' => array('biolimit'),
+ 'group' => array('desclimit'),
+ 'notice' => array('contentlimit'),
'throttle' => array('enabled', 'count', 'timespan'),
- 'xmpp' => array('enabled', 'server', 'user')
+ 'xmpp' => array('enabled', 'server', 'port', 'user'),
+ 'integration' => array('source')
);
/**
* @param array $args $_REQUEST args
*
* @return boolean success flag
- *
*/
-
function prepare($args)
{
parent::prepare($args);
*
* @return void
*/
-
function handle($args)
{
parent::handle($args);
// XXX: check that all sections and settings are legal XML elements
- common_debug(var_export($this->keys, true));
-
foreach ($this->keys as $section => $settings) {
$this->elementStart($section);
foreach ($settings as $setting) {
$value = common_config($section, $setting);
if (is_array($value)) {
$value = implode(',', $value);
- } else if ($value === false) {
+ } else if ($value === false || $value == '0') {
$value = 'false';
- } else if ($value === true) {
+ } else if ($value === true || $value == '1') {
$value = 'true';
}
+
+ // return theme logo if there's no site specific one
+ if (empty($value)) {
+ if ($section == 'site' && $setting == 'logo') {
+ $value = Theme::path('logo.png');
+ }
+ }
+
$this->element($setting, null, $value);
}
$this->elementEnd($section);
break;
default:
$this->clientError(
+ // TRANS: Client error displayed when trying to handle an unknown API method.
_('API method not found.'),
404,
$this->format
*
* @return boolean is read only action?
*/
-
function isReadOnly($args)
{
return true;
}
-
}
-