Example #1
0
 public function clean_errors()
 {
     self::$errors = array();
 }
 /**
  * 
  * @param type $name nombre de la tabla de la base de datos.
  * @param type $basedir ruta del directorio table donde se encuentra el XML
  * con la estructura de la tabla de la base de datos.
  */
 public function __construct($name = '', $basedir = '')
 {
     if (strtolower(FS_DB_TYPE) == 'mysql') {
         $this->db = new fs_mysql();
     } else {
         $this->db = new fs_postgresql();
     }
     $this->table_name = $name;
     $this->base_dir = $basedir;
     $this->cache = new fs_cache();
     $this->default_items = new fs_default_items();
     if (!self::$errors) {
         self::$errors = array();
     }
     if (!self::$checked_tables) {
         self::$checked_tables = $this->cache->get_array('fs_checked_tables', TRUE);
         if (self::$checked_tables) {
             /// nos aseguramos de que existan todas las tablas que se suponen comprobadas
             $tables = $this->db->list_tables();
             foreach (self::$checked_tables as $ct) {
                 if (!$this->db->table_exists($ct, $tables)) {
                     $this->clean_checked_tables();
                     break;
                 }
             }
         }
     }
     if ($name != '') {
         if (!in_array($name, self::$checked_tables)) {
             if ($this->check_table($name)) {
                 self::$checked_tables[] = $name;
                 $this->cache->set('fs_checked_tables', self::$checked_tables, 5400, TRUE);
             }
         }
     }
 }