Система регионов
This commit is contained in:
@@ -177,6 +177,7 @@ class ControllerLocalisationZone extends Controller {
|
||||
'country' => $result['country'],
|
||||
'name' => $result['name'] . (($result['zone_id'] == $this->config->get('config_zone_id')) ? $this->language->get('text_default') : null),
|
||||
'code' => $result['code'],
|
||||
'slug' => $result['slug'],
|
||||
'edit' => $this->url->link('localisation/zone/edit', 'user_token=' . $this->session->data['user_token'] . '&zone_id=' . $result['zone_id'] . $url, true)
|
||||
);
|
||||
}
|
||||
@@ -216,6 +217,7 @@ class ControllerLocalisationZone extends Controller {
|
||||
$data['sort_country'] = $this->url->link('localisation/zone', 'user_token=' . $this->session->data['user_token'] . '&sort=c.name' . $url, true);
|
||||
$data['sort_name'] = $this->url->link('localisation/zone', 'user_token=' . $this->session->data['user_token'] . '&sort=z.name' . $url, true);
|
||||
$data['sort_code'] = $this->url->link('localisation/zone', 'user_token=' . $this->session->data['user_token'] . '&sort=z.code' . $url, true);
|
||||
$data['sort_slug'] = $this->url->link('localisation/zone', 'user_token=' . $this->session->data['user_token'] . '&sort=z.slug' . $url, true);
|
||||
|
||||
$url = '';
|
||||
|
||||
@@ -262,6 +264,12 @@ class ControllerLocalisationZone extends Controller {
|
||||
$data['error_name'] = '';
|
||||
}
|
||||
|
||||
if (isset($this->error['slug'])) {
|
||||
$data['error_slug'] = $this->error['slug'];
|
||||
} else {
|
||||
$data['error_slug'] = '';
|
||||
}
|
||||
|
||||
$url = '';
|
||||
|
||||
if (isset($this->request->get['sort'])) {
|
||||
@@ -324,6 +332,14 @@ class ControllerLocalisationZone extends Controller {
|
||||
$data['code'] = '';
|
||||
}
|
||||
|
||||
if (isset($this->request->post['slug'])) {
|
||||
$data['slug'] = $this->request->post['slug'];
|
||||
} elseif (!empty($zone_info)) {
|
||||
$data['slug'] = $zone_info['slug'];
|
||||
} else {
|
||||
$data['slug'] = '';
|
||||
}
|
||||
|
||||
if (isset($this->request->post['country_id'])) {
|
||||
$data['country_id'] = $this->request->post['country_id'];
|
||||
} elseif (!empty($zone_info)) {
|
||||
@@ -352,6 +368,16 @@ class ControllerLocalisationZone extends Controller {
|
||||
$this->error['name'] = $this->language->get('error_name');
|
||||
}
|
||||
|
||||
$this->request->post['slug'] = strtolower(trim((string)$this->request->post['slug']));
|
||||
|
||||
$is_default = isset($this->request->get['zone_id']) && ((int)$this->request->get['zone_id'] == (int)$this->config->get('config_zone_id'));
|
||||
|
||||
if ((!$is_default && $this->request->post['slug'] === '') || ($this->request->post['slug'] !== '' && !preg_match('/^[a-z0-9]+(?:-[a-z0-9]+)*$/', $this->request->post['slug']))) {
|
||||
$this->error['slug'] = $this->language->get('error_slug');
|
||||
} elseif ($this->request->post['slug'] !== '' && $this->model_localisation_zone->getTotalZonesBySlug($this->request->post['slug'], isset($this->request->get['zone_id']) ? $this->request->get['zone_id'] : 0)) {
|
||||
$this->error['slug'] = $this->language->get('error_slug_exists');
|
||||
}
|
||||
|
||||
return !$this->error;
|
||||
}
|
||||
|
||||
@@ -390,4 +416,4 @@ class ControllerLocalisationZone extends Controller {
|
||||
|
||||
return !$this->error;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user