CVE-2015-10006: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') (CWE-79)
value: A vulnerability, which was classified as problematic, has been found in admont28 Ingnovarq. Affected by this issue is some unknown functionality of the file app/controller/insertarSliderAjax.php. The manipulation of the argument imagetitle leads to cross site scripting. The attack may be launched remotely. The name of the patch is 9d18a39944d79dfedacd754a742df38f99d3c0e2. It is recommended to apply a patch to fix this issue. The identifier of this vulnerability is VDB-217172.
CWE description: The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
CVSS v3 base score: 6.1
Published: 2023-01-01T17:15Z
Repository: https://github.com/admont28/ingnovarq
Language: PHP
Files changed: app/controller/clientModel.php, app/controller/eliminarClienteAjax.php, app/controller/imagenModel.php, app/controller/insertarClienteAjax.php, app/controller/insertarSliderAjax.php, app/controller/notificaciones.php, app/view/agregarCliente.php, app/view/agregarImagenSlider.php, app/view/listarClientes.php, app/view/nav.php, app/view/perfil.php, js/botones.js
Commit date: 2015-02-04 14:31:01 -0500
Commit message: - Cliente, Slider, Imagen, Nav, Botones

- Cliente: se añade la funcionalidad de agregar y eliminar clientes por
medio de peticiones ajax.

- Slider: se elimina código innecesario relacionado con agregar imagen
slider, se evita ataques XSS en el titulo de la imagen del slider.

- Nav: se elimina código innecesario.

- Botones: se añaden acciones para el botón de agregar cliente, agregar
slider.

Diff: diff --git a/app/controller/clientModel.php b/app/controller/clientModel.php
index 710cfac..0a41594 100644
--- a/app/controller/clientModel.php
+++ b/app/controller/clientModel.php
@@ -81,7 +81,24 @@
 			}
 			if(sizeof($response) != 0)
 				return $cliente = $response[0];
 			return null;
 		}
+
+		/*
+		 * Función para obtener el ultimo cliente insertado
+		 */
+		function view_db_last_client(){
+
+			$sentencia = $this->_db->prepare("SELECT * FROM Cliente ORDER BY idCliente DESC LIMIT 1");
+			$sentencia->execute();
+
+			$response = array();
+			while ($fila = $sentencia->fetch()) {
+				$response[] = $fila;
+			}
+			if(sizeof($response) != 0)
+				return $cliente = $response[0];
+			return null;
+		}
 	}
 ?>
\ No newline at end of file
diff --git a/app/controller/eliminarClienteAjax.php b/app/controller/eliminarClienteAjax.php
index 99516fc..daa517e 100644
--- a/app/controller/eliminarClienteAjax.php
+++ b/app/controller/eliminarClienteAjax.php
@@ -21,11 +21,11 @@
                     $imagenModel->delete_db_image_client($idCliente,$imagenCliente['idImagen']);
                 }
             }
             $resultado = $clientModel->delete_db_client($idCliente);
             if($resultado){
-                $mensaje =  get_success_delete_client($idCliente); // envio el mensaje alojado en notificaciones
+                $mensaje =  get_success_delete_client($existente['nombreCliente']); // envio el mensaje alojado en notificaciones
             }
         }
     }
 
 echo $mensaje;
diff --git a/app/controller/imagenModel.php b/app/controller/imagenModel.php
index d1e098b..4c673bd 100644
--- a/app/controller/imagenModel.php
+++ b/app/controller/imagenModel.php
@@ -38,11 +38,11 @@
 			}
 			return $response;
 		}
 
 		/*
-		 * Función para insertar imagenes de un proyecto
+		 * Función para insertar imagenes de un servicio
 		 */
 		function insert_image_service($ruta, $titulo, $idServicio){
 
 			$sentencia = $this->_db->prepare("INSERT INTO Imagen (rutaImagen, tituloImagen, sliderImagen, Servicio_idServicio) VALUES (:ruta, :titulo, false, :idServicio)");
 			$sentencia->bindParam(':ruta', $ruta);
@@ -56,25 +56,20 @@
 			}
 			return $response;
 		}
 
 		/*
-		 * Función para insertar imagenes de un proyecto
+		 * Función para insertar imagenes de un cliente
 		 */
