yf_manage_cities admin moduleCities management.
| File | plugins/geo/admin_modules/yf_manage_cities.class.php |
|---|---|
| Use | admin URL ?object=manage_cities |
| Property | Default | Description |
|---|---|---|
| None declared in this class. | ||
public function active()
public function active()
{
return _class('admin_methods')->active(['table' => 'cities']);
}
public function add()
public function add()
{
$a = $_POST;
return form($a)
->validate(['name' => 'trim|required'])
->db_insert_if_ok('cities', ['name', 'active'], [])
->on_after_update(function () {
cache_del(['cities']);
common()->admin_wall_add(['city added: ' . ($_POST['name'] ?? null) . '', db()->insert_id()]);
})
->text('name')
->text('country')
->info('code')
->info('code3')
->info('num')
->info('cont')
->active_box()
->save_and_back();
}
public function delete()
public function delete()
{
return _class('admin_methods')->delete(['table' => 'cities']);
}
public function edit()
public function edit()
{
$a = db()->query_fetch('SELECT * FROM ' . db('cities') . ' WHERE id=' . (int) (($_GET['id'] ?? null)));
if ( ! $a['id']) {
return _e('No id!');
}
$a = $_POST ? $a + $_POST : $a;
return form($a)
->validate(['name' => 'trim|required'])
->db_update_if_ok('cities', ['name', 'active'], 'id=' . $a['id'])
->on_after_update(function () use ($a) {
cache_del(['cities']);
common()->admin_wall_add(['city updated: ' . ($_POST['name'] ?? null) . '', $a['id']]);
})
->text('name')
->text('country')
->info('code')
->info('code3')
->info('num')
->info('cont')
->active_box()
->save_and_back();
}
public function filter_save()
public function filter_save()
{
return _class('admin_methods')->filter_save();
}
public function show()
public function show()
{
return table('SELECT * FROM ' . db('cities')/*, array('id' => 'code')*/)
->text('name')
->text('country')
->text('code')
->text('code3')
->text('num')
->text('cont')
->btn_active()
->btn_edit()
->btn_delete()
->footer_add();
}
_ hooks and helpers; not routable as page actionspublic function _show_filter()
public function _show_filter()
{
if ( ! in_array(($_GET['action'] ?? null), ['show'])) {
return false;
}
$filter_name = ($_GET['object'] ?? null) . '__show';
$r = [
'form_action' => './?object=' . ($_GET['object'] ?? null) . '&action=filter_save&id=' . $filter_name,
'clear_url' => './?object=' . ($_GET['object'] ?? null) . '&action=filter_save&id=' . $filter_name . '&page=clear',
];
$order_fields = [
'code' => 'code',
'name' => 'name',
'native' => 'native',
];
$per_page = ['' => '', 10 => 10, 20 => 20, 50 => 50, 100 => 100, 200 => 200, 500 => 500, 1000 => 1000, 2000 => 2000, 5000 => 5000];
return form($r, [
'selected' => ($_SESSION[$filter_name] ?? null),
'class' => 'form-vertical',
])
->text('name')
->text('native')
->select_box('per_page', $per_page, ['class' => 'input-small'])
->select_box('order_by', $order_fields, ['show_text' => 1, 'class' => 'input-medium'])
->radio_box('order_direction', ['asc' => 'Ascending', 'desc' => 'Descending'], ['horizontal' => 1, 'translate' => 1])
->save_and_clear();
}