. defined('GNUSOCIAL') || die(); /** * Form for subscribing to a user * * @category Plugin * @package SearchSubPlugin * @author Brion Vibber * @author Evan Prodromou * @author Sarven Capadisli * @copyright 2011-2019 Free Software Foundation, Inc http://www.fsf.org * @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later * * @see UnsubscribeForm */ class SearchSubForm extends Form { /** * Name of search to subscribe to */ public $search = ''; /** * Constructor * * @param Action $out output channel (usually HTMLOutputter) * @param string $search name of search to subscribe to */ public function __construct($out = null, $search = null) { parent::__construct($out); $this->search = $search; } /** * ID of the form * * @return int ID of the form */ public function id() { return 'search-subscribe-' . $this->search; } /** * class of the form * * @return string of the form class */ public function formClass() { // class to match existing styles... return 'form_user_subscribe ajax'; } /** * Action of the form * * @return string URL of the action */ public function action() { return common_local_url('searchsub', array('search' => $this->search)); } /** * Legend of the Form * * @return void * @throws Exception */ public function formLegend() { // TRANS: Form legend. $this->out->element('legend', null, _m('Subscribe to this search')); } /** * Data elements of the form * * @return void */ public function formData() { $this->out->hidden( 'subscribeto-' . $this->search, $this->search, 'subscribeto' ); } /** * Action elements * * @return void * @throws Exception */ public function formActions() { $this->out->submit( 'submit', // TRANS: Button text for subscribing to a search. _m('BUTTON', 'Subscribe'), 'submit', null, // TRANS: Button title for subscribing to a search. _m('Subscribe to this search.') ); } }