-		function insert_images($ruta, $titulo, $idCliente){
+		function insert_image_client($ruta, $titulo, $idCliente){
 
 			$sentencia = $this->_db->prepare("INSERT INTO Imagen (rutaImagen, tituloImagen, sliderImagen, Cliente_idCliente) VALUES (:ruta, :titulo, false, :idCliente)");
 			$sentencia->bindParam(':ruta', $ruta);
-			$sentencia->bindParam(':tituloImagen', $titulo);
-			$sentencia->bindParam(':idProyecto', $idCliente);
+			$sentencia->bindParam(':titulo', $titulo);
+			$sentencia->bindParam(':idCliente', $idCliente);
 			//Ejecución de la consulta
-			$sentencia->execute();
-			$response = array();
-			while ($fila = $sentencia->fetch()) {
-				$response[] = $fila;
-			}
-			return $response;
+			return $sentencia->execute();
 		}
 
 		function delete_db_images_service($idServicio){
 
 			//Creación de una consulta insertandole parametros para eliminar
diff --git a/app/controller/insertarClienteAjax.php b/app/controller/insertarClienteAjax.php
new file mode 100644
index 0000000..8960088
--- /dev/null
+++ b/app/controller/insertarClienteAjax.php
@@ -0,0 +1,42 @@
+<?php 
+    session_start();
+    if(!isset($_SESSION['idUsuario'],$_SESSION['nombreUsuario'], $_SESSION['apellidoUsuario'], $_SESSION['superAdminUsuario'])){
+            header('location: error');
+    }
+    require_once ("notificaciones.php");
+    $mensaje = get_error_insert_client();
+    print_r($_POST);
+    print_r($_FILES);
+    if(sizeof($_POST) == 1 && isset($_POST['nombreCliente'], $_FILES['myfile'])){
+        
+        $directorioDeGuardado = "../../images/clientes/";
+        $nombreArchivo = $_FILES['myfile']['name'];
+        $fullPath = $directorioDeGuardado.$nombreArchivo; // construyo la ruta completa donde se guardará el archivo.
+        if (! file_exists($fullPath)){ //verifico que no exista la imagen anterior
+            require_once ("clientModel.php");
+            require_once ("userModel.php");
+            $clientModel = new ClientModel();
+            $userModel = new UserModel();
+            $usuario = $userModel->view_db_user($_SESSION['idUsuario']);
+            $nombreCliente = htmlspecialchars($_POST['nombreCliente'], ENT_NOQUOTES); //evito ataques XSS
+            $resultado = $clientModel->insert_db_client($nombreCliente, $usuario['idUsuario']);
+            if($resultado){
+                $ultimoCliente = $clientModel->view_db_last_client();
+                print_r($ultimoCliente);
+                if($ultimoCliente != null){
+
+                    require_once ("imagenModel.php");
+                    $imagenModel = new ImagenModel();
+                    $resultado = $imagenModel->insert_image_client($fullPath, $nombreCliente, $ultimoCliente['idCliente']);
+                    if($resultado){
+                        move_uploaded_file($_FILES["myfile"]["tmp_name"], $fullPath); //muevo el archivo cargado
+                        $mensaje = get_success_insert_client($nombreCliente); // obtengo el mensaje de que todo ha salido bien.
+                    }
+                }
+                else
+                    print("ultimoCliente null");
+            }
+        }
+    }
+echo $mensaje; 
+?>
\ No newline at end of file
diff --git a/app/controller/insertarSliderAjax.php b/app/controller/insertarSliderAjax.php
index 3e6ea9c..93ef189 100644
--- a/app/controller/insertarSliderAjax.php
+++ b/app/controller/insertarSliderAjax.php
@@ -12,10 +12,11 @@
         $nombreArchivo = $_FILES['myfile']['name'];
         $fullPath = $directorioDeGuardado.$nombreArchivo; // construyo la ruta completa donde se guardará el archivo.
         if (! file_exists($fullPath)){ //verifico que no exista la imagen anterior
             $sliderModel = new SliderModel();
             $tituloImagen = $_POST['tituloImagen'];
+            $tituloImagen = htmlspecialchars($tituloImagen, ENT_NOQUOTES); //evito ataques XSS
             move_uploaded_file($_FILES["myfile"]["tmp_name"], $fullPath); //muevo el archivo cargado
             $resultado = $sliderModel->insert_db_image_slider($tituloImagen, $fullPath);
             if($resultado){
                 $mensaje = get_success_insert_image_slider($nombreArchivo); // obtengo el mensaje de que todo ha salido bien.
             }
diff --git a/app/controller/notificaciones.php b/app/controller/notificaciones.php
index 164ad37..c2942a4 100644
--- a/app/controller/notificaciones.php
+++ b/app/controller/notificaciones.php
@@ -718,6 +718,53 @@
                         });
                     </script>";
         return $mensaje;
     }
 
