riainvoice/application/modules/import/controllers/Import.php
gandhimathi Bharathirajan c940cb1a2c all files
2017-09-11 14:38:03 +05:30

119 lines
3.4 KiB
PHP

<?php
if (!defined('BASEPATH')) exit('No direct script access allowed');
/*
* InvoicePlane
*
* @author InvoicePlane Developers & Contributors
* @copyright Copyright (c) 2012 - 2017 InvoicePlane.com
* @license https://invoiceplane.com/license.txt
* @link https://invoiceplane.com
*/
/**
* Class Import
*/
class Import extends Admin_Controller
{
private $allowed_files = array(
0 => 'clients.csv',
1 => 'invoices.csv',
2 => 'invoice_items.csv',
3 => 'payments.csv'
);
/**
* Import constructor.
*/
public function __construct()
{
parent::__construct();
$this->load->model('mdl_import');
}
/**
* @param int $page
*/
public function index($page = 0)
{
$this->mdl_import->paginate(site_url('import/index'), $page);
$imports = $this->mdl_import->result();
$this->layout->set('imports', $imports);
$this->layout->buffer('content', 'import/index');
$this->layout->render();
}
public function form()
{
if (!$this->input->post('btn_submit')) {
$this->load->helper('directory');
$files = directory_map('./uploads/import');
foreach ($files as $key => $file) {
if (!is_numeric(array_search($file, $this->allowed_files))) {
unset($files[$key]);
}
}
$this->layout->set('files', $files);
$this->layout->buffer('content', 'import/import_index');
$this->layout->render();
} else {
$this->load->helper('file');
$import_id = $this->mdl_import->start_import();
if ($this->input->post('files')) {
$files = $this->allowed_files;
foreach ($files as $key => $file) {
if (!is_numeric(array_search($file, $this->input->post('files')))) {
unset($files[$key]);
}
}
foreach ($files as $file) {
if ($file == 'clients.csv') {
$ids = $this->mdl_import->import_data($file, 'ip_clients');
$this->mdl_import->record_import_details($import_id, 'ip_clients', 'clients', $ids);
} elseif ($file == 'invoices.csv') {
$this->load->model('invoices/mdl_invoices');
$ids = $this->mdl_import->import_invoices();
$this->mdl_import->record_import_details($import_id, 'ip_invoices', 'invoices', $ids);
} elseif ($file == 'invoice_items.csv') {
$this->load->model('invoices/mdl_items');
$ids = $this->mdl_import->import_invoice_items();
$this->mdl_import->record_import_details($import_id, 'ip_invoice_items', 'invoice_items', $ids);
} elseif ($file == 'payments.csv') {
$this->load->model('payments/mdl_payments');
$ids = $this->mdl_import->import_payments();
$this->mdl_import->record_import_details($import_id, 'ip_payments', 'payments', $ids);
}
}
}
redirect('import');
}
}
/**
* @param $id
*/
public function delete($id)
{
$this->mdl_import->delete($id);
redirect('import');
}
}