<?php

defined('BASEPATH') OR exit('No direct script access allowed');

// This can be removed if you use __autoload() in config.php OR use Modular Extensions
require APPPATH . '/libraries/REST_Controller.php';

/**
 * This is an example of a few basic user interaction methods you could use
 * all done with a hardcoded array
 *
 * @package         CodeIgniter
 * @subpackage      Rest Server
 * @category        Controller
 * @author          Hector Luna
 * @license         MIT
 * @link            https://github.com/chriskacerguis/codeigniter-restserver
 */
class Pepsitest extends REST_Controller {

	function __construct() {
		header('Access-Control-Allow-Origin: *');
		header("Access-Control-Allow-Headers: Content-Type, Cache-Control");
		header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT");
		$method = $_SERVER['REQUEST_METHOD'];
		if($method == "OPTIONS") {
				die();
		}

		parent::__construct();
		//$this->load->model('Md_facebook');
		$this->load->model('Md_bot');
		$this->load->model('Md_pepsi');
		$this->load->library('form_validation');
		$this->load->helper(array('form', 'url'));
	}
/*
	public function all_get() {

			$mensajes = $this->Md_pepsi->getAll();

			$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $mensajes], REST_Controller::HTTP_OK);
	}
*/

// get PRODUCTOS

	public function productos_get() {

			$docs = $this->Md_pepsi->getProductosAll($this->get('producto'));

			if( $docs ) {
				$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => 'Puedes descargar los siguientes documentos precionando su nombre', 'data' => $docs], REST_Controller::HTTP_OK);
			} else {
				$this->set_response(['status' => FALSE, 'codigo' => 1, 'message' => 'No hay documentos para tu departamento', 'data' => ''], REST_Controller::HTTP_OK);
			}
	}

// get DOCUMENTOS

	public function documentos_get() {

			$docs = $this->Md_pepsi->getDocumentos($this->get('token'));

			if( $docs ) {
				$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => 'Puedes descargar los siguientes documentos precionando su nombre', 'data' => $docs], REST_Controller::HTTP_OK);
			} else {
				$this->set_response(['status' => FALSE, 'codigo' => 1, 'message' => 'No hay documentos para tu departamento', 'data' => ''], REST_Controller::HTTP_OK);
			}
	}
// get bienvenida

	public function welcome_get() {

			$account = $this->Md_bot->getUser($this->get('auth'));
			$mensajes = $this->Md_bot->getMensajes($account[0]['id']);

			if( isset( $mensajes[0]['bienvenida'] ) && $mensajes[0]['bienvenida'] != '' ) {
				$data = $mensajes[0]['bienvenida'];
			} else {
				$data = '';
			}

			$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
	}

// User live

	public function live_post() {

			$post = $this->post();
			$cleanPost = $this->security->xss_clean($post);

			$account = $this->Md_bot->getUser($cleanPost['auth']);
			$ip = $cleanPost['user'];
			$device = $cleanPost['usr_dev'];

			$data = [];
			$data['mensaje'] = '';
			$data['bot'] = '';

			if ( isset($account[0]) ) {

				$return = $this->Md_bot->getLive($account[0]['id'], $ip, $device);

				if($return) {
					$data['bot'] = $return[0]['bot'];
					$return2 = $this->Md_bot->putLive($return, $account[0]['id']);

					if(!empty($return2)) {
						foreach ($return2 as $value) {
							$name = $this->Md_bot->getUsername($value['user_id']);
							$data['mensaje'] .=  '<div style="width:100%;float:left;">';
							$data['mensaje'] .= '<div class="fogata-bot-response">'.base64_decode($value['message']).'</div>';
							$data['mensaje'] .= '</div>';
							if($name[0]['name'] != '') {
								$data['mensaje'] .=  '<div style="width:100%;float:left;">';
								$data['mensaje'] .= '<div style="font-size: 9px"><b>Agent: </b>'.$name[0]['name'].'</div>';
								$data['mensaje'] .= '</div>';
							}

						}
					}
				}

				$data = json_encode($data);

				$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);

			} else $this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => 'User not found. For more information contact us at info@fogatagroup.com.<br><br><i>Usuario no encontrado, escriba a info@fogatagroup.com si cree que no debería ver este mensaje.</i>'], REST_Controller::HTTP_OK);
	}

