X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fnoticeform.php;h=161eb67a5061e9553d165086fdaf22b209364ce5;hb=ebc8e2a0e7dde135aef73be7b3d96dff155fe091;hp=bc47dd1bd3b531621cf01b0c59950419165d7d7b;hpb=9948523c33ea0d02681ff1e0cd4fcb839dc9df96;p=quix0rs-gnu-social.git diff --git a/lib/noticeform.php b/lib/noticeform.php index bc47dd1bd3..161eb67a50 100644 --- a/lib/noticeform.php +++ b/lib/noticeform.php @@ -28,11 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} - -require_once INSTALLDIR.'/lib/form.php'; +if (!defined('GNUSOCIAL')) { exit(1); } /** * Form for posting a notice @@ -101,20 +97,18 @@ class NoticeForm extends Form * 'location_id' ID of location * 'location_ns' Namespace of location */ - function __construct($action, $options=null) + function __construct(Action $action, array $options = array()) { // XXX: ??? Is this to keep notice forms distinct? // Do we have to worry about sub-second race conditions? // XXX: Needs to be above the parent::__construct() call...? - $this->id_suffix = time(); + // When creating a notice form we don't want to collide with + // possibly existing HTML elements, as naming conventions are similar. + $this->id_suffix = mt_rand(); parent::__construct($action); - if (is_null($options)) { - $options = array(); - } - $this->actionName = $action->trimmed('action'); $prefill = array('content', 'inreplyto', 'lat', @@ -131,7 +125,7 @@ class NoticeForm extends Form if (empty($this->to_profile) && !empty($this->inreplyto)) { - $notice = Notice::staticGet('id', $this->inreplyto); + $notice = Notice::getKV('id', $this->inreplyto); if (!empty($notice)) { $this->to_profile = $notice->getProfile(); } @@ -208,6 +202,8 @@ class NoticeForm extends Form sprintf(_('What\'s up, %s?'), $this->user->nickname)); // XXX: vary by defined max size $this->out->element('textarea', array('class' => 'notice_data-text', + 'required' => 'required', + 'placeholder' => _('Share your status...'), 'cols' => 35, 'rows' => 4, 'name' => 'status_textarea'), @@ -246,7 +242,7 @@ class NoticeForm extends Form $toWidget->show(); $this->out->elementEnd('div'); - if ($this->user->shareLocation()) { + if ($this->profile->shareLocation()) { $this->out->hidden('notice_data-lat', empty($this->lat) ? (empty($this->profile->lat) ? null : $this->profile->lat) : $this->lat, 'lat'); $this->out->hidden('notice_data-lon', empty($this->lon) ? (empty($this->profile->lon) ? null : $this->profile->lon) : $this->lon, 'lon'); $this->out->hidden('notice_data-location_id', empty($this->location_id) ? (empty($this->profile->location_id) ? null : $this->profile->location_id) : $this->location_id, 'location_id'); @@ -264,7 +260,7 @@ class NoticeForm extends Form 'type' => 'checkbox', 'class' => 'checkbox', 'id' => $this->id() . '-notice_data-geo', - 'checked' => true, // ? + 'checked' => false, // Must be unchecked by default )); $this->out->text(' '); // TRANS: Field label to add location to a notice.