function delete_congregation_callback() { // determine if this a save existing or save new situation $CongregationPIN = $_POST['PIN']; $ResultResponse['result'] = delete_congregation($CongregationPIN); echo json_encode($ResultResponse); die; }
public function delete_current_congregation() { $DeleteResult = delete_congregation($this->PIN); return $DeleteResult; }
function update_congregation_rows($KeyArray, $RawDataFile) { $UpdateResults['errors'] = 0; $UpdateResults['updates'] = 0; $UpdateResults['ignored'] = 0; $UpdateResults['deleted'] = 0; while (!feof($RawDataFile)) { $newRow = fgetcsv($RawDataFile); // loop through the arrays to create a new // associative array $newArray = array(); $LoopCount = count($KeyArray); for ($loop = 0; $loop < $LoopCount; $loop++) { $newArray = array_push_assoc($newArray, $KeyArray[$loop], $newRow[$loop]); } // create the congregation class $UpdateCongregation = new Congregation(); // check to see if we need to delete it first if (strtolower($newArray['updatecode']) == 'd') { // check to see if it even exists, otherwise, ignore it. if ($UpdateCongregation->get_congregation_by_PIN($newArray['pin'])) { // check to see if it has been flagged for no auto updates if ($UpdateCongregation->DoNotAutoUpdate) { // marked to not update - log it and stop. add_congregation_search_update_log('INFO', 'Congregation ' . $newArray['pin'] . ' is locked to not allow updates. Delete request ignored.'); $UpdateResults['ignored']++; } elseif (delete_congregation($newArray['pin'])) { add_congregation_search_update_log('DELETE', 'Congregation ' . $newArray['pin'] . ' was deleted.'); $UpdateResults['deleted']++; } else { add_congregation_search_update_log('ERROR', 'Congregation ' . $newArray['pin'] . ' could not be deleted.'); $UpdateResults['errors']++; } } } else { // first see if the congregation exists and make certain we d if (!$UpdateCongregation->get_congregation_by_PIN($newArray['pin'])) { // if false, this is a new congregation - lets create it $UpdateCongregation->PIN = $newArray['pin']; $UpdateCongregation->CongregationName = $newArray['congregationname']; $UpdateCongregation->EIN = $newArray['ein']; $UpdateCongregation->Address1 = $newArray['address1']; $UpdateCongregation->Address2 = $newArray['address2']; $UpdateCongregation->City = $newArray['city']; $UpdateCongregation->State = $newArray['state']; $UpdateCongregation->PostalCode = $newArray['postalcode']; $UpdateCongregation->Phone = $newArray['phone']; $UpdateCongregation->Email = $newArray['email']; $UpdateCongregation->Website = $newArray['website']; $UpdateCongregation->Region = $newArray['region']; if (array_key_exists('latitude', $newArray) && array_key_exists('longitude', $newArray)) { // if latitude and longitude were provided then add them $UpdateCongregation->Latitude = $newArray['latitude']; $UpdateCongregation->Longitude = $newArray['longitude']; } else { if ($UpdateCongregation->Address1 != '' && $UpdateCongregation->City != '' && $UpdateCongregation->State != '') { //geocode the address and add it to the record $newLatLong = get_congregation_city_state_latlong($UpdateCongregation->Address1 . ', ' . $UpdateCongregation->City . ', ' . $UpdateCongregation->State); if ($newLatLong != null) { $UpdateCongregation->Latitude = $newLatLong['location']['lat']; $UpdateCongregation->Longitude = $newLatLong['location']['long']; add_congregation_search_update_log('GEOCODE_SUCCESS', 'Congregation ' . $newArray['pin'] . ' was successfully geocoded.'); } else { add_congregation_search_update_log('GEOCODE_FAILURE', 'Congregation ' . $newArray['pin'] . ' could not be geocoded.'); } } } // save and log the result $SavedCongregationResults = $UpdateCongregation->save_new_congregation(); if ($SavedCongregationResults) { add_congregation_search_update_log('ADDED', 'Congregation ' . $newArray['pin'] . ' was added.'); $UpdateResults['updates']++; } else { add_congregation_search_update_log('ERROR', 'Congregation ' . $newArray['pin'] . ' could not be added: ' . $SavedCongregationResults); $UpdateResults['errors']++; } } else { // first checked to see if it's been flagged to not update, // then check to see if the updated data is more recent // than the current data in the database // We do this because update file contain updated for the last 7 days, // in case a previous update execution created an error that // precented some data from being updated. // check for no auto updates to this congregation if ($UpdateCongregation->DoNotAutoUpdate) { add_congregation_search_update_log('INFO', 'Congregation ' . $newArray['pin'] . ' is locked to not allow updated. Update request ignored.'); $UpdateResults['ignored']++; } elseif (strtotime($UpdateCongregation->DateUpdated) < strtotime($newArray['lastupdated'])) { $UpdateCongregation->CongregationName = $newArray['congregationname']; $UpdateCongregation->EIN = $newArray['ein']; $UpdateCongregation->Address1 = $newArray['address1']; $UpdateCongregation->Address2 = $newArray['address2']; $UpdateCongregation->City = $newArray['city']; $UpdateCongregation->State = $newArray['state']; $UpdateCongregation->PostalCode = $newArray['postalcode']; $UpdateCongregation->Phone = $newArray['phone']; $UpdateCongregation->Email = $newArray['email']; $UpdateCongregation->Website = $newArray['website']; $UpdateCongregation->Region = $newArray['region']; if (array_key_exists('latitude', $newArray) && array_key_exists('longitude', $newArray)) { // now check to see if they exist in the database. If not, don't overwrite the data // as site-side lat/long data might be overwritten if ($newArray['latitude'] != '' && $newArray['longitude'] != '') { $UpdateCongregation->Latitude = $newArray['latitude']; $UpdateCongregation->Longitude = $newArray['longitude']; } } else { if ($UpdateCongregation->Latitude == 0.0 || $UpdateCongregation->Longitude == 0.0) { //geocode the address and add it to the record $newLatLong = get_congregation_city_state_latlong($UpdateCongregation->Address1 . ', ' . $UpdateCongregation->City . ', ' . $UpdateCongregation->State); if ($newLatLong != null) { $UpdateCongregation->Latitude = $newLatLong['location']['lat']; $UpdateCongregation->Longitude = $newLatLong['location']['long']; add_congregation_search_update_log('GEOCODE_SUCCESS', 'Congregation ' . $newArray['pin'] . ' was successfully geocoded.'); } else { add_congregation_search_update_log('GEOCODE_FAILURE', 'Congregation ' . $newArray['pin'] . ' could not be geocoded.'); } } } $UpdateCongregationResults = $UpdateCongregation->save_current_congregation(); if ($UpdateCongregationResults) { add_congregation_search_update_log('UPDATED', 'Congregation ' . $newArray['pin'] . ' was updated.'); $UpdateResults['updates']++; } else { add_congregation_search_update_log('ERROR', 'Congregation ' . $newArray['pin'] . ' could not be updated:' . $UpdateCongregationResults); $UpdateResults['errors']++; } } } } } // end while // close the data file fclose($RawDataFile); return $UpdateResults; }