// agregar usuario form

	public function user_post() {

		$post = $this->post();
		$cleanPost = $this->security->xss_clean($post);

		$account = $this->Md_bot->getUser($cleanPost['auth']);
		$ip = $cleanPost['user'];
		$name = $cleanPost['name'];
		$email = $cleanPost['email'];
		$phone = $cleanPost['phone'];
		$device = $cleanPost['usr_dev'];

		if ( isset($account[0]) ) {

			$return = $this->Md_bot->putUser($account[0]['id'], $ip, $name, $email, $phone, $device);

			if($return)

			$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $return], REST_Controller::HTTP_OK);

			else

			$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $return], REST_Controller::HTTP_OK);

		} else $this->set_response(['status' => FALSE, 'codigo' => 1, 'message' => '', 'data' => 'User not found. For more information contact us at info@fogatagroup.com.<br><br><i>Usuario no encontrado, escriba a info@fogatagroup.com si cree que no debería ver este mensaje.</i>'], REST_Controller::HTTP_OK);
	}

// BOT logic

	public function newchat_post() {

			$account = $this->Md_bot->getUser($this->post('auth'));

			$post = $this->post();

			$cleanPost = $this->security->xss_clean($post);

			$ip = $cleanPost['user'];
			$word = $cleanPost['msg'];
			$type = $cleanPost['type'];
			$key = $cleanPost['bots_key_id'];
			$device = $cleanPost['usr_dev'];
			$tokenId = $cleanPost['token'];
			$precio = $cleanPost['precio'];
			if(isset($cleanPost['last'])) $last = $cleanPost['last'];
			else $last = "";
			$price = $cleanPost['price'];
			$price2 = $cleanPost['price2'];
			//$lugar = $cleanPost['lugar'];

			$keyEncId = $cleanPost['keyenc_id'];
			$keyId = $cleanPost['keyenc'];
			$msg = FALSE;
			$data = [];
			$data['mensaje'] = '';
			$data['botones'] = '';
			$data['signup'] = '';
		//	$data['evalPrice'] = false;
			$typeA = 0;


			function getEncodeUrl($text) {
					$retu =  base64_decode($text);
					$url = '/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/';
				$replace = preg_replace_callback($url, function($matches) {
						if( strlen($matches[0]) > 20 ) {
							$urlTxt = substr($matches[0], 0, 20).'...';
						} else {
							$urlTxt = $matches[0];
						}
						return '<b><a href="'.$matches[0].'" target="_blank" title="'.$matches[0].'">'.$urlTxt.'</a></b>';
				}, $retu);
					return $replace;
				}

			function getEncodeUrl2($text) {
				$retu =  $text;
				$url = '/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/';
				$replace = preg_replace_callback($url, function($matches) {
						if( strlen($matches[0]) > 20 ) {
							$urlTxt = substr($matches[0], 0, 20).'...';
						} else {
							$urlTxt = $matches[0];
						}
						return '<b><a href="'.$matches[0].'" target="_blank" title="'.$matches[0].'">'.$urlTxt.'</a></b>';
				}, $retu);
					return $replace;
			}

			function normaliza ($cadena){
				$originales =  'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕ?¿';
				$modificadas = 'aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr?¿';
				$cadena = utf8_decode($cadena);
				$cadena = strtr($cadena, utf8_decode($originales), $modificadas);
				$cadena = strtolower($cadena);
				return utf8_encode($cadena);
			}

			if ( isset($account[0]) ) {
//aki
				$cycles = $this->Md_bot->getCycle($ip, $device, $account[0]['id']);
				//aki
				$typeA = 0;

				$mensaje = strtolower($word);
				$mensaje = urldecode($mensaje);
				$mensaje = normaliza($mensaje);
				$data['last'] = $mensaje;
				$data['foto_tipo'] = '';
				
		
				if (strpos($last, normaliza('fotos')) !== false) {
					$data['foto_tipo'] = $word;
				} 

				if($cycles){

					$respuesta = $this->Md_bot->getEncResp( $cycles );

			/*		if($respuesta[0]['bots_keys_id'] == 2457){

						$this->Md_pepsi->putPrecio($precio,$word,$tokenId,$price,$price2, 74);

					}*/

					$data['mensaje'] =  /*$mensaje.$respuesta[0]['bots_keys_id'].*/getEncodeUrl2( $respuesta[0]['text'] );
					$buttons = $this->Md_bot->getBotonesEnc( $cycles );
					foreach ($buttons as $btn) {
						$data['botones'] .= '<div data-id="'.$respuesta[0]['id'].'" class="fogata-encuesta-callback">'.$btn['button'].'</div>';
					};

					$this->Md_bot->putMsg($ip, $msg, 3, $account[0]['id'], $keyId, $keyEncId, $device, $word, $typeA);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data, 'signup' => 1, 'lugar' => $word], REST_Controller::HTTP_OK);

				} else{

				$keys = $this->Md_bot->getKeys($account[0]['id']);


				if($type == 8) {
					$userWeb = $this->Md_bot->putMsg($ip, $msg, 0, $account[0]['id'], $key, 0, $device, $word, $typeA);
	
					$this->Md_pepsi->putLoging($tokenId,$userWeb,74,$price,$price2,$word);

					$botones = '<div class="option-button fogata-option-button">Compartir GPS</div>';
					$data = array('mensaje' => 'Gracias, he registrado la actividad de manera exitosa. Para terminar por favor comparte tu ubicación de GPS 🔰 👇', 'botones' => $botones, 'signup' => 1);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
	
				} else if($type == 9) {
					$userWeb = $this->Md_bot->putMsg($ip, $msg, 0, $account[0]['id'], $key, 0, $device, $word, $typeA);
	
					$this->Md_pepsi->putLogoutg($tokenId,$userWeb,74,$price,$price2,$word);
					$botones = '<div class="option-button fogata-option-button">Compartir GPS</div>';
					$data = array('mensaje' => 'Gracias, he registrado la actividad de manera exitosa. Para terminar por favor comparte tu ubicación de GPS 🔰 👇', 'botones' => $botones, 'signup' => 1);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
													
				} else if($type == 10) {

					$botones = '<div class="option-button fogata-productos">Competencia</div>
								<div class="option-button fogata-productos">Producto Propio</div>
								<div class="option-button fogata-option-button">Volver</div>';

					$data = array('mensaje' => 'Selecciona el tipo de producto', 'botones' => $botones, 'signup' => 22);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
													
				} else if ($type == 1 && count($keys) > 0) {



			        //$hilos = json_decode($keys);

							foreach ($keys as $value) {
								$exp[ $value['id'] ]['id']= $value['id'];
								$exp[ $value['id'] ]['key']= $value['key_group'];
								$exp[ $value['id'] ]['mensaje']= $value['mensaje'];
								$exp[ $value['id'] ]['mail_alert']= $value['mail_alert'];
								$chk[ $value['id'] ] = strtolower($value['key']);
			          //echo normaliza(strtolower($value->key)).'  //  ';
							}

							$found = FALSE;
							$count = 0;

							foreach ($chk as $value) {
			          $value2 = explode(",", $value);
			          foreach ($value2 as $value3) {
			            if (strpos($mensaje, normaliza($value3)) !== false) {
			                $key = array_search($value, $chk);
			                $msg = $value3;
											$hooman[$count]['key'] = $key;
											$hooman[$count]['msg'] = strlen(utf8_decode($msg));
											$hooman[$count]['text'] = $msg;
			                $found = TRUE;
											$count++;
			            }
			          }
							}

						/*	$evalPrice = FALSE;

							if($precio != 0){

								$return = $this->Md_pepsi->getProductos($precio);

								if($return){
									$evalPrice = $precio;
									$data['evalPrice'] = $evalPrice;
								}


							}*/

							if (strpos($mensaje, normaliza('volver')) !== false) {

								$botones = '<div class="option-button fogata-option-button">Encuestas</div>
								<div class="option-button fogata-option-button">Fotos</div>
								<div class="option-button fogata-option-button">Precios</div>
								<div class="option-button fogata-option-button">Documentos</div>
								<div class="option-button fogata-option-button">Marcar Tarjeta</div>';

								$data = array('mensaje' => 'Recuerda contar siempre con tu equipo de trabajo (Uniforme del día, Cuchilla, Tape, Toalla y Marcador) para realizar tu gestión. Selecciona 👇', 'botones' => $botones, 'signup' => 1);
								$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);

							}else if (strpos($mensaje, normaliza('precios')) !== false) {

								$botones = '';

								$data = array('mensaje' => 'Para iniciar el proceso por favor escribe en donde te encuentras 👇', 'botones' => $botones, 'signup' => 14);
								$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);

							}/* else if (strpos($mensaje, normaliza('precios nuevos')) !== false) {

								$botones = '<div class="option-button fogata-productos">Competencia</div>
								<div class="option-button fogata-productos">Producto Propio</div>
								<div class="option-button fogata-option-button">Volver</div>';

								$data = array('mensaje' => 'Selecciona el tipo de producto', 'botones' => $botones, 'signup' => 14);
								$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);

							}*/ else if (strpos($mensaje, normaliza('producto propio')) !== false) {

								$botones = '<div class="option-button fogata-continuar">Continuar carga</div>';

								$data = array('mensaje' => 'Debes ingresar un número válido, entero o decimal. Ejemplo: 10.5', 'botones' => $botones, 'signup' => 15);
								$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);

							} else if (strpos($mensaje, normaliza('competencia')) !== false) {

								$botones = '<div class="option-button fogata-continuar">Continuar carga</div>';

								$data = array('mensaje' => 'Debes ingresar un número válido, entero o decimal. Ejemplo: 10.5', 'botones' => $botones, 'signup' => 15);
								$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);

							} else if (strpos($mensaje, normaliza('seleccionar foto')) !== false) {

								$class = rand(1000,9999);
								$data = array('mensaje' => '<form action="https://fogatacrm.com/api/admin/index.php/pepsi/uploadImage" class="fotos-users" id="foto-'.$class.'" method="post" enctype="multipart/form-data">
								<label for="fileToUpload-'.$class.'" style="border: 1px solid #ccc; display: inline-block; padding: 6px 12px;cursor: pointer;" class="custom-file-upload">
									Enviar Foto
								</label>
								<input style="display: none;" type="file" data-id="'.$class.'" name="userfile" class="fogata-send-file fileToUpload-'.$class.'" id="fileToUpload-'.$class.'" >
								<br>
								</form>', 'botones' => '', 'signup' => 1);
								$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);

							} else if (strpos($mensaje, normaliza('escoger foto')) !== false) {

								$class = rand(1000,9999);
								$data = array('mensaje' => '<form action="https://fogatacrm.com/api/admin/index.php/pepsi/uploadImage" class="fotos-users" id="foto-'.$class.'" method="post" enctype="multipart/form-data">
								<label for="fileToUpload-'.$class.'" style="border: 1px solid #ccc; display: inline-block; padding: 6px 12px;cursor: pointer;" class="custom-file-upload">
										Enviar Foto
								</label>
								<input style="display: none;" type="file" data-id="'.$class.'" name="userfile" class="fogata-send-file fileToUpload-'.$class.'" id="fileToUpload-'.$class.'" >
								<br>
								</form>', 'botones' => '', 'signup' => 13);
								$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);

							} else if (strpos($mensaje, normaliza('ingreso')) !== false) {

								$botones = '';
								$data = array('mensaje' => 'Gracias, por favor escribe en donde te encuentras 👇', 'botones' => $botones, 'signup' => 20);
								$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
								
							} else if (strpos($mensaje, normaliza('salida')) !== false) {

								$botones = '';
								$data = array('mensaje' => 'Gracias, por favor escribe en donde te encuentras 👇', 'botones' => $botones, 'signup' => 21);
								$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);

							}/* else if (strpos($mensaje, normaliza('- packs')) !== false) {

								$botones = '<div class="option-button fogata-option-button">2 Pack CCX + Del Valle 3 Lts</div>
								<div class="option-button fogata-option-button">2 Pack CCX + Sprite 3 Lts</div>
								<div class="option-button fogata-option-button">2 Pack CCX 2 Lts</div>
								<div class="option-button fogata-option-button">2 Pack CCX 2.5 Lts</div>
								<div class="option-button fogata-option-button">2 Pack CCX 3 Lts</div>
								<div class="option-button fogata-option-button">4 Pack CCX + Sprite 3 Lts</div>
								<div class="option-button fogata-option-button">4 Pack CCX 3 Lts</div>
								<div class="option-button fogata-option-button">8 Pack CCX 237 ml</div>';


									$data = array('mensaje' => 'Por favor selecciona la presentación del producto 👇', 'botones' => $botones, 'signup' => 1);
									$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);



							} else if (strpos($mensaje, normaliza('packs')) !== false) {

								$botones = '<div class="option-button fogata-option-button">2 Pack Pepsi + Grappete 3 Lts</div>
								<div class="option-button fogata-option-button">2 Pack Pepsi + Lipton 2.5 Lts</div>
								<div class="option-button fogata-option-button">2 Pack Pespsi + Mirinda 3 Lts</div>
								<div class="option-button fogata-option-button">2 Pack Pepsi + Seven 1.75 Lts</div>
								<div class="option-button fogata-option-button">2 Pack Pepsi + Seven 3 Lts</div>
								<div class="option-button fogata-option-button">2 Pack Pepsi + Squiz 3 Lts</div>
								<div class="option-button fogata-option-button">2 Pack Pepsi 3 Lts</div>
								<div class="option-button fogata-option-button">3 Pack Pepsi + Seven + Salutaris 1.75 Lts</div>
								<div class="option-button fogata-option-button">4 Pack Pepsi + Seven 3 Lts</div>
								<div class="option-button fogata-option-button">4 Pack Pepsi 3 Lts</div>
								<div class="option-button fogata-option-button">8 Pack Pepsi 237 ml</div>';


									$data = array('mensaje' => 'Por favor selecciona la presentación del producto 👇', 'botones' => $botones, 'signup' => 1);
									$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);

							}*/ else if (strpos($mensaje, normaliza('documentos')) !== false) {

								$docs = $this->Md_pepsi->getDocumentos($tokenId);
								$botones = '';
								if( $docs ) {

									foreach ($docs as $btn) {
			              $botones .= '<a href="'.$btn['file_url'].'" target="_blank"><div style ="margin-top: 5px;" class="bot-button fogata-bot-button">'.$btn['nombre'].'</div></a>';
			            };

									$data = array('mensaje' => 'Puedes descargar los siguientes documentos precionando su nombre '.$botones, 'botones' => '', 'signup' => 1);
									$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);

								} else {
									$data = array('mensaje' => 'No hay documentos para tu departamento', 'botones' => '', 'signup' => 1);
									$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
								}

							} else if($found == TRUE){

								$esta = max(array_column($hooman, 'msg'));
								$key = array_search($esta, array_column($hooman, 'msg'));
								$msg = $hooman[$key]['text'];
								$key = $hooman[$key]['key'];


								$typeA = $exp[$key]['key'];

								$data['mensaje'] = getEncodeUrl($exp[$key]['mensaje']);

								if(	$exp[$key]['key'] == 2  ){

									$buttons = $this->Md_bot->getBotones($key);

			            foreach ($buttons as $btn) {
			              $data['botones'] .= '<div class="option-button fogata-option-button" data-id="'.$btn['id'].'">'.$btn['button'].'</div>';
			            };

			          } else if(	$exp[$key]['key'] == 3 ){

									$image = $this->Md_bot->getImage($key);

			            foreach ($image as $img) {
			              $data['mensaje'] .= '</br><a href="https://fogatacrm.com/admin/advanced/backend/web'.$img['key_url'].'" target="_blank"><img src="https://fogatacrm.com/admin/advanced/backend/web'.$img['key_url'].'" width="100%"></a>';
			            };

			          } else if( $exp[$key]['key'] == 4 ){

									$buttons = $this->Md_bot->getEncuestas($key);

			            foreach ($buttons as $btn) {
			               $data['botones'] .= '<div data-id="'.$btn['bots_keys_id'].'" data-key="'.$btn['id'].'" class="encuesta-response fogata-encuesta-response">'.$btn['button'].'</div>';
			            };

			          } else if( $exp[$key]['key'] == 5 ){

									$combos = $this->Md_bot->getCombos($key);

									$galWidth = count($combos);
									$galWidth = 224 * $galWidth;

									$data['mensaje'] .= '<div class="fogata-gallery">';
									$data['mensaje'] .= '<div class="fogata-controls">
																				<div class="fogata-left-control" data-id="'.$key.'">
																					<i class="fas fa-chevron-left"></i>
																				</div>
																				<div class="fogata-right-control" data-id="'.$key.'">
																					<i class="fas fa-chevron-right"></i>
																				</div>
																		   </div>';

									$data['mensaje'] .= '<div style="width: '.$galWidth.'px" class="fogata-scroll fogata-scroll-'.$key.'">';

			            foreach ($combos as $combo) {
										$data['mensaje'] .= '<div class="fogata-tile">';
			              $data['mensaje'] .= '<a href="https://fogatacrm.com/admin/advanced/backend/web'.$combo['key_url'].'" target="_blank"><img style="margin-top: 15px;" src="https://fogatacrm.com/admin/advanced/backend/web'.$combo['key_url'].'" width="100%"></a>';
			              $data['mensaje'] .= '<p style="margin: 2px 0 1px"><b>'.$combo['title'].'</b></p>';
										if($combo['subtitle'] != '')
										$data['mensaje'] .= '<p style="margin: 1px 0 2px">'.$combo['subtitle'].'</p>';
			              $data['mensaje'] .= '<a href="'.$combo['image_url'].'" target="_blank"><div class="bot-button fogata-bot-button">'.$combo['button'].'</div></a>';
										$data['mensaje'] .= '</div>';
									};

									$data['mensaje'] .= '</div>';
									$data['mensaje'] .= '</div>';

			          } else if( $exp[$key]['key'] == 6 ){

										$combos = $this->Md_bot->getCombots($key);

										foreach ($combos as $combo) {

											$data['mensaje'] .= '</br><a href="https://fogatacrm.com/admin/advanced/backend/web'.$combo['key_image'].'" target="_blank"><img style="margin-top: 15px;" src="https://fogatacrm.com/admin/advanced/backend/web'.$combo['key_image'].'" width="100%"></a>';
											$data['mensaje'] .= '<div class="bot-button fogata-option-button">'.$combo['button'].'</div>';

										};

								} else if(strlen($exp[$key]['mensaje']) <= 7 && $exp[$key]['key'] == 1){

			            $data['mensaje'] = '<h2 style="color:#fff">'.$exp[$key]['mensaje'].'</h2>';

			          } else if(strlen($exp[$key]['mensaje']) <= 9 && $exp[$key]['key'] == 1){

			            $data['mensaje'] = '<h3 style="color:#fff">'.$exp[$key]['mensaje'].'</h3>';

			          };

								if($exp[$key]['mail_alert'] == 1) {
									$this->Md_bot->putAlerts($account[0]['id'], $ip, $device);
								}

								$userWeb = $this->Md_bot->putMsg($ip, $msg, 0, $account[0]['id'], $key, 0, $device, $word, $typeA);
//registro de login logout
								if (strpos($mensaje, normaliza('ingreso')) !== false) {
									$this->Md_pepsi->putLoging($tokenId,$userWeb,74,$price,$price2,$word);
								} else if (strpos($mensaje, normaliza('salida')) !== false) {
									$this->Md_pepsi->putLogoutg($tokenId,$userWeb,74,$price,$price2,$word);
								}

			        } else {

								$mensajes = $this->Md_bot->getMensajes($account[0]['id']);

								if( isset( $mensajes[0]['notfound'] ) && $mensajes[0]['notfound'] != '' ) {
									$data['mensaje'] = $mensajes[0]['notfound'];
								} else {
									$data['mensaje'] = 'Escribe "Menú" para continuar';
								}

								$this->Md_bot->putMsg($ip, $msg, 0, $account[0]['id'], 0, 0, $device, $word, $typeA);


			        }

				//$this->Md_bot->putMsg($ip, $msg, 0, $account[0]['id'], $key, 0, $device, $word, $typeA);

			} else if ($type == 2 && count($keys) > 0) {
				$keyID = $this->post('keyenc_id');
				$key = $this->post('keyenc');
				$respuesta = $this->Md_bot->getEncResp( $key );
				$respuestaID = $this->Md_bot->getEncRespId( $keyID );
			  $data['mensaje'] = getEncodeUrl2( $respuesta[0]['text'] );
			  $msg = $respuestaID[0]['button'];

				$buttons = $this->Md_bot->getBotonesEnc($key);

				foreach ($buttons as $btn) {
					$data['botones'] .= '<div class="option-button fogata-option-button">'.$btn['button'].'</div>';
				};


				$this->Md_bot->putMsg($ip, $msg, 3, $account[0]['id'], $key, $keyID, $device, $word, $typeA);

// buscar colaborador
			} else if($type == 3) {
				$mensaje = strtolower($word);
				$mensaje = urldecode($mensaje);
				$mensaje = normaliza($mensaje);
				$mensaje = str_replace("-","",$mensaje);
				$mensaje = str_replace(" ", "", $mensaje);

				$respuesta = $this->Md_pepsi->getCuentas($mensaje);

				$this->Md_bot->putMsg($ip, $msg, 0, $account[0]['id'], $key, 0, $device, $word, $typeA);

				if (strpos($mensaje, normaliza('ayuda')) !== false) {

					$this->Md_bot->putAlerts($account[0]['id'], $ip, $device);
					$data = array('mensaje' => 'Para cualquier ayuda o asesoría comunícate con nosotros al 000-000', 'botones' => '', 'signup' => 0);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
				} else if ($respuesta) {
					$botones = '<div class="option-button fogata-option-button">Ayuda</div>';

					$token = $this->Md_pepsi->putToken($respuesta[0]['id']);
					//$data = array('mensaje' => 'Hola '.$respuesta[0]['fgivenname'].' '.$respuesta[0]['flastname'].' Para continuar ingrese su PIN. 🙂', 'botones' => '', 'signup' => 1, 'token' => $token);
					$data = array('mensaje' => 'Bienvenido '.$respuesta[0]['nombre'].', recuerda contar siempre con tu equipo de trabajo (Uniforme del día, Cuchilla, Tape, Toalla y Marcador) para realizar tu gestión. Para continuar ingrese su PIN de 4 dígitos.', 'botones' => $botones, 'signup' => 11, 'token' => $token);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);

				} else {
						$botones = '<div class="option-button fogata-option-button">Ayuda</div>';
						$data = array('mensaje' => 'Número de usuario no encontrado, por favor verifique su número de usuario y vuelva a intentarlo.', 'botones' => $botones, 'signup' => 0);
						$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
				}
