Whitespace updates.
Update translator documentation.
if (!empty($old)) {
// TRANS: Error text when trying to register with an already registered e-mail address.
+ // TRANS: %s is the URL to recover password at.
$this->error = sprintf(_m('A user with that email address already exists. You can use the '.
'<a href="%s">password recovery</a> tool to recover a missing password.'),
common_local_url('recoverpassword'));
if (empty($confirm)) {
$confirm = Confirm_address::saveNew(null, $this->email, 'register');
// TRANS: Confirmation text after initial registration.
+ // TRANS: %s an e-mail address.
$prompt = sprintf(_m('An email was sent to %s to confirm that address. Check your email inbox for instructions.'),
$this->email);
} else {
// TRANS: Confirmation text after re-requesting an e-mail confirmation code.
+ // TRANS: %s is an e-mail address.
$prompt = sprintf(_m('The address %s was already registered but not confirmed. The confirmation code was resent.'),
$this->email);
}
}
if (!$this->tos) {
- $this->error = _('You must accept the terms of service and privacy policy to register.');
+ // TRANS: Error text when trying to register without agreeing to the terms.
+ $this->error = _m('You must accept the terms of service and privacy policy to register.');
return;
} else if (empty($this->password1)) {
- $this->error = _('You must set a password');
+ // TRANS: Error text when trying to register without a password.
+ $this->error = _m('You must set a password');
} else if (strlen($this->password1) < 6) {
- $this->error = _('Password must be 6 or more characters.');
+ // TRANS: Error text when trying to register with too short a password.
+ $this->error = _m('Password must be 6 or more characters.');
} else if ($this->password1 != $this->password2) {
- $this->error = _('Passwords do not match.');
+ // TRANS: Error text when trying to register without providing the same password twice.
+ $this->error = _m('Passwords do not match.');
}
if (!empty($this->error)) {
}
if (empty($this->user)) {
- throw new Exception("Failed to register user.");
+ throw new Exception('Failed to register user.');
}
common_set_user($this->user);
'author' => 'Zach Copley',
'homepage' => 'http://status.net/wiki/Plugin:QnA',
'description' =>
+ // TRANS: Plugin description.
_m('Question and Answers micro-app.')
);
return true;
}
function appTitle() {
+ // TRANS: Application title.
return _m('Question');
}
function saveNoticeFromActivity($activity, $actor, $options=array())
{
if (count($activity->objects) != 1) {
- throw new Exception('Too many activity objects.');
+ throw new Exception(_m('Too many activity objects.'));
}
$questionObj = $activity->objects[0];
if ($questionObj->type != QnA_Question::OBJECT_TYPE) {
- throw new Exception('Wrong type for object.');
+ throw new Exception(_m('Wrong type for object.'));
}
$notice = null;
$question = QnA_Question::staticGet('uri', $questionObj->id);
if (empty($question)) {
// FIXME: save the question
- throw new Exception("Answer to unknown question.");
+ throw new Exception(_m('Answer to unknown question.'));
}
$notice = QnA_Answer::saveNew($actor, $question, $options);
break;
default:
- throw new Exception("Unknown object type received by QnA Plugin");
+ throw new Exception(_m('Unknown object type received by QnA Plugin.'));
}
return $notice;
}
if (empty($question)) {
- throw new Exception("Unknown object type.");
+ throw new Exception(_m('Unknown object type.'));
}
$notice = $question->getNotice();
if (empty($notice)) {
- throw new Exception("Unknown question notice.");
+ throw new Exception(_m('Unknown question notice.'));
}
$obj = new ActivityObject();
* @param Notice $notice
* @param HTMLOutputter $out
*/
-
function showNotice($notice, $out)
{
switch ($notice->object_type) {
case QnA_Answer::OBJECT_TYPE:
return $this->showNoticeAnswer($notice, $out);
default:
- // TRANS: Exception thrown when performing an unexpected action on a question.
- // TRANS: %s is the unpexpected object type.
throw new Exception(
- sprintf(
- _m('Unexpected type for QnA plugin: %s.'),
- $notice->object_type
+ // TRANS: Exception thrown when performing an unexpected action on a question.
+ // TRANS: %s is the unpexpected object type.
+ sprintf(_m('Unexpected type for QnA plugin: %s.'),
+ $notice->object_type
)
);
}
$max = Notice::maxContent();
$short = mb_substr($content, 0, $max - 1);
$short .= sprintf(
- '<a href="%s" rel="more" title="%s">…</a>',
+ // TRANS: Link to full notice text if it is longer than what will be dispplayed.
+ // TRANS: %s a notice URI.
+ _m('<a href="%s" rel="more" title="%s">…</a>'),
$notice->uri,
- _m('more')
+ _m('more...')
);
} else {
$short = $content;
$orig = clone($this->question);
$this->question->closed = 1;
$this->question->update($orig);
-
+
} catch (ClientException $ce) {
$this->error = $ce->getMessage();
$this->showPage();
$this->elementStart('body');
-
+
$nli = new NoticeAnswerListItem($notice, $this, $this->question, $answer);
$nli->show();
-
+
$this->elementEnd('body');
$this->elementEnd('html');
} else {
$this->startHTML('text/xml;charset=utf-8', true);
$this->elementStart('head');
// TRANS: Page title after an AJAX error occurs on the post answer page.
- $this->element('title', null, _('Ajax Error'));
+ $this->element('title', null, _m('Ajax Error'));
$this->elementEnd('head');
$this->elementStart('body');
$this->element('p', array('id' => 'error'), $msg);
$id = substr($this->trimmed('id'), 7);
$this->answer = QnA_Answer::staticGet('id', $id);
- $this->question = $this->answer->getQuestion();
+ $this->question = $this->answer->getQuestion();
if (empty($this->answer) || empty($this->question)) {
// TRANS: Client exception thrown trying to respond to a non-existing question.
function reviseAnswer()
{
$answer = $this->answer;
-
+
try {
$orig = clone($answer);
$answer->content = $this->answerText;
{
$question = $this->question;
$answer = $this->answer;
-
+
try {
// close the question to further answers
$orig = clone($question);
$question->closed = 1;
$result = $question->update($orig);
-
+
// mark this answer an the best answer
$orig = clone($answer);
$answer->best = 1;
<?php
/**
- * Data class to save users votes for
+ * Data class to save users votes for
*
* PHP version 5
*
{
const UP = 'http://activitystrea.ms/schema/1.0/like';
const DOWN = 'http://activityschema.org/object/dislike'; // Gar!
-
+
public $__table = 'qna_vote'; // table name
public $id; // char(36) primary key not null -> UUID
public $question_id; // char(36) -> question.id UUID
'description' => 'For storing votes on questions and answers',
'fields' => array(
'id' => array(
- 'type' => 'char',
- 'length' => 36,
- 'not null' => true,
+ 'type' => 'char',
+ 'length' => 36,
+ 'not null' => true,
'description' => 'UUID of the vote'
),
'question_id' => array(
- 'type' => 'char',
- 'length' => 36,
- 'not null' => true,
+ 'type' => 'char',
+ 'length' => 36,
+ 'not null' => true,
'description' => 'UUID of question being voted on'
),
'answer_id' => array(
- 'type' => 'char',
- 'length' => 36,
+ 'type' => 'char',
+ 'length' => 36,
'not null' => true,
'description' => 'UUID of answer being voted on'
),
'primary key' => array('id'),
'indexes' => array(
'profile_id_question_Id_index' => array(
- 'profile_id',
+ 'profile_id',
'question_id'
),
'profile_id_question_Id_index' => array(
- 'profile_id',
+ 'profile_id',
'answer_id'
)
)
$v->created = common_sql_now();
common_log(LOG_DEBUG, "Saving vote: $v->id $v->vote");
-
+
$v->insert();
}
}
function formLegend()
{
// TRANS: Form legend for showing the answer.
- $this->out->element('legend', null, _('Answer'));
+ $this->out->element('legend', null, _m('Answer'));
}
/**
'submit',
'best',
// TRANS: Title for button text marking an answer as "best"
- _('Mark as best answer')
+ _m('Mark as best answer')
);
-
+
}
}
'submit',
null,
// TRANS: Title for button text for revising an answer
- _('Revise your answer')
+ _m('Revise your answer')
);
}
*/
function formLegend()
{
// TRANS: Form legend for revising the answer.
- $this->out->element('legend', null, _('Question'));
+ $this->out->element('legend', null, _m('Question'));
}
/**
'submit',
'submit',
// TRANS: Title for button text for closing a question
- _('Close the question')
+ _m('Close the question')
);
- }
+ }
}
}