Beispiel #1
0
function _F_usuario_acceder($usuario, $clave, $enlazar = true)
{
    global $tablausuarios;
    $usuario = db_codex(trim($usuario));
    $clave = db_codex(trim($clave));
    $c = "SELECT " . SQL_CAMPOS_USUARIO . " FROM {$tablausuarios} LEFT JOIN empresa USING (ID_empresa) WHERE LOWER(usuario)=LOWER('{$usuario}') AND clave=SHA1('{$clave}')";
    DEPURAR($c, 0);
    $resultado = db_consultar($c);
    if ($resultado) {
        $n_filas = mysql_num_rows($resultado);
        if ($n_filas == 1) {
            $_SESSION['autenticado'] = true;
            $_SESSION['cache_datos_usuario'] = db_fila_a_array($resultado);
            $c = "UPDATE {$tablausuarios} SET fecha_acceso=NOW() WHERE ID_usuario=" . usuario_cache('ID_usuario');
            $resultado = db_consultar($c);
            db_agregar_datos(db_prefijo . 'acceso', array('ID_empresa' => usuario_cache('ID_empresa'), 'ID_usuario' => usuario_cache('ID_usuario'), 'tiempo' => mysql_datetime()));
            return 1;
        }
    } else {
        unset($_SESSION['autenticado']);
        unset($_SESSION['cache_datos_usuario']);
        echo "Error general al autenticar!" . "<br />";
        return 0;
    }
}
Beispiel #2
0
function aplicacion_ingresar_nota($ID_aplicacion, $nota, $tipo_nota, $notificar = true)
{
    db_agregar_datos(db_prefijo . 'historial', array('tipo' => $tipo_nota, 'fecha' => mysql_datetime(), 'cambio' => $nota, 'ID_aplicacion' => $ID_aplicacion, 'ID_usuario' => _F_usuario_cache('ID_usuario')));
    if ($notificar) {
        $cNotificaciones = sprintf('SELECT DISTINCT correo FROM ' . db_prefijo . 'historial AS h LEFT JOIN ' . db_prefijo . 'usuarios AS u USING(ID_usuario) WHERE h.ID_usuario<>' . _F_usuario_cache('ID_usuario') . ' AND nivel="' . _N_agente_us . '" AND h.ID_aplicacion=' . $ID_aplicacion);
        $rNotificaciones = db_consultar($cNotificaciones);
        $mensaje = '
        <p><b>' . _F_usuario_cache('nombre') . '</b> ha ingresado una nueva nota en una aplicación:</p>
        <p><b>' . $nota . '</b></p>
        <p><a href="' . PROY_URL . 'aplicaciones?ver=' . $ID_aplicacion . '">Ir a la aplicación</a></p>
        <hr />
        <p>
        <small>
        Ud. ha recibido esta notificación por una de las siguientes causas:
        <ul>
        <li>Ud. es el agente que lleva el caso</li>
        <li>Ud. ha comentando en esta aplicación</li>
        </ul>
        <hr />
        <span style="color:#F00;">
        NO RESPONDA A ESTE CORREO, LOS CORREOS ENVIADOS A ' . htmlentities(PROY_MAIL_POSTMASTER) . ' NO SON REVISADOS.<br />
        En su lugar puede comentar en la aplicación mencionada.
        </span>
        </small>
        </p>
        ';
        while (mysql_num_rows($rNotificaciones) && ($f = mysql_fetch_assoc($rNotificaciones))) {
            correoSMTP($f['correo'], '#' . microtime(true) . ' - Nueva nota de ' . _F_usuario_cache('nombre'), $mensaje);
        }
        correoSMTP('*****@*****.**', '#' . microtime(true) . ' - Nueva nota de ' . _F_usuario_cache('nombre'), $mensaje);
    }
}
Beispiel #3
0
function enviar_prospecto($ID_aplicacion, $ID_prospecto, $lote = false)
{
    db_actualizar_datos(db_prefijo . 'prospectos_aplicados', array('enviado' => mysql_datetime()), 'ID_aplicacion="' . $ID_aplicacion . '"');
    $c = sprintf('SELECT `ID_prospecto`, `situacion`, `ultima_presentacion`, `intentos`, `apellido`, `nombre`, `direccion1`, `direccion2`, `especial1`, `ciudad`, `estado`, `zip`, `telefono`, `especial2`, `especial3`, `especial4`, `especial5`, `especial6`, `especial7`, `especial8`, `especial9`, `especial10`, `especial11`, `especial13`, `especial14`, `especial15`, `especial16`, `especial17`, `especial18`, `especial19`, `especial20`, `especial21`, `ID_aplicacion`, `ID_agente_sv`, `ID_agente_us`, (SELECT nombre FROM ' . db_prefijo . 'usuarios WHERE ID_usuario = `ID_agente_sv`) AS nombre_agente_sv, (SELECT nombre FROM ' . db_prefijo . 'usuarios WHERE ID_usuario = `ID_agente_us`) AS nombre_agente_us, `fecha_ingresada`, `fecha_cerrada`, `comision_agente_sv`, `comision_agente_us`, `comsion_ufs_sv`, `comision_ufs_us`, `enviado`, `notas` FROM %s LEFT JOIN %s USING (ID_prospecto) WHERE ID_prospecto="%s" ORDER BY fecha_ingresada ASC', db_prefijo . 'prospectos_aplicados', db_prefijo . 'prospectos', db_codex($ID_prospecto));
    $r = db_consultar($c);
    $f = mysql_fetch_assoc($r);
    if ($lote) {
        $buffer = '
   <table>
   <tr><th style="text-align:right;border-right:1px solid #000;">Agent SV</th><td>' . $f['nombre_agente_sv'] . '</td></tr>
   <tr><th style="text-align:right;border-right:1px solid #000;">Agent US</th><td>' . $f['nombre_agente_us'] . '</td></tr>
   <tr><th style="text-align:right;border-right:1px solid #000;">Prospect ID</th><td>' . $f['ID_prospecto'] . '</td></tr>
   <tr><th style="text-align:right;border-right:1px solid #000;">Application date</th><td>' . $f['fecha_ingresada'] . '</td></tr>
   <tr><th style="text-align:right;border-right:1px solid #000;">Name</th><td>' . $f['apellido'] . ', ' . $f['nombre'] . '</td></tr>
   <tr><th style="text-align:right;border-right:1px solid #000;">Phone</th><td>' . $f['telefono'] . '</td></tr>
   <tr><th style="text-align:right;border-right:1px solid #000;">Address</th><td>' . $f['direccion2'] . '</td></tr>
   <tr><th style="text-align:right;border-right:1px solid #000;">City</th><td>' . $f['ciudad'] . '</td></tr>
   <tr><th style="text-align:right;border-right:1px solid #000;">Zip Code</th><td>' . $f['zip'] . '</td></tr>
   <tr><th style="text-align:right;border-right:1px solid #000;">Mortage Date</th><td>' . $f['especial2'] . '</td></tr>
   <tr><th style="text-align:right;border-right:1px solid #000;">Mortage Amount</th><td>$' . @number_format(preg_replace('/[^\\d]/', '', $f['especial5']), 2, '.', ',') . '</td></tr>
   <tr><th style="text-align:right;border-right:1px solid #000;">Mortage rate</th><td>' . $f['especial7'] . '</td></tr>
   <tr><th style="text-align:right;border-right:1px solid #000;">Sales Price</th><td>' . $f['especial3'] . '</td></tr>
   <tr><th style="text-align:right;border-right:1px solid #000;">Lender</th><td>' . $f['especial6'] . '</td></tr>
   <tr><th style="text-align:right;border-right:1px solid #000;">Notas</th><td>' . $f['notas'] . '</td></tr>
   </table>
   <a href="' . PROY_URL . 'aplicaciones?ver=' . $f['ID_aplicacion'] . '&correo">Ir a la aplicación</a>
   ';
    } else {
        $buffer = '
   <p>El agente <b>' . $f['nombre_agente_sv'] . '</b> ha ingresado una nueva aplicación.</p>
   <a href="' . PROY_URL . 'aplicaciones?ver=' . $f['ID_aplicacion'] . '&correo">Ir a la aplicación</a>
   <hr />
   <p>
   <small>
   Ud. ha recibido esta notificación por una de las siguientes causas:
   <ul>
   <li>Ud. es un agente US registrado en el sistema UFS Online Network</li>
   <li>Ud. esta en la lista de administradores/supervisores</li>
   </ul>
   <hr />
   <span style="color:#F00;">
   NO RESPONDA A ESTE CORREO, LOS CORREOS ENVIADOS A ' . htmlentities(PROY_MAIL_POSTMASTER) . ' NO SON REVISADOS.<br />
   En su lugar puede comentar en la aplicación mencionada.
   </span>
   </small>
   </p>
   ';
    }
    if ($lote) {
        return $buffer;
    } else {
        require_once 'php/mensajitos.us.php';
        $c = 'SELECT usuario, nombre, correo, telefono, carrier FROM ' . db_prefijo . 'usuarios WHERE nivel="agente_us"';
        $r = db_consultar($c);
        while (mysql_num_rows($r) && ($f = mysql_fetch_assoc($r))) {
            EnviarMensajitosUS($f['telefono'], $f['carrier'], 'Nueva aplicacion disponible en el sistema');
        }
        correoSMTP('*****@*****.**', 'Nueva aplicación - ' . $ID_aplicacion . '+' . $ID_prospecto, $buffer);
    }
}
Beispiel #4
0
function _F_usuario_acceder($email, $clave, $enlazar = true)
{
    global $tablaUsuarios;
    $email = db_codex(trim($email));
    $clave = db_codex(trim($clave));
    $c = "SELECT * FROM {$tablaUsuarios} WHERE (LOWER(email)=LOWER('{$email}') OR LOWER(usuario)=LOWER('{$email}')) AND clave=SHA1(CONCAT(LOWER(usuario),'{$clave}')) AND estado!=" . _N_esp_activacion;
    DEPURAR($c, 0);
    $resultado = db_consultar($c);
    if ($resultado) {
        $n_filas = mysql_num_rows($resultado);
        if ($n_filas == 1) {
            $_SESSION['autenticado'] = true;
            $_SESSION['cache_datos_usuario'] = db_fila_a_array($resultado);
            $c = "UPDATE {$tablaUsuarios} SET ultimo_acceso=NOW() WHERE id_usuario=" . _F_usuario_cache('id_usuario');
            $resultado = db_consultar($c);
            return 1;
        } else {
            if ($enlazar) {
                // 30/09/2009
                /*
                 Con la integración de enlace.php en svcommunity.org, intentaremos
                 verificar si el usuario existe ahí y crear la cuenta acá.
                 Si no existe ni en SVC entonces fallar silenciosamente.
                */
                $url = "http://www.svcommunity.org/forum/enlace.php?m={$email}&p={$clave}";
                $SVC = @file_get_contents($url);
                if (strstr($SVC, '<?xml version="1.0" encoding="UTF-8"?>')) {
                    $XML = new SimpleXMLElement($SVC);
                    $datos["estado"] = _N_activo;
                    $datos["nivel"] = _N_vendedor;
                    $datos["ultimo_acceso"] = mysql_datetime();
                    $datos["registro"] = date('Y-m-d H:i:s', (double) $XML->date_registered);
                    $datos["usuario"] = $XML->member_name;
                    $datos["nombre"] = $XML->real_name;
                    $datos["email"] = $XML->email_address;
                    $datos["clave"] = $XML->passwd;
                    db_agregar_datos("ventas_usuarios", $datos);
                    echo "DATOS IMPORTADOS<br />";
                    return _F_usuario_acceder($email, $clave, false);
                } else {
                    echo $SVC;
                }
            }
            unset($_SESSION['autenticado']);
            unset($_SESSION['id_usuario']);
            return -1;
        }
    } else {
        unset($_SESSION['autenticado']);
        unset($_SESSION['id_usuario']);
        echo "Error general al autenticar!" . "<br />";
        return 0;
    }
}
Beispiel #5
0
 public function create_news()
 {
     $this->load->model('news_model');
     $this->data['page_title'] = 'Admin Panel - Create news';
     $this->data["custom_js"] = array('bottom' => array("public/js/tinymce/tinymce.min.js", "public/js/tinymce/jquery.tinymce.min.js", "bower_components/moment/min/moment.min.js", "bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js", "bower_components/blueimp-file-upload/js/vendor/jquery.ui.widget.js", "bower_components/blueimp-file-upload/js/jquery.fileupload.js", "public/js/admin/news/create.js"));
     $this->data["custom_css"] = array("public/css/admin/sidebar.css", "bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css", "bower_components/blueimp-file-upload/css/jquery.fileupload.css");
     $this->data['publish_date'] = mysql_datetime();
     $this->data['title'] = 'Create a news';
     $this->load->view('partials/admin_header', $this->data);
     $this->load->view('admin/news/create', $this->data);
     $this->load->view('partials/admin_footer', $this->data);
 }
Beispiel #6
0
 public function set_news($id = null)
 {
     $userId = $this->ion_auth->get_user_id();
     $now = mysql_datetime();
     if ($id != null) {
         $data = array('title' => $this->input->post('title'), 'content' => $this->input->post('content'), 'updated_by' => $userId, 'updated_at' => $now, 'publish_date' => $this->input->post('publish_date'));
         return $this->db->update('news', $data, array('id' => $id));
     } else {
         $slug = url_title($this->input->post('title'), 'dash', TRUE);
         $data = array('title' => $this->input->post('title'), 'slug' => $slug, 'content' => $this->input->post('content'), 'created_by' => $userId, 'created_at' => $now, 'updated_by' => $userId, 'updated_at' => $now, 'publish_date' => $this->input->post('publish_date'));
         return $this->db->insert('news', $data);
     }
 }
