<?php

class ListSystemListItem
{
  function RebuildOrder($List)
  {
    global $Database;

    $Database->query('SET @I = 0;');
    $Database->query('UPDATE `SystemListItem` SET `Sequence` = (@I := @I + 1) WHERE `List`='.$List.' ORDER BY `Sequence`;');
  }

  function OnAdd($Parameters)
  {
    global $Database;

    //print_r($Parameters);
    $DbResult = $Database->query('SELECT `DbDataType` FROM `SystemType` WHERE Id='.$Parameters['Type']);
    //echo($Database->LastQuery);
    $DbRow = $DbResult->fetch_assoc();
    $DbResult = $Database->query('SELECT `TableName` FROM `SystemList` WHERE Id='.$Parameters[$Parameters['Column']]);
    //echo($Database->LastQuery);
    $DbRow2 = $DbResult->fetch_assoc();
    $Database->query('ALTER TABLE `'.$DbRow2['TableName'].'` ADD `'.$Parameters['Name'].'` '.$DbRow['DbDataType'].' NOT NULL ;');
    //echo($Database->LastQuery);

    $this->RebuildOrder($Parameters['List']);
  }

  function OnEdit($Parameters)
  {
    $this->RebuildOrder($Parameters['List']);
  }

  function OnDelete($Parameters)
  {
    $this->RebuildOrder($Parameters['List']);
  }
}

?>