]> git.mxchange.org Git - quix0rs-gnu-social.git/blob - lib/searchform.php
.inc.php please ...
[quix0rs-gnu-social.git] / lib / searchform.php
1 <?php
2 /**
3  * StatusNet - the distributed open-source microblogging tool
4  * Copyright (C) 2011, StatusNet, Inc.
5  *
6  * Form for searching a StatusNet site
7  *
8  * PHP version 5
9  *
10  * This program is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU Affero General Public License as published by
12  * the Free Software Foundation, either version 3 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Affero General Public License for more details.
19  *
20  * You should have received a copy of the GNU Affero General Public License
21  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
22  *
23  * @category  Widget
24  * @package   StatusNet
25  * @author    Evan Prodromou <evan@status.net>
26  * @copyright 2011 StatusNet, Inc.
27  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
28  * @link      http://status.net/
29  */
30
31 if (!defined('STATUSNET')) {
32     // This check helps protect against security problems;
33     // your code file can't be executed directly from the web.
34     exit(1);
35 }
36
37 /**
38  * Form for searching a StatusNet site
39  *
40  * @category  General
41  * @package   StatusNet
42  * @author    Evan Prodromou <evan@status.net>
43  * @copyright 2011 StatusNet, Inc.
44  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0
45  * @link      http://status.net/
46  */
47 class SearchForm extends Form
48 {
49     /**
50      * Visible or invisible data elements
51      *
52      * Display the form fields that make up the data of the form.
53      * Sub-classes should overload this to show their data.
54      *
55      * @return void
56      */
57     function formData()
58     {
59         $this->out->element('input', array('name' => 'q',
60                                            'size' => 20,
61                                            'id' => 'search-q'));
62     }
63
64     /**
65      * Buttons for form actions
66      *
67      * Submit and cancel buttons (or whatever)
68      * Sub-classes should overload this to show their own buttons.
69      *
70      * @return void
71      */
72     function formActions()
73     {
74         $this->out->element('input', array('type' => 'submit',
75                                            // TRANS: Button text for search button on search form.
76                                            'value' => _m('BUTTON','Search')));
77     }
78
79     /**
80      * ID of the form
81      *
82      * Should be unique on the page. Sub-classes should overload this
83      * to show their own IDs.
84      *
85      * @return int ID of the form
86      */
87     function id()
88     {
89         return 'header-search';
90     }
91
92     /**
93      * Action of the form.
94      *
95      * URL to post to. Should be overloaded by subclasses to give
96      * somewhere to post to.
97      *
98      * @return string URL to post to
99      */
100     function action()
101     {
102         return common_local_url('noticesearch');
103     }
104
105     function method()
106     {
107         return 'get';
108     }
109 }