* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
class TwitteradminpanelAction extends AdminPanelAction
{
/**
*
* @return string page title
*/
-
function title()
{
- return _m('Twitter');
+ // TRANS: Page title for Twitter administration panel.
+ return _m('TITLE','Twitter');
}
/**
*
* @return string instructions
*/
-
function getInstructions()
{
+ // TRANS: Instructions for Twitter bridge administration page.
return _m('Twitter bridge settings');
}
*
* @return void
*/
-
function showForm()
{
$form = new TwitterAdminPanelForm($this);
*
* @return void
*/
-
function saveSettings()
{
static $settings = array(
);
static $booleans = array(
- 'twitter' => array('signin'),
- 'twitterimport' => array('enabled')
+ 'twitter' => array('signin')
);
+ if (Event::handle('TwitterBridgeAdminImportControl')) {
+ $booleans['twitterimport'] = array('enabled');
+ }
$values = array();
$config->query('COMMIT');
+ // Flush the router cache: we may have enabled/disabled bridging,
+ // which will add or remove some actions.
+ $cache = Cache::instance();
+ $cache->delete(Router::cacheKey());
+
return;
}
if (mb_strlen($values['twitter']['consumer_key']) > 255) {
$this->clientError(
- _m("Invalid consumer key. Max length is 255 characters.")
+ // TRANS: Client error displayed when a consumer key is invalid because it is too long.
+ _m('Invalid consumer key. Maximum length is 255 characters.')
);
}
if (mb_strlen($values['twitter']['consumer_secret']) > 255) {
$this->clientError(
- _m("Invalid consumer secret. Max length is 255 characters.")
+ // TRANS: Client error displayed when a consumer secret is invalid because it is too long.
+ _m('Invalid consumer secret. Maximum length is 255 characters.')
);
}
}
+
+ function isImportEnabled()
+ {
+ // Since daemon setup isn't automated yet...
+ // @todo: if merged into main queues, detect presence of daemon config
+ return true;
+ }
}
class TwitterAdminPanelForm extends AdminForm
*
* @return int ID of the form
*/
-
function id()
{
return 'twitteradminpanel';
*
* @return string class of the form
*/
-
function formClass()
{
return 'form_settings';
*
* @return string URL of the action
*/
-
function action()
{
return common_local_url('twitteradminpanel');
*
* @return void
*/
-
function formData()
{
$this->out->elementStart(
'fieldset',
array('id' => 'settings_twitter-application')
);
+ // TRANS: Fieldset legend for Twitter application settings.
$this->out->element('legend', null, _m('Twitter application settings'));
$this->out->elementStart('ul', 'form_data');
$this->li();
$this->input(
'consumer_key',
+ // TRANS: Field label for Twitter assigned consumer key.
_m('Consumer key'),
- _m('Consumer key assigned by Twitter'),
+ // TRANS: Field title for Twitter assigned consumer key.
+ _m('The consumer key assigned by Twitter.'),
'twitter'
);
$this->unli();
$this->li();
$this->input(
'consumer_secret',
- _m('Consumer secret'),
- _m('Consumer secret assigned by Twitter'),
+ // TRANS: Field label for Twitter assigned consumer secret.
+ _m('Consumer secret'),
+ // TRANS: Field title for Twitter assigned consumer secret.
+ _m('The consumer secret assigned by Twitter.'),
'twitter'
);
$this->unli();
- $globalConsumerKey = common_config('twitter', 'global_consumer_key');
+ $globalConsumerKey = common_config('twitter', 'global_consumer_key');
$globalConsumerSec = common_config('twitter', 'global_consumer_secret');
- if (!empty($globalConsumerKey)) {
- $this->li();
- $this->out->element(
- 'label',
- array('for' => 'global_consumer_key'),
- ''
- );
- $this->out->element(
- 'input',
- array(
- 'name' => 'global_consumer_key',
- 'type' => 'text',
- 'id' => 'global_consumer_key',
- 'value' => $globalConsumerKey,
- 'disabled' => 'true'
- )
- );
- $this->out->element('p', 'form_guide', _('Global consumer key'));
- $this->unli();
-
+ if (!empty($globalConsumerKey) && !empty($globalConsumerSec)) {
$this->li();
- $this->out->element(
- 'label',
- array('for' => 'global_consumer_secret'),
- ''
- );
- $this->out->element(
- 'input',
- array(
- 'name' => 'global_consumer_secret',
- 'type' => 'text',
- 'id' => 'global_consumer_secret',
- 'value' => $globalConsumerSec,
- 'disabled' => 'true'
- )
- );
- $this->out->element('p', 'form_guide', _('Global consumer secret'));
+ // TRANS: Form guide displayed when two required fields have already been provided.
+ $this->out->element('p', 'form_guide', _m('Note: A global consumer key and secret are set.'));
$this->unli();
}
$this->li();
$this->input(
'source',
- _m('Integration source'),
- _m('Name of your Twitter application'),
+ // TRANS: Field label for Twitter application name.
+ _m('Integration source'),
+ // TRANS: Field title for Twitter application name.
+ _m('The name of your Twitter application.'),
'integration'
);
$this->unli();
'fieldset',
array('id' => 'settings_twitter-options')
);
+ // TRANS: Fieldset legend for Twitter integration options.
$this->out->element('legend', null, _m('Options'));
$this->out->elementStart('ul', 'form_data');
$this->li();
$this->out->checkbox(
+ // TRANS: Checkbox label for global setting.
'signin', _m('Enable "Sign-in with Twitter"'),
(bool) $this->value('signin', 'twitter'),
- _m('Allow users to login with their Twitter credentials')
+ // TRANS: Checkbox title.
+ _m('This allow users to login with their Twitter credentials.')
);
$this->unli();
- $this->li();
- $this->out->checkbox(
- 'enabled', _m('Enable Twitter import'),
- (bool) $this->value('enabled', 'twitterimport'),
- _m('Allow users to import their Twitter friends\' timelines')
- );
- $this->unli();
+ if (Event::handle('TwitterBridgeAdminImportControl')) {
+ $this->li();
+ $this->out->checkbox(
+ // TRANS: Checkbox label for global setting.
+ 'enabled', _m('Enable Twitter import'),
+ (bool) $this->value('enabled', 'twitterimport'),
+ // TRANS: Checkbox title for global setting.
+ _m('Allow users to import their Twitter friends\' timelines. Requires daemons to be manually configured.')
+ );
+ $this->unli();
+ }
$this->out->elementEnd('ul');
*
* @return void
*/
-
function formActions()
{
- $this->out->submit('submit', _('Save'), 'submit', null, _('Save Twitter settings'));
+ // TRANS: Button text for saving the administrative Twitter bridge settings.
+ $this->out->submit('submit', _m('BUTTON','Save'), 'submit', null,
+ // TRANS: Button title for saving the administrative Twitter bridge settings.
+ _m('Save the Twitter bridge settings.'));
}
}