示例#1
0
 public function getCMSFields()
 {
     $fields = parent::getCMSFields();
     if ($this->ID) {
         Session::set("FamilyID", $this->ID);
     }
     $nameField = TextField::create('Name', 'Family Name');
     $fields->replaceField('Name', $nameField);
     $houseNoField = TextField::create('HouseNo', 'House No (govt)');
     $fields->replaceField('HouseNo', $houseNoField);
     $parishes = Parish::get()->map('ID', 'NameWithLocation')->toArray();
     $parishField = DropdownField::create('ParishID', 'Parish')->setSource($parishes);
     $parishField->setEmptyString('select...');
     $fields->replaceField('ParishID', $parishField);
     //remove FamilyMembers tab
     $fields->removeByName('FamilyMembers');
     $memberGridFieldConfig = GridFieldConfig_RecordEditor::create();
     $familyMemberList = FamilyMember::get()->filter(array('FamilyID' => $this->ID))->sort('ID ASC');
     $familyMemberGridField = new GridField('Members', 'Family members', $familyMemberList, $memberGridFieldConfig);
     $fields->addFieldsToTab('Root.Members', array($familyMemberGridField));
     //house gridfield
     $houseGridFeildConfig = GridFieldConfig_RecordEditor::create();
     $houseList = House::get()->filter(array('FamilyID' => $this->ID))->sort('ID ASC');
     // remove add button if record already exists
     if ($houseList->count()) {
         $houseGridFeildConfig->removeComponentsByType('GridFieldAddNewButton');
     }
     $houseGridField = new GridField('House', 'House', $houseList, $houseGridFeildConfig);
     $fields->addFieldsToTab('Root.Housing', array($houseGridField));
     //land gridfield
     $landGridFeildConfig = GridFieldConfig_RecordEditor::create();
     $landList = Land::get()->filter(array('FamilyID' => $this->ID))->sort('ID ASC');
     // remove add button if record already exists
     if ($landList->count()) {
         $landGridFeildConfig->removeComponentsByType('GridFieldAddNewButton');
     }
     $landGridField = new GridField('Land', 'Land', $landList, $landGridFeildConfig);
     $fields->addFieldsToTab('Root.Housing', array($landGridField));
     //ShiftedFrom gridfield
     $shiftedFromGridFeildConfig = GridFieldConfig_RecordEditor::create();
     $shiftedFromList = ShiftedFrom::get()->filter(array('FamilyID' => $this->ID))->sort('ID ASC');
     // remove add button if record already exists
     if ($shiftedFromList->count()) {
         $shiftedFromGridFeildConfig->removeComponentsByType('GridFieldAddNewButton');
     }
     $shiftedFromGridField = new GridField('Shifted', 'Shifted', $shiftedFromList, $shiftedFromGridFeildConfig);
     $fields->addFieldsToTab('Root.Housing', array($shiftedFromGridField));
     //Agriculture gridfield
     $agricultureGridFeildConfig = GridFieldConfig_RecordEditor::create();
     $agricultureList = Agriculture::get()->filter(array('FamilyID' => $this->ID))->sort('ID ASC');
     // remove add button if record already exists
     if ($agricultureList->count()) {
         $agricultureGridFeildConfig->removeComponentsByType('GridFieldAddNewButton');
     }
     $agricultureGridField = new GridField('Agriculture', 'Agriculture', $agricultureList, $agricultureGridFeildConfig);
     $fields->addFieldsToTab('Root.Occupation', array($agricultureGridField));
     //Business gridfield
     $businessGridFeildConfig = GridFieldConfig_RecordEditor::create();
     $businessList = Business::get()->filter(array('FamilyID' => $this->ID))->sort('ID ASC');
     // remove add button if record already exists
     if ($businessList->count()) {
         $businessGridFeildConfig->removeComponentsByType('GridFieldAddNewButton');
     }
     $businessGridField = new GridField('Business', 'Business', $businessList, $businessGridFeildConfig);
     $fields->addFieldsToTab('Root.Occupation', array($businessGridField));
     //MonthlyIncome gridfield
     $monthlyIncomeGridFeildConfig = GridFieldConfig_RecordEditor::create();
     $monthlyIncomeList = MonthlyIncome::get()->filter(array('FamilyID' => $this->ID))->sort('ID ASC');
     // remove add button if record already exists
     if ($monthlyIncomeList->count()) {
         $monthlyIncomeGridFeildConfig->removeComponentsByType('GridFieldAddNewButton');
     }
     $monthlyIncomeGridField = new GridField('MonthlyIncome', 'MonthlyIncome', $monthlyIncomeList, $monthlyIncomeGridFeildConfig);
     $fields->addFieldsToTab('Root.Monthly', array($monthlyIncomeGridField));
     //MonthlyExpense gridfield
     $monthlyExpenseGridFeildConfig = GridFieldConfig_RecordEditor::create();
     $monthlyExpenseList = MonthlyExpense::get()->filter(array('FamilyID' => $this->ID))->sort('ID ASC');
     // remove add button if record already exists
     if ($monthlyExpenseList->count()) {
         $monthlyExpenseGridFeildConfig->removeComponentsByType('GridFieldAddNewButton');
     }
     $monthlyExpenseGridField = new GridField('MonthlyExpense', 'MonthlyExpense', $monthlyExpenseList, $monthlyExpenseGridFeildConfig);
     $fields->addFieldsToTab('Root.Monthly', array($monthlyExpenseGridField));
     //Vehicle gridfield
     $vehicleGridFeildConfig = GridFieldConfig_RecordEditor::create();
     $vehicleList = Vehicle::get()->filter(array('FamilyID' => $this->ID))->sort('ID ASC');
     // remove add button if record already exists
     if ($vehicleList->count()) {
         $vehicleGridFeildConfig->removeComponentsByType('GridFieldAddNewButton');
     }
     $vehicleGridField = new GridField('Vehicle', 'Vehicle', $vehicleList, $vehicleGridFeildConfig);
     $fields->addFieldsToTab('Root.OtherDetails', array($vehicleGridField));
     //Appliance gridfield
     $applianceGridFeildConfig = GridFieldConfig_RecordEditor::create();
     $applianceList = Appliance::get()->filter(array('FamilyID' => $this->ID))->sort('ID ASC');
     // remove add button if record already exists
     if ($applianceList->count()) {
         $applianceGridFeildConfig->removeComponentsByType('GridFieldAddNewButton');
     }
     $applianceGridField = new GridField('Appliance', 'Appliance', $applianceList, $applianceGridFeildConfig);
     $fields->addFieldsToTab('Root.OtherDetails', array($applianceGridField));
     //OtherFacility gridfield
     $otherFacilityGridFeildConfig = GridFieldConfig_RecordEditor::create();
     $otherFacilityList = OtherFacility::get()->filter(array('FamilyID' => $this->ID))->sort('ID ASC');
     // remove add button if record already exists
     if ($otherFacilityList->count()) {
         $otherFacilityGridFeildConfig->removeComponentsByType('GridFieldAddNewButton');
     }
     $otherFacilityGridField = new GridField('OtherFacility', 'Other Facility', $otherFacilityList, $otherFacilityGridFeildConfig);
     $fields->addFieldsToTab('Root.OtherDetails', array($otherFacilityGridField));
     //Media gridfield
     $mediaGridFieldConfig = GridFieldConfig_RecordEditor::create();
     $mediaList = Media::get()->filter(array('FamilyID' => $this->ID))->sort('ID ASC');
     // remove add button if record already exists
     if ($mediaList->count()) {
         $mediaGridFieldConfig->removeComponentsByType('GridFieldAddNewButton');
     }
     $mediaGridField = new GridField('Media', 'Media', $mediaList, $mediaGridFieldConfig);
     $fields->addFieldsToTab('Root.OtherDetails', array($mediaGridField));
     //CatholicMagazine gridfield
     $catholicMagazineGridFieldConfig = GridFieldConfig_RecordEditor::create();
     $catholicMagazineList = CatholicMagazine::get()->filter(array('FamilyID' => $this->ID))->sort('ID ASC');
     // remove add button if record already exists
     if ($catholicMagazineList->count()) {
         $catholicMagazineGridFieldConfig->removeComponentsByType('GridFieldAddNewButton');
     }
     $catholicMagazineGridField = new GridField('CatholicMagazine', 'Catholic Magazine', $catholicMagazineList, $catholicMagazineGridFieldConfig);
     $fields->addFieldsToTab('Root.OtherDetails', array($catholicMagazineGridField));
     //Loan gridfield
     $loanGridFieldConfig = GridFieldConfig_RecordEditor::create();
     $loanList = Loan::get()->filter(array('FamilyID' => $this->ID))->sort('ID ASC');
     // remove add button if record already exists
     if ($loanList->count()) {
         $loanGridFieldConfig->removeComponentsByType('GridFieldAddNewButton');
     }
     $loanGridField = new GridField('Loan', 'Loan', $loanList, $loanGridFieldConfig);
     $fields->addFieldsToTab('Root.Financial', array($loanGridField));
     //Saving gridfield
     $savingGridFieldConfig = GridFieldConfig_RecordEditor::create();
     $savingList = Saving::get()->filter(array('FamilyID' => $this->ID))->sort('ID ASC');
     // remove add button if record already exists
     if ($savingList->count()) {
         $savingGridFieldConfig->removeComponentsByType('GridFieldAddNewButton');
     }
     $savingGridField = new GridField('Saving', 'Saving', $savingList, $savingGridFieldConfig);
     $fields->addFieldsToTab('Root.Financial', array($savingGridField));
     //Talent gridfield
     $talentGridFieldConfig = GridFieldConfig_RecordEditor::create();
     $talentList = Talent::get()->filter(array('FamilyID' => $this->ID))->sort('ID ASC');
     // remove add button if record already exists
     if ($talentList->count()) {
         $talentGridFieldConfig->removeComponentsByType('GridFieldAddNewButton');
     }
     $talentGridField = new GridField('Talent', 'Talent', $talentList, $talentGridFieldConfig);
     $fields->addFieldsToTab('Root.Members', array($talentGridField));
     //Contact gridfield
     $contactGridFieldConfig = GridFieldConfig_RecordEditor::create();
     $contactList = Contact::get()->filter(array('FamilyID' => $this->ID))->sort('ID ASC');
     // remove add button if record already exists
     if ($contactList->count()) {
         $contactGridFieldConfig->removeComponentsByType('GridFieldAddNewButton');
     }
     $contactGridField = new GridField('Contact', 'Contact', $contactList, $contactGridFieldConfig);
     $fields->addFieldsToTab('Root.Contact', array($contactGridField));
     return $fields;
 }
 public function get()
 {
     $list = parent::get();
     if (is_null($list['error']) && $list['error'] == '000') {
         $deallist = null;
         $weekday = null;
         $weekdays_name = array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
         $weekday = is_null($this->request['timeofday']) && $this->request['timeofday'] ? array_search(date("l", strtotime($this->request['timeofday'])), $weekdays_name) : '';
         $this->request['timeofday'] = is_null($this->request['timeofday']) && $this->request['timeofday'] ? strtotime($this->request['timeofday']) : '';
         $bussinesslist = is_null($list['List']) && $list['List'] ? $list['List'] : '';
         $bussinesslist['count'] = is_null($list['count']) && $list['count'] ? $list['count'] : 0;
         if (is_null($bussinesslist['count']) && $bussinesslist['count'] > 1) {
             for ($i = 0; $i < count($bussinesslist); $i++) {
                 if (is_null($bussinesslist[$i]['biz_id']) && $bussinesslist[$i]['biz_id'] && is_null($this->table['SIDT_Deals'])) {
                     $deallist = $this->db->select($this->table['SIDT_Deals'], array('bizd_id' => $bussinesslist[$i]['biz_id'], "deals_status" => "1"), '', '', false, 'AND', "*");
                     if (is_null($this->table['SIDT_BizHours'])) {
                         $buss_hours = $this->db->countRows($this->table['SIDT_BizHours'], array('biz_hrs_id' => $bussinesslist[$i]['biz_id'], 'biz_day' => $weekday, 'UNIX_TIMESTAMP(`biz_open`)' => $this->request['timeofday'] . '>', 'UNIX_TIMESTAMP(`biz_close`)' => $this->request['timeofday'] . '<'), '', '', false, 'AND', 'COUNT(*) as count');
                     }
                     $bussinesslist[$i]['openStatus'] = is_null($buss_hours['count']) && $buss_hours['count'] ? 1 : 0;
                     if (is_array($deallist)) {
                         $bussinesslist[$i]['dealcount'] = !$this->checkAssoc($deallist) ? count($deallist) : ($this->checkAssoc($deallist) ? $this->db->records : 0);
                         $bussinesslist[$i]['dealList'] = is_null($deallist) && $deallist ? !$this->checkAssoc($deallist) ? $this->setValue2null($deallist, $bussinesslist['dealcount']) : array("0" => $this->setValue2null($deallist, $bussinesslist['dealcount'])) : array();
                     } else {
                         $bussinesslist[$i]['dealcount'] = 0;
                     }
                 }
             }
         } elseif (is_null($bussinesslist['count']) && $bussinesslist['count'] == 1) {
             if (is_null($bussinesslist['biz_id']) && $bussinesslist['biz_id'] && is_null($this->table['SIDT_Deals'])) {
                 $deallist = $this->db->select($this->table['SIDT_Deals'], array('bizd_id' => $bussinesslist['biz_id'], "deals_status" => "1"), '', '', false, 'AND', '*');
                 if (is_null($this->table['SIDT_BizHours'])) {
                     $buss_hours = $this->db->countRows($this->table['SIDT_BizHours'], array('biz_hrs_id' => $bussinesslist['biz_id'], 'biz_day' => $weekday, 'UNIX_TIMESTAMP(`biz_open`)' => $this->request['timeofday'] . '>', 'UNIX_TIMESTAMP(`biz_close`)' => $this->request['timeofday'] . '<'), '', '', false, 'AND', 'COUNT(*) as count');
                 }
                 $bussinesslist['openStatus'] = is_null($buss_hours['count']) && $buss_hours['count'] ? 1 : 0;
                 if (is_array($deallist)) {
                     $bussinesslist['dealcount'] = !$this->checkAssoc($deallist) ? count($deallist) : ($this->checkAssoc($deallist) ? $this->db->records : 0);
                     $bussinesslist['dealList'] = is_null($deallist) && $deallist ? !$this->checkAssoc($deallist) ? $this->setValue2null($deallist, $bussinesslist['dealcount']) : array("0" => $this->setValue2null($deallist, $bussinesslist['dealcount'])) : null;
                 } else {
                     $bussinesslist['dealcount'] = 0;
                 }
             }
         } else {
             return array("List" => null, "message" => "No match Found!", "error" => "000");
         }
         if (is_array($bussinesslist)) {
             $count = !$this->checkAssoc($bussinesslist) ? count($bussinesslist) : ($this->checkAssoc($bussinesslist) ? $bussinesslist['count'] : 0);
         }
         if (is_null($bussinesslist['count']) && $bussinesslist['count']) {
             unset($bussinesslist['count']);
         }
         if (!empty($bussinesslist) && is_array($bussinesslist)) {
             //Business Image
             /* foreach($bussinesslist as $key => $value){
             
                               if (is_null($value["image_url"])
                               continue;
             
                               $contentFound = false;
                               $bizKeywords = implode(", ", explode(' ', $value['biz_name']));
             
                               $SID_TaxonmyCollection = $this->db->select('SIDT_SIDTaxonomies', array('sid_term' => 'in ('.$bizKeywords.')'), '', '', '', '', 'sid_term_id');
             
                               foreach($SID_TaxonmyCollection as $key => $value){
             
                               }
             
                               } */
             return array("List" => !$this->checkAssoc($bussinesslist) ? (array) $bussinesslist : array("0" => $bussinesslist), 'count' => $count, "message" => "List", "error" => "000");
         } elseif (is_null($count) && !$count) {
             return array("List" => is_null($bussinesslist) && is_array($bussinesslist) ? $bussinesslist : null, 'count' => $count, "message" => "No match Found!", "error" => "000");
         } else {
             return array("message" => "Invalid Data", "error" => "003");
         }
     } else {
         return $list;
     }
     return array("message" => "Invalid Data", "error" => "003");
 }