<?php namespace App\Http\Controllers; 
//
use App\Custom\SQLConnection; 
use App\Custom\Misc;
//
use Illuminate\Support\Facades\Input;
use DB;
use Route;
use Request;
use Session;
//Controlador para sitio la administrar la configuracion de sitios
class SitiosController extends Controller  {
    //Main
    public static function sitiosConfiguracion(){
        $tabla = SQLConnection::backendStoreProcedure('multi_web_',array('disponibles'));
        //
        // return view('configuracion-sitios/adm_config_sitios')->with(compact('tabla'));
        return view('configuracion-sitios/admin_sitios_web')->with(compact('tabla'));

    }

    //Editar
    public static function sitiosConfiguracionEditar(){
        $id = Request::input('web_id');
        $sitios = ($id != null) ? SQLConnection::backendStoreProcedure('multi_web_',array('editar',$id),'selectOne') : null;    
        //
        return view('configuracion-sitios/edit_adm_cfg_sitios')->with(compact('sitios'));	
    }

    //Agregar
    public static function sitiosConfiguracionAgregar(){
        return view('configuracion-sitios/agregar_adm_config_sitios');	
    }

    //Insertar datos 
    public static function sitiosConfiguracionInsert(){ 
        //$id = Request::input('web_id');
        $title = Request::input('titulo_del_sitio');
        $logo = Request::input('logo_del_sitio');
        $web = Request::input('pagina_del_sitio');
        $css = Request::input('css_del_sitio');
        $boostrap = Request::input('boostrap_del_sitio');
        $icon = Request::input('icono_del_sitio');
        $name = Request::input('nombre_del_sitio');
        $appId = Request::input('app_id_del_sitio');
        $plataforma_id_menu = Request::input('plataforma_id_menu');

        $servicioContratado = Request::input('serv_contratado_del_sitio');
        if($servicioContratado == ""){
            $servicioContratado = null;
        }
        $copyright = Request::input('copyright_del_sitio');
        $idPlataforma = Request::input('id_plataforma_del_sitio');
        
         if(!preg_match('/^[a-zA-Z\s]+$/',$title)){
            return back()->withInput();
        }
        
        if(!preg_match('/^\/.*\.png$/',$logo)){
            return back()->withInput();
        }
        
        if(!preg_match('/^\/.*\.css$/',$css)){
            return back()->withInput();
        }
        
        if(!preg_match('/^\/.*\.css$/',$boostrap)){
            return back()->withInput();
        }
        
        if(!preg_match('/^\/.*\.ico$/',$icon)){
            return back()->withInput();
        }
        
        if(!preg_match('/^[A-Za-z0-9\s]+$/',$name)){
            return back()->withInput();
        }
        
        if(!preg_match('/^[0-9]+$/',$appId)){
            return back()->withInput();
        }
         
        if(!($servicioContratado == '47' || $servicioContratado == '10' || $servicioContratado == '73'|| $servicioContratado == null) ){
            return back()->withInput();
        }
        
        if(!preg_match('/^[a-zA-Z ]{1,30}$/',$copyright)){
            return back()->withInput();
        }
        
        if(!preg_match('/^[a-zA-Z ]{1,10}$/',$idPlataforma)){
            return back()->withInput();
        } 
        //
        $temp = SQLConnection::backendStoreProcedure('multi_web_config', array('ALTA', null, $name, $title, $web, $logo, $css, $boostrap, null, 1, $icon, $appId, null, null, null, null, $servicioContratado, $copyright, $idPlataforma,$plataforma_id_menu), 'selectOne');
        //
        return json_encode(array("error"=>0,"mensaje"=>"Editado con exito"));
       // return redirect('/configuracion-sitios/adm_config_sitios');
    }

