Example #1
0
/**
 * Generador de Reportes
 *
 * @category Kumbia
 * @package Report
 * @copyright Copyright (c) 2005-2007 Andres Felipe Gutierrez (andresfelipe at vagoogle.net)
 * @license http://www.kumbia.org/license.txt GNU/GPL
 *
 */
function htm($result, $sumArray, $title, $weighArray, $headerArray)
{
    $config = Config::read('config');
    $active_app = Router::get_application();
    $file = md5(uniqid());
    $content = "\n<html>\n <head>\n   <title>REPORTE DE " . strtoupper($title) . "</title>\n </head>\n <body bgcolor='white'>\n <div style='font-size:20px;font-family:Verdana;color:#000000'>" . strtoupper($config->{$active_app}->name) . "</div>\n\n <div style='font-size:18px;font-family:Verdana;color:#000000'>REPORTE DE " . strtoupper($title) . "</div>\n\n <div style='font-size:18px;font-family:Verdana;color:#000000'>" . date("Y-m-d") . "</div>\n\n <br/>\n <table cellspacing='0' border=1 style='border:1px solid #969696'>\n ";
    $content .= "<tr bgcolor='#F2F2F2'>\n";
    for ($i = 0; $i <= count($headerArray) - 1; $i++) {
        $content .= "<th style='font-family:Verdana;font-size:12px'>" . $headerArray[$i] . "</th>\n";
    }
    $content .= "</tr>\n";
    $l = 5;
    foreach ($result as $row) {
        $content .= "<tr bgcolor='white'>\n";
        for ($i = 0; $i <= count($row) - 1; $i++) {
            if (is_numeric($row[$i])) {
                $content .= "<td style='font-family:Verdana;font-size:12px' align='center'>{$row[$i]}</td>";
            } else {
                $content .= "<td style='font-family:Verdana;font-size:12px'>{$row[$i]}&nbsp;</td>";
            }
        }
        $content .= "</tr>\n";
        $l++;
    }
    file_put_contents("public/temp/{$file}.html", $content);
    if (isset($raw_output)) {
        print "<script type='text/javascript'> window.open('" . KUMBIA_PATH . "temp/" . $file . ".html', null);  </script>";
    } else {
        Generator::forms_print("<script type='text/javascript'> window.open('" . KUMBIA_PATH . "temp/" . $file . ".html', null);  </script>");
    }
}
Example #2
0
 function Footer()
 {
     $config = Config::read('config');
     $active_app = Router::get_application();
     //Posición: a 1,5 cm del final
     $this->SetY(-21);
     //Arial italic 8
     $this->SetFont('Arial', '', 7);
     //Posición: a 1,5 cm del final
     $this->SetY(-18);
     //Arial italic 8
     $this->SetFont('Arial', '', 7);
     //Número de página
     $this->Cell(0, 10, $config->{$active_app}->name, 0, 0, 'C');
     //Posición: a 1,5 cm del final
     $this->SetY(-10);
     //Arial italic 8
     $this->SetFont('Arial', '', 8);
     //Número de página
     $this->Cell(0, 10, '-- ' . $this->PageNo() . ' --', 0, 0, 'C');
 }
Example #3
0
File: xls.php Project: acampos9/SGC
/**
 * Genera un reporte en Excel
 *
 * @param array $result
 * @param array $sumArray
 * @param string $title
 * @param array $weightArray
 * @param array $headerArray
 */
