*
* @see DB_DataObject
*/
-
class Poll_response extends Managed_DataObject
{
public $__table = 'poll_response'; // table name
public $id; // char(36) primary key not null -> UUID
+ public $uri; // varchar(255)
public $poll_id; // char(36) -> poll.id UUID
public $profile_id; // int -> profile.id
public $selection; // int -> choice #
* @return User_greeting_count object found, or null for no hits
*
*/
-
function staticGet($k, $v=null)
{
return Memcached_DataObject::staticGet('Poll_response', $k, $v);
* @return Bookmark object found, or null for no hits
*
*/
-
function pkeyGet($kv)
{
return Memcached_DataObject::pkeyGet('Poll_response', $kv);
*
* @return Poll_response found response or null
*/
-
function getByNotice($notice)
{
return self::staticGet('uri', $notice->uri);
*
* @return Notice saved notice
*/
-
static function saveNew($profile, $poll, $selection, $options=null)
{
if (empty($options)) {
}
if (!$poll->isValidSelection($selection)) {
+ // TRANS: Client exception thrown when responding to a poll with an invalid option.
throw new ClientException(_m('Invalid poll selection.'));
}
$opts = $poll->getOptions();
common_log(LOG_DEBUG, "Saving poll response: $pr->id $pr->uri");
$pr->insert();
+ // TRANS: Notice content voting for a poll.
+ // TRANS: %s is the chosen option in the poll.
$content = sprintf(_m('voted for "%s"'),
$answer);
- $rendered = sprintf(_m('voted for “<a href="%s">%s</a>”'),
- htmlspecialchars($poll->uri),
- htmlspecialchars($answer));
+ $link = '<a href="' . htmlspecialchars($poll->uri) . '">' . htmlspecialchars($answer) . '</a>';
+ // TRANS: Rendered version of the notice content voting for a poll.
+ // TRANS: %s a link to the poll with the chosen option as link description.
+ $rendered = sprintf(_m('voted for "%s"'), $link);
$tags = array();
- $replies = array();
$options = array_merge(array('urls' => array(),
'rendered' => $rendered,
'tags' => $tags,
- 'replies' => $replies,
'reply_to' => $poll->getNotice()->id,
'object_type' => PollPlugin::POLL_RESPONSE_OBJECT),
$options);