Example #1
0
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     $errors = array();
     $location = new SJB_Location($_REQUEST);
     if (SJB_Request::getVar('state', false)) {
         $location->state_code = SJB_StatesManager::getStateCodeByStateName(SJB_Request::getVar('state', ''));
     } else {
         $location->state_code = '';
     }
     $formSubmitted = 'add' == SJB_Request::getVar('action', false);
     $locationAdded = false;
     if ($formSubmitted) {
         if ($location->isDataValid($errors)) {
             if (SJB_LocationManager::saveLocation($location)) {
                 $location = new SJB_Location();
                 $locationAdded = true;
             } else {
                 $errors['Name'] = 'NOT_UNIQUE_VALUE';
             }
         }
     }
     $countries = SJB_CountriesManager::getAllCountriesCodesAndNames();
     $locationInfo = $location->getInfo();
     $tp->assign('locationAdded', $locationAdded);
     $tp->assign('countries', $countries);
     $tp->assign('errors', $errors);
     $tp->assign('location_info', $locationInfo);
     $tp->display('add_location.tpl');
 }
Example #2
0
 public function execute()
 {
     $template_processor = SJB_System::getTemplateProcessor();
     $location_sid = SJB_Request::getVar('sid', null);
     $errors = null;
     $field_errors = null;
     $location_info = SJB_LocationManager::getLocationInfoBySID($location_sid);
     if (!is_null($location_info)) {
         $form_is_submitted = SJB_Request::getVar('action');
         $location_info = array_merge($location_info, $_REQUEST);
         $location = new SJB_Location($location_info);
         $location->setSID($location_sid);
         if (SJB_Request::getVar('state', false)) {
             $location->state_code = SJB_StatesManager::getStateCodeByStateName(SJB_Request::getVar('state', ''));
         } else {
             $location->state_code = '';
         }
         if ($form_is_submitted && $location->isDataValid($field_errors)) {
             if (SJB_LocationManager::saveLocation($location)) {
                 if ($form_is_submitted == 'save_info') {
                     $redirect_url = SJB_System::getSystemSettings('SITE_URL') . '/geographic-data/';
                     SJB_HelperFunctions::redirect($redirect_url);
                 }
             } else {
                 $field_errors['Name'] = 'NOT_UNIQUE_VALUE';
             }
         }
     } elseif (is_null($location_sid)) {
         $errors['LOCATION_SID_IS_NOT_SPECIFIED'] = 1;
     } else {
         $errors['WORNG_LOCATION_SID_IS_SPECIFIED'] = 1;
     }
     $countries = SJB_CountriesManager::getAllCountriesCodesAndNames();
     $template_processor->assign("location_info", $location_info);
     $template_processor->assign("countries", $countries);
     $template_processor->assign("errors", $errors);
     $template_processor->assign("field_errors", $field_errors);
     $template_processor->assign("location_sid", $location_sid);
     $template_processor->display("edit_location.tpl");
 }
Example #3
0
 public function execute()
 {
     $tp = SJB_System::getTemplateProcessor();
     $errors = array();
     $location = new SJB_Location($_REQUEST);
     $action_name = SJB_Request::getVar('action_name', false);
     $action = SJB_Request::getVar('action', false);
     $action = $action_name ? $action_name : $action;
     $paginator = new SJB_GeographicDataPagination();
     $search = '';
     $params = array();
     $locationAdded = false;
     switch ($action) {
         case 'add':
             if ($location->isDataValid($errors)) {
                 if (SJB_LocationManager::saveLocation($location)) {
                     $location = new SJB_Location();
                     $locationAdded = true;
                 } else {
                     $errors['Name'] = 'NOT_UNIQUE_VALUE';
                 }
             }
             break;
         case 'delete':
             $location_sid = SJB_Request::getVar('location_sid', false);
             if (!$location_sid) {
                 $locations_sids = SJB_Request::getVar('locations', false);
                 if ($locations_sids) {
                     foreach ($locations_sids as $l_sid => $value) {
                         SJB_LocationManager::deleteLocationBySID($l_sid);
                     }
                 }
             } else {
                 SJB_LocationManager::deleteLocationBySID($location_sid);
             }
             SJB_HelperFunctions::redirect(SJB_System::getSystemSettings("SITE_URL") . '/geographic-data/');
             break;
         case 'clear_data':
             SJB_LocationManager::deleteAllLocations();
             SJB_HelperFunctions::redirect(SJB_System::getSystemSettings("SITE_URL") . '/geographic-data/');
             break;
         case 'search':
             $searchParams = SJB_Request::getVar('search', false);
             $search .= 'WHERE 1 ';
             if (!empty($searchParams['name'])) {
                 $search .= "AND l.`name` LIKE ?s";
                 $params[] = "%{$searchParams['name']}%";
             }
             if (!empty($searchParams['longitude'])) {
                 $search .= " AND l.`longitude` LIKE ?s";
                 $params[] = "%{$searchParams['longitude']}%";
             }
             if (!empty($searchParams['latitude'])) {
                 $search .= " AND l.`latitude` LIKE ?s";
                 $params[] = "%{$searchParams['latitude']}%";
             }
             if (!empty($searchParams['city'])) {
                 $search .= " AND l.`city` LIKE ?s";
                 $params[] = "%{$searchParams['city']}%";
             }
             if (!empty($searchParams['state'])) {
                 $search .= " AND l.`state` LIKE ?s";
                 $params[] = "%{$searchParams['state']}%";
             }
             if (!empty($searchParams['state_code'])) {
                 $search .= " AND l.`state_code` LIKE ?s";
                 $params[] = "%{$searchParams['state_code']}%";
             }
             if (!empty($searchParams['country_sid'])) {
                 $search .= " AND l.`country_sid` = ?n";
                 $params[] = "{$searchParams['country_sid']}";
             }
             $tp->assign('search', $searchParams);
             $searchQuery['action'] = 'search';
             $searchQuery['search'] = $searchParams;
             $paginator->setUniqueUrlParam(trim(http_build_query($searchQuery)));
             break;
     }
     $countries = SJB_CountriesManager::getAllCountriesCodesAndNames();
     $location_info = $location->getInfo();
     $paginator->setItemsCount(SJB_LocationManager::getLocationNumber($search, $params));
     $location_collection = SJB_LocationManager::getLocationsInfoWithLimit(($paginator->currentPage - 1) * $paginator->itemsPerPage, $paginator->itemsPerPage, $search, $paginator->sortingField, $paginator->sortingOrder, $params);
     unset($_REQUEST['zip_codes_per_page']);
     $tp->assign('paginationInfo', $paginator->getPaginationInfo());
     $tp->assign('locationAdded', $locationAdded);
     $tp->assign('countries', $countries);
     $tp->assign('query', http_build_query($_REQUEST));
     $tp->assign('errors', $errors);
     $tp->assign('location_info', $location_info);
     $tp->assign('location_collection', $location_collection);
     $tp->display('geographic_data.tpl');
 }