Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 87 |
|
0.00% |
0 / 2 |
CRAP | |
0.00% |
0 / 1 |
SpecialNetNeutrality | |
0.00% |
0 / 87 |
|
0.00% |
0 / 2 |
6 | |
0.00% |
0 / 1 |
__construct | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
2 | |||
execute | |
0.00% |
0 / 86 |
|
0.00% |
0 / 1 |
2 |
1 | <?php |
2 | |
3 | namespace MediaWiki\Extension\CongressLookup; |
4 | |
5 | use Html; |
6 | use OOUI\ButtonInputWidget; |
7 | use OOUI\DropdownInputWidget; |
8 | use OOUI\FormLayout; |
9 | use OOUI\HorizontalLayout; |
10 | use OOUI\LabelWidget; |
11 | use UnlistedSpecialPage; |
12 | |
13 | /** |
14 | * This class creates a page which asks the user for their state. It then sends them to |
15 | * the Special:SenatorLookup page with the appropriate state info. |
16 | */ |
17 | class SpecialNetNeutrality extends UnlistedSpecialPage { |
18 | |
19 | public function __construct() { |
20 | // Register special page |
21 | parent::__construct( 'NetNeutrality' ); |
22 | } |
23 | |
24 | /** |
25 | * Shows the page to the user. |
26 | * @param string $sub The subpage string argument (if any). |
27 | */ |
28 | public function execute( $sub ) { |
29 | $out = $this->getOutput(); |
30 | $out->enableOOUI(); |
31 | $out->addModuleStyles( 'ext.congresslookup.styles' ); |
32 | $out->setPageTitle( $this->msg( 'congresslookup-net-neutrality' ) ); |
33 | |
34 | $parsedHeaderMessage = $this->msg( 'net-neutrality-header' )->parse(); |
35 | $out->addHTML( Html::rawElement( 'div', [ 'class' => 'plainlinks' ], $parsedHeaderMessage ) ); |
36 | |
37 | $form = new FormLayout( [ |
38 | 'method' => 'POST', |
39 | 'action' => 'Special:SenateLookup', |
40 | 'items' => [ |
41 | new HorizontalLayout( [ |
42 | 'items' => [ |
43 | new LabelWidget( [ |
44 | 'label' => 'Contact your senators:' |
45 | ] ), |
46 | new DropdownInputWidget( [ |
47 | 'name' => 'state', |
48 | 'infusable' => true, |
49 | 'options' => [ |
50 | [ 'data' => 'AK', 'label' => 'Alaska' ], |
51 | [ 'data' => 'AL', 'label' => 'Alabama' ], |
52 | [ 'data' => 'AR', 'label' => 'Arkansas' ], |
53 | [ 'data' => 'AZ', 'label' => 'Arizona' ], |
54 | [ 'data' => 'CA', 'label' => 'California' ], |
55 | [ 'data' => 'CO', 'label' => 'Colorado' ], |
56 | [ 'data' => 'CT', 'label' => 'Connecticut' ], |
57 | [ 'data' => 'DE', 'label' => 'Delaware' ], |
58 | [ 'data' => 'FL', 'label' => 'Florida' ], |
59 | [ 'data' => 'GA', 'label' => 'Georgia' ], |
60 | [ 'data' => 'HI', 'label' => 'Hawaii' ], |
61 | [ 'data' => 'IA', 'label' => 'Iowa' ], |
62 | [ 'data' => 'ID', 'label' => 'Idaho' ], |
63 | [ 'data' => 'IL', 'label' => 'Illinois' ], |
64 | [ 'data' => 'IN', 'label' => 'Indiana' ], |
65 | [ 'data' => 'KS', 'label' => 'Kansas' ], |
66 | [ 'data' => 'KY', 'label' => 'Kentucky' ], |
67 | [ 'data' => 'LA', 'label' => 'Louisiana' ], |
68 | [ 'data' => 'MA', 'label' => 'Massachusetts' ], |
69 | [ 'data' => 'MD', 'label' => 'Maryland' ], |
70 | [ 'data' => 'ME', 'label' => 'Maine' ], |
71 | [ 'data' => 'MI', 'label' => 'Michigan' ], |
72 | [ 'data' => 'MN', 'label' => 'Minnesota' ], |
73 | [ 'data' => 'MO', 'label' => 'Missouri' ], |
74 | [ 'data' => 'MS', 'label' => 'Mississippi' ], |
75 | [ 'data' => 'MT', 'label' => 'Montana' ], |
76 | [ 'data' => 'NC', 'label' => 'North Carolina' ], |
77 | [ 'data' => 'ND', 'label' => 'North Dakota' ], |
78 | [ 'data' => 'NE', 'label' => 'Nebraska' ], |
79 | [ 'data' => 'NH', 'label' => 'New Hampshire' ], |
80 | [ 'data' => 'NJ', 'label' => 'New Jersey' ], |
81 | [ 'data' => 'NM', 'label' => 'New Mexico' ], |
82 | [ 'data' => 'NV', 'label' => 'Nevada' ], |
83 | [ 'data' => 'NY', 'label' => 'New York' ], |
84 | [ 'data' => 'OH', 'label' => 'Ohio' ], |
85 | [ 'data' => 'OK', 'label' => 'Oklahoma' ], |
86 | [ 'data' => 'OR', 'label' => 'Oregon' ], |
87 | [ 'data' => 'PA', 'label' => 'Pennsylvania' ], |
88 | [ 'data' => 'RI', 'label' => 'Rhode Island' ], |
89 | [ 'data' => 'SC', 'label' => 'South Carolina' ], |
90 | [ 'data' => 'SD', 'label' => 'South Dakota' ], |
91 | [ 'data' => 'TN', 'label' => 'Tennessee' ], |
92 | [ 'data' => 'TX', 'label' => 'Texas' ], |
93 | [ 'data' => 'UT', 'label' => 'Utah' ], |
94 | [ 'data' => 'VA', 'label' => 'Virginia' ], |
95 | [ 'data' => 'VT', 'label' => 'Vermont' ], |
96 | [ 'data' => 'WA', 'label' => 'Washington' ], |
97 | [ 'data' => 'WI', 'label' => 'Wisconsin' ], |
98 | [ 'data' => 'WV', 'label' => 'West Virginia' ], |
99 | [ 'data' => 'WY', 'label' => 'Wyoming' ] |
100 | ] |
101 | ] ), |
102 | new ButtonInputWidget( [ |
103 | 'name' => 'Lookup', |
104 | 'label' => 'Lookup', |
105 | 'type' => 'submit', |
106 | 'flags' => [ 'primary', 'progressive' ], |
107 | 'icon' => 'search', |
108 | 'infusable' => true |
109 | ] ) |
110 | ] |
111 | ] ) |
112 | ] |
113 | ] ); |
114 | |
115 | $out->addHTML( Html::rawElement( 'div', [ 'class' => 'stateform' ], $form ) ); |
116 | |
117 | $parsedFooterMessage = $this->msg( 'net-neutrality-footer' )->parse(); |
118 | $out->addHTML( Html::rawElement( 'div', [ 'class' => 'plainlinks' ], $parsedFooterMessage ) ); |
119 | } |
120 | } |