+    function get_success_insert_client($nombreCliente){
+       $mensaje = "<script type='text/javascript'>
+                        $(function(){
+                            new PNotify({
+                                title: 'Acción Exitosa',
+                                text: 'El cliente: ".$nombreCliente." ha sido agregado con éxito.<br>Si desea agregar un nuev cliente presione el botón Agregar.',
+                                type: 'success',
+                                animation: 'show',
+                                confirm: {
+                                    confirm: true,
+                                    buttons: [{
+                                            text: 'Agregar',
+                                            addClass: 'btn btn-success',
+                                            click: function(notice) {
+                                                notice.remove();
+                                                document.location='agregarCliente';
+                                            }
+                                        }, {
+                                            text: 'Volver',
+                                            click: function(notice) {
+                                                notice.remove();
+                                                document.location='perfil';
+                                            }
+                                        }]
+                                }   
+                            });
+                        });
+                    </script>";
+        return $mensaje;
+    }
+
+    function get_error_insert_client(){
+        $mensaje = "<script type='text/javascript'>
+                        $(function(){
+                            new PNotify({
+                                title: 'Acción No Exitosa :(',
+                                text: 'No se ha podido agregar el cliente con éxito, por favor revisa todos los datos e inténtelo de nuevo.',
+                                type: 'error',
+                                delay: 6000,
+                                animation: 'show',
+                            });
+                        });
+                        
+                    </script>";
+        return $mensaje;
+    }
+
 ?>
\ No newline at end of file
diff --git a/app/view/agregarCliente.php b/app/view/agregarCliente.php
new file mode 100644
index 0000000..9718259
--- /dev/null
+++ b/app/view/agregarCliente.php
@@ -0,0 +1,65 @@
+<?php 
+	session_start();
+	if(!isset($_SESSION['idUsuario'],$_SESSION['nombreUsuario'], $_SESSION['apellidoUsuario'], $_SESSION['superAdminUsuario'])){
+		header('location: error');
+	}
+			include_once ("imports.php");
+			include_once ("header.php");
+			include_once ("nav.php");
+			include_once ("footer.php"); 
+			getImportsUp();
+			?>
+			<body id="body">
+				<div class="con" id="con">
+					<div class="container" id="main">
+							<?php 
+								getHeader();
+								if($_SESSION['superAdminUsuario'] == 1){
+									getNavSuperAdmin();
+								}
+								else
+								getNavAdmin();
+							?>
+					</div>
+					<div class="contenido">
+						<div class="row">
+							<br>
+							<div class="col-xs-12 col-sm-8 col-sm-offset-2 col-md-8 col-md-offset-2">
+								<div class="panel panel-default empresa">
+									<div class="panel-heading">
+										Crear cliente
+									</div>
+									<div class="panel-body">
+										<div id="mensaje"></div>
+										<h2 style="color: #019831; text-align: center;">Formulario para agregar un nuevo cliente de Ingnovarq S.A.S</h2>
+										<br>								
+										<div class="form-horizontal">
+										     <div class="form-group">
+										         <label for="name" class="control-label col-xs-2">Nombre:</label>
+										         <div class="col-xs-10">
+										            <input type="name" id="nombreCliente" name="nombreCliente" class="form-control" placeholder="Nombre">
+										         </div>
+										     </div>
+										     <div class="form-group">
+										     	 <label class="control-label col-xs-2">Imagen:</label>
+										         <div class="col-xs-10" id="cargador">
+										            <div id="fileuploader">Cargar imagen</div>
+										         </div>
+										     </div>    
+										     <div class="form-group">
+										        <div class="col-xs-offset-2 col-xs-8">
+										            <div id="btn-agregar-cliente-ajax" class="btn btn-success">
+										            	<span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Crear nuevo cliente</div> 
+										        </div>
+										     </div>
+										</div>
+									</div>
+								</div>
+							</div>
+						</div>
+					</div>
+				</div>
+				<?php
+					getFooter(); 
+					getImportsDown();
+?>
\ No newline at end of file
diff --git a/app/view/agregarImagenSlider.php b/app/view/agregarImagenSlider.php
index 3f00a8b..3ab2e1e 100644
--- a/app/view/agregarImagenSlider.php
+++ b/app/view/agregarImagenSlider.php
@@ -5,14 +5,11 @@
 	}
 			include_once ("imports.php");
 			include_once ("header.php");
 			include_once ("nav.php");
 			include_once ("footer.php"); 
