<?php

class DatabaseList extends Module
{
  var $Dependencies = array('Log', 'User');

  function AddItem($TableId, $Values)
  {
    $DbResult = $this->Database->query('SELECT `TableName`, `Database` FROM `SystemList` WHERE `Id`='.$TableId);
    $DbRow = $DbResult->fetch_assoc();
    $TableName = $DbRow['TableName'];

    $this->Database->insert(array('Table' => $TableName), $Values);
    return($this->Database->insert_id);
  }

  function DeleteItem($TableId, $ItemId)
  {
    $DbResult = $this->Database->query('SELECT `TableName`, `Database` FROM `SystemList` WHERE `Id`='.$TableId);
    $DbRow = $DbResult->fetch_assoc();
    $TableName = $DbRow['TableName'];
    $this->Database->delete(array('Table' => $TableName, 'Condition' => 'Id='.$ItemId), array('DeletionTime' => 'NOW()'));
  }

  function EditItem($TableId, $Values, $ItemId)
  {
    $DbResult = $this->Database->query('SELECT `TableName`, `Database` FROM `SystemList` WHERE `Id`='.$TableId);
    $DbRow = $DbResult->fetch_assoc();
    $TableName = $DbRow['TableName'];
    $this->DeleteItem($TableId, $ItemId);
    $Values['Id'] = $ItemId;
    $this->Database->replace(array('Table' => $TableName), $Values);
  }
}

?>
