<?php
/**
 * @copyright (c) Kufer Software GmbH, Loisachstrasse 4, D-84453 Mühldorf
 */


class DruckListSettings extends Datamodul
{
  
  public $listID;
  
  public $toolID;

  
  public $typ;

  
  public $description;

  
  public $listsettings;

  
  public $title1;

  
  public $title2;

  
  public $endbem;

  
  public $feed;

  
  public $portrait;

  
  public $zusatzspalten;

  

  
  public $ausfall;

  
  public function isEinstellSet($i)
  {
    return (isset($this->listsettings[$i]) && $this->listsettings[$i] == 'W') ? 1 : 0;
  }

  
  public function setEinstell($i, $val)
  {
    $this->listsettings[$i] = ($val == 1) ? 'W' : 'F';
  }

  

  
  public function _getZusatzspaltenBit($optionName)
  {
    switch ($optionName) {
      case 'option1':
        return 0x01;
      case 'option2':
        return 0x02;
      case 'option3':
        return 0x04;
      case 'option4':
        return 0x08;
      case 'option5':
        return 0x10;
    }

    return false;
  }

  
  public function isZusatzspaltenSet($optionName)
  {
    $bit = $this->_getZusatzspaltenBit($optionName);
    if (!$bit) {
      return false;
    }

    return ($this->zusatzspalten & $bit) == $bit;
  }

  
  public function setZusatzspalten($optionName)
  {
    $bit = $this->_getZusatzspaltenBit($optionName);
    if ($bit) {
      $this->zusatzspalten = $this->zusatzspalten | $bit;
    }
  }

  public function getTyp($pFieldName)
  {
    switch ($pFieldName) {
      default:
        return parent::getTyp($pFieldName);
      case 'listid':
      case 'toolid':
      case 'listID':
      case 'toolID':
      case 'feed':
      case 'portrait':
      case 'zusatzspalten':
      case 'ausfall':
        return \DatamodulVarType::TYPE_INT;
    }
  }
}