function obtenerInfoClienteRecargable($id_campania_cliente, $numTelefono)
 {
     $pInterfazdeAgente = new paloSantoInterfazdeAgente($this->_db);
     $arrInfoCliente = $pInterfazdeAgente->obtenerClientePorIdCampaniaClienteRecargable($id_campania_cliente);
     // print_r($arrInfoCliente);
     $id = 0;
     foreach ($arrInfoCliente["direccion"] as $direccion) {
         $arrInfoCliente["direccion"][$id]["direccion"] = $direccion["direccion"];
         $id += 1;
     }
     $arrInfoCliente['numero'] = $numTelefono;
     return $arrInfoCliente;
 }
Ejemplo n.º 2
0
function _moduleContent(&$smarty, $module_name)
{
    //include module files
    include_once "modules/{$module_name}/configs/default.conf.php";
    include_once "modules/{$module_name}/libs/paloSantoInterfazdeAgente.class.php";
    require_once "modules/{$module_name}/libs/paloSantoDataFormList.class.php";
    //include file language agree to elastix configuration
    //if file language not exists, then include language by default (en)
    $lang = get_language();
    $base_dir = dirname($_SERVER['SCRIPT_FILENAME']);
    $lang_file = "modules/{$module_name}/lang/{$lang}.lang";
    if (file_exists("{$base_dir}/{$lang_file}")) {
        include_once "{$lang_file}";
    } else {
        include_once "modules/{$module_name}/lang/en.lang";
    }
    //global variables
    global $arrConf;
    global $arrConfModule;
    global $arrLang;
    global $arrLangModule;
    $arrConf = array_merge($arrConf, $arrConfModule);
    $arrLang = array_merge($arrLang, $arrLangModule);
    //folder path for custom templates
    $templates_dir = isset($arrConf['templates_dir']) ? $arrConf['templates_dir'] : 'themes';
    $local_templates_dir = "{$base_dir}/modules/{$module_name}/" . $templates_dir . '/' . $arrConf['theme'];
    $script = "<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"libs/js/jscalendar/calendar-win2k-2.css\" />\n    <script type=\"text/javascript\" src=\"libs/js/jscalendar/calendar.js\"></script>\n    <script type=\"text/javascript\" src=\"libs/js/jscalendar/lang/calendar-en.js\"></script>\n    <script type=\"text/javascript\" src=\"libs/js/jscalendar/calendar-setup.js\"></script>";
    $smarty->assign("HEADER", $script);
    //conexion resource
    $pDB = new paloDB($arrConf['dsn_conn_database']);
    //actions
    $action = getAction();
    $content = "";
    if ($action == 'sacarpausa') {
        sacarPausa($_SESSION['elastix_user'], $pDB);
        $action = 'info_cliente';
        header("location: index.php?menu=hispana_interfaz_agente");
    }
    /** 
     * CORRECTO:Primero valido si el usuario tiene campañas disponibles.
     */
    if (!validarUsuario($_SESSION['elastix_user'], $pDB)) {
        $action = "deny";
    }
    //Se añade para no pausar gestion con break id 6 (gestion de agendados)
    if (usuarioEnGestionAgendados($_SESSION['elastix_user'], $pDB)) {
        $gestion_agendados = "gestionando";
    } else {
        if (usuarioEnPausa($_SESSION['elastix_user'], $pDB)) {
            $action = "pausado";
        }
    }
    // si siguiente es si, procedo con el siguiente cliente
    // Al hacer unset, buscará otro cliente asociado a campaña.
    if (isset($_GET['siguiente']) && $_GET['siguiente'] == "si") {
        unset($_SESSION['id_campania_cliente']);
        unset($_SESSION['id_campania_cliente_recargable']);
    }
    switch ($action) {
        case 'pausar':
            pausar($_POST['id_break'], $_SESSION['elastix_user'], $pDB);
        case 'pausado':
            $content = "El usuario <b>{$_SESSION['elastix_user']}</b> se encuentra en pausa, para regresar haga click <a href=index.php?menu=hispana_interfaz_agente&action=sacarpausa>aqui</a>.";
            break;
        case 'gestionar':
            $_SESSION['id_campania_cliente'] = $_GET['id_campania_cliente'];
            $_SESSION['id_campania_cliente_recargable'] = $_GET['id_campania_cliente_recargable'];
            $content = viewFormInterfazdeAgente($smarty, $module_name, $local_templates_dir, $pDB, $arrConf);
            break;
        case 'deny':
            $content = "El usuario <b>{$_SESSION['elastix_user']}</b> no tiene campañas asignadas para hoy.";
            break;
        case "llamar":
            $_SESSION['action'] = 'llamar';
            // Ver si se puede mejorar el IF a continuación
            if (isset($_SESSION['ci']) && isset($_GET['id_campania']) && isset($_GET['id_campania_cliente']) && isset($_GET['telefono'])) {
                $_SESSION['id_campania'] = $_GET['id_campania'];
                $_SESSION['id_campania_cliente'] = $_GET['id_campania_cliente'];
                $_SESSION['telefono'] = $_GET['telefono'];
            }
            if (isset($_SESSION['id_campania_cliente'])) {
                $arrValoresGestionAnterior = verificarGestionAnterior($_SESSION['id_campania_cliente'], $pDB);
            }
            if (isset($_SESSION['id_campania_cliente_recargable'])) {
                $arrValoresGestionAnterior = verificarGestionRecargableAnterior($_SESSION['id_campania_cliente_recargable'], $pDB);
            }
            /** Verificar si esto es útil. */
            $formCampos = array('form_nombre' => array("LABEL" => _tr("Form Name"), "REQUIRED" => "yes", "INPUT_TYPE" => "TEXT", "INPUT_EXTRA_PARAM" => array("size" => "40"), "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => ""), 'form_description' => array("LABEL" => _tr("Form Description"), "REQUIRED" => "no", "INPUT_TYPE" => "TEXTAREA", "INPUT_EXTRA_PARAM" => "", "VALIDATION_TYPE" => "text", "VALIDATION_EXTRA_PARAM" => "", "COLS" => "33", "ROWS" => "2"));
            $smarty->assign("type", _tr('Type'));
            $smarty->assign("select_type", "type");
            $smarty->assign("option_type", array("VALUE" => array("LABEL", "TEXT", "LIST", "DATE", "TEXTAREA"), "NAME" => array(_tr("Type Label"), _tr("Type Text"), _tr("Type List"), _tr("Type Date"), _tr("Type Text Area")), "SELECTED" => "Text"));
            $smarty->assign("item_list", _tr('List Item'));
            $oForm = new paloForm($smarty, $formCampos);
            $pInterfazdeAgente = new paloSantoInterfazdeAgente($pDB);
            if (isset($_SESSION['id_campania_cliente_recargable'])) {
                $arrInfoCliente = $pInterfazdeAgente->obtenerClientePorIdCampaniaClienteRecargable($_SESSION['id_campania_cliente_recargable']);
            } else {
                $arrInfoCliente = $pInterfazdeAgente->obtenerClientePorIdCampaniaCliente($_SESSION['id_campania_cliente']);
            }
            //print_r($arrInfoCliente);
            $arrGestionesPrevias = $pInterfazdeAgente->getGestionesPrevias($_SESSION['ci'], $arrInfoCliente['id_campania_consolidada'], $arrInfoCliente['id_campania']);
            if (sizeof($arrGestionesPrevias) > 0) {
                $smarty->assign("tieneGestionesPrevias", "si");
                $smarty->assign("arrGestionesPrevias", $arrGestionesPrevias);
            }
            $content = preview_form($pDB, $smarty, $module_name, $local_templates_dir, $formCampos, $oForm, $arrConf, $arrValoresGestionAnterior);
            break;
        case 'guardar':
            if (isset($_POST) && $_POST['calltype'] != 0) {
                // Aqui mismo se guarda y agenda la gestión.
                guardarGestion($_POST, $pDB);
                // Se llama asi mismo.
                // Header("Location: index.php?menu=hispana_interfaz_agente");
                //unset($_SESSION["id_campania_cliente_recargable"]);
                //unset($_SESSION["id_campania_cliente"]);
            } else {
                $smarty->assign("mb_title", _tr("Error"));
                $smarty->assign("mb_message", _tr("Se ha intentado guardar gestión sin Call Type."));
            }
            /** No se pone break, porque despues de guardar debe mostrarse la info del cliente. */
        /** No se pone break, porque despues de guardar debe mostrarse la info del cliente. */
        case 'info_cliente':
            // Obtiene y muestra información de un cliente (igual que el default)
            /** No se pone break */
        // Obtiene y muestra información de un cliente (igual que el default)
        /** No se pone break */
        default:
            $_SESSION['action'] = 'info_cliente';
            $smarty->assign("gestion_agendados", $gestion_agendados);
            //Se añade para no pausar gestion en break "gestion de agendados"
            $smarty->assign("usuario_gestionados_hoy", usuarioGestionadosHoy($_SESSION['elastix_user'], $pDB));
            $content = viewFormInterfazdeAgente($smarty, $module_name, $local_templates_dir, $pDB, $arrConf);
            break;
    }
    /*
    echo "\$action:<br>";
    _pre($action);
    
    echo "\$_SESSION:<br>";
    _pre($_SESSION);
    */
    return $content;
}