if ($nombre == "" || $login == "" || $clave == "") { $mensaje_error = $MULTILANG_UsrErrCrea2; } // Verifica contrasenas: longitud e igualdad de la verificacion if ($clave != $clave1) { $mensaje_error = $MULTILANG_UsrErrPW2; } if (strlen($clave) < 6) { $mensaje_error = $MULTILANG_UsrErrCrea3; } if ($mensaje_error == "") { // Inserta datos del usuario $clavemd5 = MD5($clave); $pasomd5 = MD5($LlaveDePaso); $Llave_recuperacion = ""; ejecutar_sql_unaria("INSERT INTO " . $TablasCore . "usuario (" . $ListaCamposSinID_usuario . ") VALUES (?,?,?,?,?,?,?,?,?)", "{$login}{$_SeparadorCampos_}{$clavemd5}{$_SeparadorCampos_}{$nombre}{$_SeparadorCampos_}{$estado}{$_SeparadorCampos_}{$correo}{$_SeparadorCampos_}{$PCO_FechaOperacion}{$_SeparadorCampos_}{$pasomd5}{$_SeparadorCampos_}{$usuario_interno}{$_SeparadorCampos_}{$Llave_recuperacion}"); auditar("Agrega usuario {$login} para {$nombre}"); //Redirecciona a la lista de usuarios con el usuario prefiltrado por si se le quiere asignar permisos echo '<form name="cancelar" action="' . $ArchivoCORE . '" method="POST"> <input type="Hidden" name="PCO_Accion" value="listar_usuarios"> <input type="Hidden" name="PCO_ErrorTitulo" value="' . $MULTILANG_AvisoSistema . '"> <input type="Hidden" name="PCO_ErrorDescripcion" value="' . $MULTILANG_UsrCreacionOK . '"> <input type="Hidden" name="PCO_ErrorIcono" value="fa-info-circle"> <input type="Hidden" name="PCO_ErrorEstilo" value="alert-success"> <input type="Hidden" name="login_filtro" value="' . $login . '"> </form> <script type="" language="JavaScript"> document.cancelar.submit(); </script>'; } else { echo '<form name="cancelar" action="' . $ArchivoCORE . '" method="POST"> <input type="Hidden" name="PCO_Accion" value="agregar_usuario"> <input type="Hidden" name="PCO_ErrorTitulo" value="' . $MULTILANG_ErrorDatos . '">
function ejecutar_login_oauth($user, $OAuth_servicio) { global $TablasCore, $uid, $ListaCamposSinID_parametros, $resultado_webservice, $ListaCamposSinID_parametros, $ListaCamposSinID_auditoria, $PCO_DireccionAuditoria, $PCO_HoraOperacion, $PCO_FechaOperacion, $ArchivoCORE; // Si el modo depuracion esta activo muestra arreglo user devuelto por el proveedor global $ModoDepuracion; if ($ModoDepuracion) { echo '<h1>' . $OAuth_servicio . ' Login OK!</h1><hr>'; echo '<pre>', HtmlSpecialChars(print_r($user, 1)), '</pre><hr>'; die("Modo de depuracion activo. Debe apagarlo para usar OAuth"); } // Define las variables del usuario a buscar/crear segun el servicio OAuth utilizado if ($OAuth_servicio == 'Google' || $OAuth_servicio == 'LinkedIn' || $OAuth_servicio == 'Instagram' || $OAuth_servicio == 'Microsoft' || $OAuth_servicio == 'Flickr' || $OAuth_servicio == 'Twitter' || $OAuth_servicio == 'Foursquare' || $OAuth_servicio == 'XING' || $OAuth_servicio == 'Salesforce' || $OAuth_servicio == 'Bitbucket' || $OAuth_servicio == 'Yahoo' || $OAuth_servicio == 'Box' || $OAuth_servicio == 'Disqus' || $OAuth_servicio == 'Eventful' || $OAuth_servicio == 'SurveyMonkey' || $OAuth_servicio == 'RightSignature' || $OAuth_servicio == 'Fitbit' || $OAuth_servicio == 'ScoopIt' || $OAuth_servicio == 'Tumblr' || $OAuth_servicio == 'StockTwits' || $OAuth_servicio == 'VK' || $OAuth_servicio == 'Withings') { // Otros disponibles: id,verified_email (0|1),given_name,family_name,link (G+),picture (link),gender (male|female),locale (es|en...) $login_chk = $user->email; $nombre_chk = $user->name; $correo_chk = $user->email; } if ($OAuth_servicio == 'Facebook') { // Otros disponibles: id,name,first_name,middle_name,last_name, link, username, education(arreglo:school[id,name],type),gender (male|female),email, timezone,locale (es_LA...),verified,updated_time $login_chk = $user->username; $nombre_chk = $user->name; $correo_chk = $user->email; } if ($OAuth_servicio == 'Dropbox') { // Otros disponibles: referral_link,display_name,uid (numerico),country (ej:CO),quota_info Arreglo: [datastores,shared,quota,normal],email $login_chk = $user->uid; $nombre_chk = $user->display_name; $correo_chk = $user->email; } // Busca datos del usuario Practico, segun tipo de servicio OAuth para tener configuraciones de permisos y parametros propios de la herramienta $consulta_busqueda_usuario_oauth = "SELECT login, nombre, clave, descripcion, nivel, correo, llave_paso FROM " . $TablasCore . "usuario WHERE login='******' AND descripcion LIKE '%Auth:{$OAuth_servicio}%' "; $resultado_usuario = ejecutar_sql($consulta_busqueda_usuario_oauth); $registro = $resultado_usuario->fetch(); // Agrega el usuario cuando es primer login desde el servicio if ($registro["login"] == "") { oauth_crear_usuario($OAuth_servicio, $login_chk, $nombre_chk, $correo_chk); // Actualiza el registro desde nueva consulta $resultado_usuario = ejecutar_sql($consulta_busqueda_usuario_oauth); $registro = $resultado_usuario->fetch(); } // Hace la copia opcional de permisos desde usuario plantilla // ############ PENDIENTE ################## // ############ PENDIENTE ################## // ############ PENDIENTE ################## // Se buscan datos de la aplicacion $consulta_parametros = ejecutar_sql("SELECT id," . $ListaCamposSinID_parametros . " FROM " . $TablasCore . "parametros"); $registro_parametros = $consulta_parametros->fetch(); // Actualiza las variables de sesion con el registro $PCOSESS_SesionAbierta = 1; // Actualiza booleana de ingreso $clave_correcta = 1; // Registro de variables en la sesion @session_start(); if (!isset($_SESSION["PCOSESS_LoginUsuario"])) { $_SESSION["PCOSESS_LoginUsuario"] = (string) $registro["login"]; } if (!isset($_SESSION["username"])) { $_SESSION["username"] = (string) $registro["login"]; } //Usada para el modulo de chat if (!isset($_SESSION["Nombre_usuario"])) { $_SESSION["Nombre_usuario"] = (string) $registro["nombre"]; } if (!isset($_SESSION["Descripcion_usuario"])) { $_SESSION["Descripcion_usuario"] = (string) $registro["descripcion"]; } if (!isset($_SESSION["Nivel_usuario"])) { $_SESSION["Nivel_usuario"] = (string) $registro["nivel"]; } if (!isset($_SESSION["Correo_usuario"])) { $_SESSION["Correo_usuario"] = (string) $registro["correo"]; } if (!isset($_SESSION["Clave_usuario"])) { $_SESSION["Clave_usuario"] = $registro["clave"]; } if (!isset($_SESSION["LlaveDePasoUsuario"])) { $_SESSION["LlaveDePasoUsuario"] = $registro["llave_paso"]; } if (!isset($_SESSION["PCOSESS_SesionAbierta"])) { $_SESSION["PCOSESS_SesionAbierta"] = $PCOSESS_SesionAbierta; } if (!isset($_SESSION["clave_correcta"])) { $_SESSION["clave_correcta"] = $clave_correcta; } if (!isset($_SESSION["Nombre_Empresa_Corto"])) { $_SESSION["Nombre_Empresa_Corto"] = $registro_parametros["nombre_empresa_corto"]; } if (!isset($_SESSION["Nombre_Aplicacion"])) { $_SESSION["Nombre_Aplicacion"] = $registro_parametros["nombre_aplicacion"]; } if (!isset($_SESSION["Version_Aplicacion"])) { $_SESSION["Version_Aplicacion"] = $registro_parametros["version"]; } // Lleva a auditoria con query manual por la falta de $PCOSESS_LoginUsuario ejecutar_sql_unaria("INSERT INTO " . $TablasCore . "auditoria (" . $ListaCamposSinID_auditoria . ") VALUES ('" . $registro["login"] . "','Ingresa al sistema desde {$PCO_DireccionAuditoria}','{$PCO_FechaOperacion}','{$PCO_HoraOperacion}')"); auditar("Ingresa al sistema desde {$PCO_DireccionAuditoria}", $_SESSION["PCOSESS_LoginUsuario"]); // Actualiza fecha del ultimo ingreso para el usuario ejecutar_sql_unaria("UPDATE " . $TablasCore . "usuario SET ultimo_acceso=? WHERE login='******'", "{$PCO_FechaOperacion}"); // Redirecciona al menu header("Location: index.php"); exit; }
<script type="" language="JavaScript"> document.cancelar.submit(); </script>'; } } /* ################################################################## */ /* ################################################################## */ /* Function: eliminar_llavews Elimina las configuraciones para un cliente de API Salida: Registro con llaves de API eliminado */ if ($PCO_Accion == "eliminar_llavews") { $mensaje_error = ""; if ($mensaje_error == "") { ejecutar_sql_unaria("DELETE FROM " . $TablasCore . "llaves_api WHERE id=? ", "{$id}"); auditar("Elimina llave API para {$id}"); echo '<script type="" language="JavaScript"> document.core_ver_menu.submit(); </script>'; } else { echo '<form name="cancelar" action="' . $ArchivoCORE . '" method="POST"> <input type="Hidden" name="PCO_Accion" value="Ver_menu"> <input type="Hidden" name="PCO_ErrorTitulo" value="' . $MULTILANG_ErrorDatos . '"> <input type="Hidden" name="PCO_ErrorDescripcion" value="' . $mensaje_error . '"> </form> <script type="" language="JavaScript"> document.cancelar.submit(); </script>'; } } ?> <div class="oculto_impresion"> <!-- Modal WebServices --> <?php
Salida: Entradas en la tabla de monitoreo actualizadas Ver tambien: <administrar_monitoreo> */ if ($PCO_Accion == "guardar_monitoreo") { $mensaje_error = ""; // Verifica campos nulos if ($nombre == "") { $mensaje_error .= $MULTILANG_MonErr . "<br>"; } if ($mensaje_error == "") { // Guarda los datos del comando de monitoreo ejecutar_sql_unaria("INSERT INTO " . $TablasCore . "monitoreo (" . $ListaCamposSinID_monitoreo . ") VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)", "{$tipo}{$_SeparadorCampos_}{$pagina}{$_SeparadorCampos_}{$peso}{$_SeparadorCampos_}{$nombre}{$_SeparadorCampos_}{$host}{$_SeparadorCampos_}{$puerto}{$_SeparadorCampos_}{$tipo_ping}{$_SeparadorCampos_}{$saltos}{$_SeparadorCampos_}{$comando}{$_SeparadorCampos_}{$ancho}{$_SeparadorCampos_}{$alto}{$_SeparadorCampos_}{$tamano_resultado}{$_SeparadorCampos_}{$ocultar_titulos}{$_SeparadorCampos_}{$path}{$_SeparadorCampos_}{$correo_alerta}{$_SeparadorCampos_}{$alerta_sonora}{$_SeparadorCampos_}{$milisegundos_lectura}"); auditar("Agrega en monitor: {$nombre}"); echo ' <form name="continuar_admin_mon" action="' . $ArchivoCORE . '" method="POST"> <input type="Hidden" name="PCO_Accion" value="administrar_monitoreo"> </form> <script type="" language="JavaScript"> alert("' . $MULTILANG_Aplicando . '"); document.continuar_admin_mon.submit(); </script>'; } else { echo '<form name="cancelar" action="' . $ArchivoCORE . '" method="POST"> <input type="Hidden" name="PCO_Accion" value="administrar_monitoreo"> <input type="Hidden" name="PCO_ErrorTitulo" value="' . $MULTILANG_ErrorDatos . '"> <input type="Hidden" name="PCO_ErrorDescripcion" value="' . $mensaje_error . '"> </form> <script type="" language="JavaScript"> document.cancelar.submit(); </script>';
//campos while (!feof($archivo)) { $PCO_Linea = fgets($archivo, 8192); $campos = explode("|", $PCO_Linea); // Verifica si el campo de texto no es vacio y lo agrega if (strlen($PCO_Linea) > 5) { $nombre_campo = $campos[1]; $tipo = $campos[2]; $longitud = $campos[3]; // Construye la consulta para la creacion del campo (sintaxis mysql por ahora) $consulta = "ALTER TABLE " . $TablasApp . "{$nombre_tabla} ADD COLUMN {$nombre_campo} {$tipo}"; if ($longitud != "") { $consulta .= "({$longitud}) "; } // Realiza la operacion ejecutar_sql_unaria($consulta); } } fclose($archivo); } auditar("Crea tabla {$nombre_tabla}"); echo '<form name="cancelar" action="' . $ArchivoCORE . '" method="POST"> <input type="Hidden" name="PCO_Accion" value="editar_tabla"> <input type="hidden" name="nombre_tabla" value="' . $TablasApp . '' . $nombre_tabla . '"> </form> <script type="" language="JavaScript"> document.cancelar.submit(); </script>'; } } else { echo '<form name="cancelar" action="' . $ArchivoCORE . '" method="POST"> <input type="Hidden" name="PCO_Accion" value="asistente_tablas"> <input type="Hidden" name="PCO_ErrorTitulo" value="' . $MULTILANG_TblError1 . '">
function auditar($PCO_Accion, $usuario = "") { global $ArchivoCORE, $TablasCore; global $ListaCamposSinID_auditoria, $_SeparadorCampos_; global $PCOSESS_LoginUsuario, $PCO_FechaOperacion, $PCO_HoraOperacion; //Establece el usuario para el registro if ($usuario == "") { $usuario_auditar = $PCOSESS_LoginUsuario; } else { $usuario_auditar = $usuario; } //Lleva el registro ejecutar_sql_unaria("INSERT INTO " . $TablasCore . "auditoria (" . $ListaCamposSinID_auditoria . ") VALUES (?,?,?,?)", "{$usuario_auditar}{$_SeparadorCampos_}{$PCO_Accion}{$_SeparadorCampos_}{$PCO_FechaOperacion}{$_SeparadorCampos_}{$PCO_HoraOperacion}"); }
if (!isset($_SESSION["clave_correcta"])) { $_SESSION["clave_correcta"] = $clave_correcta; } if (!isset($_SESSION["Nombre_Empresa_Corto"])) { $_SESSION["Nombre_Empresa_Corto"] = $registro_parametros["nombre_empresa_corto"]; } if (!isset($_SESSION["Nombre_Aplicacion"])) { $_SESSION["Nombre_Aplicacion"] = $registro_parametros["nombre_aplicacion"]; } if (!isset($_SESSION["Version_Aplicacion"])) { $_SESSION["Version_Aplicacion"] = $registro_parametros["version"]; } // Lleva a auditoria con query manual por la falta de $Login_Usuario auditar("Ingresa al sistema desde {$PCO_DireccionAuditoria}", $uid); // Actualiza fecha del ultimo ingreso para el usuario ejecutar_sql_unaria("UPDATE " . $TablasCore . "usuario SET ultimo_acceso=? WHERE login=? ", "{$PCO_FechaOperacion}{$_SeparadorCampos_}{$uid}"); } // Si la clave es incorrecta muestra de nuevo la ventana de ingreso if (!$clave_correcta) { mensaje($MULTILANG_ErrorTitAuth, $MULTILANG_ErrorDesAuth, '', 'fa fa-ban fa-4x text-danger', 'alert alert-danger'); ventana_login(); @session_destroy(); } else { echo '<form name="Acceso" action="' . $ArchivoCORE . '" method="POST"><input type="Hidden" name="PCO_Accion" value="Ver_menu"></form><script type="" language="JavaScript"> document.Acceso.submit(); </script>'; } } /* ################################################################## */ /* ################################################################## */ /* Function: Terminar_sesion Lleva una auditoria sobre el cierre de sesion de cada usuario y redirecciona a la funcion <Mensaje_cierre_sesion>
function PCOFUNC_eliminar_formulario($formulario = "") { global $TablasCore; if ($formulario != "") { ejecutar_sql_unaria("DELETE FROM " . $TablasCore . "formulario WHERE id=? ", "{$formulario}"); ejecutar_sql_unaria("DELETE FROM " . $TablasCore . "formulario_objeto WHERE formulario=? ", "{$formulario}"); ejecutar_sql_unaria("DELETE FROM " . $TablasCore . "formulario_boton WHERE formulario=? ", "{$formulario}"); auditar("Elimina formulario {$formulario}"); } }
function PCOFUNC_eliminar_informe($informe = "") { global $TablasCore; if ($informe != "") { ejecutar_sql_unaria("DELETE FROM " . $TablasCore . "informe WHERE id=? ", "{$informe}"); ejecutar_sql_unaria("DELETE FROM " . $TablasCore . "informe_campos WHERE informe=? ", "{$informe}"); ejecutar_sql_unaria("DELETE FROM " . $TablasCore . "informe_tablas WHERE informe=? ", "{$informe}"); ejecutar_sql_unaria("DELETE FROM " . $TablasCore . "informe_condiciones WHERE informe=? ", "{$informe}"); ejecutar_sql_unaria("DELETE FROM " . $TablasCore . "informe_boton WHERE informe=? ", "{$informe}"); ejecutar_sql_unaria("DELETE FROM " . $TablasCore . "usuario_informe WHERE informe=? ", "{$informe}"); auditar("Elimina informe {$informe}"); } }
Salida: Entradas de menu actualizadas. Ver tambien: <administrar_menu> | <detalles_menu> | <eliminar_menu> */ if ($PCO_Accion == "guardar_menu") { $mensaje_error = ""; // Verifica campos nulos if ($texto == "") { $mensaje_error .= $MULTILANG_MnuErr . "<br>"; } if ($mensaje_error == "") { // Guarda los datos del comando o item de menu ejecutar_sql_unaria("INSERT INTO " . $TablasCore . "menu (" . $ListaCamposSinID_menu . ") VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)", "{$texto}{$_SeparadorCampos_}{$peso}{$_SeparadorCampos_}{$url}{$_SeparadorCampos_}{$destino}{$_SeparadorCampos_}{$tipo_comando}{$_SeparadorCampos_}{$comando}{$_SeparadorCampos_}{$nivel_usuario}{$_SeparadorCampos_}{$posible_arriba}{$_SeparadorCampos_}{$posible_centro}{$_SeparadorCampos_}{$posible_escritorio}{$_SeparadorCampos_}{$seccion}{$_SeparadorCampos_}{$imagen}{$_SeparadorCampos_}{$posible_izquierda}"); auditar("Agrega en menu: {$texto}"); echo '<script type="" language="JavaScript"> document.core_ver_menu.submit(); </script>'; } else { echo '<form name="cancelar" action="' . $ArchivoCORE . '" method="POST"> <input type="Hidden" name="PCO_Accion" value="administrar_menu"> <input type="Hidden" name="PCO_ErrorTitulo" value="' . $MULTILANG_ErrorDatos . '"> <input type="Hidden" name="PCO_ErrorDescripcion" value="' . $mensaje_error . '"> </form> <script type="" language="JavaScript"> document.cancelar.submit(); </script>'; } } /* ################################################################## */ /* ################################################################## */ /* Function: administrar_menu
function sendChat() { global $TablasCore; $remitente = $_SESSION['username']; $destinatario = $_POST['destinatario']; $message = $_POST['message']; $_SESSION['openChatBoxes'][$_POST['destinatario']] = date('Y-m-d H:i:s', time()); $messagesan = sanitize($message); if (!isset($_SESSION['chatHistory'][$_POST['destinatario']])) { $_SESSION['chatHistory'][$_POST['destinatario']] = ''; } $_SESSION['chatHistory'][$_POST['destinatario']] .= <<<EOD \t\t\t\t\t { \t\t\t"s": "1", \t\t\t"f": "{$destinatario}", \t\t\t"m": "{$messagesan}" \t }, EOD; unset($_SESSION['tsChatBoxes'][$_POST['destinatario']]); ejecutar_sql_unaria("insert into " . $TablasCore . "chat (" . $TablasCore . "chat.remitente," . $TablasCore . "chat.destinatario,message,sent) values (?,?,?,NOW());", "{$remitente}||{$destinatario}||{$message}"); echo "1"; exit(0); }
/* ################################################################## */ /* ################################################################## */ /* Function: guardar_params Guarda los parametros de funcionamiento de la aplicacion Salida: Registro de parametros actualizado en tablas core */ if ($PCO_Accion == "guardar_params") { $mensaje_error = ""; if ($nombre_empresa_corto == "" || $nombre_aplicacion == "" || $version_nueva == "") { $mensaje_error .= $MULTILANG_ErrorDatos . '<br>'; } if ($mensaje_error == "") { ejecutar_sql_unaria("UPDATE " . $TablasCore . "parametros SET federado_puerto=?,federado_servidor=?,federado_usuario=?,federado_clave=?,federado_motor=?,federado_basedatos=?,federado_tabla=?,federado_campousuario=?,federado_campoclave=?,federado_encripcion=?,nombre_empresa_largo=?,fecha_lanzamiento=?,nombre_empresa_corto=?,nombre_aplicacion=?,version=?,funciones_personalizadas=? ", "{$federado_puerto}{$_SeparadorCampos_}{$federado_servidor}{$_SeparadorCampos_}{$federado_usuario}{$_SeparadorCampos_}{$federado_clave}{$_SeparadorCampos_}{$federado_motor}{$_SeparadorCampos_}{$federado_basedatos}{$_SeparadorCampos_}{$federado_tabla}{$_SeparadorCampos_}{$federado_campousuario}{$_SeparadorCampos_}{$federado_campoclave}{$_SeparadorCampos_}{$federado_encripcion}{$_SeparadorCampos_}{$nombre_empresa_largo}{$_SeparadorCampos_}{$fecha_lanzamiento}{$_SeparadorCampos_}{$nombre_empresa_corto}{$_SeparadorCampos_}{$nombre_aplicacion}{$_SeparadorCampos_}{$version_nueva}{$_SeparadorCampos_}{$funciones_personalizadas}"); auditar("Actualiza parametros de aplicacion"); echo '<script type="" language="JavaScript"> document.core_ver_menu.submit(); </script>'; } else { echo '<form name="cancelar" action="' . $ArchivoCORE . '" method="POST"> <input type="Hidden" name="PCO_Accion" value="Ver_menu"> <input type="Hidden" name="PCO_ErrorTitulo" value="' . $MULTILANG_ErrorDatos . '"> <input type="Hidden" name="PCO_ErrorDescripcion" value="' . $mensaje_error . '"> </form> <script type="" language="JavaScript"> document.cancelar.submit(); </script>'; } } echo '<div class="oculto_impresion">'; // Modal Parametros abrir_dialogo_modal("myModalPARAMETROS", $NombreRAD . ' - ' . $MULTILANG_ParametrosApp); //Consulta parametros de la aplicacion