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