mcramer
2012-10-30 a1c925f9c924f55f9dc39f840a9e23a62d4b1af1
interface/lib/classes/db_mysql.inc.php
@@ -47,16 +47,17 @@
  public $show_error_messages = true; // false in server, true in interface
  // constructor
  public function __construct() {
  public function __construct($prefix = '') {
    global $conf;
    $this->dbHost = $conf['db_host'];
    $this->dbName = $conf['db_database'];
    $this->dbUser = $conf['db_user'];
    $this->dbPass = $conf['db_password'];
    $this->dbCharset = $conf['db_charset'];
    $this->dbNewLink = $conf['db_new_link'];
    $this->dbClientFlags = $conf['db_client_flags'];
    parent::__construct($conf['db_host'], $conf['db_user'],$conf['db_password'],$conf['db_database']);
    if($prefix != '') $prefix .= '_';
    $this->dbHost = $conf[$prefix.'db_host'];
    $this->dbName = $conf[$prefix.'db_database'];
    $this->dbUser = $conf[$prefix.'db_user'];
    $this->dbPass = $conf[$prefix.'db_password'];
    $this->dbCharset = $conf[$prefix.'db_charset'];
    $this->dbNewLink = $conf[$prefix.'db_new_link'];
    $this->dbClientFlags = $conf[$prefix.'db_client_flags'];
    parent::__construct($conf[$prefix.'db_host'], $conf[$prefix.'db_user'],$conf[$prefix.'db_password'],$conf[$prefix.'db_database']);
    if ($this->connect_error) {
      $this->updateError('DB::__construct');
      return false;
@@ -97,6 +98,7 @@
  public function query($queryString) {
    $this->queryId = parent::query($queryString);
    $this->updateError('DB::query('.$queryString.') -> mysqli_query');
    if($this->errorNumber) debug_print_backtrace();
    if(!$this->queryId) {
      return false;
    }
@@ -297,7 +299,7 @@
         $update_data_str = $update_data;
      }
      
      $this->query("UPDATE $tablename SET $update_data WHERE $index_field = '$index_value'");
      $this->query("UPDATE $tablename SET $update_data_str WHERE $index_field = '$index_value'");
      $new_rec = $this->queryOneRecord("SELECT * FROM $tablename WHERE $index_field = '$index_value'");
      $this->datalogSave($tablename, 'UPDATE', $index_field, $index_value, $old_rec, $new_rec, $force_update);
@@ -314,6 +316,28 @@
      $this->datalogSave($tablename, 'DELETE', $index_field, $index_value, $old_rec, $new_rec);
      return true;
    }
    //* get the current datalog status for the specified login (or currently logged in user)
    public function datalogStatus($login = '') {
        global $app;
        $return = array('count' => 0, 'entries' => array());
        if($_SESSION['s']['user']['typ'] == 'admin') return $return; // these information should not be displayed to admin users
        if($login == '' && isset($_SESSION['s']['user'])) {
            $login = $_SESSION['s']['user']['username'];
        }
        $result = $this->queryAllRecords("SELECT COUNT( * ) AS cnt, sys_datalog.action, sys_datalog.dbtable FROM sys_datalog, server WHERE server.server_id = sys_datalog.server_id AND sys_datalog.user = '" . $this->quote($login) . "' AND sys_datalog.datalog_id > server.updated GROUP BY sys_datalog.dbtable, sys_datalog.action");
        foreach($result as $row) {
            if(!$row['dbtable']) continue;
            $return['entries'][] = array('table' => $row['dbtable'], 'action' => $row['action'], 'count' => $row['cnt'], 'text' => $app->lng('datalog_status_' . $row['action'] . '_' . $row['dbtable']));
            $return['count'] += 1;
        }
        unset($result);
        return $return;
    }
@@ -459,17 +483,26 @@
    function tableInfo($table_name) {
      global $go_api,$go_info;
      global $go_api,$go_info,$app;
      // Tabellenfelder einlesen
      if($rows = $go_api->db->queryAllRecords('SHOW FIELDS FROM '.$table_name)){
      if($rows = $app->db->queryAllRecords('SHOW FIELDS FROM '.$table_name)){
   foreach($rows as $row) {
     /*
     $name = $row[0];
     $default = $row[4];
     $key = $row[3];
     $extra = $row[5];
     $isnull = $row[2];
     $type = $row[1];
     */
     $name = $row['Field'];
     $default = $row['Default'];
     $key = $row['Key'];
     $extra = $row['Extra'];
     $isnull = $row['Null'];
     $type = $row['Type'];
     $column = array();