<?php
/**
 * 2012 - 2017 Mitrocops
 *
 * MODULE reviewsadv
 *
 * @author    Mitrocops <developersaddons@gmail.com>
 * @copyright Copyright (c) permanent, Mitrocops
 * @license   Addons PrestaShop license limitation
 * @version   1.4.6
 * @link      https://addons.prestashop.com/en/2_community-developer?contributor=189784
 *
 * NOTICE OF LICENSE
 *
 * Don't use this module on several shops. The license provided by PrestaShop Addons
 * for all its modules is valid only once for a single shop.
 */

class ReviewsadvUploadModuleFrontController extends ModuleFrontController
{

    public function postProcess()
    {
        header("Access-Control-Allow-Origin: *");
        $HTTP_X_REQUESTED_WITH = isset($_SERVER['HTTP_X_REQUESTED_WITH']) ? $_SERVER['HTTP_X_REQUESTED_WITH'] : '';
        if ($HTTP_X_REQUESTED_WITH != 'XMLHttpRequest') {
            exit;
        }


        ob_start();

        $name_module = 'reviewsadv';

        $status = 'success';
        $message = '';

        $is_error = 0;
        $name_file = '';
        $size_file = '';

        include_once(_PS_MODULE_DIR_.$name_module.'/classes/reviewsadvhelp.class.php');
        $obj = new reviewsadvhelp();



        $action = Tools::getValue('action');

        switch ($action) {
            case 'add':
                $files = $_FILES['files'];
                $data_files_return = $obj->uploadTmpFile(array('files'=>$files));
                $is_error = $data_files_return['is_error'];
                $status = $data_files_return['status'];
                $message = $data_files_return['message'];
                $size_file = $data_files_return['size_file'];
                $name_file = $data_files_return['name_file'];

                break;
            case 'del':
                $name = Tools::getValue('name');
                $obj->deleteTmpFile(array('name'=>$name));

                break;
            case 'deletefile':
                include_once(_PS_MODULE_DIR_.$name_module.'/reviewsadv.php');
                $obj_reviewsadv = new reviewsadv();

                if($obj_reviewsadv->is_demo){
                    $status = 'error';
                    $message = 'Feature disabled on the demo mode!';
                } else {
                    $id = Tools::getValue('item_id');
                    $obj->deleteFile(array('id'=>$id));
                }
            break;
            default:
                $status = 'error';
                $message = 'Unknown parameters!';
            break;
        }



        $response = new stdClass();
        ob_get_clean();
        $response->status = $status;
        $response->message = $message;

        if($is_error == 0 && $action == 'add'){
            $response->params = array('size' => $size_file,'name'=>$name_file);
        }



        echo json_encode($response);
        exit;

    }

}