1 <?php // vim: set binary noeol et sw=4 sts=4:
3 define('DB_DATAOBJECT_NO_OVERLOAD', 0);
5 // Seteo umask para que el grupo pueda leer.
8 // constantes de logging
9 require_once 'T/logconstants.php';
11 // obtengo configuración
12 foreach (array('.', '/etc', '/etc/sercom') as $dir) {
13 $cf = "$dir/sercom.ini";
14 if (is_readable($cf)) {
15 if (!($CONF = @parse_ini_file($cf, true))) {
16 fputs(STDERR, "No se pudo abrir archivo de configuración '$cf' ($php_errormsg)!\n");
23 // Configuración de DB_DataObject
24 require_once 'PEAR.php';
25 require_once 'DB/DataObject.php';
27 // this is the code used to load and store DataObjects Configuration.
28 $DBO_options = &PEAR::getStaticProperty('DB_DataObject', 'options');
30 // because PEAR::getstaticProperty was called with and & (get by reference)
31 // this will actually set the variable inside that method (a quasi static variable)
32 $DBO_options = $CONF['DB_DataObject'];
34 //unset($DBO_options);
37 $gconf = $CONF['general'];
39 // nivel de errores mostrados
40 if (isset($gconf['error_reporting'])) error_reporting($gconf['error_reporting']);
43 ini_set('track_errors', true);
46 $lang = getenv('LANG');
47 setlocale(LC_ALL, $lang);
49 // si no está seteado el nivel de logueo, uso el del archivo de config
50 if (!isset($LOGLEVEL)) $LOGLEVEL = isset($gconf['loglevel']) ? $gconf['loglevel'] : L_INF;
52 // Abro file pointer para loguear.
54 if (@$gconf['logfile']) {
55 $LOGFP = fopen($gconf['logfile'], 'a');
57 fputs(STDERR, "No se pudo abrir archivo de log '{$gconf['logfile']}' ($php_errormsg)!\n");
65 // compatibilidad hacia adelante
66 if (!function_exists('file_put_contents')) {
67 function file_put_contents($filename, $data) {
68 $fo = fopen($filename, 'w');
69 if ($fo === false) return false;
70 if (($ret = fwrite($fo, $data)) === false) return false;
71 if (!fclose($fo)) return false;
75 if (!function_exists('stream_get_contents')) {
76 function stream_get_contents($fp) {
79 $ret .= fread($fp, 4096);
85 // carga de extensiones
86 require_once 'T/dl.php';
87 // funciones de logging
88 require_once 'T/log.php';
89 // funciones de códigos verificadores
90 require_once 'T/code.php';
91 // manejador de intentos
92 require_once 'T/Intento.php';
97 logs("Iniciando {$argv[0]}...");