-			require_once "../controller/sliderModel.php";
-
 			getImportsUp();
-			$sliderModel = new sliderModel();
 			?>
 
 			<body id="body">
 				<div class="con" id="con">
 					<div class="container" id="main">
@@ -20,12 +17,11 @@
 								getHeader();
 								if($_SESSION['superAdminUsuario'] == 1){
 									getNavSuperAdmin();
 								}
 								else
-								getNavAdmin();
-								//$direccion = "../controlador/cargarImagenesProductos?idproducto=".$_GET['idproducto'];
+									getNavAdmin();
 							?>
 					</div>
 					<div class="contenido">
 						<div class="row">
 							<br>
@@ -37,23 +33,20 @@
 									<div class="panel-body">
 										<div id="mensaje"></div>
 										<h2 style="color: #019831; text-align: center;">Formulario para agregar una imagen al slider</h2>
 										<br>								
 										<div class="form-horizontal">
-								      		 <input type="hidden" name="idImagen" id="idImagen" readonly="readonly">
 										     <div class="form-group">
 										         <label for="inputName" class="control-label col-xs-2">Titulo:</label>
 										         <div class="col-xs-10">
 										            <input type="name" id="tituloImagen" name="tituloImagen" class="form-control" placeholder="Titulo">
 										         </div>
 										     </div>
 										     <div class="form-group">
 										     	 <label class="control-label col-xs-2">Imagen:</label>
 										         <div class="col-xs-10" id="cargador">
 										            <div id="fileuploader">Cargar imagen</div>
-										            <p id="nota" class="col-xs-12 text-info">Nota: Si no selecciona ninguna imagen y guarda los cambios, se conservará la imagen actual.
-										            </p>
 										         </div>
 										     </div>    
 										     <div class="form-group">
 										        <div class="col-xs-offset-2 col-xs-8">
 										            <div id="btn-agregar-slider-ajax" class="btn btn-success">
diff --git a/app/view/listarClientes.php b/app/view/listarClientes.php
index dc74cbc..04dbc9f 100644
--- a/app/view/listarClientes.php
+++ b/app/view/listarClientes.php
@@ -69,11 +69,11 @@
 													<a href="#sinAccion" class="open" data-toggle="modal" data-target="#myModal" data-id="" title="Editar cliente">
 														<div><img style="width: 50px;" class="img-responsive" src="../../images/administrador/edit.png"/></div>
 													</a>	
 												</td>	
 												<td>
-													<a href="#sinAccion" onclick="eliminarCliente(<?php echo $fila['idCliente'] ?>, '<?php echo $fila['nombreCliente'] ?>');">
+													<a href="#sinAccion" onclick="eliminarCliente(<?php echo $fila['idCliente'] ?>, '<?php echo htmlspecialchars($fila['nombreCliente'], ENT_NOQUOTES); ?>');">
 														<div><img style="width: 50px;" class="img-responsive" src="../../images/administrador/delete.png" title="Eliminar cliente"/></div>
 													</a>
 												</td>						
 											</tr>
 											<?php
diff --git a/app/view/nav.php b/app/view/nav.php
index bfa6a58..d3cffaf 100644
--- a/app/view/nav.php
+++ b/app/view/nav.php
@@ -70,13 +70,11 @@
 					<a href="agregarImagenSlider" id="<?php if(strstr($_SERVER['REQUEST_URI'], 'agregarImagenSlider')){
 						echo 'seleccionado';
 					}?>">Crear imagen del slider</a>
 				</li>
 				<li class="cuadrado" >
