<?php
ini_set("display_errors", 1);
if (!defined('BASEPATH'))
	exit('No direct script access allowed');


class Md_cvservicios extends CI_Model {

	public function getLogin($pin, $user, $userWeb, $channel)
	{
		$otherdb = $this->load->database('saks', TRUE);
		$otherdb->from('colaboradores');
		$otherdb->where('codigo', $user);
		$otherdb->where('pin', $pin);
		$test_usr = $otherdb->get()->result_array();
		$return = false;
		if (empty($test_usr)) {
			$return = FALSE;
		} else if (isset($test_usr[0]['id'])) {
			$return = $test_usr[0];
			$data2 = array(
				'colaboradores_id' => $test_usr[0]['id'],
				'fecha' => date('Y-m-d H:i:s'),
				'usuario' => $userWeb,
				'channel' => $channel,
			);
			$return = $otherdb->insert('colaboradores_login', $data2);
		}
		return $return;
	}

	public function getKeys($cleanPost)
	{
		//log_message('error', json_encode($cleanPost)); 

		if(isset($cleanPost['msg'])) $word = $cleanPost['msg'];
		else $word = FALSE;
		if(isset($cleanPost['channel'])) $channel = $cleanPost['channel'];
		else $channel = FALSE;
		if(isset($cleanPost['nombre'])) $nombre = $cleanPost['nombre'];
		else $nombre = FALSE;
		if(isset($cleanPost['telefono'])) $telefono = $cleanPost['telefono'];
		else $telefono = FALSE;
		if(isset($cleanPost['correo'])) $correo = $cleanPost['correo'];
		else $correo = FALSE;
		if(isset($cleanPost['id'])) $user = $cleanPost['id'];
		else $user = FALSE;

		$status = 0;

		if($user) {
			
				$key=41;
			
				$otherdb = $this->load->database('saks', TRUE);
				$otherdb->from('ticket_users');
				$otherdb->where('bot_user', $user);
				$otherdb->where('channel', $channel);
				$test_usr = $otherdb->get()->result_array();

				if (empty($nombre)) $nombre = $telefono;
				
				if (empty($test_usr)) {
					$data2 = array(
						'bot_user' => $user,
						'channel' => $channel,
						'nombre' => $nombre,
						'email' => "",
						'telefono' => $telefono,
						'created' => date("Y-m-d H:i:s", (time())),
						'avatar' => "https://soporte.fogatacrm.com/img/no-user.jpg",
						'created_by' => 1853,
						'cliente' => 4,
						'type' => 1,
					);

					$otherdb->insert('ticket_users', $data2);
					$cliente = $otherdb->insert_id();
				} else if (isset($test_usr[0]['id'])) {
					$cliente = $test_usr[0]['id'];
				}
				
				$otherdb = $this->load->database('saks', TRUE);
				$otherdb->from('ticket_email');
				$otherdb->where('cliente', $cliente);
				$otherdb->where('canal', $channel);
				$otherdb->where('status != ', 3);
				$otherdb->where('status != ', 10);
				$otherdb->where('status != ', 4);
				$otherdb->where('status != ', 11);
				$otherdb->where('status != ', 12);
				$otherdb->where('status != ', 14);
				$test = $otherdb->get()->result_array();

				if($channel == 4) {
					//log_message('error', json_encode($cleanPost)); 
					if($correo == 50230255727) {
						$proyecto = 17;
						$grupo1 = 20;
					} else if($correo == 50254231984) {
						$proyecto = 18;
						$grupo1 = 19;
					} else if($correo == 50254233750) {
						$proyecto = 19;
						$grupo1 = 18;
					} else if($correo == 50244644141) {
						$proyecto = 20;
						$grupo1 = 17;
					} else if($correo == 50241545260) { //MEYKOS
						$proyecto = 22;
						$grupo1 = 22;
					} else if($correo == 50230255716) { // CV
						$proyecto = 23;
						$grupo1 = 23;
					} else {
						$proyecto = 20;
						$grupo1 = 17;
					}

					//50230255727  seguros meykos 20 17
					//50254231984  incidencias ahorro 19 18
					//50254233750  incidencias meykos 19 19
					//50244644141  servicio al cliente g 17 p 20

						
						$whatsClient = array(
							'checkx' => 0,
						);
						$this->db->where('id', $user);
						$this->db->update('bots_whatsapp_user', $whatsClient);
						

				} else {
					$proyecto = 20;
					$grupo1 = 17;
				}


				$agente = $otherdb->query('SELECT ss3nu_users.id AS agente, (SELECT count(*) FROM ticket_email WHERE ticket_email.status=2 AND ticket_email.agente = ss3nu_users.id) AS "cantidad" FROM ticket_email RIGHT JOIN ss3nu_users ON ss3nu_users.id = ticket_email.agente WHERE ss3nu_users.params = 1 AND ss3nu_users.grupo LIKE "%'.$grupo1.'%" GROUP BY ss3nu_users.id HAVING cantidad < 20 ORDER BY cantidad, ss3nu_users.id ASC'); 
		
				$agente->result_array();
				log_message('error', json_encode($agente)); 
				if (isset($agente->result_array[0]['agente'])) {
					
					$agente = $agente->result_array[0]['agente'];
					if( !isset($test[0]['id'])){
						
						$data2 = array(
							'cliente' => $cliente,
							'copia' => 1,
							'categoria' => 1,
							'canal' => $channel,
							'proyecto' => $proyecto,
							'prioridad' => 2,
							'etiquetas' => $key,
							'asunto' => 'Agente',
							'descripcion' => $word,
							'adjunto' => '',
							'fecha_creacion' => date("Y-m-d H:i:s", (time())),
							'fecha_final' => date("Y-m-d H:i:s", (time() + (1*60*60))),
							'creado_por' => 1853,
							'status' => 2,
							'view' =>  0,
							'nivel' => "",
							'agente' => $agente,
						);
						$otherdb->insert('ticket_email', $data2);
						$return = $otherdb->insert_id();

						if(!empty($return)) $status = 1;

						$data3 = array(
							'ticket_id' => $return,
							'agente' => $agente,
							'descripcion' => 15,
							'time' => date("Y-m-d H:i:s", (time())),
						);
						$otherdb->insert('ticket_auditoria', $data3);

					}
				} else if( !isset($test[0]['id'])){
						$data2 = array(
							'cliente' => $cliente,
							'copia' => 1,
							'categoria' => 1,
							'canal' => $channel,
							'proyecto' => $proyecto,
							'prioridad' => 2,
							'etiquetas' => $key,
							'asunto' => 'Agente',
							'descripcion' => $word,
							'adjunto' => '',
							'fecha_creacion' => date("Y-m-d H:i:s", (time())),
							'fecha_final' => date("Y-m-d H:i:s", (time() + (1*60*60))),
							'creado_por' => 1853,
							'status' => 1,
							'view' =>  0,
							'nivel' => "",
						);
						$otherdb->insert('ticket_email', $data2);
						$return = $otherdb->insert_id();

						if(!empty($return)) $status = 2;

						$data3 = array(
							'ticket_id' => $return,
							'agente' => 1853,
							'descripcion' => 5,
							'time' => date("Y-m-d H:i:s", (time())),
						);
						$otherdb->insert('ticket_auditoria', $data3);
				}

				return  $status;


		} else {
			return $status;
		} 

	}

}