function xls($result, $sumArray, $title, $weightArray, $headerArray)
{
    error_reporting(0);
    $file = md5(uniqid());
    $config = Config::read('config');
    $active_app = Router::get_application();
    $workbook = new Spreadsheet_Excel_Writer("public/temp/{$file}.xls");
    $worksheet =& $workbook->addWorksheet();
    $titulo_verdana =& $workbook->addFormat(array('fontfamily' => 'Verdana', 'size' => 20));
    $titulo_verdana2 =& $workbook->addFormat(array('fontfamily' => 'Verdana', 'size' => 18));
    $workbook->setCustomColor(12, 0xf2, 0xf2, 0xf2);
    $column_title =& $workbook->addFormat(array('fontfamily' => 'Verdana', 'size' => 12, 'fgcolor' => 12, 'border' => 1, 'bordercolor' => 'black', "halign" => 'center'));
    $column =& $workbook->addFormat(array('fontfamily' => 'Verdana', 'size' => 11, 'border' => 1, 'bordercolor' => 'black'));
    $column_centered =& $workbook->addFormat(array('fontfamily' => 'Verdana', 'size' => 11, 'border' => 1, 'bordercolor' => 'black', "halign" => 'center'));
    $worksheet->write(0, 0, strtoupper($config->{$active_app}->name), $titulo_verdana);
    $worksheet->write(1, 0, "REPORTE DE " . strtoupper($title), $titulo_verdana2);
    $worksheet->write(2, 0, "FECHA " . date("Y-m-d"), $titulo_verdana2);
    for ($i = 0; $i <= count($headerArray) - 1; $i++) {
        $worksheet->setColumn($i, $i, $weightArray[$i]);
        $worksheet->write(4, $i, $headerArray[$i], $column_title);
    }
    $l = 5;
    foreach ($result as $row) {
        for ($i = 0; $i <= count($row) - 1; $i++) {
            if (!is_numeric($row[$i])) {
                $worksheet->writeString($l, $i, $row[$i], $column);
            } else {
                $worksheet->writeString($l, $i, $row[$i], $column_centered);
            }
        }
        $l++;
    }
    $workbook->close();
    error_reporting(E_ALL ^ E_STRICT);
    if (isset($raw_output)) {
        print "<script type='text/javascript'> window.open('" . KUMBIA_PATH . "temp/" . $file . ".xls', null);  </script>";
    } else {
        Generator::forms_print("<script type='text/javascript'> window.open('" . KUMBIA_PATH . "temp/" . $file . ".xls', null);  </script>");
    }
}
/**
 * Calcula la edad
 *
 * order: orden de la fecha especificada (YYYY-MM-DD, DD-MM-YYYY, ...)
 * bithdate: fecha de nacimiento
 * today: fecha de referencia para calcular la edad (por defecto la de hoy)
 * year: año de nacimiento
 * month: mes de nacimiento
 * day: dia de nacimiento
 * today_year: año de hoy
 * today_month: mes de hoy
 * today_day: dia de hoy
 * @return integer
 */
