Example #1
0
 private function searchForConstituenciesAndMembers()
 {
     // Do the search
     if ($this->data['alertsearch']) {
         $this->data['members'] = \MySociety\TheyWorkForYou\Utility\Search::searchMemberDbLookupWithNames($this->data['alertsearch'], true);
         list($this->data['constituencies'], $this->data['valid_postcode']) = \MySociety\TheyWorkForYou\Utility\Search::searchConstituenciesByQuery($this->data['alertsearch']);
     }
     # If the above search returned one result for member or constituency search,
     # use it immediately
     if (isset($this->data['members']) && $this->data['members']->rows() == 1) {
         $this->data['pid'] = $this->data['members']->field(0, 'person_id');
         unset($this->data['members']);
         $this->data['alertsearch'] = '';
     }
     if (isset($this->data['constituencies']) && count($this->data['constituencies']) == 1 && $this->data['valid_postcode']) {
         $MEMBER = new \MEMBER(array('constituency' => $this->data['constituencies'][0], 'house' => 1));
         $this->data['pid'] = $MEMBER->person_id();
         $this->data['pc'] = $this->data['alertsearch'];
         unset($this->data['constituencies']);
         $this->data['alertsearch'] = '';
     }
     if (isset($this->data['constituencies'])) {
         $cons = array();
         foreach ($this->data['constituencies'] as $constituency) {
             try {
                 $MEMBER = new \MEMBER(array('constituency' => $constituency, 'house' => 1));
                 $cons[$constituency] = $MEMBER;
             } catch (\MySociety\TheyWorkForYou\MemberException $e) {
                 // do nothing
             }
         }
         $this->data['constituencies'] = $cons;
     }
 }