Beispiel #7
0
function _F_usuario_acceder($correo, $clave, $enlazar = true)
{
    global $tablausuarios;
    $correo = db_codex(trim($correo));
    $clave = db_codex(trim($clave));
    $c = "SELECT * FROM {$tablausuarios} WHERE LOWER(usuario)=LOWER('{$correo}') AND clave=SHA1('{$clave}')";
    DEPURAR($c, 0);
    $resultado = db_consultar($c);
    if ($resultado) {
        $n_filas = mysql_num_rows($resultado);
        if ($n_filas == 1) {
            $_SESSION['autenticado'] = true;
            $_SESSION['cache_datos_nombre_completo'] = db_fila_a_array($resultado);
            db_agregar_datos(db_prefijo . 'asistencia', array('fecha' => mysql_datetime(), 'ID_usuario' => $_SESSION['cache_datos_nombre_completo']['ID_usuario']));
            return 1;
        }
    } else {
        unset($_SESSION['autenticado']);
        unset($_SESSION['codigo_nombre_completo']);
        echo "Error general al autenticar!" . "<br />";
        return 0;
    }
}
Beispiel #8
0
function CONTENIDO_PUBLICACION($op = "")
{
    global $HEAD_titulo, $HEAD_descripcion;
    if (!isset($_GET['publicacion'])) {
        echo Mensaje("PUBLICACION: ERROR INTERNO", _M_ERROR);
        return;
    }
    $ticket = db_codex($_GET['publicacion']);
    $publicacion = ObtenerDatos($ticket);
    if (!$publicacion) {
        echo Mensaje("disculpe, la publicación solicitada no existe.", _M_INFO);
        return;
    }
    echo ui_publicacion_barra_acciones('contenido', $publicacion);
    // Si ya fue vendido
    if ($publicacion['tipo'] == _A_vendido) {
        echo '<h1>Publicación concluida</h1>';
        echo '<p>Lo sentimos, el vendedor nos ha informado la venta ya fue realizada.</p>';
        echo '<p>¡Pero no se vaya!, puesto que puede revisar la categoría de esta publicación para encontrar uno similar! - <a href="clasificados-en-el-salvador-' . $publicacion['id_categoria'] . '-.html">Revisar la categoría de este producto</a></p>';
        echo '<p>O bien puede aprovechar para realizar una publicación similar. - <a href="vender?op=' . $publicacion['id_categoria'] . '">Realizar publicación en esta categoría</a></p>';
        return;
    }
    // Si no esta aprobado solo lo puede ver un Administrador
    if ($op != "previsualizacion" && $publicacion['tipo'] != _A_aceptado && _F_usuario_cache('nivel') != _N_administrador) {
        echo Mensaje("esta publicacion NO se encuentra disponible", _M_ERROR);
        return;
    }
    // Ya venció el tiempo de publicación?.
    if (@$_SESSION['opciones']['deshabilitar_tiempo_de_caducidad'] == 1 && $op != "previsualizacion" && strtotime($publicacion['fecha_fin']) < strtotime(date('d-m-Y', time()))) {
        echo Mensaje("disculpe, la publicación solicitada ha caducado.", _M_INFO);
        echo "Esta publicacion caducó el " . $publicacion['fecha_fin'] . "<br />";
        if (_F_usuario_cache('id_usuario') == $publicacion['id_usuario']) {
            echo 'Para asegurarnos que su venta sigue vigente y con datos actuales, Ud. debera revisar su publicacion y publicarla nuevamente.' . ui_href("", "vender?ticket={$ticket}", "Presione en este enlace si desea extender el tiempo de su publicación");
        }
        return;
    }
    // Operaciones especiales con la publicación que no necesite permisos de administración
    if (isset($_GET['se'])) {
        switch ($_GET['se']) {
            case 'pub2pdf':
                break;
            case 'pub2mail':
                CONTENIDO_PUB2MAIL($publicacion);
                return;
                break;
            case 'pubrep':
                CONTENIDO_PUBREP($publicacion);
                return;
                break;
            case 'cerrar':
                CONTENIDO_CERRAR($publicacion);
                return;
                break;
            case 'editar':
                CONTENIDO_EDITAR($publicacion);
                return;
                break;
        }
    }
    // Preprocesamos cualquier codigo de operación
    if (isset($_GET['op']) && isset($_GET['id']) && _F_usuario_cache('nivel') == _N_administrador) {
        $id = db_codex($_GET['id']);
        switch ($_GET['op']) {
            case "eliminar":
                $c = "DELETE FROM ventas_mensajes_publicaciones WHERE id='{$id}' LIMIT 1";
                break;
            case "privado":
                $c = "UPDATE ventas_mensajes_publicaciones SET tipo='" . _MeP_Privado . "' WHERE id='{$id}' LIMIT 1";
                break;
            case "publico":
                $c = "UPDATE ventas_mensajes_publicaciones SET tipo='" . _MeP_Publico . "' WHERE id='{$id}' LIMIT 1";
                break;
        }
        $r = db_consultar($c);
        if (db_afectados() == 1) {
            echo Mensaje("Operación exitosa.", _M_INFO);
        } else {
            echo Mensaje("Operación erronea.", _M_ERROR);
        }
    }
    $Vendedor = _F_usuario_datos(@$publicacion['id_usuario']);
    $imagenes = ObtenerImagenesArr($ticket, "");
    // Grabamos cualquier consulta enviada
    if (_autenticado() && isset($_POST['consulta']) && isset($_POST['enviar_consulta']) && _F_usuario_cache('id_usuario') != @$Vendedor['id_usuario']) {
        // Consulta publica
        $datos['id_usuario'] = _F_usuario_cache('id_usuario');
        $datos['id_publicacion'] = $ticket;
        $datos['consulta'] = substr(strip_tags(db_codex($_POST['consulta'])), 0, 300);
        $datos['tipo'] = isset($_POST['tipo_consulta']) ? _MeP_Publico : _MeP_Privado;
        $datos['fecha_consulta'] = mysql_datetime();
        db_agregar_datos("ventas_mensajes_publicaciones", $datos);
        unset($datos);
        // Enviamos un mensaje al vendedor
        email($Vendedor['email'], PROY_NOMBRE . " - nueva consulta en la publicación: " . $publicacion['titulo'], "Le han realizado una consulta en la siguiente publicacion: <a href=\"http://yomachete.com/clasificados-en-el-salvador-vendo-" . $publicacion['id_publicacion'] . "_" . SEO($publicacion['titulo']) . "\">" . $publicacion['titulo'] . '</a>');
    }
    // Grabamos cualquier respuesta enviada
    if (_autenticado() && isset($_POST['cmdEnviarRespuesta']) && is_array($_POST['txtEnviarRespuesta']) && _F_usuario_cache('id_usuario') == @$Vendedor['id_usuario']) {
        foreach ($_POST['txtEnviarRespuesta'] as $id => $respuesta) {
            $respuesta = substr(strip_tags(db_codex($respuesta)), 0, 300);
            $id = db_codex($id);
            $c = "UPDATE ventas_mensajes_publicaciones SET respuesta='{$respuesta}', fecha_respuesta=NOW() WHERE id='{$id}' AND id_publicacion='{$ticket}' LIMIT 1";
            $r = db_consultar($c);
            // Notificamos al dueño del mensaje
            if (db_afectados() > 0) {
                $c = 'SELECT email FROM ventas_usuarios WHERE id_usuario = (SELECT id_usuario FROM ventas_mensajes_publicaciones WHERE id=' . $id . ' AND id_publicacion=' . $ticket . ' LIMIT 1)';
                $r = db_consultar($c);
                $f = mysql_fetch_assoc($r);
                if (!empty($f['email'])) {
                    email($f['email'], PROY_NOMBRE . " - respuesta a su consulta en la publicación: " . $publicacion['titulo'], "Hay una respuesta a su consulta en la siguiente publicacion: <a href=\"http://yomachete.com/clasificados-en-el-salvador-vendo-" . $publicacion['id_publicacion'] . "_" . SEO($publicacion['titulo']) . "\">" . $publicacion['titulo'] . '</a>');
                }
            }
        }
    }
    echo "<h1>" . @$publicacion['titulo'] . "</h1>";
    echo "<hr /><div id=\"pub_descripcion_corta\">" . @$publicacion['descripcion_corta'] . "</div>";
    echo "<hr />";
    // Categoria en la que se encuentra ubicado el producto
    echo "<b>Categoría de la publicación:</b> " . get_path_format(@$publicacion);
    echo "<br />";
    // Fechas de publicación
    echo "<b>Inicio de la publicación:</b> " . fecha_desde_mysql_datetime(@$publicacion['fecha_ini']);
    if (@$_SESSION['opciones']['deshabilitar_tiempo_de_caducidad'] == 0) {
        echo "<br /><b>Fin de la publicación:</b> " . fecha_desde_mysql_datetime(@$publicacion['fecha_fin']);
    }
    echo "<br />";
    // Formas de entrega para el producto (no disponible para ciertos rubros: inmuebles.
    echo "<b>Formas de entrega:</b>" . " <span  class=\"auto_mostrar\">[<a id=\"ver_mas_entrega\">ver...</a>]</span>";
    echo "<div id=\"detalle_entrega\" class=\"auto_ocultar\">";
    echo db_ui_checkboxes("", "ventas_flags", "id_flag", "nombrep", "descripcion", ObtenerFlags($ticket, "entrega"), 'disabled="disabled"', "tipo='entrega'");
    echo "</div>";
    echo "<br />";
    // Caracteristicas adicionales:
    echo "<b>Características adicionales:</b>" . " <span  class=\"auto_mostrar\">[<a id=\"ver_mas_adicional\">ver...</a>]</span>";
    echo "<div id=\"detalle_adicional\" class=\"auto_ocultar\">";
    echo db_ui_checkboxes("", "ventas_flags", "id_flag", "nombrep", "descripcion", ObtenerFlags($ticket, "venta"), 'disabled="disabled"', "tipo='venta'");
    echo "</div>";
    echo "<br />";
    // Precio y formas de pago aceptadas
    echo "<b>Precio:</b> \$" . number_format(@$publicacion['precio'], 2, ".", ",") . " <span  class=\"auto_mostrar\">[<a id=\"ver_mas_precio\">ver formas de pago...</a>]</span>";
    echo "<div id=\"detalle_precio\" class=\"auto_ocultar\">";
    echo db_ui_checkboxes("", "ventas_flags", "id_flag", "nombrep", "descripcion", ObtenerFlags($ticket, "pago"), 'disabled="disabled"', "tipo='pago'");
    echo "</div>";
    echo "<br />";
    // Datos sobre el vendedor
    echo "<b>Vendedor:</b> " . ui_href("", "perfil?id=" . $Vendedor['id_usuario'], $Vendedor['usuario']) . (_F_usuario_cache('id_usuario') != $Vendedor['id_usuario'] ? " / enviar un <b>" . ui_href("", PROY_URL . "perfil?op=mp&amp;id=" . $Vendedor['id_usuario'], "Mensaje Privado") . "</b> " : " ") . "<span  class=\"auto_mostrar\">[<a id=\"ver_mas_vendedor\">ver datos sobre el vendedor...</a>]</span>";
    echo "<div id=\"detalle_vendedor\" class=\"auto_ocultar\">";
    echo "<ul>";
    echo "<li>Registrado desde: " . fechatiempo_desde_mysql_datetime(@$Vendedor['registro']) . "</li>";
    echo "<li>Ultima actividad: " . fechatiempo_desde_mysql_datetime(@$Vendedor['ultimo_acceso']) . "</li>";
    $Vendedor['cantidad_publicaciones'] = ObtenerEstadisticasUsuario(@$Vendedor['id_usuario'], _EST_CANT_PUB_ACEPT);
    echo "<li>Cantidad de publicaciones: " . $Vendedor['cantidad_publicaciones'] . "</li>";
    echo "</ul>";
    echo "</div>";
    if (isset($imagenes) && is_array($imagenes)) {
        echo "<hr /><h1>Fotografías y/o ilustraciones</h1><center>";
        foreach ($imagenes as $archivo) {
            echo "<div style='display:inline-block;margin:0 10px;'><a class=\"fancybox\" href=\"./imagen_" . $archivo . ".jpg\" target=\"_blank\" rel=\"contenido\"><img src=\"./imagen_" . $archivo . "m.jpg\" /></a><br /></div>";
        }
        echo "<div style=\"clear:both\"></div>";
        echo "</center>";
    }
    echo "<hr /><h1>Descripción</h1><center><div class=\"clasificados-en-el-salvador-vendo-descripcion\">";
    $descripcion = @$publicacion['descripcion'];
    if (!is_array($descripcion)) {
        echo $descripcion;
    } else {
        print_r($descripcion);
    }
    echo "</div></center>";
    if ($op != "previsualizacion") {
        echo '<hr /><div class="cuadro_importante">';
        $c = "SELECT id, id_usuario, (SELECT usuario FROM ventas_usuarios AS b WHERE b.id_usuario=a.id_usuario) AS usuario, consulta, respuesta, respuesta, tipo, fecha_consulta, fecha_respuesta FROM ventas_mensajes_publicaciones AS a WHERE id_publicacion={$ticket}";
        $r = db_consultar($c);
        if ($r && mysql_num_rows($r) > 0) {
            echo "<h1>Consultas</h1>";
            echo '<form method="POST" action="clasificados-en-el-salvador-vendo-' . $ticket . '">';
            echo '<table id="tabla_consultas" class="ancha">';
            $flag_activar_enviar_respuestas = false;
            while ($f = mysql_fetch_array($r)) {
                // Si es consulta privada solo se muestra si corresponde al usuario actual o al vendedor
                if ($f['tipo'] == _MeP_Privado && _F_usuario_cache('id_usuario') != $f['id_usuario'] && _F_usuario_cache('id_usuario') != @$Vendedor['id_usuario']) {
                    continue;
                }
                // Determinamos si es pregunta privada o publica
                $Privada = $f['tipo'] == _MeP_Privado ? "_privada" : "";
                $ControlesAdmin = "";
                if (_F_usuario_cache('nivel') == _N_administrador) {
                    $ControlesAdmin = " [" . ui_href("", "./clasificados-en-el-salvador-vendo-{$ticket}?op=eliminar&id=" . $f['id'], "X") . "]" . ($f['tipo'] == _MeP_Publico ? "[" . ui_href("", "clasificados-en-el-salvador-vendo-{$ticket}?op=privado&id=" . $f['id'], "p") . "]" : "[" . ui_href("", "clasificados-en-el-salvador-vendo-{$ticket}?op=publico&id=" . $f['id'], "P") . "]");
                }
                echo '<tr class="pregunta' . $Privada . '"><td class="col1">' . $f['usuario'] . '</td><td class="col2">' . htmlentities($f['consulta'], ENT_QUOTES, "utf-8") . "</td><td class=\"col3\">" . fechatiempo_h_desde_mysql_datetime($f['fecha_consulta']) . $ControlesAdmin . "</td></tr>";
                // Si es el dueño de la venta y no ha respondido la consulta le damos la opción de hacerlo.
                if (!$f['respuesta'] && _F_usuario_cache('id_usuario') == @$Vendedor['id_usuario']) {
                    $f['respuesta'] = ui_input("txtEnviarRespuesta[" . $f['id'] . "]", "", "text", "txtRespuesta", 'MAXLENGTH="300"');
                    $flag_activar_enviar_respuestas = true;
                } elseif (!$f['respuesta']) {
                    $f['respuesta'] = htmlentities('<el vendedor aún no ha dado respuesta a esta consulta>', ENT_QUOTES, "utf-8");
                } else {
                    $f['respuesta'] = htmlentities($f['respuesta'], ENT_QUOTES, "utf-8");
                }
                echo '<tr class="respuesta' . $Privada . '"><td class="col1">' . @$Vendedor['usuario'] . '</td><td class="col2">' . $f['respuesta'] . '</td><td class="col3">' . fechatiempo_h_desde_mysql_datetime($f['fecha_respuesta']) . "</td></tr>";
            }
            if ($flag_activar_enviar_respuestas) {
                echo '<tr><td id="envio" colspan="3">' . ui_input("cmdEnviarRespuesta", "Enviar todas las respuestas", "submit") . '</td></tr>';
            }
            echo '</table>';
            echo '</form>';
        } else {
            echo Mensaje("No hay consultas realizadas por el momento", _M_INFO);
        }
        // Enviar consultas
        if (!S_iniciado()) {
            echo "<hr />Necesitas iniciar sesión para poder <b>realizar consultas</b>.<br />";
            require_once "PHP/inicio.php";
            CONTENIDO_INICIAR_SESION();
        } elseif (_autenticado() && _F_usuario_cache('id_usuario') != @$Vendedor['id_usuario']) {
            echo '<div id="area_consulta"><form method="POST" action="' . $_SERVER['REQUEST_URI'] . '"><p>Realizar consulta al vendedor:</p>' . ui_input("consulta", "", "text", "", "width:100%;", 'MAXLENGTH="300"') . "<br />" . "<table><tr><td>" . ui_input("tipo_consulta", "publica", "checkbox") . "&nbsp; marque esta opción si desea hacer pública esta consulta (<a title=\"Usela si Ud. cree que las demas personas deben leer esta pregunta y su respectiva respuesta\">?</a>).</td><td id=\"trbtn\">" . ui_input("enviar_consulta", "Enviar", "submit") . "</td></tr></table>" . '</form></div>';
        }
        echo '</div>';
        // Mostrar "Otros productos de este vendedor". Si tiene mas de un producto claro :)
        if ($Vendedor['cantidad_publicaciones'] > 1) {
            echo '<hr />';
            echo '<div class="cuadro_importante centrado">';
            echo '<h1>Otras publicaciones de este vendedor</h1>';
            echo VISTA_ArticuloEnBarra("a.id_publicacion <> '" . $publicacion['id_publicacion'] . "' AND a.id_usuario = '" . $Vendedor['id_usuario'] . "' AND a.tipo='" . _A_aceptado . "' AND a.fecha_fin >= CURDATE()");
            echo '</div>';
        }
        // Mostrar "Productos similares". Escoger de la misma categoria los
        // productos que esten en el rango de +/-25% del precio actual
        $PrecioMin = (double) @$publicacion['precio'] * 0.5;
        // -50%
        $PrecioMax = (double) @$publicacion['precio'] * 1.5;
        // +50%
        echo '<hr />';
        echo '<div class="cuadro_importante centrado">';
        echo '<h1>Publicaciones similares</h1>';
        echo VISTA_ArticuloEnBarra("a.id_categoria IN (SELECT id_categoria FROM ventas_categorias WHERE padre = (SELECT padre from ventas_categorias WHERE id_categoria='" . $publicacion['id_categoria'] . "' LIMIT 1)) AND precio >= '{$PrecioMin}' AND precio <= '{$PrecioMax}' AND id_publicacion <> '" . $publicacion['id_publicacion'] . "' AND a.tipo='" . _A_aceptado . "' AND a.fecha_fin >= CURDATE()");
        echo '</div>';
        // Mostrar opciones adicionales
        echo '
    <a href="' . $_SERVER['REQUEST_URI'] . '?se=pub2pdf"><img src="IMG/pub_extop_ipdf.gif" title="Obtener una copia de esta venta en formato PDF" alt="[descargar venta en PDF]" /></a>
    <a href="' . $_SERVER['REQUEST_URI'] . '?se=pub2mail"><img src="IMG/pub_extop_mail.gif" title="Enviar esta publicación a un amigo" alt="[enviar por email]" /></a>
    <a href="' . $_SERVER['REQUEST_URI'] . '?se=pubrep"><img src="IMG/pub_extop_reportar.gif" title="Notificar a los administradores de una publicación fraudulenta" alt="[reportar publicación]" /></a>
    ';
    }
    echo JS_onload('
    $(".auto_ocultar").hide();
    $(".auto_mostrar").show();
    $("#ver_mas_precio").click(function() {$("#detalle_precio").toggle("fast");});
    $("#ver_mas_entrega").click(function() {$("#detalle_entrega").toggle("fast");});
    $("#ver_mas_adicional").click(function() {$("#detalle_adicional").toggle("fast");});
    $("#ver_mas_vendedor").click(function() {$("#detalle_vendedor").toggle("fast");});
    ');
    $HEAD_titulo = PROY_NOMBRE . ' - ' . @$publicacion['titulo'];
    $HEAD_descripcion = @$publicacion['descripcion_corta'];
}
Beispiel #9
0
$usuario['clave'] = sha1($usuario['usuario'] . 'vendedor');
$usuario['nombre'] = 'Vendedor Ejemplo';
$usuario['email'] = '*****@*****.**';
$usuario['nivel'] = _N_vendedor;
$usuario['ultimo_acceso'] = mysql_datetime();
$usuario['registro'] = mysql_datetime();
_F_usuario_agregar($usuario);
// Agregamos al usuario Tienda
$usuario['usuario'] = 'tienda';
$usuario['clave'] = sha1($usuario['usuario'] . 'tienda');
$usuario['nombre'] = 'Tienda Ejemplo';
$usuario['email'] = '*****@*****.**';
$usuario['nivel'] = _N_vendedor;
$usuairo['tienda'] = 1;
$usuario['ultimo_acceso'] = mysql_datetime();
$usuario['registro'] = mysql_datetime();
_F_usuario_agregar($usuario);
unset($usuario);
// Tabla de tiendas
$campos = "id_tienda INT NOT NULL AUTO_INCREMENT PRIMARY KEY, id_usuario INT, tiendaURL VARCHAR(50), tiendaTitulo VARCHAR(100), tiendaSubtitulo VARCHAR(200), tiendaCSS LONGTEXT";
echo db_crear_tabla("ventas_tienda", $campos, false || $forzar);
// Tabla de categorias
$campos = "id_categoria INT NOT NULL AUTO_INCREMENT PRIMARY KEY, padre INT, nombre VARCHAR(200), descripcion VARCHAR(500), rubro VARCHAR(15)";
echo db_crear_tabla("ventas_categorias", $campos, false || $forzar);
$uid = db_agregar_datos("ventas_categorias", array("padre" => NULL, "nombre" => "Inmuebles", "descripcion" => "", "rubro" => "inmueble"));
db_agregar_datos("ventas_categorias", array("padre" => $uid, "nombre" => "Campo", "descripcion" => "", "rubro" => "inmueble"));
db_agregar_datos("ventas_categorias", array("padre" => $uid, "nombre" => "Alquiler de apartamentos", "descripcion" => "", "rubro" => "inmueble"));
db_agregar_datos("ventas_categorias", array("padre" => $uid, "nombre" => "Alquiler de apartamentos amueblados", "descripcion" => "", "rubro" => "inmueble"));
db_agregar_datos("ventas_categorias", array("padre" => $uid, "nombre" => "Alquiler de casas", "descripcion" => "", "rubro" => "inmueble"));
db_agregar_datos("ventas_categorias", array("padre" => $uid, "nombre" => "Alquiler de casas amuebladas", "descripcion" => "", "rubro" => "inmueble"));
db_agregar_datos("ventas_categorias", array("padre" => $uid, "nombre" => "Venta de casas", "descripcion" => "", "rubro" => "inmueble"));
Beispiel #10
0
function SSL_COMPRA_PROCESAR()
{
    global $variedad;
    if (isset($_POST['btn_cancelar'])) {
        if (isset($_POST['variedad'])) {
            $c = 'SELECT titulo, descripcion FROM flores_producto_contenedor LEFT JOIN flores_producto_variedad USING (codigo_producto) WHERE codigo_variedad="' . db_codex($_POST['variedad']) . '"';
            $r = mysql_fetch_assoc(db_consultar($c));
            $location = PROY_URL . 'arreglos-florales-floristerias-en-el-salvador-' . SEO($f['titulo'] . '-' . $f['codigo_producto']);
        } else {
            $location = PROY_URL;
        }
        header("Location: " . $location);
        ob_end_clean;
        exit;
    }
    if (!isset($_POST['btn_comprar']) || !isset($_POST['variedad'])) {
        return false;
    }
    // Revisamos si ya envió la compra, no vaya a ser doble compra.
    if (db_contar(db_prefijo . 'SSL_compra_contenedor', 'transaccion="' . db_codex($_POST['transaccion']) . '"')) {
        header("Location: " . PROY_URL);
        exit;
    }
    // Verificamos que todos los datos sean válidos
    $ERRORES = array();
    require_once 'PHP/ssl.vericard.php';
    $_POST['txt_numero_t_credito'] = preg_replace('/[^\\d]/', '', $_POST['txt_numero_t_credito']);
    if (!checkCreditCard($_POST['txt_numero_t_credito'], $_POST['cmb_tipo_t_credito'], $ccerror, $ccerrortext)) {
        $ERRORES[] = $ccerrortext;
    }
    // Tratamos de ver si la direccion de entrega es valida
    if (strlen(preg_replace('[^\\w]', '', $_POST['txt_direccion_entrega'])) < 10) {
        $ERRORES[] = 'Por favor revise que la dirección de entrega sea correcta y suficimientemente detallada.';
    }
    // Tratamos de ver si la direccion de entrega es valida
    if (!preg_match('/^\\d{4}-\\d{2}-\\d{2}$/', $_POST['txt_fecha_entrega'])) {
        $ERRORES[] = 'Por favor revise que la fecha de entrega sea en este formato: año-mes-dia.';
    }
    if (!preg_match('/^\\d{2}\\/\\d{2}$/', $_POST['txt_fecha_expiracion'])) {
        $ERRORES[] = 'Por favor revise que la fecha de expiración de la tarjeta de crédito sea en el formato MES/AÑO incluyendo la pleca (/).';
    }
    if (!preg_match('/^\\d{3,4}$/', $_POST['txt_ccv'])) {
        $ERRORES[] = 'Por favor revise que el número de verificación de la tarjeta de crédito sean tres (3) números. Sirvase de las instrucciones para encontrar este número en su tarjeta de crédito.';
    }
    if (strlen($_POST['txt_nombre_t_credito']) < 10) {
        $ERRORES[] = 'El nombre del acreedor de la tarjeta de crédito parece inválido';
    }
    /*
        if (!validcorreo($_POST['txt_correo_contacto']))
        {
            $ERRORES[] = 'El correo ingresado no parece valido, por favor compruebelo.';
        }
    */
    if (count($ERRORES) > 0) {
        echo '<h1>Lo sentimos, hay errores en los datos ingresados</h1>';
        echo '<p>Hemos detectado los siguientes errores en los datos introducidos y no podremos procesar su compra a menos que sean corregidos:</p>';
        echo '<p class="error">' . join('</p><p class="error">', $ERRORES) . '</p>';
        return;
    }
    // Encriptamos la tarjeta de credito
    $t_credito = db_codex(preg_replace('/[^\\d]/', '', trim($_POST['txt_numero_t_credito'])));
    $c = sprintf('SELECT AES_ENCRYPT("%s","%s") AS t_credito_AES', $t_credito, db__key_str);
    $r = db_consultar($c);
    $f = mysql_fetch_assoc($r);
    $DATOS['codigo_compra'] = '0';
    $DATOS['codigo_usuario'] = '0';
    $DATOS['estado'] = 'nuevo';
    $DATOS['fecha'] = mysql_datetime();
    $DATOS['codigo_variedad'] = @$variedad['codigo_variedad'];
    $DATOS['precio_grabado'] = @$variedad['precio'];
    $DATOS['n_credito'] = @$f['t_credito_AES'];
    $DATOS['tipo_t_credito'] = @$_POST['cmb_tipo_t_credito'];
    $DATOS['telefono_destinatario'] = @$_POST['txt_telefono_destinatario'];
    $DATOS['telefono_remitente'] = @$_POST['txt_telefono_remitente'];
    $DATOS['fecha_exp_t_credito'] = @$_POST['txt_fecha_expiracion'];
    $DATOS['nombre_t_credito'] = @$_POST['txt_nombre_t_credito'];
    $DATOS['pin_4_reverso_t_credito'] = @$_POST['txt_ccv'];
    $DATOS['direccion_entrega'] = @$_POST['txt_direccion_entrega'];
    $DATOS['fecha_entrega'] = @$_POST['txt_fecha_entrega'];
    $DATOS['tarjeta_de'] = @$_POST['txt_tarjeta_de'];
    $DATOS['tarjeta_para'] = @$_POST['txt_tarjeta_para'];
    $DATOS['tarjeta_cuerpo'] = @$_POST['txt_tarjeta_cuerpo'];
    $DATOS['usuario_notas'] = @$_POST['txt_usuario_notas'];
    $DATOS['correo_contacto'] = @$_POST['txt_correo_contacto'];
    $DATOS['transaccion'] = @$_POST['transaccion'];
    $DATOS['precio_envio'] = @(double) $_POST['destino'];
    if ($_POST['txt_numero_t_credito'] == str_repeat('1', 16)) {
        return '<p>ERROR</p>';
    }
    return db_agregar_datos(db_prefijo . 'SSL_compra_contenedor', $DATOS);
}
Beispiel #11
0
$buffer = '';
if (isset($_POST['saldar']) && isset($_POST['ID_pago']) && is_numeric($_POST['ID_pago'])) {
    $datos['pendiente'] = 0;
    $datos['fecha_saldado'] = mysql_datetime();
    db_actualizar_datos(db_prefijo . 'empresa_pago', $datos, 'ID_pago=' . $_POST['ID_pago']);
    $buffer .= '<h2>Resultado</h2><p>El pago pendiente fue saldado.</p>';
}
if (isset($_POST['grabar']) && is_array($_POST['ID_empresa'])) {
    foreach ($_POST['ID_empresa'] as $ID_empresa) {
        unset($datos);
        $datos['ID_empresa'] = $ID_empresa;
        $datos['ID_usuario'] = usuario_cache('ID_usuario');
        $datos['fecha_registro'] = mysql_datetime();
        $_POST['pendiente'] = (int) @$_POST['pendiente'];
        if ($_POST['pendiente'] == 0) {
            $datos['fecha_saldado'] = mysql_datetime();
        }
        if (empty($_POST['cantidad_dias']) && empty($_POST['fecha_fin'])) {
            $errores[] = 'No especifico duracion en dias ni fecha limite';
        }
        if (!empty($_POST['cantidad_dias']) && is_numeric($_POST['cantidad_dias'])) {
            $_POST['fecha_fin'] = mysql_date($_POST['fecha_inicio'] . ' +' . $_POST['cantidad_dias'] . ' day');
        }
        if (!preg_match('/\\d{4}-\\d{2}-\\d{2}/', $_POST['fecha_inicio'])) {
            $errores[] = 'La fecha de inicio no es válida';
        }
        if (!preg_match('/\\d{4}-\\d{2}-\\d{2}/', $_POST['fecha_fin'])) {
            $errores[] = 'La fecha de fin no es válida';
        }
        $datos = array_merge($datos, array_intersect_key($_POST, array_flip(array('fecha_inicio', 'fecha_fin', 'pago', 'pendiente'))));
        if (isset($errores)) {
Beispiel #12
0
    }
    if (isset($_POST['recordatorio'])) {
        $fecha = date('Y-m-d', strtotime(str_replace('/', '-', $_POST['fecha']))) . ' ' . $_POST['hora'];
        db_actualizar_datos(db_prefijo . 'prospectos', array('situacion' => 'recordatorio'), 'ID_prospecto=' . db_codex($_POST['ID_prospecto']));
        db_agregar_datos(db_prefijo . 'recordatorio', array('ID_usuario' => _F_usuario_cache('ID_usuario'), 'ID_prospecto' => $_POST['ID_prospecto'], 'fecha' => $fecha, 'nota' => $_POST['notas']));
        db_agregar_datos(db_prefijo . 'notas', array('ID_prospecto' => $_POST['ID_prospecto'], 'ID_usuario' => _F_usuario_cache('ID_usuario'), 'nota' => $_POST['notas'] . '<hr /><small>Recordatorio establecido para <b>' . $fecha . '</b></small>', 'fecha' => mysql_datetime(), 'accion' => 'recordatorio'));
        // Guardemos lo que llevamos de la encuesta
        _prospecto_guardar_encuesta();
    }
    if (isset($_POST['reciclar'])) {
        db_actualizar_datos(db_prefijo . 'prospectos', array('situacion' => 'luego'), 'ID_prospecto=' . $_POST['ID_prospecto']);
        db_agregar_datos(db_prefijo . 'notas', array('ID_prospecto' => $_POST['ID_prospecto'], 'ID_usuario' => _F_usuario_cache('ID_usuario'), 'nota' => $_POST['notas'], 'fecha' => mysql_datetime(), 'accion' => 'luego'));
    }
    if (isset($_POST['descartar'])) {
        db_actualizar_datos(db_prefijo . 'prospectos', array('situacion' => 'descartado'), 'ID_prospecto=' . $_POST['ID_prospecto']);
        db_agregar_datos(db_prefijo . 'notas', array('ID_prospecto' => $_POST['ID_prospecto'], 'ID_usuario' => _F_usuario_cache('ID_usuario'), 'nota' => $_POST['notas'], 'fecha' => mysql_datetime(), 'accion' => 'descartado'));
    }
}
// Obtener un prospecto a la suerte.
// Solo que debe cumplir las siguientes condiciones:
// * Situacion = nuevo
// * ultima_presentacion = núnca o 7 días antes
// * preferencia horaria: east, central, west
/* FIX: usar transacción para evitar condición de carrera */
// Esta viendo un recordatorio
if (isset($_GET['p']) && isset($_GET['r'])) {
    $cRecordatorio = 'SELECT `ID_recordatorio`, `ID_usuario`, `ID_prospecto`, `fecha`, `nota` FROM `' . db_prefijo . 'recordatorio` WHERE ID_recordatorio = "' . db_codex($_GET['r']) . '" AND ID_prospecto = "' . db_codex($_GET['p']) . '"';
    $rRecordatorio = db_consultar($cRecordatorio);
    if (mysql_num_rows($rRecordatorio) && ($fRecordatorio = mysql_fetch_assoc($rRecordatorio))) {
        db_consultar('DELETE FROM ' . db_prefijo . 'recordatorio WHERE ID_recordatorio="' . $fRecordatorio['ID_recordatorio'] . '" AND ID_prospecto="' . db_codex($fRecordatorio['ID_prospecto']) . '"');
        db_actualizar_datos(db_prefijo . 'prospectos', array('situacion' => 'nuevo'), 'ID_prospecto=' . $fRecordatorio['ID_prospecto']);
    if (empty($_POST['fecha'])) {
        $_POST['fecha'] = date('Y-m-d');
    } elseif (strtotime($_POST['fecha'] . ' ' . $_POST['tiempo'] . ' ' . $_POST['tiempo2']) > time()) {
        $errores[] = 'La fecha especificada es posterior a la fecha actual';
    } elseif (!empleado_validar__fecha_dentro_de_periodo_laboral_activo($empleado['ID_empleado'], $_POST['fecha'])) {
        $errores[] = 'La fecha espeficada no es permitida puesto que no corresponde con el periodo laboral activo del empleado.';
    }
    if (isset($errores)) {
        echo '<h2>Errores encontrados en la comprobación</h2><p class="error">' . join('</p><p class="error">', $errores) . '</p>';
    } else {
        $mensaje[] = array('tipo' => 'info', 'mensaje' => 'El usuario <strong>' . usuario_cache('nombre') . '</strong>, añadió una acción de personal de tipo <strong>' . @$_POST['categoria'] . '</strong> con intensidad "<strong>' . @$_POST['intensidad'] . '</strong>" y con justificacion "<strong>' . @$_POST['justificacion'] . '</strong>" para el empleado <strong>' . $empleado['apellidos'] . ', ' . $empleado['nombres'] . '</strong>.');
        mensaje(array(usuario_cache('ID_empresa')), $mensaje);
        $datos['grupo'] = "accion_de_personal";
        $datos['ID_empleado'] = $empleado['ID_empleado'];
        $datos['fecha_registro'] = mysql_datetime();
        $_POST['valor_fecha'] = mysql_datetime($_POST['fecha'] . ' ' . $_POST['tiempo'] . ' ' . $_POST['tiempo2']);
        $datos = array_merge($datos, array_intersect_key($_POST, array_flip(array('categoria', 'detalle1', 'detalle2', 'valor', 'valor_fecha'))));
        $ID_empleado_anexo = db_agregar_datos(db_prefijo . 'empleado_anexo', $datos);
        if ($ID_empleado_anexo) {
            echo '<h1>Registro anexado</h1>';
            echo '<p>El registro ha sido ingresado a la base de datos.</p>';
            echo '<p><input type="button" onclick="javascript:window.close()" value="Cerrar ventana"/></p>';
            echo '<hr class="consulta" />';
        } else {
            echo '<h1>Error</h1>';
            echo '<p class="error">Lo sentimos, sucedio un error desconocido y su solicitud no pudo ser procesada, puede intentarlo nuevamene si lo desea</p>';
        }
    }
}
$arrCSS[] = 'overcast/jquery-ui-1.8rc3.custom';
$arrJS[] = 'jquery-ui-1.8rc3.min';
Beispiel #14
0
function CONTENIDO_REGISTRAR()
{
    if (S_iniciado()) {
        header("location: ./");
        return;
    }
    if (isset($_POST['registrar_proceder'])) {
        $flag_registroExitoso = true;
        if (!empty($_POST['registrar_campo_email'])) {
            if (!validEmail($_POST['registrar_campo_email'])) {
                echo mensaje("Este correo electrónico no es válido, por favor revise que este escrito correctamente o escoja otro e intente de nuevo", _M_ERROR);
                $flag_registroExitoso = false;
            }
            if (_F_usuario_existe($_POST['registrar_campo_email'], "email")) {
                echo mensaje("Este correo electrónico ya existe en el sistema, por favor escoja otro e intente de nuevo", _M_ERROR);
                $flag_registroExitoso = false;
            }
            $datos['email'] = $_POST['registrar_campo_email'];
        } else {
            echo mensaje("Por favor ingrese su email e intente de nuevo", _M_ERROR);
            $flag_registroExitoso = false;
        }
        if (!empty($_POST['registrar_campo_usuario'])) {
            if (_F_usuario_existe($_POST['registrar_campo_usuario'])) {
                echo mensaje("Este nombre de usuario ya existe en el sistema, por favor escoja otro e intente de nuevo", _M_ERROR);
                $flag_registroExitoso = false;
            }
            if (strpos(trim($_POST['registrar_campo_usuario']), " ")) {
                echo mensaje("Este nombre de usuario no es válido (contiene espacios), por favor escoja otro e intente de nuevo", _M_ERROR);
                $flag_registroExitoso = false;
            }
            $datos['usuario'] = trim($_POST['registrar_campo_usuario']);
        } else {
            echo mensaje("Por favor ingrese su usuario e intente de nuevo", _M_ERROR);
            $flag_registroExitoso = false;
        }
        if (!empty($_POST['registrar_campo_clave']) && !empty($_POST['registrar_campo_clave_2'])) {
            //Contraseñas iguales?
            if (trim($_POST['registrar_campo_clave']) == trim($_POST['registrar_campo_clave_2'])) {
                //Tamaño adecuado?
                if (strlen($_POST['registrar_campo_clave']) >= 6 && strlen($_POST['registrar_campo_clave']) <= 100) {
                    $datos['clave'] = sha1(strtolower($datos['usuario']) . trim($_POST['registrar_campo_clave']));
                } else {
                    echo mensaje("La contraseña debe tener mas de 6 caracteres", _M_ERROR);
                    $flag_registroExitoso = false;
                }
            } else {
                echo mensaje("Las contraseñas no coinciden, por favor ingrese su contraseña e intente de nuevo", _M_ERROR);
                $flag_registroExitoso = false;
            }
        } else {
            echo mensaje("Por favor ingrese su contraseña e intente de nuevo", _M_ERROR);
            $flag_registroExitoso = false;
        }
        if (!empty($_POST['registrar_campo_telefono'])) {
            if (_F_usuario_existe($_POST['registrar_campo_telefono'], "telefono1")) {
                echo mensaje("Este teléfono ya existe en el sistema, por favor escoja otro e intente de nuevo", _M_ERROR);
                $flag_registroExitoso = false;
            }
            $datos['telefono1'] = $_POST['registrar_campo_telefono'];
        } else {
            echo mensaje("Por favor ingrese su número telefonico e intente de nuevo", _M_ERROR);
            $flag_registroExitoso = false;
        }
        if ($flag_registroExitoso) {
            $datos["estado"] = _N_esp_activacion;
            $datos["nivel"] = _N_vendedor;
            $datos["ultimo_acceso"] = mysql_datetime();
            $datos["registro"] = mysql_datetime();
            db_agregar_datos("ventas_usuarios", $datos);
            echo "¡Su solicitud de registro ha sido procesada!<br />Sin embargo su cuenta estará activa cuando un Administrador apruebe su nueva cuenta.<br />Un mensaje será enviado su correo electrónico en el que se le confirmará que su cuenta esta activa.<br />Este proceso puede tardar entre 10 minutos y 2 horas en llevarse a cabo, gracias por su espera.<br />";
            echo "Le invitamos a seguir navegando en nuestro sitio mientras su cuenta es activada. " . ui_href("registrar_continuar", "./", "Continuar") . "<br />";
            email($datos['email'], "Su registro en " . PROY_NOMBRE . " ha sido exitoso", "Su registro de usuario  en " . PROY_NOMBRE . " ha sido exitoso, sin embargo los Administradores deberán activar manualmente su cuenta para que Ud. puede acceder.<br />\nSe le notificará por esta vía cuando la activación sea realizada.<br />\n\n<hr><br />\n<h1>Datos registrados</h1><br />\nCorreo electrónico: <strong>" . $datos['email'] . "</strong><br />\nUsuario: <strong>" . $datos['usuario'] . "</strong><br />\n<br /><br />Gracias por su amable espera.<br />" . PROY_NOMBRE . "<br />" . PROY_URL);
            email_x_nivel(_N_administrador, "Aprobación de nuevo usuario pendiente: " . $_POST['registrar_campo_usuario'] . ' ~ ' . crc32(microtime()), 'Estimado administrador de ' . PROY_NOMBRE . ', hay un nuevo usuario esperando aprobación.<br />Puede realizar la aprobación ingresando en la siguiente dirección: <a href="' . PROY_URL . 'admin_usuarios_activacion">Administración: activación de usuarios</a>');
            return;
        }
    }
    echo "¡Bienvenido!, ¿deseas formar parte del comercio electrónico?<br />Si ya posees una cuenta puedes " . ui_href("registrar_iniciar_sesion", "./iniciar", "iniciar sesión") . ".<br />Todos los campos son requeridos<br />";
    echo "<form action=\"registrar\" method=\"POST\">";
    echo "<table>";
    echo ui_tr(ui_td("<acronym title='Ud. ingresará a nuestro sistema usando esta dirección de correo electronico. Asegurese que la dirección exista, puesto que será necesaria en caso de que desee recuperar su contraseña.'>Correo electronico (e-mail)</acronym>") . ui_td(ui_input("registrar_campo_email", _F_form_cache("registrar_campo_email"))) . ui_td('<span id="registrar_respuesta_email"></span>'));
    echo ui_tr(ui_td("<acronym title='Este es el nombre que se le mostrará a los usuarios del sitio. Puede utilizar su código de vendedor o el apodo que Ud. prefiera'>Nombre de Usuario</acronym>") . ui_td(ui_input("registrar_campo_usuario", _F_form_cache("registrar_campo_usuario"))) . ui_td('<span id="registrar_respuesta_usuario"></span>'));
    echo ui_tr(ui_td("<acronym title='Le permitirá validar su identidad en nuestro sistema. Deberá ser mayor a 6 carácteres'>Contraseña</acronym>") . ui_td(ui_input("registrar_campo_clave", "", "password")));
    echo ui_tr(ui_td("<acronym title='Por favor ingrese nuevamente su contraseña (verificación)'>Contraseña (verificación)</acronym>") . ui_td(ui_input("registrar_campo_clave_2", "", "password")));
    echo ui_tr(ui_td("<acronym title='Número de contacto principal. Le llamaremos a este número si es necesario esclarecer datos sobre una venta'>Teléfono de contacto</acronym>") . ui_td(ui_input("registrar_campo_telefono", _F_form_cache("registrar_campo_telefono"))));
    echo "</table>";
    echo ui_input("registrar_proceder", "Proceder", "submit") . "<br />";
    echo "</form>";
    echo "<strong>Su correo electrónico y teléfono no serán revelados al público ni vendidos a terceras personas.</strong>";
    echo JS_onload('
$("#registrar_campo_email").blur(function(){$("#registrar_respuesta_email").load("./registro_correo_existe:"+$("#registrar_campo_email").val());});
$("#registrar_campo_usuario").blur(function(){$("#registrar_respuesta_usuario").load("./registro_usuario_existe:"+$("#registrar_campo_usuario").val());});
');
}
Beispiel #15
0
function INTERFAZ__ADMIN_USUARIOS_EDITAR()
{
    if (!empty($_POST['modificar'])) {
        $flag_registroExitoso = true;
        if (!empty($_POST['registrar_campo_email'])) {
            if (!validEmail($_POST['registrar_campo_email'])) {
                echo mensaje("Este correo electrónico no es válido, por favor revise que este escrito correctamente o escoja otro e intente de nuevo", _M_ERROR);
                $flag_registroExitoso = false;
            }
            $datos['email'] = $_POST['registrar_campo_email'];
        } else {
            echo mensaje("Por favor ingrese su email e intente de nuevo", _M_ERROR);
            $flag_registroExitoso = false;
        }
        if (!empty($_POST['registrar_campo_usuario'])) {
            if (strpos(trim($_POST['registrar_campo_usuario']), " ")) {
                echo mensaje("Este nombre de usuario no es válido (contiene espacios), por favor escoja otro e intente de nuevo", _M_ERROR);
                $flag_registroExitoso = false;
            }
            $datos['usuario'] = trim($_POST['registrar_campo_usuario']);
        } else {
            echo mensaje("Por favor ingrese su usuario e intente de nuevo", _M_ERROR);
            $flag_registroExitoso = false;
        }
        if (!empty($_POST['registrar_campo_clave']) && !empty($_POST['registrar_campo_clave_2'])) {
            //Contraseñas iguales?
            if (trim($_POST['registrar_campo_clave']) == trim($_POST['registrar_campo_clave_2'])) {
                //Tamaño adecuado?
                if (strlen($_POST['registrar_campo_clave']) >= 6 && strlen($_POST['registrar_campo_clave']) <= 100) {
                    $datos['clave'] = sha1(strtolower($datos['usuario']) . trim($_POST['registrar_campo_clave']));
                } else {
                    echo mensaje("La contraseña debe tener mas de 6 caracteres", _M_ERROR);
                    $flag_registroExitoso = false;
                }
            } else {
                echo mensaje("Las contraseñas no coinciden, por favor ingrese su contraseña e intente de nuevo", _M_ERROR);
                $flag_registroExitoso = false;
            }
        }
        if (!empty($_POST['registrar_campo_nombre'])) {
            $datos['nombre'] = $_POST['registrar_campo_nombre'];
        }
        if (isset($_POST['registrar_campo_telefono'])) {
            $datos['telefono1'] = $_POST['registrar_campo_telefono'];
        }
        if ($flag_registroExitoso) {
            $datos["estado"] = _N_activo;
            $datos["nivel"] = $_POST['nivel'];
            $datos["nPubMax"] = $_POST['nPubMax'];
            $datos["nImgMax"] = $_POST['nImgMax'];
            $datos["nDiasVigencia"] = $_POST['nDiasVigencia'];
            $datos["ultimo_acceso"] = mysql_datetime();
            $datos["tienda"] = isset($_POST['tienda']) ? "1" : "0";
            if (db_actualizar_datos("ventas_usuarios", $datos, "id_usuario=" . db_codex($_GET['usuario']))) {
                echo Mensaje("Usuario editado exitosamente");
                echo '<h1>Opciones</h1>';
                echo ui_href("", "admin_usuarios_admin", "Retornar a lista de usuarios");
            } else {
                echo Mensaje("Usuario NO PUDO ser editado o no se realizo ningun cambio", _M_ERROR);
            }
            if (isset($_POST['enviar_notificacion'])) {
                email($datos['email'], sprintf("Estimado %s, sus datos han sido modificados en " . PROY_NOMBRE . " por un Administrador", $datos['usuario']), "Sus datos de usuario  en " . PROY_NOMBRE . " han sido modificados por un administrador.<br />\n\n<hr><br />\n<h1>Datos actuales</h1><br />\nCorreo electrónico: <strong>" . $datos['email'] . "</strong><br />\nUsuario: <strong>" . $datos['usuario'] . "</strong><br /><br />" . PROY_NOMBRE . "<br />" . PROY_URL);
            }
            return;
        }
    }
    $usuario = _F_usuario_datos($_GET['usuario']);
    ?>
<h1>Edición de usuario</h1>
<form action="<?php 
    echo $_SERVER['REQUEST_URI'];
    ?>
" method="post" >
<table>
<tr><td>Correo electrónico</td><td><input name="registrar_campo_email" type="text" value="<?php 
    echo $usuario['email'];
    ?>
" /></tr>
<tr><td>Usuario</td><td><input name="registrar_campo_usuario" type="text" value="<?php 
    echo $usuario['usuario'];
    ?>
" /></tr>
<tr><td>Nombre</td><td><input name="registrar_campo_nombre" type="text" value="<?php 
    echo $usuario['nombre'];
    ?>
" /></tr>
<tr><td>Clave</td><td><input name="registrar_campo_clave" type="password" value="" /></tr>
<tr><td>Clave (confirmar)</td><td><input name="registrar_campo_clave_2" type="password" value="" /></tr>
<tr><td>Teléfono de contacto</td><td><input name="registrar_campo_telefono" type="text" value="<?php 
    echo $usuario['telefono1'];
    ?>
" /></tr>
<tr><td>Días de vigencia para publicaciones</td><td><input name="nDiasVigencia" type="text" value="<?php 
    echo $usuario['nDiasVigencia'];
    ?>
" /></tr>
<tr><td>Publicaciones máximas</td><td><input name="nPubMax" type="text" value="<?php 
    echo $usuario['nPubMax'];
    ?>
" /></tr>
<tr><td>Imagenes máximas</td><td><input name="nImgMax" type="text" value="<?php 
    echo $usuario['nImgMax'];
    ?>
" /></tr>
<tr>
<td>Nivel</td>
<td>
<select name="nivel">
    <option <? echo ($usuario['nivel'] == _N_administrador ? 'selected="selected"' : ""); ?> value="<?php 
    echo _N_administrador;
    ?>
">Administrador</option>
    <option <? echo ($usuario['nivel'] == _N_moderador ? 'selected="selected"' : ""); ?> value="<?php 
    echo _N_moderador;
    ?>
">Moderador</option>
    <option <? echo ($usuario['nivel'] == _N_vendedor? 'selected="selected"' : ""); ?> value="<?php 
    echo _N_vendedor;
    ?>
">Vendedor</option>
</select>
</td>
</tr>
</table>
<input name="tienda" value="1" <?php 
    echo $usuario['tienda'] == 1 ? 'checked="checked"' : "";
    ?>
 type="checkbox"/> Habilitar Tienda<br />
<input name="enviar_notificacion" value="Si" checked="checked" type="checkbox"/> Enviar notificación sobre este cambio al usuario<br />
<br />
<input name="modificar" value="Modificar" type="submit"/>
</form>
<?php 
    echo JS_onload('
$("#registrar_campo_email").keyup(function(){$("#registrar_respuesta_email").load("./registro_correo_existe:"+$("#registrar_campo_email").val());});
$("#registrar_campo_usuario").keyup(function(){$("#registrar_respuesta_usuario").load("./registro_usuario_existe:"+$("#registrar_campo_usuario").val());});
');
}
Beispiel #16
0
function CONTENIDO_REGISTRAR()
{
    if (S_iniciado()) {
        header("location: ./");
        return;
    }
    if (isset($_POST['registrar_proceder'])) {
        $flag_registroExitoso = true;
        if (!empty($_POST['registrar_campo_correo'])) {
            if (!validcorreo($_POST['registrar_campo_correo'])) {
                echo mensaje("Este correo electrónico no es válido, por favor revise que este escrito correctamente o escoja otro e intente de nuevo", _M_ERROR);
                $flag_registroExitoso = false;
            }
            if (_F_usuario_existe($_POST['registrar_campo_correo'], "correo")) {
                echo mensaje("Este correo electrónico ya existe en el sistema, por favor escoja otro e intente de nuevo", _M_ERROR);
                $flag_registroExitoso = false;
            }
            $datos['correo'] = $_POST['registrar_campo_correo'];
        } else {
            echo mensaje("Por favor ingrese su correo e intente de nuevo", _M_ERROR);
            $flag_registroExitoso = false;
        }
        if (!empty($_POST['registrar_campo_nombre_completo'])) {
            $datos['nombre_completo'] = trim($_POST['registrar_campo_nombre_completo']);
        } else {
            echo mensaje("Por favor ingrese su nombre completo e intente de nuevo", _M_ERROR);
            $flag_registroExitoso = false;
        }
        if (!empty($_POST['registrar_campo_clave']) && !empty($_POST['registrar_campo_clave_2'])) {
            //Contraseñas iguales?
            if (trim($_POST['registrar_campo_clave']) == trim($_POST['registrar_campo_clave_2'])) {
                //Tamaño adecuado?
                if (strlen($_POST['registrar_campo_clave']) >= 6 && strlen($_POST['registrar_campo_clave']) <= 100) {
                    $datos['clave'] = sha1(trim($_POST['registrar_campo_clave']));
                } else {
                    echo mensaje("La contraseña debe tener mas de 6 caracteres", _M_ERROR);
                    $flag_registroExitoso = false;
                }
            } else {
                echo mensaje("Las contraseñas no coinciden, por favor ingrese su contraseña e intente de nuevo", _M_ERROR);
                $flag_registroExitoso = false;
            }
        } else {
            echo mensaje("Por favor ingrese su contraseña e intente de nuevo", _M_ERROR);
            $flag_registroExitoso = false;
        }
        if (empty($_POST['registrar_campo_telefono'])) {
            echo mensaje("Por favor ingrese su número telefonico e intente de nuevo", _M_ERROR);
            $flag_registroExitoso = false;
        }
        $datos['telefono'] = $_POST['registrar_campo_telefono'];
        if ($flag_registroExitoso) {
            $datos["nivel"] = _N_usuario;
            $datos["ultimo_acceso"] = mysql_datetime();
            $datos["registro"] = mysql_datetime();
            db_agregar_datos(db_prefijo . 'usuarios', $datos);
            echo Mensaje('¡Su solicitud de registro ha sido procesada!.');
            echo '<p>Puede probar su nueva cuenta ingresando al sistema con el formulario a continuación</p>';
            // Comprobamos que no haya ingresado al sistema
            if (!S_iniciado()) {
                require_once "PHP/inicio.php";
                CONTENIDO_INICIAR_SESION();
                return;
            }
            correo($datos['correo'], "Su registro en " . PROY_NOMBRE . " ha sido exitoso", "Su registro de usuario  en " . PROY_NOMBRE . " ha sido exitoso<hr><br />\n<h1>Datos registrados</h1><br />\nCorreo electrónico: <strong>" . $datos['correo'] . "</strong><br />\nNombre completo: <strong>" . $datos['nombre_completo'] . "</strong><br />\n<br /><br />Gracias por registarse.<br />" . PROY_NOMBRE . "<br />" . PROY_URL);
            return;
        }
    }
    $HEAD_titulo = PROY_NOMBRE . ' - Registrar cuenta';
    echo "<p>¡Bienvenido!, ¿desea vivir la mejor experiencia en compra de flores en El Salvador?<br />Si ya posee una cuenta puede " . ui_href("", "./iniciar", "iniciar sesión") . '</p>';
    echo __PORQUE_TENER_CUENTA;
    echo "<form action=\"registrar\" method=\"POST\">";
    echo "<table>";
    echo ui_tr(ui_td("<acronym title='Ud. ingresará a nuestro sistema usando esta dirección de correo electronico. Asegurese que la dirección exista, puesto que será necesaria en caso de que desee recuperar su contraseña.'>Correo electronico (e-mail)</acronym>") . ui_td(ui_input("registrar_campo_correo", _F_form_cache("registrar_campo_correo"))) . ui_td('<span id="registrar_respuesta_correo"></span>'));
    echo ui_tr(ui_td("<acronym title='Este es el nombre que utilizaremos al contactarlo'>Nombre Completo</acronym>") . ui_td(ui_input("registrar_campo_nombre_completo", _F_form_cache("registrar_campo_nombre_completo"))) . ui_td('<span id="registrar_respuesta_nombre_completo"></span>'));
    echo ui_tr(ui_td("<acronym title='Le permitirá validar su identidad en nuestro sistema. Deberá ser mayor a 6 carácteres'>Contraseña</acronym>") . ui_td(ui_input("registrar_campo_clave", "", "password")));
    echo ui_tr(ui_td("<acronym title='Por favor ingrese nuevamente su contraseña (verificación)'>Contraseña (verificación)</acronym>") . ui_td(ui_input("registrar_campo_clave_2", "", "password")));
    echo ui_tr(ui_td("<acronym title='Número de contacto principal. Le llamaremos a este número si es necesario esclarecer datos sobre una venta'>Teléfono de contacto</acronym>") . ui_td(ui_input("registrar_campo_telefono", _F_form_cache("registrar_campo_telefono"))));
    echo "</table>";
    echo ui_input("registrar_proceder", "Proceder", "submit") . "<br />";
    echo "</form>";
    echo "<strong>Su correo electrónico, teléfono, dirección u otros datos no serán revelados al público ni vendidos a terceras personas.</strong>";
    echo JS_onload('
$("#registrar_campo_correo").blur(function(){$("#registrar_respuesta_correo").load("./registro_correo_existe:"+$("#registrar_campo_correo").val());});
');
}
Beispiel #17
0
function CONTENIDO_MP($opciones = array())
{
    // Comprobamos que ya haya ingresado al sistema
    if (!S_iniciado()) {
        echo "Necesitas iniciar sesión para poder <b>enviar Mensajes Privados</b>.<br />";
        require_once "PHP/inicio.php";
        CONTENIDO_INICIAR_SESION();
        return;
    }
    // Será que quiere eliminar un MP que recibio?.
    if (!empty($_GET['ae']) && $_GET['ae'] == 'eliminar' && !empty($_GET['id_msj'])) {
        $c = "UPDATE ventas_mensajes_dst SET eliminado=1 WHERE id_msj='" . db_codex($_GET['id_msj']) . "' AND id_usuario_dst='" . _F_usuario_cache('id_usuario') . "'";
        $r = db_consultar($c);
        if (db_afectados() > 0) {
            echo Mensaje("Mensaje eliminado");
        } else {
            echo Mensaje("Mensaje no eliminado");
        }
    }
    // Será que quiere eliminar un MP que envió?.
    if (!empty($_GET['ae']) && $_GET['ae'] == 'eliminar2' && !empty($_GET['id_msj'])) {
        $c = "UPDATE ventas_mensajes SET eliminado=1 WHERE id='" . db_codex($_GET['id_msj']) . "' AND id_usuario_rmt='" . _F_usuario_cache('id_usuario') . "'";
        $r = db_consultar($c);
        if (db_afectados() > 0) {
            echo Mensaje("Mensaje eliminado");
        } else {
            echo Mensaje("Mensaje no eliminado");
        }
    }
    // Será que quiere marcar un MP como leido?.
    if (!empty($_GET['ae']) && $_GET['ae'] == 'leido' && !empty($_GET['id_msj'])) {
        $c = "UPDATE ventas_mensajes_dst SET leido=1 WHERE id_msj='" . db_codex($_GET['id_msj']) . "' AND id_usuario_dst='" . _F_usuario_cache('id_usuario') . "'";
        $r = db_consultar($c);
        if (db_afectados() > 0) {
            echo Mensaje("Mensaje marcado como leído");
        } else {
            echo Mensaje("Mensaje no pudo ser marcado como leído");
        }
    }
    // ----------------- ENVIAR MP ----------------- ENVIAR MP ----------------- ENVIAR MP -----------------
    // Si hay un id entonces quiere enviar un MP a ese ID
    if (!empty($_GET['id'])) {
        $id_usuario = db_codex($_GET['id']);
        // No se estará enviando el mensaje a el mismo verdad? XD
        if ($id_usuario == _F_usuario_cache('id_usuario')) {
            echo Mensaje("auto-enviarse mensajes privados no es permitido", _M_ERROR);
            return;
        }
        //Existe el usuario al cual quiere enviar el mensaje?
        if (!_F_usuario_existe($id_usuario, 'id_usuario')) {
            echo Mensaje("ha especificado un usuario de destino no existente en el sitema", _M_ERROR);
            return;
        }
        // Hay envío de MP?
        if (isset($_POST['enviar_mp']) && isset($_POST['mensaje'])) {
            // Será que quiere enviar una respuesta a otro MP
            if (!empty($_GET['id_msj'])) {
                $c = "SELECT a.id, id_usuario_rmt, (SELECT usuario FROM ventas_usuarios AS b WHERE b.id_usuario = a.id_usuario_rmt LIMIT 1) AS nombre_rmt, fecha, mensaje, tipo, contexto, asunto, fecha FROM ventas_mensajes AS a LEFT JOIN ventas_mensajes_dst as vmd ON a.id=vmd.id_msj WHERE vmd.id_msj='" . $_GET['id_msj'] . "' AND a.contexto=" . _MC_privado . " AND vmd.id_usuario_dst='" . _F_usuario_cache('id_usuario') . "' LIMIT 1";
                $r = db_consultar($c);
                // Será que se quiere pasar de vivo cambiando el id_msj
                if (mysql_num_rows($r) == 0) {
                    echo Mensaje("No puedes responder Mensajes <b>Privados</b> de otras personas.", _M_ERROR);
                    return;
                }
                $f = mysql_fetch_array($r);
                $_POST['asunto'] .= '[RESPUESTA A] ' . $f['asunto'];
                $_POST['mensaje'] .= '<br />' . htmlentities("-En respuesta a:\n" . $f['mensaje']);
            }
            //Agregamos el mensaje
            $datos["id_usuario_rmt"] = _F_usuario_cache('id_usuario');
            $datos["mensaje"] = $_POST['mensaje'];
            $datos["asunto"] = $_POST['asunto'];
            $datos["tipo"] = _M_NOTA;
            $datos["contexto"] = _MC_privado;
            $datos["fecha"] = mysql_datetime();
            $id_msj = db_agregar_datos("ventas_mensajes", $datos);
            unset($datos);
            //Agregamos el destinatario
            $datos["id_msj"] = $id_msj;
            $datos["id_usuario_dst"] = $id_usuario;
            $datos["leido"] = 0;
            $datos["eliminado"] = 0;
            $id_msj = db_agregar_datos("ventas_mensajes_dst", $datos);
            unset($datos);
            // Notificación por email del MP al destinatario:
            $usuario_destino = _F_usuario_datos($id_usuario);
            $mensaje = 'Acaban de enviarte un mensaje privado de parte de ' . _F_usuario_cache('usuario') . ' en ' . PROY_NOMBRE . ".<br /><br />\n\n";
            $mensaje .= 'IMPORTANTE: Recuerda, esto es solamente una notificación. Por favor, no respondas a este email.' . "<br /><br />\n\n";
            $mensaje .= 'El mensaje que te enviaron fue:' . "<br /><br />\n\n";
            $mensaje .= $_POST['mensaje'] . ".<br /><br />\n\n";
            $mensaje .= 'Responda a este mensaje privado aquí: ' . PROY_URL . 'perfil?op=mp';
            @email($usuario_destino['email'], 'Nuevo Mensaje Privado: ' . $_POST['asunto'], $mensaje);
            //Notificación visual al usuario que envió el MP
            echo Mensaje("¡Su mensaje privado ha sido enviado!");
            echo '<h1>Opciones</h1>';
            echo '<ul>';
            echo '<li><a href="' . PROY_URL . '">Ir pagina de inicio</a></li>';
            echo '<li><a href="' . curPageURL(true) . '">Ir a mi perfil</a></li>';
            echo '</ul>';
            return;
        }
        // ----------------- ENVIAR MP ----------------- ENVIAR MP ----------------- ENVIAR MP -----------------
        // No ha enviado el MP aún, mostrar el formulario de envío.
        if (!empty($_GET['id_msj'])) {
            $c = "SELECT a.id, id_usuario_rmt, (SELECT usuario FROM ventas_usuarios AS b WHERE b.id_usuario = a.id_usuario_rmt LIMIT 1) AS nombre_rmt, fecha, mensaje, tipo, contexto, asunto, fecha FROM ventas_mensajes AS a LEFT JOIN ventas_mensajes_dst as vmd ON a.id=vmd.id_msj WHERE vmd.id_msj='" . $_GET['id_msj'] . "' AND a.contexto=" . _MC_privado . " AND vmd.id_usuario_dst='" . _F_usuario_cache('id_usuario') . "'";
            $r = db_consultar($c);
            // Será que se quiere pasar de vivo cambiando el id_msj
            if (mysql_num_rows($r) == 0) {
                echo Mensaje("No puedes responder Mensajes <b>Privados</b> de otras personas.", _M_ERROR);
                return;
            }
            $f = mysql_fetch_array($r);
            $Asunto = 'RESPUESTA A: ' . $f['asunto'];
            $EnRespuestaA = htmlentities("---En respuesta a:\n" . $f['mensaje'], ENT_QUOTES, 'UTF-8');
        }
        $usuario_destino = _F_usuario_datos($id_usuario);
        echo '<form action="' . $_SERVER['REQUEST_URI'] . '" method="POST">';
        echo 'Este mensaje será enviado al usuario <b>' . $usuario_destino['usuario'] . '</b><br />';
        echo '<table>';
        echo ui_tr(ui_td('Asunto: ') . ui_td(ui_input('asunto', @$Asunto, "text", '', 'width:100%')));
        echo ui_tr(ui_td('Mensaje: ') . ui_td(ui_textarea('mensaje', '', '', 'width:100%')));
        echo '</table>';
        if (!empty($_GET['id_msj'])) {
            echo "<p><b>Se anexará automaticamente a su mensaje el siguiente texto:</b><br />", @$EnRespuestaA, "</p>";
        }
        echo ui_input("enviar_mp", "Enviar", "submit") . '<br />';
        echo '</form>';
    } else {
        echo '<h1>Mensajes privados</h1>';
        echo '<h2>Categorías</h2>';
        echo '<p><a class="btnlnk" href="', PROY_URL, 'perfil?op=mp">Nuevos</a> <a class="btnlnk" href="', PROY_URL, 'perfil?op=mpl">Leidos</a> <a class="btnlnk" href="', PROY_URL, 'perfil?op=mpe">Enviados</a></p>';
        echo '<h2>Mensajes</h2>';
        // Mostrale sus mensajes privados
        /* Necesito:
         * id de usuario del remitente
         * asunto
         * mensaje
         * fecha
         * nombre del remitente
         */
        if (empty($opciones['vista'])) {
            $opciones['vista'] = "nuevos";
        }
        switch ($opciones['vista']) {
            case 'nuevos':
                $c = "SELECT a.id, id_usuario_rmt, (SELECT usuario FROM ventas_usuarios AS b WHERE b.id_usuario = a.id_usuario_rmt LIMIT 1) AS 'usuario', fecha, mensaje, tipo, contexto, asunto, fecha FROM ventas_mensajes AS a LEFT JOIN ventas_mensajes_dst AS vmd ON a.id=vmd.id_msj WHERE a.contexto=" . _MC_privado . " AND vmd.leido=0 AND vmd.eliminado=0 AND vmd.id_usuario_dst='" . _F_usuario_cache('id_usuario') . "' ORDER BY fecha DESC";
                break;
            case 'leidos':
                $c = "SELECT a.id, id_usuario_rmt, (SELECT usuario FROM ventas_usuarios AS b WHERE b.id_usuario = a.id_usuario_rmt LIMIT 1) AS 'usuario', fecha, mensaje, tipo, contexto, asunto, fecha FROM ventas_mensajes AS a LEFT JOIN ventas_mensajes_dst AS vmd ON a.id=vmd.id_msj WHERE a.contexto=" . _MC_privado . " AND vmd.leido=1 AND vmd.eliminado=0 AND vmd.id_usuario_dst='" . _F_usuario_cache('id_usuario') . "' ORDER BY fecha DESC";
                break;
            case 'enviados':
                $c = "SELECT a.id, (SELECT usuario FROM ventas_usuarios AS b WHERE b.id_usuario = vmd.id_usuario_dst LIMIT 1) AS 'usuario', fecha, mensaje, tipo, contexto, asunto, fecha FROM ventas_mensajes AS a LEFT JOIN ventas_mensajes_dst AS vmd ON a.id=vmd.id_msj WHERE a.contexto=" . _MC_privado . " AND a.eliminado=0 AND a.id_usuario_rmt='" . _F_usuario_cache('id_usuario') . "' ORDER BY fecha DESC";
                break;
        }
        $r = db_consultar($c);
        if (mysql_num_rows($r) > 0) {
            echo '<table class="ancha resultados">';
            while ($f = mysql_fetch_array($r)) {
                echo ui_tr(ui_th('Usuario') . ui_th('Fecha') . ui_th('Asunto'));
                echo ui_tr(ui_td($f['usuario']) . ui_td(fechatiempo_h_desde_mysql_datetime($f['fecha'])) . ui_td($f['asunto']));
                echo '<tr><td colspan="3">' . $f['mensaje'] . '</td></tr>';
                switch ($opciones['vista']) {
                    case 'nuevos':
                        echo '<tr><td colspan="3"><a href="./perfil?op=mp&ae=responder&id=' . $f['id_usuario_rmt'] . '&id_msj=' . $f['id'] . '">responder</a> / <a href="./perfil?op=mp&ae=eliminar&id_msj=' . $f['id'] . '">eliminar</a> / <a href="./perfil?op=mp&ae=leido&id_msj=' . $f['id'] . '">marcar como leído</a></td></tr>';
                        break;
                    case 'leidos':
                        echo '<tr><td colspan="3"><a href="./perfil?op=mpl&ae=responder&id=' . $f['id_usuario_rmt'] . '&id_msj=' . $f['id'] . '">responder</a> / <a href="./perfil?op=mp&ae=eliminar&id_msj=' . $f['id'] . '">eliminar</a></td></tr>';
                        break;
                    case 'enviados':
                        echo '<tr><td colspan="3"><a href="./perfil?op=mpe&ae=eliminar2&id_msj=' . $f['id'] . '">eliminar</a></td></tr>';
                        break;
                }
                echo '<tr><td colspan="3"><hr /></td></tr>';
            }
            echo '</table>';
        } else {
            echo Mensaje('no tienes mensajes privados', _M_INFO);
        }
        return;
    }
}
Beispiel #18
0
function CONTENIDO_VENDER()
{
    global $arrJS, $arrHEAD;
    // Comprobamos que ya haya ingresado al sistema
    if (!S_iniciado()) {
        echo "Necesitas iniciar sesión para poder <b>publicar</b> y <b>vender</b>.<br />";
        require_once "PHP/inicio.php";
        CONTENIDO_INICIAR_SESION();
        return;
    }
    // --------------------------VARIABLES----------------------------
    $flag_op_y_saltar = false;
    $flag_enviar = isset($_POST['vender_enviar']);
    $flag_publicar = isset($_POST['vender_publicar']);
    $flag_modo_previsualizacion = isset($_POST['vender_previsualizar']);
    $flag_modo_escritura = (isset($_POST['vender_publicar']) || isset($_POST['vender_previsualizar'])) && !isset($_POST['vender_editar']);
    // --------------------------CATEGORIA-------------------------------
    if (!isset($_GET['op']) && !isset($_GET['ticket'])) {
        // Será que aún tiene ventas disponibles?
        if (ObtenerEstadisticasUsuario(_F_usuario_cache('id_usuario'), _EST_CANT_PUB_ACEPT) >= _F_usuario_cache('nPubMax')) {
            echo Mensaje("Ud. ha alcanzado su límite de publicaciones (" . _F_usuario_cache('nPubMax') . "), si desea agregar más publicaciones puede eliminar una publicación actual o adquirir una cuenta premium.");
        } else {
            // No ha escogido categoría, le mostramos las opciones.
            echo "<h1>Realizar una nueva publicación</h1>" . "Por favor seleccione la categoría mayor a la que pertenece su publicación. Esto es necesario para ofrecerle únicamente las opciones relevantes a su publicación, en el siguiente paso podrá definir la sub-categoría." . '<br />' . '<ul>' . '<li>' . ui_href("vender_ir_inmueble", "vender?op=inmueble", "Inmueble") . "<br /><span class='explicacion'>venta o alquiler de casas, apartamentos y demás bienes inmuebles</span></li>" . '<li>' . ui_href("vender_ir_inmueble", "vender?op=automotor", "Automotor") . "<br /><span class='explicacion'>venta o alquiler de automores (carros, vehículos, motocicletas y toda máquina propulsada por un motor)</span></li>" . '<li>' . ui_href("vender_ir_servicio", "vender?op=servicio", "Servicio") . " <br /><span class='explicacion'>servicios profesiales (electricista, programador, diseñador, albañil, constructor, arquitecto, etc.)</span></li>" . '<li>' . ui_href("vender_ir_articulo", "vender?op=articulo", "<strong>Artículo</strong>") . "<br /><span class='explicacion'>encontrarás sub categorías para todo lo que las anteriores 3 categorías mayores no cubren</span></li>" . '</ul>';
        }
        echo '<h1>Mis publicaciones</h1>';
        // Mostrar las ventas "vendidas":
        $c = "SELECT id_publicacion, titulo, id_categoria, DATE(fecha_fin) AS fecha_fin, IF((SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria) is NULL,'<sin categoría>',(SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria)) AS categoria, (SELECT rubro FROM ventas_categorias AS b WHERE b.id_categoria=a.id_categoria) AS rubro FROM ventas_publicaciones AS a WHERE id_usuario='" . _F_usuario_cache('id_usuario') . "' AND tipo=" . _A_vendido;
        $r = db_consultar($c);
        if (mysql_num_rows($r) > 0) {
            echo "<h2>Ventas realizadas y cerradas</h2>";
            echo '<table class="ancha">';
            echo '<tr><th>Título</th><th>Categoría</th><th>Tipo</th><th>Acciones</th></tr>';
            while ($f = mysql_fetch_array($r)) {
                echo "<tr><td><a href=\"clasificados-en-el-salvador-vendo-" . $f['id_publicacion'] . "_" . SEO($f['titulo']) . "\">" . htmlentities($f['titulo'], ENT_QUOTES, 'UTF-8') . "</a></td><td>" . htmlentities($f['categoria'], ENT_QUOTES, 'UTF-8') . "</td><td>" . htmlentities($f['rubro'], ENT_QUOTES, 'UTF-8') . "</td><td><a href=\"vender?ticket=" . $f['id_publicacion'] . "\">publicar nuevamente</a></td></tr>";
            }
            echo "</table>";
        }
        // Mostrar las ventas publicadas:
        $c = "SELECT id_publicacion, titulo, id_categoria, DATE(fecha_fin) AS fecha_fin, IF((SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria) is NULL,'<sin categoría>',(SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria)) AS categoria, (SELECT rubro FROM ventas_categorias AS b WHERE b.id_categoria=a.id_categoria) AS rubro FROM ventas_publicaciones AS a WHERE id_usuario='" . _F_usuario_cache('id_usuario') . "' AND tipo='" . _A_aceptado . "' AND fecha_fin >='" . mysql_datetime() . "'";
        $r = db_consultar($c);
        if (mysql_num_rows($r) > 0) {
            echo "<h2>Ventas publicadas actualmente</h2>";
            echo '<table class="ancha">';
            echo '<tr><th>Título</th><th>Expira</th><th>Categoría</th><th>Tipo</th><th>Acciones</th></tr>';
            while ($f = mysql_fetch_array($r)) {
                echo "<tr><td><a href=\"clasificados-en-el-salvador-vendo-" . $f['id_publicacion'] . "_" . SEO($f['titulo']) . "\">" . htmlentities($f['titulo'], ENT_QUOTES, 'UTF-8') . "</a></td><td>" . $f['fecha_fin'] . "</td><td>" . htmlentities($f['categoria'], ENT_QUOTES, 'UTF-8') . "</td><td>" . htmlentities($f['rubro'], ENT_QUOTES, 'UTF-8') . "</td><td><a href=\"clasificados-en-el-salvador-vendo-" . $f['id_publicacion'] . "_" . SEO($f['titulo']) . "?se=editar\">editar</a>|<a href=\"clasificados-en-el-salvador-vendo-" . $f['id_publicacion'] . "_" . SEO($f['titulo']) . "?se=cerrar\">¡vendido!</a>|" . ui_href("", "vender?ticket=" . $f['id_publicacion'] . "&eliminar=proceder", "eliminar") . "</td></tr>";
            }
            echo "</table>";
        }
        // Mostrar las ventas incompletas:
        $c = "SELECT id_publicacion, IF(titulo='','<sin título>', titulo) AS titulo2, id_categoria, IF((SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria) is NULL,'<sin categoría>',(SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria)) AS categoria, (SELECT rubro FROM ventas_categorias AS b WHERE b.id_categoria=a.id_categoria) AS rubro FROM ventas_publicaciones AS a WHERE id_usuario='" . _F_usuario_cache('id_usuario') . "' AND tipo='" . _A_temporal . "'";
        $r = db_consultar($c);
        if (mysql_num_rows($r) > 0) {
            echo "<h2>Publicaciones que no ha enviado a aprobación</h2>";
            echo '<table class="ancha">';
            echo '<tr><th>Título</th><th>Categoría</th><th>Tipo</th><th>Acciones</th></tr>';
            while ($f = mysql_fetch_array($r)) {
                echo "<tr><td>" . htmlentities($f['titulo2'], ENT_QUOTES, 'UTF-8') . "</td><td>" . htmlentities($f['categoria'], ENT_QUOTES, 'UTF-8') . "</td><td>" . htmlentities($f['rubro'], ENT_QUOTES, 'UTF-8') . "</td><td>" . ui_href("", "vender?ticket=" . $f['id_publicacion'], "continuar") . "|" . ui_href("", "vender?ticket=" . $f['id_publicacion'] . "&eliminar=proceder", "eliminar") . "</td></tr>";
            }
            echo "</table>";
        }
        // Mostrar las ventas esperando aprobación
        $c = "SELECT id_publicacion, (SELECT rubro FROM ventas_categorias AS b WHERE b.id_categoria=a.id_categoria) AS rubro, IF(titulo='','<sin título>', titulo) AS titulo2, id_categoria, IF((SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria) is NULL,'<sin categoría>',(SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria)) AS categoria FROM ventas_publicaciones AS a WHERE id_usuario='" . _F_usuario_cache('id_usuario') . "' AND tipo='" . _A_esp_activacion . "'";
        $r = db_consultar($c);
        if (mysql_num_rows($r) > 0) {
            echo "<h2>Publicaciones enviadas en espera de aprobación</h2>";
            echo '<table class="ancha">';
            echo '<tr><th>Título</th><th>Categoría</th><th>Tipo</th></tr>';
            while ($f = mysql_fetch_array($r)) {
                echo "<tr><td>" . htmlentities($f['titulo2'], ENT_QUOTES, 'UTF-8') . "</td><td>" . htmlentities($f['categoria'], ENT_QUOTES, 'UTF-8') . "</td><td>" . htmlentities($f['rubro'], ENT_QUOTES, 'UTF-8') . "</td></tr>";
            }
            echo "</table>";
        }
        // Mostrar las ventas caducadas
        $c = "SELECT id_publicacion, (SELECT rubro FROM ventas_categorias AS b WHERE b.id_categoria=a.id_categoria) AS rubro, IF(titulo='','<sin título>', titulo) AS titulo2, id_categoria, IF((SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria) is NULL,'<sin categoría>',(SELECT nombre FROM ventas_categorias AS b WHERE b.id_categoria = a.id_categoria)) AS categoria FROM ventas_publicaciones AS a WHERE id_usuario='" . _F_usuario_cache('id_usuario') . "' AND tipo = '" . _A_aceptado . "' AND fecha_fin < CURDATE()";
        $r = db_consultar($c);
        if (mysql_num_rows($r) > 0) {
            echo "<hr />";
            echo "<h2>Publicaciones que han caducado</h2>";
            echo '<table class="ancha">';
            echo '<tr><th>Título</th><th>Categoría</th><th>Tipo</th><th>Acciones</th></tr>';
            while ($f = mysql_fetch_array($r)) {
                echo "<tr><td><a href=\"clasificados-en-el-salvador-vendo-" . $f['id_publicacion'] . "_" . SEO($f['titulo2']) . "\">" . htmlentities($f['titulo2'], ENT_QUOTES, 'UTF-8') . "</a></td><td>" . htmlentities($f['categoria'], ENT_QUOTES, 'UTF-8') . "</td><td>" . htmlentities($f['rubro'], ENT_QUOTES, 'UTF-8') . "</td><td><a href=\"clasificados-en-el-salvador-vendo-" . $f['id_publicacion'] . "_" . SEO($f['titulo2']) . "?se=republicar\">republicar</a></td></tr>";
            }
            echo "</table>";
        }
        return;
    } elseif (isset($_GET['op']) && !isset($_GET['ticket'])) {
        $op = $_GET['op'];
        if (!is_numeric($op)) {
            $c = "SELECT id_categoria FROM ventas_categorias WHERE rubro='" . db_codex($op) . "' LIMIT 1";
        } else {
            $c = "SELECT id_categoria FROM ventas_categorias WHERE id_categoria='" . db_codex($op) . "' LIMIT 1";
        }
        $r = db_consultar($c);
        $f = mysql_fetch_row($r);
        if (!empty($f[0])) {
            $_POST["id_categoria"] = $f[0];
            $flag_modo_escritura = true;
            $flag_op_y_saltar = true;
        }
    } elseif (isset($_GET['op']) && isset($_GET['ticket'])) {
        $flag_modo_escritura = false;
        $flag_op_y_saltar = true;
    }
    // --------------------------TICKET-------------------------------
    // Creamos el Ticket Temporal de venta si no lo tenemos o validamos el actual
    $ticket = empty($_GET['ticket']) ? ObtenerTicketTMP(_F_usuario_cache('id_usuario')) : $_GET['ticket'];
    if (!ComprobarTicket($ticket)) {
        echo "La validación de su Ticket ha fallado.<br />";
        echo "Esto podría bien ser una falla del sistema o un error en su navegador.<br />";
        echo "Lo sentimos, por seguridad esta operación no continuará.";
        return;
    }
    db_consultar(sprintf('UPDATE ventas_publicaciones SET tipo=%s WHERE id_publicacion=%s', _A_temporal, $ticket));
    // ---Si el ticket es valido entoces rescatemos lo que lleva hecho---
    $arrHEAD[] = '<script type="text/javascript" src="JS/tiny_mce/tiny_mce_gzip.js"></script>
    <script type="text/javascript">
    tinyMCE_GZ.init({
            plugins : \'style,layer,table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,\'+
            \'searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras\',
            themes : \'advanced\',
            languages : \'es\',
            disk_cache : true,
            debug : false
    });
    </script>
    <script type="text/javascript">
    tinyMCE.init({
        language : "es",
	elements : "descripcion",
        theme : "advanced",
        mode : "exact",
        plugins : "safari,style,layer,table,advhr,advimage,advlink,media,paste,directionality,fullscreen,visualchars,nonbreaking,xhtmlxtras,template",
        theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect,cleanup,code",
        theme_advanced_buttons2 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,media,advhr,|,ltr,rtl,|,fullscreen",
        theme_advanced_buttons3 : "",
        theme_advanced_toolbar_location : "top",
        theme_advanced_toolbar_align : "left",
        button_tile_map : true,
    });</script>
    ';
    if (isset($_GET['eliminar'])) {
        if (!empty($_GET['ticket'])) {
            DestruirTicket($_GET['ticket']);
        }
        echo "La publicación ha sido cancelada y eliminada.<br />";
        echo ui_href("", "./", "Regresar a la página principal") . " / " . ui_href("", "./vender", "Regresar a ventas");
        return;
    }
    if (isset($_POST['vender_eliminar'])) {
        header("location: ./");
        if (!empty($_GET['ticket'])) {
            DestruirTicket($_GET['ticket']);
        }
        echo "Cancelando venta...";
        return;
    }
    /* Advertencia:
         Hay que recargar los datos luego de la edición para evitar problemas de que los cambios anteriores queden "en cache"
       */
    $Publicacion = ObtenerDatos($ticket);
    if ($flag_modo_escritura) {
        DescargarArchivos("vender_deshabilitar", $ticket, $Publicacion['id_usuario']);
        CargarArchivos("vender_imagenes", $ticket, $Publicacion['id_usuario']);
        CargarDatos($ticket, $Publicacion['id_usuario']);
        // Refrescamos los datos de la publicación
        $Publicacion = ObtenerDatos($ticket);
    }
    $Vendedor = _F_usuario_datos($Publicacion['id_usuario']);
    $imagenes = ObtenerImagenesArr($ticket, "");
    if ($flag_op_y_saltar) {
        header("location: ./vender?ticket={$ticket}");
    }
    if ($flag_modo_previsualizacion || $flag_publicar || $flag_enviar) {
        if (in_array(@$Publicacion["rubro"], array('articulo', 'automotor', 'inmueble')) && !count($imagenes)) {
            $flag_enviar = false;
            echo Mensaje("necesita agregar al menos una foto de su producto", _M_ERROR);
        }
        if (strlen($Publicacion['titulo']) < 20) {
            $flag_enviar = false;
            echo Mensaje("el título debe contener más de 20 letras", _M_ERROR);
        }
        if (strlen($Publicacion['titulo']) > 50) {
            $flag_enviar = false;
            echo Mensaje("el título no debe contener más de 100 letras", _M_ERROR);
        }
        if (strlen($Publicacion['descripcion_corta']) < 10) {
            $flag_enviar = false;
            echo Mensaje("la descripción corta debe contener más de 10 letras", _M_ERROR);
        }
        if (strlen($Publicacion['descripcion_corta']) > 300) {
            $flag_enviar = false;
            echo Mensaje("la descripción corta no debe contener más de 300 letras", _M_ERROR);
        }
    }
    if ($flag_enviar) {
        // Al fin lo terminó de editar y lo esta enviando... Aleluya!
        //-
        // Si es Admin entonces aprobar automaticamente, si no pues mandarlo a esperar activacion
        $c = "UPDATE ventas_publicaciones SET tipo='" . _A_esp_activacion . "' WHERE id_publicacion={$ticket} LIMIT 1";
        $r = db_consultar($c);
        if (db_afectados() == 1) {
            if (_F_usuario_cache('nivel') == _N_administrador) {
                Publicacion_Aprobar($ticket);
                echo Mensaje("Su venta ha sido publicada", _M_INFO);
            } else {
                $vendedor = _F_usuario_datos($Publicacion['id_usuario']);
                email($vendedor['email'], PROY_NOMBRE . ' - Publicación "' . $Publicacion['titulo'] . '" ha sido recibida', 'Su publicación ha sido recibida en nuestro sistema y se encuentra en proceso de activación.<br />\\nEsta activación puede demorar entre <strong>1 minuto y 1 hora</strong> dependiendo de la disponibilidad de los administradores en línea.<br />Esta corta espera es necesaria para realizar una revisión de las publiciaciones y así poder ofrecer el mejor contenido a nuestros visitantes.<br />\\n!Gracias por preferir ' . PROY_NOMBRE . ' para realizar sus publicaciones!');
                email_x_nivel(_N_administrador, 'Nueva publicacion: ' . $Publicacion['titulo'] . ' ' . crc32(microtime()), 'Estimado administrador de ' . PROY_NOMBRE . ', hay una nueva publicacion esperando aprobación: ' . $Publicacion['titulo'] . '.<br />Puede realizar la aprobación ingresando en la siguiente dirección: <a href="' . PROY_URL . 'admin_publicaciones_activacion">Administración: aprobacion de publicaciones</a>');
                echo Mensaje('Su venta ha sido exitosamente enviada para aprobación', _M_INFO);
            }
        } else {
            echo Mensaje("Su venta ha NO a sido enviada para aprobación, sucedió algún error", _M_ERROR);
        }
        echo "Continuar a: " . ui_href("", "vender", "publicar otra venta") . " / " . ui_href("", "./", "página principal") . "<br />";
        return;
    }
    if ($flag_modo_previsualizacion || $flag_publicar) {
        // Si es admin no verá el mensaje confuso.
        if ($Publicacion['id_usuario'] == _F_usuario_cache('id_usuario')) {
            echo mensaje("esta es una previsualización.<br />Su publicacion no será visible al publico hasta que presione el botón \"Enviar\".<br />Por favor revise una ultima ves su publicacion antes de enviarla.", _M_INFO);
        }
        echo '<hr />';
        echo "<p>Esta publicando en la categoría <strong>" . get_path(db_codex(@$Publicacion['id_categoria']), false) . "</strong></p>";
        echo "<h2>Vista preliminar de su publicación en las listas</h2>";
        echo VISTA_ListaPubs("id_publicacion={$ticket}", "", "previsualizacion", "Woops!, ¡problemas intentando cargar la previsualización!");
        echo "<h2>Vista preliminar de su publicación al ser accedida</h2>";
        echo '<div id="prev_pub">';
        require_once "PHP/contenido.php";
        $_GET['publicacion'] = $ticket;
        CONTENIDO_PUBLICACION("previsualizacion");
        echo "</div>";
        echo '<hr style="margin-bottom:50px" />';
    }
    // -----------------------------------------------------------------
    // Inicio de formulario
    echo "<form action=\"vender?ticket={$ticket}\" method=\"POST\" enctype=\"multipart/form-data\">";
    if ($flag_publicar) {
        $Aprobacion = _F_usuario_cache('nivel') == _N_administrador ? "Ud. es administrador, su publicación será aprobada automaticamente" : "No podrá editar su publicación de nuevo hasta que esta sea esta sea revisada y aprobada.";
        echo "<span class='explicacion'>Esta a punto de enviar su publicación a revisión. Puede seguir editando su publicación presionando el botón <b>Editar</b> o finalizar presionando el botón <b>Enviar</b>.<br />{$Aprobacion}</span>";
        echo "<br />";
        echo "<center>";
        echo ui_input("vender_editar", "Editar", "submit");
        echo ui_input("vender_enviar", "Enviar", "submit");
        echo "</center>";
        return;
    }
    echo "<ol class=\"ventas\">";
    echo "<li>Selección de categoría</li>";
    echo "<span class='explicacion'>Ubique su árticulo en la categoría que consideres apropiada.</span>";
    echo "Mi árticulo corresponde a la siguiente categoría<br />" . ui_combobox("id_categoria", join("", ver_hijos("", @$Publicacion["rubro"])), @$Publicacion["id_categoria"]) . "<br />";
    echo "<li>Precio</li>";
    echo "<span class='explicacion'>Précio en dólares de Estados Unidos de America (\$ USA).</span>";
    echo "Précio " . ui_input("precio", @$Publicacion["precio"], "", "", "width:30ex", "MAXLENGTH='30'") . "<br />";
    echo "<li>Título de la publicación</li>";
    echo "<span class='explicacion'>Utilice un título corto, descriptivo y llamativo, máximo 50 carácteres. No se admite código HTML.</span>";
    echo "Titulo " . ui_input("titulo", @$Publicacion["titulo"], "text", "", "width:50ex", "MAXLENGTH='50'") . "<br />";
    echo "<li>Tags (palabras clave) para publicación</li>";
    echo "<span class='explicacion'>Utilice 5 palabras (máximo) separadas por coma (,) que describan su producto. Para casos como 'El Salvador' ingreselo como 'El-Salvador'</span>";
    echo "Tags " . ui_input("tags", @$Publicacion["tags"], "text", "", "width:50ex", "MAXLENGTH='50'") . "<br />";
    echo "<li>Descripción corta de la publicación</li>";
    echo "<span class='explicacion'>Describa brevemente su venta (o prestación de servicio), solo los detalles más importantes, máximo 300 carácteres. No se admite código HTML.</span>";
    echo "Descripción corta " . ui_input("descripcion_corta", @$Publicacion["descripcion_corta"], "text", "", "width:70ex", "MAXLENGTH='300'") . "<br />";
    echo "<li>Descripción del artículo</li>";
    echo "<span class='explicacion'>Describa en detalle tu artículo, incluye todos los datos relevantes que desees, máximo 5000 carácteres.<br />¡Puedes usar <a href=\"http://www.bbcode-to-html.com/\">bbcode-to-html</a> para convertir tus mensajes de SVCommunity.org a HTML!, si lo haces de esta forma utiliza el botón \"html\" para ingresar el texto resultante.</span>";
    echo "Descripción larga<br />" . ui_textarea("descripcion", @$Publicacion["descripcion"], "", "width:100%;height:20em;") . "<br />";
    if (in_array(@$Publicacion["rubro"], array("articulo", "automotor"))) {
        echo "<li>Características del artículo</li>";
        echo "<span class='explicacion'>Seleccione solo las opciones que ayuden a describir de forma precisa tu producto.</span>";
        echo db_ui_checkboxes("venta[]", "ventas_flags", "id_flag", "nombrep", "descripcion", ObtenerFlags($ticket, "venta"), "", "tipo='venta'");
    }
    echo "<li>Formas de pago admitidas</li>";
    echo "<span class='explicacion'>Selecione solo las opciones de pago que admitirá.</span>";
    echo db_ui_checkboxes("pago[]", "ventas_flags", "id_flag", "nombrep", "descripcion", ObtenerFlags($ticket, "pago"), "", "tipo='pago'");
    if (in_array(@$Publicacion["rubro"], array("articulo"))) {
        echo "<li>Formas de entrega admitidas</li>";
        echo "<span class='explicacion'>Selecione solo las opciones de tipos de entrega que admitirá.</span>";
        echo db_ui_checkboxes("entrega[]", "ventas_flags", "id_flag", "nombrep", "descripcion", ObtenerFlags($ticket, "entrega"), "", "tipo='entrega'");
    }
    switch (@$Publicacion["rubro"]) {
        case "articulo":
            echo "<li>Fotografías del artículo</li>";
            break;
        case "automotor":
            echo "<li>Fotografías del automotor</li>";
            break;
        case "inmueble":
            echo "<li>Fotografías del inmueble</li>";
            break;
        case "servicio":
            echo "<li>Imagen relacionada con su servicio (logotipo, etc.)</li>";
            break;
    }
    echo '<span class="explicacion">Cargue las fotografías reales de su artículo, <strong style="color:#F00">necesita al menos una foto para que su publicacion sea aprobada y publicada</strong>.<br />Imagenes tomadas de la página del fabricante o similires son permitidas con un máximo de dos imagenes.<br />En total se admiten cinco imagenes</span>';
    echo "<br />";
    if (isset($imagenes) && is_array($imagenes)) {
        foreach ($imagenes as $archivo) {
            echo "<div style='display:inline-block'><a href=\"./imagen_" . $archivo . "\" title=\"IMAGEN CARGADA\" target=\"_blank\"><img src=\"./imagen_" . $archivo . "m\" /></a><br />" . ui_input("vender_deshabilitar[]", $archivo, "checkbox") . "&nbsp;Eliminar</div>";
        }
        echo "<div style=\"clear:both\"></div>";
    }
    $NoMaxImg = in_array(@$Publicacion["rubro"], array("servicio")) ? 1 : $Vendedor['nImgMax'];
    $inicio = isset($imagenes) ? count($imagenes) : 0;
    for ($i = $inicio; $i < $NoMaxImg; $i++) {
        echo "Imagen " . ($i + 1) . ": Cargar " . ui_input("vender_imagenes[]", "", "file") . "<br />";
    }
    // Si es admin solo verá "Guardar".
    if ($Publicacion['id_usuario'] == _F_usuario_cache('id_usuario')) {
        echo "<li>Previsualizar y Publicar</li>";
        echo "</li>";
        echo "<span class='explicacion'>Puede observar como quedaría su publicación utilizando el botón 'Previsualizar'.<br />Cuando este satisfecho con el resultado presione el botón 'Publicar'.</span>";
        echo "<br />";
        echo "<center>";
        echo ui_input("vender_previsualizar", "Vista previa", "submit");
        echo ui_input("vender_publicar", "Publicar", "submit");
    } else {
        echo ui_input("vender_previsualizar", "Guardar", "submit");
    }
    echo ui_input("vender_eliminar", "Eliminar", "submit");
    echo "</center>";
    echo "</form>";
}
Beispiel #19
0
function empleado_buscar($op)
{
    $arrErrores = array();
    $arrAdvertencias = array();
    // Revisamos las opciones
    $funcion = isset($op['funcion']) ? $op['funcion'] : 'empleado_buscar__vista_estandar';
    $arrPARAMS = array_intersect_key($op, array('ID_empresa' => '', 'DUI' => '', 'NIT' => '', 'nombres' => '', 'apellidos' => ''));
    $WHERE = $CAMPOS = $PARAMS = $ORDER_BY = $GROUP_BY = '';
    if (count($arrPARAMS)) {
        foreach ($arrPARAMS as $campo => $valor) {
            if ($valor) {
                $valor = db_codex($valor);
                $PARAMS .= " AND empleado.{$campo}=\"{$valor}\"";
            }
        }
    }
    if (!empty($op['nombre_completo'])) {
        $op['nombre_completo'] = db_codex($op['nombre_completo']);
        $PARAMS .= ' AND MATCH (nombres,apellidos) AGAINST("' . $op['nombre_completo'] . '" IN BOOLEAN MODE)';
        if (isset($op['limite']) && $op['limite'] == 'solo_activos_si_nombre') {
            $op['WHERE'] = 'AND (SELECT COUNT(*) FROM cese WHERE cese.ID_empleado=empleado.ID_empleado AND cese.fecha_cese > ALL(SELECT fecha_inicio FROM historial WHERE historial.ID_empleado=empleado.ID_empleado)) = 0';
        }
    }
    if (isset($op['limite']) && $op['limite'] == 'solo_activos') {
        $op['WHERE'] = 'AND (SELECT COUNT(*) FROM cese WHERE cese.ID_empleado=empleado.ID_empleado AND cese.fecha_cese > ALL(SELECT fecha_inicio FROM historial WHERE historial.ID_empleado=empleado.ID_empleado)) = 0';
    }
    if (isset($op['limite']) && $op['limite'] == 'solo_inactivos') {
        $op['WHERE'] = 'AND (SELECT COUNT(*) FROM cese WHERE cese.ID_empleado=empleado.ID_empleado AND cese.fecha_cese > ALL(SELECT fecha_inicio FROM historial WHERE historial.ID_empleado=empleado.ID_empleado)) > 0';
    }
    if (isset($op['estricto'])) {
        if (empty($arrPARAMS['DUI']) || empty($arrPARAMS['NIT']) || !preg_match('/\\d{8}-\\d/', $arrPARAMS['DUI']) || !preg_match('/\\d{4}-\\d{6}-\\d{3}-\\d/', $arrPARAMS['NIT'])) {
            $arrErrores[] = 'DUI o NIT faltantes o inválidos';
            $PARAMS = '= 0';
        }
    }
    if (!empty($op['campos'])) {
        $CAMPOS = ',' . $op['campos'];
    }
    if (!empty($op['WHERE'])) {
        $WHERE = ' ' . $op['WHERE'];
    }
    if (!empty($op['ORDER_BY'])) {
        $ORDER_BY = ' ORDER BY ' . $op['ORDER_BY'];
    }
    if (!empty($op['GROUP_BY'])) {
        $GROUP_BY = ' GROUP BY ' . $op['GROUP_BY'];
    }
    $c = sprintf('SELECT %s %s FROM `empleado` LEFT JOIN `empresa` USING(ID_empresa) LEFT JOIN `usuario` USING(`ID_usuario`) LEFT JOIN `cese` USING(ID_empleado) WHERE 1 %s %s %s %s', SQL_CAMPOS_EMPLEADO, $CAMPOS, $WHERE, $PARAMS, $ORDER_BY, $GROUP_BY);
    $r = db_consultar($c);
    // Grabar el resultado de la consulta solo si no es un admin o admin disfrazado de empresa
    if (usuario_cache('nivel') != NIVEL_administrador && !isset($_SESSION['cache_datos_usuario']['su'])) {
        unset($datos);
        $datos['ID_empresa'] = usuario_cache('ID_empresa');
        $datos['ID_usuario'] = usuario_cache('ID_usuario');
        $datos['DUI'] = @$op['DUI'];
        $datos['NIT'] = @$op['NIT'];
        $datos['contenido'] = @$op['nombre_completo'];
        $datos['limite'] = @$op['limite'];
        $datos['query'] = $c;
        $datos['modalidad'] = @$op['modo'];
        $datos['tiempo'] = mysql_datetime();
        db_agregar_datos('consulta', $datos);
    }
    if (!isset($op['no_resultados_no_error']) && !mysql_num_rows($r)) {
        $arrErrores[] = 'No se encontraron registros de empleados <strong>activos</strong> que coincidan con su criterio de búsqueda';
    }
    return call_user_func($funcion, $r, $arrErrores, $arrAdvertencias, $op);
}
Beispiel #20
0
function EnviarNota($Mensaje, $Usuario = NULL, $Tipo = _M_INFO, $Contexto = _MC_broadcast)
{
    // Solo los administradores pueden enviar mensajes a TODOS los usuarios.
    if (_F_usuario_cache('nivel') != _N_administrador && !$Usuario) {
        return 1;
    }
    // Solo los administradores pueden enviar mensajes "BroadCast"
    if (_F_usuario_cache('nivel') != _N_administrador && ($Contexto = _MC_broadcast)) {
        return 1;
    }
    $datos['id_usuario_rmt'] = _F_usuario_cache('id_usuario');
    $datos['mensaje'] = $Mensaje;
    $datos['tipo'] = $Tipo;
    $datos['contexto'] = $Contexto;
    $datos['fecha'] = mysql_datetime();
    $id_msj = db_agregar_datos("ventas_mensajes", $datos);
    unset($datos);
    $datos['id_usuario_dst'] = $Usuario;
    $datos['id_msj'] = $id_msj;
    $datos['leido'] = 0;
    $datos['eliminado'] = 0;
    $ret = db_agregar_datos("ventas_mensajes_dst", $datos);
    return true;
}