function age()
{
    $params = get_params(func_get_args());
    $error = false;
    $active_app = Router::get_application();
    if (!isset($params['order'])) {
        if ($kumbia_config = Config::read('config')) {
            if (preg_match('/^DD[^DMY]MM[^DMY]YYYY$/', $kumbia_config->{$active_app}->dbdate)) {
                $params['order'] = 'd-m-Y';
            } elseif (preg_match('/^DD[^DMY]YYYY[^DMY]MM$/', $kumbia_config->{$active_app}->dbdate)) {
                $params['order'] = 'd-Y-m';
            } elseif (preg_match('/^MM[^DMY]DD[^DMY]YYYY$/', $kumbia_config->{$active_app}->dbdate)) {
                $params['order'] = 'm-d-Y';
            } elseif (preg_match('/^MM[^DMY]YYYY[^DMY]DD$/', $kumbia_config->{$active_app}->dbdate)) {
                $params['order'] = 'm-Y-d';
            } elseif (preg_match('/^YYYY[^DMY]DD[^DMY]MM$/', $kumbia_config->{$active_app}->dbdate)) {
                $params['order'] = 'Y-d-m';
            } else {
                $params['order'] = 'Y-m-d';
            }
        }
    }
    if (isset($params['month'], $params['day'], $params['year'])) {
        $time_nac = mktime(0, 0, 0, $params['month'], $params['day'], $params['year']);
    } elseif (isset($params['birthdate'])) {
        if (preg_match('/^([0-9]+)[^0-9]([0-9]+)[^0-9]([0-9]+)$/', $params['birthdate'], $date)) {
            if ($params['order'] == 'd-m-Y') {
                if (checkdate($date[2], $date[1], $date[3])) {
                    $time_nac = mktime(0, 0, 0, $date[2], $date[1], $date[3]);
                } else {
                    $error = true;
                }
            } elseif ($params['order'] == 'd-Y-m') {
                if (checkdate($date[3], $date[1], $date[2])) {
                    $time_nac = mktime(0, 0, 0, $date[3], $date[1], $date[2]);
                } else {
                    $error = true;
                }
            } elseif ($params['order'] == 'm-d-Y') {
                if (checkdate($date[1], $date[2], $date[3])) {
                    $time_nac = mktime(0, 0, 0, $date[1], $date[2], $date[3]);
                } else {
                    $error = true;
                }
            } elseif ($params['order'] == 'm-Y-d') {
                if (checkdate($date[1], $date[3], $date[2])) {
                    $time_nac = mktime(0, 0, 0, $date[1], $date[3], $date[2]);
                } else {
                    $error = true;
                }
            } elseif ($params['order'] == 'Y-d-m') {
                if (checkdate($date[3], $date[2], $date[1])) {
                    $time_nac = mktime(0, 0, 0, $date[3], $date[2], $date[1]);
                } else {
                    $error = true;
                }
            } else {
                if (checkdate($date[2], $date[3], $date[1])) {
                    $time_nac = mktime(0, 0, 0, $date[2], $date[3], $date[1]);
                } else {
                    $error = true;
                }
            }
        } else {
            $error = true;
        }
    } else {
        $time_nac = time();
    }
    if (isset($params['today_month'], $params['today_day'], $params['today_year'])) {
        $time = mktime(0, 0, 0, $params['today_month'], $params['today_day'], $params['today_year']);
    } elseif (isset($params['today'])) {
        if (preg_match('/^([0-9]+)[^0-9]([0-9]+)[^0-9]([0-9]+)$/', $params['today'], $date)) {
            if ($params['order'] == 'd-m-Y') {
                if (checkdate($date[2], $date[1], $date[3])) {
                    $time = mktime(0, 0, 0, $date[2], $date[1], $date[3]);
                } else {
                    $error = true;
                }
            } elseif ($params['order'] == 'd-Y-m') {
                if (checkdate($date[3], $date[1], $date[2])) {
                    $time = mktime(0, 0, 0, $date[3], $date[1], $date[2]);
                } else {
                    $error = true;
                }
            } elseif ($params['order'] == 'm-d-Y') {
                if (checkdate($date[1], $date[2], $date[3])) {
                    $time = mktime(0, 0, 0, $date[1], $date[2], $date[3]);
                } else {
                    $error = true;
                }
            } elseif ($params['order'] == 'm-Y-d') {
                if (checkdate($date[1], $date[3], $date[2])) {
                    $time = mktime(0, 0, 0, $date[1], $date[3], $date[2]);
                } else {
                    $error = true;
                }
            } elseif ($params['order'] == 'Y-d-m') {
                if (checkdate($date[3], $date[2], $date[1])) {
                    $time = mktime(0, 0, 0, $date[3], $date[2], $date[1]);
                } else {
                    $error = true;
                }
            } else {
                if (checkdate($date[2], $date[3], $date[1])) {
                    $time = mktime(0, 0, 0, $date[2], $date[3], $date[1]);
                } else {
                    $error = true;
                }
            }
        } else {
            $error = true;
        }
    } else {
        $time = time();
    }
    if (!$error) {
        $edad = idate('Y', $time) - idate('Y', $time_nac);
    } else {
        $edad = 0;
    }
    if ($edad > 0) {
        if (idate('m', $time) < idate('m', $time_nac)) {
            $edad--;
        } else {
            if (idate('m', $time) == idate('m', $time_nac)) {
                if (idate('d', $time) < idate('d', $time_nac)) {
                    $edad--;
                }
            }
        }
    } elseif ($edad < 0) {
        $edad = 0;
    }
    return $edad;
}