-					<a href="../controller/logout" id="<?php if(strstr($_SERVER['REQUEST_URI'], 'agregarCliente')){
-						echo 'seleccionado';
-					}?>">Cerrar Sesión</a>
+					<a href="../controller/logout">Cerrar Sesión</a>
 				</li>	
 			</ul>
 			<a href="#" id="pull">Menú</a>
 		</nav>
 
@@ -112,13 +110,11 @@
 					<a href="agregarImagenSlider" id="<?php if(strstr($_SERVER['REQUEST_URI'], 'agregarImagenSlider')){
 						echo 'seleccionado';
 					}?>">Crear imagen del slider</a>
 				</li>
 				<li class="cuadrado" >
-					<a href="../controller/logout" id="<?php if(strstr($_SERVER['REQUEST_URI'], 'agregarCliente')){
-						echo 'seleccionado';
-					}?>">Cerrar Sesión</a>
+					<a href="../controller/logout">Cerrar Sesión</a>
 				</li>	
 			</ul>
 			<a href="#" id="pull">Menú</a>
 		</nav>
 
diff --git a/app/view/perfil.php b/app/view/perfil.php
index 2e25026..1899c87 100644
--- a/app/view/perfil.php
+++ b/app/view/perfil.php
@@ -82,11 +82,11 @@
 									</a>
 								</div>
 							</div>
 							<div class="panel-body col-xs-12 col-sm-12 col-md-12 color-content-admin">
 								<div class="col-md-6 col-xs-6 col-sm-6">
-									<a href="inicio">
+									<a href="agregarCliente">
 										<img src="../../images/administrador/add.png" class="img-responsive">
 									</a>
 								</div>
 								<div class="col-md-6 col-xs-6 col-sm-6">
 									<a href="listarClientes">
diff --git a/js/botones.js b/js/botones.js
index d6cf981..34dde3c 100644
--- a/js/botones.js
+++ b/js/botones.js
@@ -252,14 +252,40 @@ $(document).ready(function() {
                   tituloImagen: titulo //titulo de la imagen
                 };
                 return data; //debo retornar data para poder que se envien junto con las imagenes.
             }
         });
+        alert("Actualicé plugin slider");
+    } else if($('#btn-agregar-cliente-ajax').length){ 
+        // Si existe este botón, el usuario estará agregando un cliente
+        // Ejecutar si existe el elemento
+        uploadObj.update({
+            url: "../controller/insertarClienteAjax",
+            maxFileSize: 2097152, // 2MB escritos en bytes
+            dynamicFormData:function()
+            {
+                var nombre =  $("#nombreCliente").val(); //capturo el nombre del cliente cargado en el input.
+                // los datos que se van a enviar
+                var data = {
+                  nombreCliente: nombre //nombre del cliente
+                };
+                return data;
+            }
+        });
+        alert("Actualicé plugin cliente");
     }
 
+
     // al dar clic en crear imagen slider cambios al momento de crear una imagen del slider
     // ejecuto el plugin uploadFile.
     $('#btn-agregar-slider-ajax').click(function(){
         uploadObj.startUpload();
     });
 
+    
+
+    // al dar clic en agregar cliente ajax ejecuto el plugin uploadFile.
+    $('#btn-agregar-cliente-ajax').click(function(){
+        uploadObj.startUpload();
+    });
+
 });
\ No newline at end of file

Vulnerable code:                 $mensaje =  get_success_delete_client($idCliente); // envio el mensaje alojado en notificaciones
		 * Función para insertar imagenes de un proyecto
		 * Función para insertar imagenes de un proyecto
		function insert_images($ruta, $titulo, $idCliente){
			$sentencia->bindParam(':tituloImagen', $titulo);
			$sentencia->bindParam(':idProyecto', $idCliente);
			$sentencia->execute();
			$response = array();
			while ($fila = $sentencia->fetch()) {
				$response[] = $fila;
			}
			return $response;
			require_once "../controller/sliderModel.php";

			$sliderModel = new sliderModel();
								getNavAdmin();
								//$direccion = "../controlador/cargarImagenesProductos?idproducto=".$_GET['idproducto'];
								      		 <input type="hidden" name="idImagen" id="idImagen" readonly="readonly">
										            <p id="nota" class="col-xs-12 text-info">Nota: Si no selecciona ninguna imagen y guarda los cambios, se conservará la imagen actual.
										            </p>
													<a href="#sinAccion" onclick="eliminarCliente(<?php echo $fila['idCliente'] ?>, '<?php echo $fila['nombreCliente'] ?>');">
					<a href="../controller/logout" id="<?php if(strstr($_SERVER['REQUEST_URI'], 'agregarCliente')){
						echo 'seleccionado';
					}?>">Cerrar Sesión</a>
					<a href="../controller/logout" id="<?php if(strstr($_SERVER['REQUEST_URI'], 'agregarCliente')){
						echo 'seleccionado';
					}?>">Cerrar Sesión</a>
									<a href="inicio">
