/** * * @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 = '') { $this->base_dir = $basedir; $this->cache = new fs_cache(); $this->db = new fs_db2(); $this->table_name = $name; $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); } } } }
/** * Devuelve la lista con los Ășltimos cambios del usuario. */ public function get_last_changes() { if (!isset($this->last_changes)) { $this->last_changes = $this->cache->get_array('last_changes_' . $this->user->nick); } return $this->last_changes; }
/** * * @param type $name nombre de la tabla de la base de datos. */ public function __construct($name = '') { $this->cache = new fs_cache(); $this->db = new fs_db2(); $this->table_name = $name; /// buscamos el xml de la tabla en los plugins $this->base_dir = ''; foreach ($GLOBALS['plugins'] as $plugin) { if (file_exists('plugins/' . $plugin . '/model/table/' . $name . '.xml')) { $this->base_dir = 'plugins/' . $plugin . '/'; break; } } $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); } } } }