<?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 Facil 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_facil');
	}
/*
	public function facebook_get() {
 			$data = $this->Md_facebook->getListado(1);
			$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
	}

	public function widget_get() {
			$data = $this->Md_facebook->getListado(1);
			$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
	}

	public function botkeys_get() {
 			$data = $this->Md_facil->getKeys($this->get('id'));
			$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
	}

	public function botones_get() {
 			$data = $this->Md_facil->getBotones($this->get('id'));
			$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
	}

	public function encuestas_get() {
			$data = $this->Md_facil->getEncuestas($this->get('id'));
			$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
	}

	public function encuestarep_get() {
			$data = $this->Md_facil->getEncResp($this->get('id'));
			$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data[0] ], REST_Controller::HTTP_OK);
	}

	public function image_get() {
			$data = $this->Md_facil->getImage($this->get('id'));
			$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
	}

	public function msg_put() {
			$data = $this->Md_facil->putMsg($this->put('user'), $this->put('msg'), $this->put('type'), $this->put('account_id'), $this->put('bots_key_id'));
			$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
	}
*/


	public function welcome_get() {

			$account = $this->Md_facil->getUser($this->get('auth'));
			$mensajes = $this->Md_facil->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);
	}

	public function live_put() {
			$account = $this->Md_facil->getUser($this->put('auth'));
			$ip = $this->put('user');
			$device = $this->put('usr_dev');

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

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

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

				if($return) {
					$data['bot'] = $return[0]['bot'];
					$return2 = $this->Md_facil->putLive($return, $account[0]['id']);
					if(!empty($return2)) {
						foreach ($return2 as $value) {
							$data['mensaje'] .=  '<div style="width:100%;float:left;">';
							$data['mensaje'] .= '<div class="fogata-bot-response">'.base64_decode($value['message']).'</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);
	}

	public function user_put() {
			$account = $this->Md_facil->getUser($this->put('auth'));
			$ip = $this->put('user');
			$name = $this->put('name');
			$email = $this->put('email');
			$phone = $this->put('phone');
			$device = $this->put('usr_dev');

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

				$return = $this->Md_facil->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);
	}

	public function newchat_put() {
			$account = $this->Md_facil->getUser($this->put('auth'));
			$ip = $this->put('user');
			$word = $this->put('msg');
			$type = $this->put('type');
			$key = $this->put('bots_key_id');
			$tokenId = $this->put('token');
			$device = $this->put('usr_dev');
			$msg = FALSE;
			$data = [];
			$data['mensaje'] = '';
			$data['botones'] = '';

			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


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

				if ($type == 1 && count($keys) > 0) {

			        $mensaje = strtolower($word);
			        $mensaje = urldecode($mensaje);
			        $mensaje = normaliza($mensaje);

			        //$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'];
								$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++;
			            }
			          }
							}

			        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'];



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

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

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

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

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

									$image = $this->Md_facil->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_facil->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_facil->getCombos($key);

			            foreach ($combos as $combo) {

			              $data['mensaje'] .= '</br><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>';
			              $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>';

			            };

			          } 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>';

			          };

			        } else {

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

								if( isset( $mensajes[0]['notfound'] ) && $mensajes[0]['notfound'] != '' ) {
									$data['mensaje'] = $mensajes[0]['notfound'];
								} else {
									$data['mensaje'] = 'Sorry, try again with another question. ☺';
								}

			        }

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

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


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


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


				/*$test = 'Únete Al Marketing Inteligente \ud83d\ude00';
				$rest = strpos($data, '\u');
				$rest2 = substr($data, $rest, ($rest + 12)); // devuelve "d"
				$emo = json_decode('"'.$rest2.'"');

				$data =  str_replace($rest2, $emo, $data);*/


				$this->Md_facil->putMsg($ip, $msg, 3, $account[0]['id'], $key, $keyID, $device, $word);
			} else if($type == 3) {
				$mensaje = strtolower($word);
				$mensaje = urldecode($mensaje);
				$mensaje = normaliza($mensaje);
				$mensaje = str_replace("-","",$mensaje);
				$mensaje = str_replace(" ", "", $mensaje);

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

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

				if (strpos($mensaje, normaliza('ayuda')) !== false && $tokenId != '') {
					$userId = $this->Md_facil->getLive($account[0]['id'], $ip, $device);
					$this->Md_facil->putAlert($account[0]['id'], 1, $userId[0]['id']);
					$data = array('mensaje' => 'En unos minutos será atendido por uno de nuestros representantes', 'botones' => '', 'signup' => 1);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
				} else if (strpos($mensaje, normaliza('ayuda')) !== false) {
					$userId = $this->Md_facil->getLive($account[0]['id'], $ip, $device);
					$this->Md_facil->putAlert($account[0]['id'], 1, $userId[0]['id']);
					$data = array('mensaje' => 'En unos minutos será atendido por uno de nuestros representantes', '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">Acuerdo de Pago</div>
					<div class="option-button fogata-option-button">Actualización de Datos</div>
					<div class="option-button fogata-option-button">Información</div>

					';
						$token = $this->Md_facil->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' => 'Hola '.$respuesta[0]['fgivenname'].' '.$respuesta[0]['flastname'].', fui programado para poder ayudarte con los siguientes temas, para comunicarte con un operador en horas hábiles el número es el 2326-1700::', 'botones' => $botones, 'signup' => 1, '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' => 'DPI no encontrado, por favor verifique su usuario y vuelva a intentarlo.', 'botones' => $botones, 'signup' => 0);
						$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
				}

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

				$pass = $this->Md_facil->getPassword($tokenId, $mensaje);

								if (strpos($mensaje, normaliza('ayuda')) !== false) {
									$this->Md_facil->putMsg($ip, $msg, 0, $account[0]['id'], $key, 0, $device, '****');
									$userId = $this->Md_facil->getLive($account[0]['id'], $ip, $device);
									$this->Md_facil->putAlert($account[0]['id'], 1, $userId[0]['id']);
									$data = array('mensaje' => 'En unos minutos será atendido por uno de nuestros representantes', 'botones' => '', 'signup' => 1);
									$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
								} else if ($pass == 1) {
									$botones = '<div class="option-button fogata-option-button">Información</div>
									<div class="option-button fogata-option-button">Actualización de Datos</div>
									<div class="option-button fogata-option-button">Acuerdo de Pago</div>';
									$data = array('mensaje' => 'Muchas gracias, fui programado para poder ayudarte con los siguientes temas, para comunicarte con un operador en horas hábiles el número es el 2326-1700::', 'botones' => $botones, 'signup' => 2);
									$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);

									$this->Md_facil->putMsg($ip, $msg, 0, $account[0]['id'], $key, 0, $device, '****');
								} else if ($pass == 0) {
									$botones = '<div class="option-button fogata-option-button">Ayuda</div>';
									$data = array('mensaje' => 'Contraseña incorrecta, por favor verifique su contraseña y vuelva a intentarlo.', 'botones' => $botones, 'signup' => 1, 'token' => $tokenId);
									$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
									$this->Md_facil->putMsg($ip, $msg, 0, $account[0]['id'], $key, 0, $device, '****');
								} else if ($pass == 2) {
									$data = array('mensaje' => 'Su sesión a caducado, por favor refresque el explorador. ', 'botones' => '', 'signup' => 1, 'token' => $tokenId);
									$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
									$this->Md_facil->putMsg($ip, $msg, 0, $account[0]['id'], $key, 0, $device, '****');
								}

							} else if($type == 5) {
								$mensaje = strtolower($word);
								$mensaje = urldecode($mensaje);
								$mensaje = normaliza($mensaje);
//ayuda
								if (strpos($mensaje, normaliza('ayuda')) !== false) {
									$userId = $this->Md_facil->getLive($account[0]['id'], $ip, $device);
									$this->Md_facil->putAlert($account[0]['id'], 1, $userId[0]['id']);
									$data = array('mensaje' => 'En unos minutos será atendido por uno de nuestros representantes', 'botones' => '', 'signup' => 2);
									$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
//Acuerdo de Pago
								} else if (strpos($mensaje, normaliza('Acuerdo de Pago')) !== false) {

									$cuenta = $this->Md_facil->getCuenta($tokenId);

									function tellDate($day){
										$day = 24 * 60 * 60 * $day;
										$next = time() - 21600 + $day;
										$dates = date('d l', $next);
										$dates = str_replace("Monday", "Lunes", $dates);
										$dates = str_replace("Tuesday", "Martes", $dates);
										$dates = str_replace("Wednesday", "Miércoles", $dates);
										$dates = str_replace("Thursday", "Jueves", $dates);
										$dates = str_replace("Friday", "Viernes", $dates);
										$dates = str_replace("Saturday", "Sábado", $dates);
										$dates = str_replace("Sunday", "Domingo", $dates);
										return $dates;
									}

									$botones = '<div class="option-button fogata-option-button">¡HOY! '.tellDate(0).'</div>
									<div class="option-button fogata-option-button">'.tellDate(1).'</div>
									<div class="option-button fogata-option-button">'.tellDate(2).'</div>
									<div class="option-button fogata-option-button">'.tellDate(3).'</div>
									<div class="option-button fogata-option-button">Menú</div>';

									if($cuenta[0]['duebalance'] == 0) {
										$data = array('mensaje' => 'No tiene atraso y recuerde realizar sus pagos antes del ciclo.'
									, 'botones' => '', 'signup' => 2);
									} else {
										$data = array('mensaje' => $cuenta[0]['fgivenname'].' '.$cuenta[0]['flastname'].' necesitamos que te presentes a abonar la cantidad de [Q'.$cuenta[0]['duebalance'].'] para poner tu cuenta al día, en la tienda El Gallo Más Gallo de tu preferencia.
										<br><br>Si no deseas realizar un acuerdo de pago en las fechas establecidas, puedes comunicarte al 2326-1700'
									, 'botones' => $botones, 'signup' => 7);
									}


									$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
//atras
								} else if (strpos($mensaje, normaliza('menu')) !== false) {
									$botones = '<div class="option-button fogata-option-button">Información</div>
									<div class="option-button fogata-option-button">Actualización de Datos</div>
									<div class="option-button fogata-option-button">Acuerdo de Pago</div>';
									$data = array('mensaje' => 'Muchas gracias, fui programado para poder ayudarte con los siguientes temas, para comunicarte con un operador en horas hábiles el número es el 2326-1700:', 'botones' => $botones, 'signup' => 2);
									$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
//Actualización de Datos
								} else if (strpos($mensaje, normaliza('actualizacion de datos')) !== false) {
									$botones = '<div class="option-button fogata-option-button">Menú</div>';
									$data = array('mensaje' => 'Agradecemos que mantengas tus datos siempre actualizados con nosotros. ¿Me puedes confirmar tu nombre?', 'botones' => $botones, 'signup' => 3);
									$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
//informacion general
								} else if (strpos($mensaje, normaliza('informacion general')) !== false) {
									$botones = '<div class="option-button fogata-option-button">Crédito</div>
									<div class="option-button fogata-option-button">Centros de Pago</div>
									<div class="option-button fogata-option-button">Menú</div>';

										$data = array('mensaje' => 'Puedes comunicarte con Qué Fácil al 2326-1700, nuestro horario de atención es de 07:30 a 20:00 horas. ', 'botones' => $botones, 'signup' => 2);
										$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
//Horarios
								} else if (strpos($mensaje, normaliza('horarios de atencion')) !== false) {
									$botones = '<div class="option-button fogata-option-button">Menú</div>';

										$data = array('mensaje' => 'Nuesto horario de atención es de 07:30 a 20:00 horas', 'botones' => $botones, 'signup' => 2);
										$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
//informacion
								} else if (strpos($mensaje, normaliza('informacion')) !== false) {
									$botones = '<div class="option-button fogata-option-button">Crédito</div>
									<div class="option-button fogata-option-button">Centros de Pago</div>
									<div class="option-button fogata-option-button">Información General</div>';

										$data = array('mensaje' => 'Obtén información de tu préstamo presionando algunas de las opciones o bien escribe Ayuda o Atrás para otras opciones:', 'botones' => $botones, 'signup' => 2);
										$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
//credito
								}  else if (strpos($mensaje, normaliza('credito')) !== false) {
									$botones = '<div class="option-button fogata-option-button">Centros de Pago</div>
									<div class="option-button fogata-option-button">Información General</div>
									<div class="option-button fogata-option-button">Menú</div>
									';

									$cuenta = $this->Md_facil->getCuenta($tokenId);

									if($cuenta[0]['duebalance'] == 0) {
										$mora = ' No tiene atraso y recuerde realizar sus pagos antes del ciclo.';
									} else {
										$mora = ', hasta la fecha tiene '.$cuenta[0]['duedays'].' días de mora. Para poner su cuenta al día se requiere el pago minimo de Q'.$cuenta[0]['minimumpayment'].', si desea cancelar el total de la deuda es de Q'.$cuenta[0]['duebalance'];
									}


									$deuda = $cuenta[0]['fgivenname'].' '.$cuenta[0]['flastname'].' su fecha de pago son todos los '.$cuenta[0]['maincicle'].' de cada mes, con una cuota mensual de Q'.$cuenta[0]['sumquotes'].$mora.'.';

										$data = array('mensaje' => $deuda, 'botones' => $botones, 'signup' => 2);
										$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
//deuda
								} else if (strpos($mensaje, normaliza('saldo total')) !== false) {

										$cuenta = $this->Md_facil->getCuenta($tokenId);
										$botones = '<div class="option-button fogata-option-button">Saldo total</div>
										<div class="option-button fogata-option-button">Fecha de pago</div>
										<div class="option-button fogata-option-button">Saldo vencido</div>
										<div class="option-button fogata-option-button">Centros de Pago</div>
										<div class="option-button fogata-option-button">Cuota</div>
										<div class="option-button fogata-option-button">Menú</div>';

										$data = array('mensaje' => 'Hasta la fecha tiene una deuda de Q'.$cuenta[0]['sumpendamount'].'.', 'botones' => $botones, 'signup' => 2);
										$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
//mora
									} else if (strpos($mensaje, normaliza('saldo vencido')) !== false) {

										$cuenta = $this->Md_facil->getCuenta($tokenId);
										$botones = '<div class="option-button fogata-option-button">Saldo total</div>
										<div class="option-button fogata-option-button">Fecha de pago</div>
										<div class="option-button fogata-option-button">Saldo vencido</div>
										<div class="option-button fogata-option-button">Centros de Pago</div>
										<div class="option-button fogata-option-button">Cuota</div>
										<div class="option-button fogata-option-button">Menú</div>';

										$data = array('mensaje' => 'Hasta la fecha tiene '.$cuenta[0]['duedays'].' días de mora por un monto de Q'.$cuenta[0]['duebalance'].'.', 'botones' => $botones, 'signup' => 2);
										$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
//fecha
									} else if (strpos($mensaje, normaliza('fecha de pago')) !== false) {

										$cuenta = $this->Md_facil->getCuenta($tokenId);
										$botones = '<div class="option-button fogata-option-button">Saldo total</div>
										<div class="option-button fogata-option-button">Fecha de pago</div>
										<div class="option-button fogata-option-button">Saldo vencido</div>
										<div class="option-button fogata-option-button">Centros de Pago</div>
										<div class="option-button fogata-option-button">Cuota</div>
										<div class="option-button fogata-option-button">Menú</div>';

										$data = array('mensaje' => 'Su fecha de pago son todos los '.$cuenta[0]['maincicle'].' de cada mes. 📅', 'botones' => $botones, 'signup' => 2);
										$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
//centros
									} else if (strpos($mensaje, normaliza('direccion')) !== false) {

										$cuenta = $this->Md_facil->getCuenta($tokenId);
										$tienda = $this->Md_facil->getTiendas($cuenta[0]['idbranchlastpaymt']);

										$botones = '<div class="option-button fogata-option-button">Menú</div>';

										$data = array('mensaje' => $tienda[0]['direccion'], 'botones' => $botones, 'signup' => 2);
										$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
//cuota
									} else if (strpos($mensaje, normaliza('centros de pago')) !== false) {

										$cuenta = $this->Md_facil->getCuenta($tokenId);
										$tienda = $this->Md_facil->getTiendas($cuenta[0]['idbranchlastpaymt']);

										$botones = '<div class="option-button fogata-option-button">Dirección</div>
													<div class="option-button fogata-option-button">Menú</div>';

										$data = array('mensaje' => 'Te sugerimos realizar tu pago en '.$tienda[0]['descripcion'].', la cual puedes ubicar en '.$tienda[0]['departamento'].', '.$tienda[0]['municipio'].'.', 'botones' => $botones, 'signup' => 2);
										$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
//cuota
									} else if (strpos($mensaje, normaliza('cuota')) !== false) {

																			$cuenta = $this->Md_facil->getCuenta($tokenId);
																			$botones = '<div class="option-button fogata-option-button">Saldo total</div>
																			<div class="option-button fogata-option-button">Fecha de pago</div>
																			<div class="option-button fogata-option-button">Saldo vencido</div>
																			<div class="option-button fogata-option-button">Centros de Pago</div>
																			<div class="option-button fogata-option-button">Cuota</div>
																			<div class="option-button fogata-option-button">Menú</div>';

																			$data = array('mensaje' => 'Su cuota mensual es de Q'.$cuenta[0]['sumquotes'].' y el pago mínimo de este mes es Q'.$cuenta[0]['minimumpayment'].'.', 'botones' => $botones, 'signup' => 2);
																			$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);

								} /* else if (strpos($mensaje, normaliza('salir')) !== false){
									$data = array('mensaje' => 'Ha salido del sistema de facilNet Clientes, para otra consulta escribanos ahora.', 'botones' => '', 'signup' => 3);
									$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
								}*/ else {
								$botones = '<div class="option-button fogata-option-button">Información</div>
								<div class="option-button fogata-option-button">Actualización de Datos</div>
								<div class="option-button fogata-option-button">Acuerdo de Pago</div>
								<div class="option-button fogata-option-button">Ayuda</div>';
								$data = array('mensaje' => 'Muchas gracias, fui programado para poder ayudarte con los siguientes temas, para comunicarte con un operador en horas hábiles el número es el 2326-1700::', 'botones' => $botones, 'signup' => 2);
								$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
								}
								$this->Md_facil->putMsg($ip, $msg, 0, $account[0]['id'], $key, 0, $device, $word);
			} else if($type == 6) {
				$mensaje = strtolower($word);
				$mensaje = urldecode($mensaje);
				$mensaje = normaliza($mensaje);
				if (strpos($mensaje, normaliza('menu')) !== false) {
					$botones = '<div class="option-button fogata-option-button">Información</div>
					<div class="option-button fogata-option-button">Actualización de Datos</div>
					<div class="option-button fogata-option-button">Acuerdo de Pago</div>';
					$data = array('mensaje' => 'Muchas gracias, fui programado para poder ayudarte con los siguientes temas, para comunicarte con un operador en horas hábiles el número es el 2326-1700:', 'botones' => $botones, 'signup' => 2);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
				} else {

					$this->Md_facil->putName($tokenId,$mensaje);
					$botones = '<div class="option-button fogata-option-button">Menú</div>';
					$data = array('mensaje' => '¿Me puedes ahora dar tu número de teléfono?', 'botones' => $botones, 'signup' => 4);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
					$this->Md_facil->putMsg($ip, $msg, 0, $account[0]['id'], $key, 0, $device, $word);
				}

			} else if($type == 7) {
				$mensaje = strtolower($word);
				$mensaje = urldecode($mensaje);
				$mensaje = normaliza($mensaje);
				if (strpos($mensaje, normaliza('menu')) !== false) {
					$botones = '<div class="option-button fogata-option-button">Información</div>
					<div class="option-button fogata-option-button">Actualización de Datos</div>
					<div class="option-button fogata-option-button">Acuerdo de Pago</div>';
					$data = array('mensaje' => 'Muchas gracias, fui programado para poder ayudarte con los siguientes temas, para comunicarte con un operador en horas hábiles el número es el 2326-1700:', 'botones' => $botones, 'signup' => 2);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
				} else {
					$mensaje = urldecode($word);
					$this->Md_facil->putPhone($tokenId,$mensaje);
					$botones = '<div class="option-button fogata-option-button">Menú</div>';
					$data = array('mensaje' => '¿Por último me puedes indicar tu correo electrónico?', 'botones' => $botones, 'signup' => 5);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
					$this->Md_facil->putMsg($ip, $msg, 0, $account[0]['id'], $key, 0, $device, $word);
				}
			} else if($type == 8) {
				$mensaje = strtolower($word);
				$mensaje = urldecode($mensaje);
				$mensaje = normaliza($mensaje);
				if (strpos($mensaje, normaliza('menu')) !== false) {
					$botones = '<div class="option-button fogata-option-button">Información</div>
					<div class="option-button fogata-option-button">Actualización de Datos</div>
					<div class="option-button fogata-option-button">Acuerdo de Pago</div>';
					$data = array('mensaje' => 'Muchas gracias, fui programado para poder ayudarte con los siguientes temas, para comunicarte con un operador en horas hábiles el número es el 2326-1700:', 'botones' => $botones, 'signup' => 2);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
				} else {
					$mensaje = urldecode($word);
					$this->Md_facil->putEmail($tokenId,$mensaje);

					$botones = '<div class="option-button fogata-option-button">Información</div>
					<div class="option-button fogata-option-button">Actualización de Datos</div>
					<div class="option-button fogata-option-button">Acuerdo de Pago</div>';

					$data = array('mensaje' => 'Gracias, tus datos han sido actualizados en nuestro sistema. ¿Te puedo ayudar en algo más?', 'botones' => $botones, 'signup' => 2);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
					$this->Md_facil->putMsg($ip, $msg, 0, $account[0]['id'], $key, 0, $device, $word);
				}

			} else if($type == 9) {
				$mensaje = strtolower($word);
				$mensaje = urldecode($mensaje);
				$mensaje = normaliza($mensaje);
				if (strpos($mensaje, normaliza('menu')) !== false) {
					$botones = '<div class="option-button fogata-option-button">Información</div>
					<div class="option-button fogata-option-button">Actualización de Datos</div>
					<div class="option-button fogata-option-button">Acuerdo de Pago</div>';
					$data = array('mensaje' => 'Muchas gracias, fui programado para poder ayudarte con los siguientes temas, para comunicarte con un operador en horas hábiles el número es el 2326-1700:', 'botones' => $botones, 'signup' => 2);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
				} else {
					$mensaje = urldecode($word);
					//$this->Md_facil->putNewpay($tokenId,$mensaje);

					$data = array('mensaje' => '¿Me puedes indicar para cuando realizarás el pago? 📅 (Ejemplo 01-01-2018)', 'botones' => '', 'signup' => 7);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
					$this->Md_facil->putMsg($ip, $msg, 0, $account[0]['id'], $key, 0, $device, $word);
				}

			} else if($type == 10) {
				$mensaje = strtolower($word);
				$mensaje = urldecode($mensaje);
				$mensaje = normaliza($mensaje);
				if (strpos($mensaje, normaliza('menu')) !== false) {
					$botones = '<div class="option-button fogata-option-button">Información</div>
					<div class="option-button fogata-option-button">Actualización de Datos</div>
					<div class="option-button fogata-option-button">Acuerdo de Pago</div>';
					$data = array('mensaje' => 'Muchas gracias, fui programado para poder ayudarte con los siguientes temas, para comunicarte con un operador en horas hábiles el número es el 2326-1700:', 'botones' => $botones, 'signup' => 2);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
				} else {
					$mensaje = urldecode($word);
					//$this->Md_facil->putNewdate($tokenId,$mensaje);

					$cuenta = $this->Md_facil->getCuenta($tokenId);

					$botones = '<div class="option-button fogata-option-button">Información</div>
					<div class="option-button fogata-option-button">Actualización de Datos</div>
					<div class="option-button fogata-option-button">Acuerdo de Pago</div>';

					$data = array('mensaje' => $cuenta[0]['fgivenname'].', el acuerdo de pago ha sido aceptado. Agradecemos tu preferencia. Cualquier consulta llama al 2326-1700.', 'botones' => $botones, 'signup' => 2);
					$this->set_response(['status' => TRUE, 'codigo' => 0, 'message' => '', 'data' => $data], REST_Controller::HTTP_OK);
					$this->Md_facil->putMsg($ip, $msg, 0, $account[0]['id'], $key, 0, $device, $word);
				}


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

				if( isset( $mensajes[0]['notfound'] ) && $mensajes[0]['notfound'] != '' ) {
					$data['mensaje'] = $mensajes[0]['notfound'];
				} else {
					$data['mensaje'] = 'Sorry, try again with another question. ☺';
				}
			}

			$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);

	}

}
