Example #1
0
 /**
  * 
  * @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);
             }
         }
     }
 }
Example #2
0
 /**
  * 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;
 }
Example #3
0
 /**
  * 
  * @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);
             }
         }
     }
 }