original_string: public function addTable($table, $after=null) {
  
          // Calculate the previous and next tables
          $prevtable = null;
          $nexttable = null;
  
          if (!$after) {
              if ($this->tables) {
                  end($this->tables);
                  $prevtable = $this->tables[key($this->tables)];
              }
          } else {
              $prevtable = $this->getTable($after);
          }
          if ($prevtable && $prevtable->getNext()) {
              $nexttable = $this->getTable($prevtable->getNext());
          }
  
          // Set current table previous and next attributes
          if ($prevtable) {
              $table->setPrevious($prevtable->getName());
              $prevtable->setNext($table->getName());
          }
          if ($nexttable) {
              $table->setNext($nexttable->getName());
              $nexttable->setPrevious($table->getName());
          }
          // Some more attributes
          $table->setLoaded(true);
          $table->setChanged(true);
          // Add the new table
          $this->tables[] = $table;
          // Reorder the whole structure
          $this->orderTables($this->tables);
          // Recalculate the hash
          $this->calculateHash(true);
          // We have one new table, so the structure has changed
          $this->setVersion(userdate(time(), '%Y%m%d', 99, false));
          $this->setChanged(true);
      }
code: public function addTable($table, $after=null) {
  
          // Calculate the previous and next tables
          $prevtable = null;
          $nexttable = null;
  
          if (!$after) {
              if ($this->tables) {
                  end($this->tables);
                  $prevtable = $this->tables[key($this->tables)];
              }
          } else {
              $prevtable = $this->getTable($after);
          }
          if ($prevtable && $prevtable->getNext()) {
              $nexttable = $this->getTable($prevtable->getNext());
          }
  
          // Set current table previous and next attributes
          if ($prevtable) {
              $table->setPrevious($prevtable->getName());
              $prevtable->setNext($table->getName());
          }
          if ($nexttable) {
              $table->setNext($nexttable->getName());
              $nexttable->setPrevious($table->getName());
          }
          // Some more attributes
          $table->setLoaded(true);
          $table->setChanged(true);
          // Add the new table
          $this->tables[] = $table;
          // Reorder the whole structure
          $this->orderTables($this->tables);
          // Recalculate the hash
          $this->calculateHash(true);
          // We have one new table, so the structure has changed
          $this->setVersion(userdate(time(), '%Y%m%d', 99, false));
          $this->setChanged(true);
      }
code_tokens: public function addTable ( $ table , $ after = null ) { // Calculate the previous and next tables $ prevtable = null ; $ nexttable = null ; if ( ! $ after ) { if ( $ this -> tables ) { end ( $ this -> tables ) ; $ prevtable = $ this -> tables [ key ( $ this -> tables ) ] ; } } else { $ prevtable = $ this -> getTable ( $ after ) ; } if ( $ prevtable && $ prevtable -> getNext ( ) ) { $ nexttable = $ this -> getTable ( $ prevtable -> getNext ( ) ) ; } // Set current table previous and next attributes if ( $ prevtable ) { $ table -> setPrevious ( $ prevtable -> getName ( ) ) ; $ prevtable -> setNext ( $ table -> getName ( ) ) ; } if ( $ nexttable ) { $ table -> setNext ( $ nexttable -> getName ( ) ) ; $ nexttable -> setPrevious ( $ table -> getName ( ) ) ; } // Some more attributes $ table -> setLoaded ( true ) ; $ table -> setChanged ( true ) ; // Add the new table $ this -> tables [ ] = $ table ; // Reorder the whole structure $ this -> orderTables ( $ this -> tables ) ; // Recalculate the hash $ this -> calculateHash ( true ) ; // We have one new table, so the structure has changed $ this -> setVersion ( userdate ( time ( ) , '%Y%m%d' , 99 , false ) ) ; $ this -> setChanged ( true ) ; }
docstring: Add one table to the structure, allowing to specify the desired order
  If it's not specified, then the table is added at the end.
  @param xmldb_table $table
  @param mixed $after
docstring_tokens: Add one table to the structure allowing to specify the desired order If it s not specified then the table is added at the end .