1 | <?php |
||
16 | class Policies { |
||
17 | |||
18 | /** |
||
19 | * Policy Positions |
||
20 | * |
||
21 | * Array of all policy positions available to use. |
||
22 | * |
||
23 | * Arrays are in the form `{id} => {text}` |
||
24 | */ |
||
25 | |||
26 | protected $policies = array( |
||
27 | 363 => 'introducing <b>foundation hospitals</b>', |
||
28 | 810 => 'greater <b>regulation of gambling</b>', |
||
29 | 811 => '<b>smoking bans</b>', |
||
30 | 826 => 'equal <b>gay rights</b>', |
||
31 | 837 => 'a <strong>wholly elected</strong> House of Lords', |
||
32 | 975 => '<strong>investigations</strong> into the Iraq war', |
||
33 | 984 => 'replacing <b>Trident</b> with a new nuclear weapons system', |
||
34 | 996 => 'a <b>transparent Parliament</b>', |
||
35 | 1027 => 'a referendum on the UK\'s membership of the <b>EU</b>', |
||
36 | 1030 => 'measures to <b>prevent climate change</b>', |
||
37 | 1049 => 'the <b>Iraq war</b>', |
||
38 | 1050 => 'the <b>hunting ban</b>', |
||
39 | 1051 => 'introducing <b>ID cards</b>', |
||
40 | 1052 => 'university <b>tuition fees</b>', |
||
41 | 1053 => 'Labour\'s <b title="Including voting to maintain them">anti-terrorism laws</b>', |
||
42 | 1065 => 'more <b>EU integration</b>', |
||
43 | 1071 => 'allowing ministers to <b>intervene in inquests</b>', |
||
44 | 1074 => 'greater <b>autonomy for schools</b>', |
||
45 | 1079 => 'removing <b>hereditary peers</b> from the House of Lords', |
||
46 | 1084 => 'a more <a href="https://en.wikipedia.org/wiki/Proportional_representation">proportional system</a> for electing MPs', |
||
47 | 1087 => 'a <b>stricter asylum system</b>', |
||
48 | 1105 => 'the privatisation of <b>Royal Mail</b>', |
||
49 | 1109 => 'encouraging <b>occupational pensions</b>', |
||
50 | 1110 => 'increasing the <b>rate of VAT</b>', |
||
51 | 1113 => 'an <b>equal number of electors</b> per parliamentary constituency', |
||
52 | 1120 => 'capping <b>civil service redundancy payments</b>', |
||
53 | 1124 => 'automatic enrolment in <b>occupational pensions</b>', |
||
54 | 1132 => 'raising England’s <b>undergraduate tuition fee</b> cap to £9,000 per year', |
||
55 | 1136 => '<b>fewer MPs</b> in the House of Commons', |
||
56 | 6667 => 'the policies included in the 2010 <b><a href="http://webarchive.nationalarchives.gov.uk/20100527091800/http://programmeforgovernment.hmg.gov.uk/">Conservative - Liberal Democrat Coalition Agreement</a></b>', |
||
57 | 6670 => 'a reduction in spending on <b>welfare benefits</b>', |
||
58 | 6671 => 'reducing central government <b>funding of local government</b>', |
||
59 | 6672 => 'reducing <b>housing benefit</b> for social tenants deemed to have excess bedrooms (which Labour describe as the "bedroom tax")', |
||
60 | 6673 => 'paying higher benefits over longer periods for those unable to work due to <b>illness or disability</b>', |
||
61 | 6674 => 'raising <b>welfare benefits</b> at least in line with prices', |
||
62 | 6676 => 'reforming the <b>NHS</b> so GPs buy services on behalf of their patients', |
||
63 | 6677 => 'restricting the provision of services to <b>private patients</b> by the NHS', |
||
64 | 6678 => 'greater restrictions on <b>campaigning by third parties</b>, such as charities, during elections', |
||
65 | 6679 => 'reducing the rate of <b>corporation tax</b>', |
||
66 | 6680 => 'raising the threshold at which people start to pay <b>income tax</b>', |
||
67 | 6681 => 'increasing the tax rate applied to <b>income over £150,000</b>', |
||
68 | 6682 => 'ending <b>financial support</b> for some 16-19 year olds in training and further education', |
||
69 | 6683 => 'local councils keeping money raised from <b>taxes on business premises</b> in their areas', |
||
70 | 6684 => 'making local councils responsible for helping those in <b>financial need</b> afford their <b>council tax</b> and reducing the amount spent on such support', |
||
71 | 6685 => 'a <b>banker’s bonus tax</b>', |
||
72 | 6686 => 'allowing <b>marriage</b> between two people of same sex', |
||
73 | 6687 => '<a href="https://en.wikipedia.org/wiki/Academy_(English_school)">academy schools</a>', |
||
74 | 6688 => 'use of <b>UK military forces</b> in combat operations overseas', |
||
75 | 6690 => 'measures to reduce <b>tax avoidance</b>', |
||
76 | 6691 => 'stronger tax <b>incentives for companies to invest</b> in assets', |
||
77 | 6692 => 'slowing the rise in <b>rail fares</b>', |
||
78 | 6693 => 'lower taxes on <b>fuel for motor vehicles</b>', |
||
79 | 6694 => 'higher taxes on <b>alcoholic drinks</b>', |
||
80 | 6695 => 'more <b>powers for local councils</b>', |
||
81 | 6696 => 'the introduction of elected <b>Police and Crime Commissioners</b>', |
||
82 | 6698 => '<b>fixed periods between parliamentary elections</b>', |
||
83 | 6699 => 'higher <b>taxes on plane tickets</b>', |
||
84 | 6697 => 'selling England’s state owned <b>forests</b>', |
||
85 | 6702 => 'spending public money to create <b>guaranteed jobs for young people</b> who have spent a long time unemployed', |
||
86 | 6703 => 'laws to promote <b>equality and human rights</b>', |
||
87 | 6704 => 'financial incentives for <b>low carbon</b> emission <b>electricity generation</b> methods', |
||
88 | 6705 => 'requiring pub companies to offer <b>pub landlords rent-only leases</b>', |
||
89 | 6706 => 'strengthening the <b>Military Covenant</b>', |
||
90 | 6707 => 'restricting the scope of <b>legal aid</b>', |
||
91 | 6708 => 'transferring <b>more powers to the Welsh Assembly</b>', |
||
92 | 6709 => 'transferring <b>more powers to the Scottish Parliament</b>', |
||
93 | 6710 => '<b>culling badgers</b> to tackle bovine tuberculosis', |
||
94 | 6711 => 'an annual tax on the value of expensive homes (popularly known as a <b>mansion tax</b>)', |
||
95 | 6715 => 'allowing national security sensitive evidence to be put before <b>courts in secret sessions</b>', |
||
96 | 6716 => 'allowing employees to exchange some employment <b>rights for shares</b> in the company they work for', |
||
97 | 6718 => 'restrictions on <b>fees</b> charged to tenants by <b>letting agents</b>', |
||
98 | 6719 => 'limits on success <b>fees</b> paid to lawyers in <b>no-win no fee cases</b>', |
||
99 | 6720 => 'a statutory <b>register of lobbyists</b>', |
||
100 | 6721 => 'requiring the mass <b>retention of information about communications</b>', |
||
101 | 6731 => 'more restrictive <b>regulation of trade union activity</b>', |
||
102 | 6732 => 'allowing <b>terminally ill people</b> to be given <b>assistance to end their life</b>', |
||
103 | 6733 => 'higher <b>taxes on banks</b>', |
||
104 | 6734 => 'stronger <b>enforcement of immigration rules</b>', |
||
105 | 6736 => '<b>a veto for MPs</b> from England, Wales and Northern Ireland <b>over laws specifically impacting their part of the UK</b>', |
||
106 | 6741 => 'greater regulation of <b>hydraulic fracturing (fracking)</b> to extract shale gas', |
||
107 | 6753 => 'new <b>high speed rail</b> infrastructure', |
||
108 | 6751 => '<b>mass surveillance</b> of people’s communications and activities', |
||
109 | 6764 => 'a <b>right to remain for EU nationals</b> already in living in the UK', |
||
110 | 6761 => '<b>UK membership of the EU</b>', |
||
111 | 6758 => '<b>merging police and fire services</b> under Police and Crime Commissioners', |
||
112 | 6756 => 'reducing <b>capital gains tax</b>', |
||
113 | 6747 => 'greater public control of <b>bus services</b>', |
||
114 | 6746 => 'a <b>publicly owned railway system</b>', |
||
115 | 6744 => 'phasing out <b>secure tenancies for life</b>', |
||
116 | 6743 => 'charging a <b>market rent to high earners renting a council home</b>', |
||
117 | 6757 => '<b>military action against <a href="https://en.wikipedia.org/wiki/Islamic_State_of_Iraq_and_the_Levant">ISIL (Daesh)</a></b>', |
||
118 | 842 => 'a lower <b>voting age</b>', |
||
119 | ); |
||
120 | |||
121 | /** |
||
122 | * Policy Sets |
||
123 | * |
||
124 | * Collections of policies (by ID number) to be used for sorted and |
||
125 | * restricted displays. |
||
126 | */ |
||
127 | |||
128 | private $sets = array( |
||
129 | 'summary' => array( |
||
130 | 1113, |
||
131 | 1136, |
||
132 | 1132, |
||
133 | 1052, |
||
134 | 1109, |
||
135 | 1110, |
||
136 | 1027, |
||
137 | 1084, |
||
138 | 1065, |
||
139 | 6670, |
||
140 | 6673, |
||
141 | 6674, |
||
142 | 6678, |
||
143 | 984, |
||
144 | 837, |
||
145 | 1079, |
||
146 | 6671, |
||
147 | 6672, |
||
148 | ), |
||
149 | 'social' => array( |
||
150 | 826, |
||
151 | 811, |
||
152 | 1050, |
||
153 | 6686, |
||
154 | 6703, |
||
155 | 6732, |
||
156 | ), |
||
157 | 'foreignpolicy' => array( |
||
158 | 6688, |
||
159 | 1049, |
||
160 | 975, |
||
161 | 984, |
||
162 | 1065, |
||
163 | 1027, |
||
164 | 6706, |
||
165 | 6764, |
||
166 | 6761, |
||
167 | 6757, |
||
168 | ), |
||
169 | 'welfare' => array( |
||
170 | 6672, |
||
171 | 6674, |
||
172 | 6673, |
||
173 | 6684, |
||
174 | 6670, |
||
175 | 6702, |
||
176 | ), |
||
177 | 'taxation' => array( |
||
178 | 6680, |
||
179 | 1110, |
||
180 | 6694, |
||
181 | 6699, |
||
182 | 6693, |
||
183 | 6681, |
||
184 | 1109, |
||
185 | 1124, |
||
186 | 6685, |
||
187 | 6733, |
||
188 | 6711, |
||
189 | 6716, |
||
190 | 6731, |
||
191 | 6756, |
||
192 | ), |
||
193 | 'business' => array( |
||
194 | 6679, |
||
195 | 6690, |
||
196 | 6691, |
||
197 | 6753, |
||
198 | ), |
||
199 | 'health' => array( |
||
200 | 6677, |
||
201 | 6676, |
||
202 | 363, |
||
203 | 811, |
||
204 | 6732, |
||
205 | ), |
||
206 | 'education' => array( |
||
207 | 1074, |
||
208 | 1132, |
||
209 | 6687, |
||
210 | 6682, |
||
211 | 1052 |
||
212 | ), |
||
213 | 'reform' => array( |
||
214 | 6671, |
||
215 | 1113, |
||
216 | 1136, |
||
217 | 996, |
||
218 | 1084, |
||
219 | 837, |
||
220 | 6683, |
||
221 | 6678, |
||
222 | 6698, |
||
223 | 1079, |
||
224 | 6708, |
||
225 | 6709, |
||
226 | 6695, |
||
227 | 6736, |
||
228 | 842, |
||
229 | ), |
||
230 | 'home' => array( |
||
231 | 1087, |
||
232 | 1071, |
||
233 | 1051, |
||
234 | 6696, |
||
235 | 6721, |
||
236 | 6734, |
||
237 | 6751, |
||
238 | 6758, |
||
239 | ), |
||
240 | 'environment' => array( |
||
241 | 1030, |
||
242 | 6693, |
||
243 | 6697, |
||
244 | 6699, |
||
245 | 6704, |
||
246 | 6710, |
||
247 | 6741, |
||
248 | 6753, |
||
249 | ), |
||
250 | 'transport' => array( |
||
251 | 6747, |
||
252 | 6692, |
||
253 | 6693, |
||
254 | 6699, |
||
255 | 6746, |
||
256 | ), |
||
257 | 'housing' => array( |
||
258 | 6744, |
||
259 | 6743, |
||
260 | ), |
||
261 | 'misc' => array( |
||
262 | 810, |
||
263 | 1120, |
||
264 | 1053, |
||
265 | 1105, |
||
266 | 6705, |
||
267 | 6707, |
||
268 | 6715, |
||
269 | 6720, |
||
270 | 6719, |
||
271 | 6718, |
||
272 | 6667, |
||
273 | ) |
||
274 | ); |
||
275 | |||
276 | protected $set_descs = array( |
||
277 | 'social' => 'Social Issues', |
||
278 | 'foreignpolicy' => 'Foreign Policy and Defence', |
||
279 | 'welfare' => 'Welfare and Benefits', |
||
280 | 'taxation' => 'Taxation and Employment', |
||
281 | 'business' => 'Business and the Economy', |
||
282 | 'health' => 'Health', |
||
283 | 'education' => 'Education', |
||
284 | 'reform' => 'Constitutional Reform', |
||
285 | 'home' => 'Home Affairs', |
||
286 | 'environment' => 'Environmental Issues', |
||
287 | 'transport' => 'Transport', |
||
288 | 'housing' => 'Housing', |
||
289 | 'misc' => 'Miscellaneous Topics', |
||
290 | ); |
||
291 | |||
292 | private $db; |
||
293 | |||
294 | private $policy_id; |
||
295 | |||
296 | 6 | public function __construct($policy_id = NULL) { |
|
306 | |||
307 | 4 | public function getPolicies() { |
|
310 | |||
311 | public function getSetDescriptions() { |
||
312 | return $this->set_descs; |
||
313 | } |
||
314 | |||
315 | /** |
||
316 | * Get Array |
||
317 | * |
||
318 | * Return an array of policies. |
||
319 | * |
||
320 | * @return array Array of policies in the form `[ {id} , {text} ]` |
||
321 | */ |
||
322 | 1 | public function getArray() { |
|
333 | |||
334 | /** |
||
335 | * Shuffle |
||
336 | * |
||
337 | * Shuffles the list of policy positions. |
||
338 | * |
||
339 | * @return self |
||
340 | */ |
||
341 | |||
342 | public function shuffle() { |
||
356 | |||
357 | /** |
||
358 | * Limit To Set |
||
359 | * |
||
360 | * Limit the policies to those in a set and order accordingly |
||
361 | * |
||
362 | * @param string $set The name of the set to use. |
||
363 | * |
||
364 | * @return self |
||
365 | */ |
||
366 | 1 | public function limitToSet($set) { |
|
398 | |||
399 | public function limitToArray($policies) { |
||
413 | |||
414 | public function getPolicyDetails($policyID) { |
||
446 | |||
447 | } |
||
448 |