    //Actualizar
    public static function sitiosConfiguracionActualizar(){
        $accion = Request::input('accion');
        $sitio = Request::input('tabla');
        //
        if($accion=='editar'){
            $id = Request::input('sitios');
            $title = Request::input('titulo_del_sitio');
            $logo = Request::input('logo_del_sitio');
            $web = Request::input('pagina_del_sitio');
            $css = Request::input('css_del_sitio');        
            $boostrap = Request::input('boostrap_del_sitio');
            $icon = Request::input('icono_del_sitio');
            $name = Request::input('nombre_del_sitio');
            $appId = Request::input('app_id_del_sitio');
            $plataforma_id_menu = Request::input('plataforma_id_menu');        

            $servicioContratado = Request::input('serv_contratado_del_sitio');
            //
            if($servicioContratado == ""){
                $servicioContratado = null;
            }
            //
            $copyright = Request::input('copyright_del_sitio');
            $idPlataforma = Request::input('id_plataforma_del_sitio');
            $activo = Request::input('activo');
            
            if(!preg_match('/^[a-zA-Z\s]+$/',$title)){
                return back()->withInput();
            }
            //
            if(!preg_match('/^\/.*\.png$/',$logo)){            
                return back()->withInput();
            }
            //
            if(!preg_match('/^\/.*\.css$/',$css)){
                return back()->withInput();
            }
            //
            if(!preg_match('/^\/.*\.css$/',$boostrap)){
                return back()->withInput();
            }
            //
            if(!preg_match('/^\/.*(\.ico|\.png)$/',$icon)){
                return back()->withInput();
            }
            //
            if(!preg_match('/^[A-Za-z0-9\s]+$/',$name)){
                return back()->withInput();
            }
            //
            if(!preg_match('/^[0-9]+$/',$appId)){
                return back()->withInput();
            }
            //
            if(!($servicioContratado == '47' || $servicioContratado == '10' || $servicioContratado == '73'|| $servicioContratado == null) ){
                return back()->withInput();
            }
            //
            if(!preg_match('/^[a-zA-Z ]{1,30}$/',$copyright)){
                return back()->withInput();
            }
            //
            if(!preg_match('/^[a-zA-Z ]{1,10}$/',$idPlataforma)){
                return back()->withInput();
            }
            //
            $temp = SQLConnection::backendStoreProcedure('multi_web_config', array('ACTUALIZAR', $id, $name, $title, $web, $logo, $css, $boostrap, null, $activo, $icon, $appId, null, null, null, null, $servicioContratado, $copyright, $idPlataforma,$plataforma_id_menu), 'selectOne');
            return json_encode(array("error"=>0,"mensaje"=>"Editado con exito"));
        }
        //
        return redirect('configuracion-sitios/adm_config_sitios');
    }
    

    public static function cambiarEstadoSitio(){
        $id = Request::input('web_id');
        $activo = Request::input('estado');
        //
        $sitio = ($id != null) ? SQLConnection::backendStoreProcedure('multi_web_',array('editar',$id),'selectOne') : null;
        if ( !is_null($sitio) && ($activo == 1 || $activo == 0)) {
            //
            if ($activo == '1'){
                $temp = SQLConnection::backendStoreProcedure('multi_web_config', array('ACTUALIZAR', $sitio->web_id, $sitio->web_name, $sitio->web_title, $sitio->http_host, $sitio->uri_logo, $sitio->uri_css1, $sitio->uri_css2, $sitio->uri_js1, 0, $sitio->uri_icon, $sitio->app_id, $sitio->is_default, $sitio->cliente, $sitio->sender, $sitio->uri_email_logo, $sitio->servicio_contratado, $sitio->copyright, $sitio->id_plataforma, $sitio->id_menu_plataforma), 'selectOne');
            //
            }else{
                $temp = SQLConnection::backendStoreProcedure('multi_web_config', array('ACTUALIZAR', $sitio->web_id, $sitio->web_name, $sitio->web_title, $sitio->http_host, $sitio->uri_logo, $sitio->uri_css1, $sitio->uri_css2, $sitio->uri_js1, 1, $sitio->uri_icon, $sitio->app_id, $sitio->is_default, $sitio->cliente, $sitio->sender, $sitio->uri_email_logo, $sitio->servicio_contratado, $sitio->copyright, $sitio->id_plataforma, $sitio->id_menu_plataforma), 'selectOne');
            }
            //
            // return redirect('configuracion-sitios/adm_config_sitios');
            return 1;
        } else {
            return 0;
        }
    }
}