Fixed code: 
		/*
		 * Función para obtener el ultimo cliente insertado
		 */
		function view_db_last_client(){

			$sentencia = $this->_db->prepare("SELECT * FROM Cliente ORDER BY idCliente DESC LIMIT 1");
			$sentencia->execute();

			$response = array();
			while ($fila = $sentencia->fetch()) {
				$response[] = $fila;
			}
			if(sizeof($response) != 0)
				return $cliente = $response[0];
			return null;
		}
                $mensaje =  get_success_delete_client($existente['nombreCliente']); // envio el mensaje alojado en notificaciones
		 * Función para insertar imagenes de un servicio
		 * Función para insertar imagenes de un cliente
		function insert_image_client($ruta, $titulo, $idCliente){
			$sentencia->bindParam(':titulo', $titulo);
			$sentencia->bindParam(':idCliente', $idCliente);
			return $sentencia->execute();
<?php 
    session_start();
    if(!isset($_SESSION['idUsuario'],$_SESSION['nombreUsuario'], $_SESSION['apellidoUsuario'], $_SESSION['superAdminUsuario'])){
            header('location: error');
    }
    require_once ("notificaciones.php");
    $mensaje = get_error_insert_client();
    print_r($_POST);
    print_r($_FILES);
    if(sizeof($_POST) == 1 && isset($_POST['nombreCliente'], $_FILES['myfile'])){
        
        $directorioDeGuardado = "../../images/clientes/";
        $nombreArchivo = $_FILES['myfile']['name'];
        $fullPath = $directorioDeGuardado.$nombreArchivo; // construyo la ruta completa donde se guardará el archivo.
        if (! file_exists($fullPath)){ //verifico que no exista la imagen anterior
            require_once ("clientModel.php");
            require_once ("userModel.php");
            $clientModel = new ClientModel();
            $userModel = new UserModel();
            $usuario = $userModel->view_db_user($_SESSION['idUsuario']);
            $nombreCliente = htmlspecialchars($_POST['nombreCliente'], ENT_NOQUOTES); //evito ataques XSS
            $resultado = $clientModel->insert_db_client($nombreCliente, $usuario['idUsuario']);
            if($resultado){
                $ultimoCliente = $clientModel->view_db_last_client();
                print_r($ultimoCliente);
                if($ultimoCliente != null){

                    require_once ("imagenModel.php");
                    $imagenModel = new ImagenModel();
                    $resultado = $imagenModel->insert_image_client($fullPath, $nombreCliente, $ultimoCliente['idCliente']);
                    if($resultado){
                        move_uploaded_file($_FILES["myfile"]["tmp_name"], $fullPath); //muevo el archivo cargado
                        $mensaje = get_success_insert_client($nombreCliente); // obtengo el mensaje de que todo ha salido bien.
                    }
                }
                else
                    print("ultimoCliente null");
            }
        }
    }
echo $mensaje; 
?>
            $tituloImagen = htmlspecialchars($tituloImagen, ENT_NOQUOTES); //evito ataques XSS
    function get_success_insert_client($nombreCliente){
       $mensaje = "<script type='text/javascript'>
                        $(function(){
                            new PNotify({
                                title: 'Acción Exitosa',
                                text: 'El cliente: ".$nombreCliente." ha sido agregado con éxito.<br>Si desea agregar un nuev cliente presione el botón Agregar.',
                                type: 'success',
                                animation: 'show',
                                confirm: {
                                    confirm: true,
                                    buttons: [{
                                            text: 'Agregar',
                                            addClass: 'btn btn-success',
                                            click: function(notice) {
                                                notice.remove();
                                                document.location='agregarCliente';
                                            }
                                        }, {
                                            text: 'Volver',
                                            click: function(notice) {
                                                notice.remove();
                                                document.location='perfil';
                                            }
                                        }]
                                }   
                            });
                        });
                    </script>";
        return $mensaje;
    }

    function get_error_insert_client(){
        $mensaje = "<script type='text/javascript'>
                        $(function(){
                            new PNotify({
                                title: 'Acción No Exitosa :(',
                                text: 'No se ha podido agregar el cliente con éxito, por favor revisa todos los datos e inténtelo de nuevo.',
                                type: 'error',
                                delay: 6000,
                                animation: 'show',
                            });
                        });
                        
                    </script>";
        return $mensaje;
    }

<?php 
	session_start();
	if(!isset($_SESSION['idUsuario'],$_SESSION['nombreUsuario'], $_SESSION['apellidoUsuario'], $_SESSION['superAdminUsuario'])){
		header('location: error');
	}
			include_once ("imports.php");
			include_once ("header.php");
			include_once ("nav.php");
			include_once ("footer.php"); 
			getImportsUp();
			?>
			<body id="body">
				<div class="con" id="con">
					<div class="container" id="main">
							<?php 
								getHeader();
								if($_SESSION['superAdminUsuario'] == 1){
									getNavSuperAdmin();
								}
								else
								getNavAdmin();
							?>
					</div>
					<div class="contenido">
						<div class="row">
							<br>
							<div class="col-xs-12 col-sm-8 col-sm-offset-2 col-md-8 col-md-offset-2">
								<div class="panel panel-default empresa">
									<div class="panel-heading">
										Crear cliente
									</div>
									<div class="panel-body">
										<div id="mensaje"></div>
										<h2 style="color: #019831; text-align: center;">Formulario para agregar un nuevo cliente de Ingnovarq S.A.S</h2>
										<br>								
										<div class="form-horizontal">
										     <div class="form-group">
										         <label for="name" class="control-label col-xs-2">Nombre:</label>
										         <div class="col-xs-10">
										            <input type="name" id="nombreCliente" name="nombreCliente" class="form-control" placeholder="Nombre">
										         </div>
										     </div>
										     <div class="form-group">
										     	 <label class="control-label col-xs-2">Imagen:</label>
										         <div class="col-xs-10" id="cargador">
										            <div id="fileuploader">Cargar imagen</div>
										         </div>
										     </div>    
										     <div class="form-group">
										        <div class="col-xs-offset-2 col-xs-8">
										            <div id="btn-agregar-cliente-ajax" class="btn btn-success">
										            	<span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Crear nuevo cliente</div> 
										        </div>
										     </div>
										</div>
									</div>
								</div>
							</div>
						</div>
					</div>
				</div>
				<?php
					getFooter(); 
					getImportsDown();
?>
									getNavAdmin();
													<a href="#sinAccion" onclick="eliminarCliente(<?php echo $fila['idCliente'] ?>, '<?php echo htmlspecialchars($fila['nombreCliente'], ENT_NOQUOTES); ?>');">
					<a href="../controller/logout">Cerrar Sesión</a>
					<a href="../controller/logout">Cerrar Sesión</a>
									<a href="agregarCliente">
        alert("Actualicé plugin slider");
    } else if($('#btn-agregar-cliente-ajax').length){ 
        // Si existe este botón, el usuario estará agregando un cliente
        // Ejecutar si existe el elemento
        uploadObj.update({
            url: "../controller/insertarClienteAjax",
            maxFileSize: 2097152, // 2MB escritos en bytes
            dynamicFormData:function()
            {
                var nombre =  $("#nombreCliente").val(); //capturo el nombre del cliente cargado en el input.
                // los datos que se van a enviar
                var data = {
                  nombreCliente: nombre //nombre del cliente
                };
                return data;
            }
        });
        alert("Actualicé plugin cliente");

    

    // al dar clic en agregar cliente ajax ejecuto el plugin uploadFile.
    $('#btn-agregar-cliente-ajax').click(function(){
        uploadObj.startUpload();
    });