function Alta(&$num, $strUsuario, $strServicio, $strCliente, $strDescripcion, $strDocAplicable, $strOficinaAfectada, $strDepartamento, $strProductos2, $strContrato)
 {
     logger('traza', 'clsCNNCS.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['base'] . ', SesionID: ' . session_id() . " ||||Medición, Análisis y Mejora->No Conformidades->Alta|| clsCNNCS->Alta()");
     //validación datos entrada
     if (is_null($strUsuario)) {
         return false;
     }
     //comprobación oficina
     $oficina = explode('.', $strOficinaAfectada);
     $strCodigo = $oficina[0];
     $existeOficina = $this->existeOficina($strCodigo);
     require_once '../CN/clsCNUsu.php';
     $clsCNUsu = new clsCNUsu();
     $clsCNUsu->setStrBD($this->getStrBD());
     logger('traza', 'clsCNNCS.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['base'] . ', SesionID: ' . session_id() . " clsCNNCS->Alta()->ObtieneOficinaDep_usuario(" . $_SESSION['usuario'] . ")>");
     $datos = $clsCNUsu->ObtieneOficinaDep_usuario($_SESSION['usuario']);
     //Control de la oficina
     if (isset($strOficinaAfectada) && $strOficinaAfectada == '' || $existeOficina == 'NO') {
         $ofi = explode('.', $datos['strOficina']);
         $strCodigo = $ofi[0];
     }
     //Control del departamento
     //si el dato del departamento viene vacio o no existe en la tabla tbdepartamentos, le asigno el departamento del usuario
     $lngDepartamento = 0;
     require_once '../CN/clsCNRecl.php';
     $clsCNRecl = new clsCNRecl();
     $clsCNRecl->setStrBD($this->getStrBD());
     $existeDpto = $clsCNRecl->existeDpto($strDepartamento);
     if (isset($strDepartamento) && $strDepartamento == '' || $existeDpto == 'NO') {
         $lngDepartamento = $datos['lngDepartamento'];
     } else {
         //sino busco el $lngDepartamento
         require_once '../CN/clsCNDep.php';
         $clsCNDep = new clsCNDep();
         $clsCNDep->setStrBD($this->getStrBD());
         $lngDepartamento = $clsCNDep->ObtieneIdDep($strDepartamento);
     }
     require_once '../CAD/clsCADNCS.php';
     $clsCADNCS = new clsCADNCS();
     $clsCADNCS->setStrBD($this->getStrBD());
     return $clsCADNCS->Alta($num, $strUsuario, $strServicio, $strCliente, $strDescripcion, $strDocAplicable, $strCodigo, $lngDepartamento, $strProductos2, $strContrato, $strCodigo);
 }
<?php

session_start();
require_once '../CN/clsCNRecl.php';
require_once '../CN/clsCNUsu.php';
require_once '../general/funcionesGenerales.php';
//Control de Permisos. Hay que incluirlo en todas las páginas
/**************************************************************/
$lngPagina = '48,542';
//le paso la funcion de comprobacion de permisos
AccesoUsuarioPagina($lngPagina, $_SESSION['usuario']);
$lngPermiso = 1;
//ESTA VARIABLE ES PROVISIONAL
$clsCNRecl = new clsCNRecl();
$clsCNRecl->setStrBD($_SESSION['mapeo']);
$clsCNUsu = new clsCNUsu();
$clsCNUsu->setStrBD($_SESSION['mapeo']);
function EnviaCorreos($strMail, $originado, $destinatario, $num, $fecha, $departamento, $tipo)
{
    require_once '../general/phpmailer/PHPMailerAutoload.php';
    $to = $strMail;
    $from = '*****@*****.**';
    $mail = new PHPMailer();
    //Correo desde donde se envía (from)
    $mail->setFrom($from, '');
    //Correo de envío (to)
    $mail->addAddress($to, '');
    $mail->CharSet = "UTF-8";
    $mail->Subject = "Sistema de Qualidad";
    $html = '<!DOCTYPE html>
            <html>
function TiposReclamacion($selec)
{
    require_once '../CN/clsCNRecl.php';
    $clsCNRecl = new clsCNRecl();
    $clsCNRecl->setStrBD($_SESSION['mapeo']);
    //    $Tipificacion=array();
    $Tipificacion = $clsCNRecl->TipificacionesRecl();
    //vemos si la vble $selec tiene datos o no
    $strHTML = '';
    if ($selec == '') {
        $strHTML = '<OPTION></OPTION>';
        for ($i = 1; $i <= count($Tipificacion); $i++) {
            $strHTML = $strHTML . "<OPTION>" . $Tipificacion[$i] . "</OPTION>";
        }
    } else {
        for ($i = 1; $i <= count($Tipificacion); $i++) {
            if (strcmp($selec, $Tipificacion[$i]) == 0) {
                $strHTML = $strHTML . "<OPTION selected>" . $Tipificacion[$i] . "</OPTION>";
            } else {
                $strHTML = $strHTML . "<OPTION>" . $Tipificacion[$i] . "</OPTION>";
            }
        }
    }
    return $strHTML;
}
 function tareaNueva($tipo, $actual, $accion, $idnum, $num, $idUsuario, $post)
 {
     require_once '../general/' . $_SESSION['mapeo'];
     $db = new Db();
     $db->conectar($this->getStrBD());
     //busco el id mas alto de la tabla y le sumo 1
     $strSQL = "\r\n                    SELECT IF(ISNULL(MAX(Id)),1,MAX(Id)+1) AS Id FROM tbtareas\r\n                   ";
     logger('traza', 'clsCADRecl.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADRecl->tareaNueva()|| SQL : " . $strSQL);
     $stmt = $db->ejecutar($strSQL);
     if (!$stmt) {
         //si ha fallado la consulta DEVOLVEMOS false
         $db->desconectar();
         logger('traza', 'clsCADRecl.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADRecl->tareaNueva()<FALSE");
         return false;
     }
     //Control de la oficina
     $oficina = explode('.', $post['strOficina']);
     $strCodigo = $oficina[0];
     //comprobamos que el numero de oficina exista en la tabla tboficina
     //sino existe asigno false a la variable de control $existeOficina
     $existeOficina = $this->existeOficina($strCodigo);
     //si el dato de la oficina viene vacio o no existe la oficina le asigno la oficina del usuario
     require_once '../CN/clsCNUsu.php';
     $clsCNUsu = new clsCNUsu();
     $clsCNUsu->setStrBD($this->getStrBD());
     $datos = $clsCNUsu->ObtieneOficinaDep_usuario($_SESSION['usuario']);
     if (isset($post['strOficina']) && $post['strOficina'] == '' || $existeOficina == 'NO') {
         $ofi = explode('.', $datos['strOficina']);
         $strCodigo = $ofi[0];
     }
     //Control del departamento
     //si el dato del departamento viene vacio o no existe en la tabla tbdepartamentos, le asigno el departamento del usuario
     require_once '../CN/clsCNRecl.php';
     $clsCNRecl = new clsCNRecl();
     $clsCNRecl->setStrBD($this->getStrBD());
     $lngDepartamento = 0;
     $existeDpto = $clsCNRecl->existeDpto($post['strDepartamento']);
     if (isset($post['strDepartamento']) && $post['strDepartamento'] == '' || $existeDpto == 'NO') {
         $lngDepartamento = $datos['lngDepartamento'];
     } else {
         //sino busco el $lngDepartamento
         require_once '../CN/clsCNDep.php';
         $clsCNDep = new clsCNDep();
         $clsCNDep->setStrBD($this->getStrBD());
         $lngDepartamento = $clsCNDep->ObtieneIdDep($post['strDepartamento']);
     }
     $row = mysql_fetch_array($stmt);
     $Id = $row['Id'];
     $strSQL = "\r\n                   INSERT INTO tbtareas (Id,Tipo,IdTipo,Numero,IdUsuario,IdDepartamento,IdOficina,Estado,Tarea,datFecha)\r\n                   VALUES ({$Id},'{$tipo}',{$idnum},'{$num}',{$idUsuario},{$lngDepartamento},{$strCodigo},'{$actual}','{$accion}',now())\r\n                   ";
     logger('traza', 'clsCADRecl.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADRecl->tareaNueva()|| SQL : " . $strSQL);
     $db->conectar($this->getStrBD());
     $stmt = $db->ejecutar($strSQL);
     $db->desconectar();
     if ($stmt) {
         //retornamos true
         logger('traza', 'clsCADRecl.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADRecl->tareaNueva()< TRUE : Id " . $Id);
         return true;
     } else {
         //retornamos true
         logger('traza', 'clsCADRecl.php-', "Usuario: " . $_SESSION['strUsuario'] . ', Empresa: ' . $_SESSION['strBD'] . ', SesionID: ' . session_id() . " clsCADRecl->tareaNueva()< FALSE");
         return false;
     }
 }