# wpdirectorykit/1.1.0/application/controllers/Wdk_location.php

WP Directory Kit, version 1.1.0. 114 lines.

- Page: https://pluginprobe.com/plugins/wpdirectorykit/1.1.0/code/application/controllers/Wdk_location.php
- Raw: https://pluginprobe.com/plugins/wpdirectorykit/1.1.0/raw/application/controllers/Wdk_location.php
- Modified: 2022-11-24T13:50:28+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/wpdirectorykit/1.1.0/code/application/controllers/Wdk_location.php#L10-L20`.

```php
<?php
if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly;

class Wdk_location extends Winter_MVC_Controller {

	public function __construct(){
		parent::__construct();
	}

	public function index()
	{
        $this->load->model('location_m');

        $this->data['locations'] = $this->location_m->get_tree_table();
        // Load view
        $this->load->view('wdk_location/index', $this->data);
    }

    public function delete()
    {
        $id = (int) $this->input->post_get('id');
        $paged = (int) $this->input->post_get('paged');

        $this->load->model('location_m');

        $this->location_m->delete($id);

        wp_redirect(admin_url("admin.php?page=wdk_location&paged=$paged"));
    }
    
	public function edit()
	{
        $this->load->model('location_m');

        $id = $this->input->post_get('id');
        wdk_access_check('location_m', $id);
        
        $this->data['db_data'] = NULL;

        $this->data['form'] = &$this->form;

        $this->data['parents'] = $this->location_m->get_parents($id);

        //exit($this->db->last_query());

        $rules = array(
                array(
                    'field' => 'location_title',
                    'label' => __('Title', 'wpdirectorykit'),
                    'rules' => 'required'
                ),
                array(
                    'field' => 'order_index',
                    'label' => __('Order Index', 'wpdirectorykit'),
                    'rules' => ''
                ),
                array(
                    'field' => 'parent_id',
                    'label' => __('Parent', 'wpdirectorykit'),
                    'rules' => ''
                ),
                array(
                    'field' => 'icon_id',
                    'label' => __('Parent', 'wpdirectorykit'),
                    'rules' => ''
                ),
                array(
                    'field' => 'image_id',
                    'label' => __('Parent', 'wpdirectorykit'),
                    'rules' => ''
                ),
        );

        if($this->form->run($rules))
        {
            // Save procedure for basic data
            $data = $this->location_m->prepare_data($this->input->post(), $rules);

            // Save standard wp post

            $insert_id = $this->location_m->insert($data, $id);

            //exit($this->db->last_error());

            /* indexes by new order and reorder */
            $results = $this->location_m->get_tree_table();
            $values = array();
            $order_index = 1;
            foreach( $results as $item)
            {
                $values[] = array('order_index' => $order_index, 'idlocation' => $item->idlocation);
                $order_index++;
            }
            $this->db->updateBatch( $this->location_m->_table_name, $values, 'idlocation');

            // redirect
            if(!empty($insert_id) && empty($id))
            {
                wp_redirect(admin_url("admin.php?page=wdk_location&id=$insert_id&is_updated=true"));
                exit;
            }
                
        }

        if(!empty($id))
        {
            $this->data['db_data'] = $this->location_m->get($id, TRUE);
        }

        $this->load->view('wdk_location/location_edit', $this->data);
    }
    
}

```
