function find_constituency ($args) { // We see if the user is searching for a postcode or constituency. global $PAGE; if ($args['s'] != '') { $searchterm = $args['s']; } else { $PAGE->error_message('No search string'); return false; } list ($constituencies, $validpostcode) = search_constituencies_by_query($searchterm); $constituency = ""; if (count($constituencies)==1) { $constituency = $constituencies[0]; } if ($constituency != '') { // Got a match, display.... $MEMBER = new MEMBER(array('constituency'=>$constituency, 'house' => 1)); $URL = new URL('mp'); if ($MEMBER->valid) { $URL->insert(array('m'=>$MEMBER->member_id())); print '<h2>MP for ' . preg_replace('#' . preg_quote($searchterm, '#') . '#i', '<span class="hi">$0</span>', $constituency); if ($validpostcode) { // Display the postcode the user searched for. print ' (' . htmlentities(strtoupper($args['s'])) . ')'; } ?></h2> <p><a href="<?php echo $URL->generate(); ?>"><strong><?php echo $MEMBER->full_name(); ?></strong></a> (<?php echo $MEMBER->party(); ?>)</p> <?php } } elseif (count($constituencies)) { print "<h2>MPs in constituencies matching '".htmlentities($searchterm)."'</h2><ul>"; foreach ($constituencies as $constituency) { $MEMBER = new MEMBER(array('constituency'=>$constituency, 'house' => 1)); $URL = new URL('mp'); if ($MEMBER->valid) { $URL->insert(array('m'=>$MEMBER->member_id())); } print '<li><a href="'.$URL->generate().'"><strong>' . $MEMBER->full_name() . '</strong></a> (' . preg_replace('#' . preg_quote($searchterm, '#') . '#i', '<span class="hi">$0</span>', $constituency) . ', '.$MEMBER->party().')</li>'; } print '</ul>'; } }
function find_constituency($args) { // We see if the user is searching for a postcode or constituency. global $PAGE, $db; if ($args['s'] != '') { $searchterm = $args['s']; } else { $PAGE->error_message('No search string'); return false; } $constituencies = array(); $constituency = ''; $validpostcode = false; if (validate_postcode($searchterm)) { // Looks like a postcode - can we find the constituency? $constituencies = postcode_to_constituency($searchterm); if ($constituencies == '') { $constituencies = array(); } else { $validpostcode = true; } if (!is_array($constituencies)) { $constituencies = array($constituencies); } } if ($constituencies == array() && $searchterm) { // No luck so far - let's see if they're searching for a constituency. $try = strtolower($searchterm); if (normalise_constituency_name($try)) { $constituency = normalise_constituency_name($try); } else { $query = "select distinct\n (select name from constituency where cons_id = o.cons_id and main_name) as name \n from constituency AS o where name like '%" . mysql_real_escape_string($try) . "%'\n and from_date <= date(now()) and date(now()) <= to_date"; $q = $db->query($query); for ($n = 0; $n < $q->rows(); $n++) { $constituencies[] = $q->field($n, 'name'); } } } if (count($constituencies) == 1) { $constituency = $constituencies[0]; } if ($constituency != '') { // Got a match, display.... $MEMBER = new MEMBER(array('constituency' => $constituency)); $URL = new URL('mp'); if ($MEMBER->valid) { $URL->insert(array('m' => $MEMBER->member_id())); print '<h3>MP for ' . preg_replace("#{$searchterm}#i", '<span class="hi">$0</span>', $constituency); if ($validpostcode) { // Display the postcode the user searched for. print ' (' . htmlentities(strtoupper($args['s'])) . ')'; } ?> </h3> <p><a href="<?php echo $URL->generate(); ?> "><strong><?php echo htmlentities($MEMBER->first_name()) . ' ' . htmlentities($MEMBER->last_name()); ?> </strong></a> (<?php echo $MEMBER->party(); ?> )</p> <?php } } elseif (count($constituencies)) { print "<h3>MPs in constituencies matching '" . htmlentities($searchterm) . "'</h3><ul>"; foreach ($constituencies as $constituency) { $MEMBER = new MEMBER(array('constituency' => $constituency)); $URL = new URL('mp'); if ($MEMBER->valid) { $URL->insert(array('m' => $MEMBER->member_id())); } print '<li><a href="' . $URL->generate() . '"><strong>' . htmlentities($MEMBER->first_name()) . ' ' . htmlentities($MEMBER->last_name()) . '</strong></a> (' . preg_replace("#{$searchterm}#i", '<span class="hi">$0</span>', $constituency) . ', ' . $MEMBER->party() . ')</li>'; } print '</ul>'; } }
function find_constituency($args) { // We see if the user is searching for a postcode or constituency. global $PAGE; if ($args['s'] != '') { $searchterm = $args['s']; } else { $PAGE->error_message('No search string'); return false; } list($constituencies, $validpostcode) = search_constituencies_by_query($searchterm); $constituency = ""; if (count($constituencies) == 1) { $constituency = $constituencies[0]; } if ($constituency != '') { // Got a match, display.... $MEMBER = new MEMBER(array('constituency' => $constituency, 'house' => 1)); $URL = new URL('mp'); if ($MEMBER->valid) { $URL->insert(array('p' => $MEMBER->person_id())); print '<h2>'; if (!$MEMBER->current_member(1)) { print 'Former '; } print 'MP for ' . preg_replace('#' . preg_quote($searchterm, '#') . '#i', '<span class="hi">$0</span>', $constituency); if ($validpostcode) { // Display the postcode the user searched for. print ' (' . _htmlentities(strtoupper($args['s'])) . ')'; } ?> </h2> <p><a href="<?php echo $URL->generate(); ?> "><strong><?php echo $MEMBER->full_name(); ?> </strong></a> (<?php echo $MEMBER->party_text(); ?> )</p> <?php } } elseif (count($constituencies)) { $out = ''; $heading = array(); foreach ($constituencies as $constituency) { $MEMBER = new MEMBER(array('constituency' => $constituency, 'house' => 1)); if ($MEMBER->valid) { if ($MEMBER->current_member(1)) { $heading[] = 'MPs'; } else { $heading[] = 'Former MPs'; } $URL = new URL('mp'); $URL->insert(array('p' => $MEMBER->person_id())); $out .= '<li><a href="' . $URL->generate() . '"><strong>' . $MEMBER->full_name() . '</strong></a> (' . preg_replace('#' . preg_quote($searchterm, '#') . '#i', '<span class="hi">$0</span>', $constituency) . ', ' . $MEMBER->party() . ')</li>'; } } print '<h2>'; print join(" and ", array_unique($heading)); print " in constituencies matching ‘" . _htmlentities($searchterm) . "’</h2>"; print "<ul>{$out}</ul>"; } }