// contrasena
			} else if($type == 11) {
				$mensaje = strtolower($word);
				$mensaje = urldecode($mensaje);
				$mensaje = normaliza($mensaje);
				$mensaje = str_replace("-","",$mensaje);
				$mensaje = str_replace(" ", "", $mensaje);

				$respuesta = $this->Md_pepsi->getLogin($mensaje,$tokenId);

				$userWeb = $this->Md_bot->putMsg($ip, $msg, 0, $account[0]['id'], $key, 0, $device, $word, $typeA);

				if (strpos($mensaje, normaliza('ayuda')) !== false) {

					$this->Md_bot->putAlerts($account[0]['id'], $ip, $device);
					$data = array('mensaje' => 'Para cualquier ayuda o asesoría comunícate con nosotros al 000-000', 'botones' => '', 'signup' => 11, 'token' => $tokenId);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
				} else if ($respuesta) {

					//$this->Md_pepsi->putLogin($tokenId,$userWeb,74);

					$botones = '<div class="option-button fogata-option-button">Encuestas</div>
					<div class="option-button fogata-option-button">Fotos</div>
					<div class="option-button fogata-option-button">Precios</div>
					<div class="option-button fogata-option-button">Documentos</div>
					<div class="option-button fogata-option-button">Marcar Tarjeta</div>';

					//$token = $this->Md_pepsi->putToken($respuesta[0]['id']);
					//$data = array('mensaje' => 'Hola '.$respuesta[0]['fgivenname'].' '.$respuesta[0]['flastname'].' Para continuar ingrese su PIN. 🙂', 'botones' => '', 'signup' => 1, 'token' => $token);
					$data = array('mensaje' => 'Te recuerdo que saludes a los gerentes y encargados de nombre y apellido, preguntar si hay algún pendiente. Selecciona 👇', 'botones' => $botones, 'signup' => 1, 'token' => $tokenId);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);

				} else {
						$botones = '<div class="option-button fogata-option-button">Ayuda</div>';
						$data = array('mensaje' => 'Pin incorrecto, vuelva a intentarlo.', 'botones' => $botones, 'signup' => 11, 'token' => $tokenId);
						$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
				}

			} else if($type == 6) {
				$mensaje = strtolower($word);
				$mensaje = urldecode($mensaje);
				$mensaje = normaliza($mensaje);


				/*	$botones = '<div class="option-button fogata-option-button">Producto Propio</div>
					<div class="option-button fogata-option-button">Competencia</div>';

					$data = array('mensaje' => 'Gracias, por favor elige el producto del cual deseas ingresar precio 👇', 'botones' => $botones, 'signup' => 1);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
					$this->Md_bot->putMsg($ip, $msg, 0, $account[0]['id'], $key, 0, $device, $word, $typeA);*/


					$botones = '<div class="option-button fogata-productos">Producto Propio</div>
					<div class="option-button fogata-productos">Competencia</div>
					<div class="option-button fogata-option-button">Volver</div>';

					$data = array('mensaje' => 'Selecciona el tipo de producto', 'botones' => $botones, 'signup' => 14);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
					$this->Md_bot->putMsg($ip, $msg, 0, $account[0]['id'], $key, 0, $device, $word, $typeA);


			} else if($type == 7) {
				if (strpos($mensaje, normaliza('volver')) !== false) {

					$botones = '<div class="option-button fogata-option-button">Encuestas</div>
					<div class="option-button fogata-option-button">Fotos</div>
					<div class="option-button fogata-option-button">Precios</div>
					<div class="option-button fogata-option-button">Documentos</div>
					<div class="option-button fogata-option-button">Marcar Tarjeta</div>';

					$data = array('mensaje' => 'Recuerda contar siempre con tu equipo de trabajo (Uniforme del día, Cuchilla, Tape, Toalla y Marcador) para realizar tu gestión. Selecciona 👇', 'botones' => $botones, 'signup' => 1);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);

				}
			} else {
				$mensajes = $this->Md_bot->getMensajes($account[0]['id']);

				if( isset( $mensajes[0]['notfound'] ) && $mensajes[0]['notfound'] != '' ) {
					$data['mensaje'] = $mensajes[0]['notfound'];
				} else {
					$data['mensaje'] = 'Escribe "Menú" para continuar';
				}
			}

			$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);

		}
	} else $this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => 'User not found. For more information contact us at info@fogatagroup.com.<br><br><i>Usuario no encontrado, escriba a info@fogatagroup.com si cree que no debería ver este mensaje.</i>'], REST_Controller::HTTP_OK);

	}

		// Subir imágenes

		public function uploadImage_post() {

			$post = $this->post();

				$config['upload_path']          = './uploads/';
				$config['allowed_types']        = 'gif|jpg|png|jpeg|GIF|JPG|PNG|JPEG';
				$config['max_size']             = 8192;
				$config['max_width']            = 8192;
				$config['max_height']           = 8192;

				$this->load->library('upload', $config);

				if ( ! $this->upload->do_upload('userfile')) {
						$error = array('error' => $this->upload->display_errors());
						$this->set_response(['status' => FALSE, 'codigo' => 1, 'message' => 'Error uploading', 'data' => $error], REST_Controller::HTTP_OK);
				} else {
						$data = array('upload_data' => $this->upload->data());

						$data['upload_data']['file_url'] = 'https://fogatacrm.com/api/admin/uploads/' . $data['upload_data']['file_name'];

						$return = $this->Md_pepsi->putImage($post['token'],	$data['upload_data']['file_url'], 74);
						$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => 'Upload successfull', 'data' => $return], REST_Controller::HTTP_OK);
				}
		}

		// Subir imágenes 2

		public function uploadImagea_post() {

			$post = $this->post();
			$cleanPost = $this->security->xss_clean($post);

			$lat = $cleanPost['latitud'];
			$long = $cleanPost['longitud'];

				$config['upload_path']          = './uploads/';
				$config['allowed_types']        = 'gif|jpg|png|jpeg|GIF|JPG|PNG|JPEG';
				$config['max_size']             = 8192;
				$config['max_width']            = 8192;
				$config['max_height']           = 8192;

				$this->load->library('upload', $config);

				if ( ! $this->upload->do_upload('userfile')) {
						$error = array('error' => $this->upload->display_errors());
						$this->set_response(['status' => FALSE, 'codigo' => 1, 'message' => 'Error uploading', 'data' => $error], REST_Controller::HTTP_OK);
				} else {
						$data = array('upload_data' => $this->upload->data());

						$data['upload_data']['file_url'] = 'https://fogatacrm.com/api/admin/uploads/' . $data['upload_data']['file_name'];

						$return = $this->Md_pepsi->putImagea($post['token'], $data['upload_data']['file_url'], $lat, $long, 74, $post['tipo']);
						$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => 'Upload successfull', 'data' => $return], REST_Controller::HTTP_OK);
				}
		}

		// actualizar gps imagen

		public function gpsImage_post() {

			$post = $this->post();
			$cleanPost = $this->security->xss_clean($post);

			error_log( json_encode($post) );

			if ( isset($cleanPost['id']) && isset($cleanPost['latitud']) && isset($cleanPost['longitud']) ) {

				$id = $cleanPost['id'];
				$lat = $cleanPost['latitud'];
				$long = $cleanPost['longitud'];

				$return = $this->Md_pepsi->updateImage($id, $lat, $long);

				if($return) $this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $return], REST_Controller::HTTP_OK);

				else $this->set_response(['status' => TRUE, 'codigo' => 1, 'message' => '', 'data' => 'Error 1'], REST_Controller::HTTP_OK);

			} else $this->set_response(['status' => FALSE, 'codigo' => 1, 'message' => '', 'data' => 'Error 2'], REST_Controller::HTTP_OK);


		}

		// put price

		public function putPrice_post() {

			$post = $this->post();
			$cleanPost = $this->security->xss_clean($post);

			if ( isset($cleanPost['id']) && isset($cleanPost['token']) && isset($cleanPost['msg']) && isset($cleanPost['latitud']) && isset($cleanPost['longitud']) ) {

				$id = $cleanPost['id'];
				$lat = $cleanPost['latitud'];
				$long = $cleanPost['longitud'];
				$token = $cleanPost['token'];
				$price = $cleanPost['msg'];
				$lugar = $cleanPost['lugar'];


				$return = $this->Md_pepsi->putPrecio($id, $price, $token, $lat, $long, $lugar, 74);

				if($return) $this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $return], REST_Controller::HTTP_OK);

				else $this->set_response(['status' => TRUE, 'codigo' => 1, 'message' => '', 'data' => 'Error 1'], REST_Controller::HTTP_OK);

			} else $this->set_response(['status' => FALSE, 'codigo' => 1, 'message' => '', 'data' => 'Error 2'], REST_Controller::HTTP_OK);


		}

}
