]> git.llucax.com Git - software/sercom-old.git/blob - src/T/general.php
Bugfix en constantes de logging.
[software/sercom-old.git] / src / T / general.php
1 <?php // vim: set binary noeol et sw=4 sts=4:
2
3 $VERSION = 0.2;
4 $NAME = 'sercom';
5
6 define('DB_DATAOBJECT_NO_OVERLOAD', 0);
7
8 // Seteo umask para que el grupo pueda leer.
9 umask(00027);
10
11 // constantes de logging
12 require_once 'T/logconstants.php';
13
14 // obtengo configuración
15 foreach (array('.', '/etc', '/etc/'.$NAME) as $dir) {
16     $cf = "$dir/$NAME.ini";
17     if (is_readable($cf)) {
18         if (!($CONF = @parse_ini_file($cf, true))) {
19             fputs(STDERR, "No se pudo abrir archivo de configuración '$cf' ($php_errormsg)!\n");
20             exit(1);
21         }
22     }
23 }
24 unset($cf, $dir);
25
26 // Configuración de DB_DataObject
27 require_once 'PEAR.php';
28 require_once 'DB/DataObject.php';
29
30 // this is the code used to load and store DataObjects Configuration. 
31 $DBO_options = &PEAR::getStaticProperty('DB_DataObject', 'options');
32
33 // because PEAR::getstaticProperty was called with and & (get by reference)
34 // this will actually set the variable inside that method (a quasi static variable)
35 $DBO_options = $CONF['dbo'];
36
37 //unset($DBO_options);
38
39 // shortcut
40 $gconf = $CONF['general'];
41
42 // nivel de errores mostrados
43 if (isset($gconf['error_reporting'])) error_reporting($gconf['error_reporting']);
44
45 // errores
46 ini_set('track_errors', true);
47
48 // locale
49 #$lang = getenv('LANG');
50 setlocale(LC_ALL, '');
51
52 // si no está seteado el nivel de logueo, uso el del archivo de config
53 if (!isset($LOGLEVEL)) $LOGLEVEL = isset($CONF['log']['level']) ? $CONF['log']['level'] : INFO;
54
55 // Abro file pointer para loguear.
56 if (!isset($LOGFP)) {
57     if (@$CONF['log']['file']) {
58         $LOGFP = fopen($CONF['log']['file'], 'a');
59         if (!$LOGFP) {
60             fputs(STDERR, "No se pudo abrir archivo de log '{$CONF['log']['file']}' ($php_errormsg)!\n");
61             exit(2);
62         }
63     } else {
64         $LOGFP = STDERR;
65     }
66 }
67
68 // compatibilidad hacia adelante
69 if (!function_exists('file_put_contents')) {
70     function file_put_contents($filename, $data) {
71         $fo = fopen($filename, 'w');
72         if ($fo === false) return false;
73         if (($ret = fwrite($fo, $data)) === false) return false;
74         if (!fclose($fo)) return false;
75         return $ret;
76     }
77 }
78 if (!function_exists('stream_get_contents')) {
79     function stream_get_contents($fp) {
80         $ret = '';
81         while (!feof($fp)) {
82             $ret .= fread($fp, 4096);
83         }
84         return $ret;
85     }
86 }
87
88 // carga de extensiones
89 require_once 'T/dl.php';
90 // funciones de logging
91 require_once 'T/log.php';
92 // funciones de códigos verificadores
93 require_once 'T/code.php';
94 // manejador de intentos
95 require_once 'T/Intento.php';
96
97 unset($gconf);
98
99 logs("Iniciando {$argv[0]}...");
100
101 ?>