__construct() public method

Make a record to be stored in a file
public __construct ( $elements = [] )
Exemplo n.º 1
0
 public function __construct($settings, $records)
 {
     parent::__construct(array('title' => new FileString(32), 'attributes' => new FileShort(), 'version' => new FileShort(), 'creationTime' => new FileDate(), 'modificationTime' => new FileDate(), 'backupTime' => new FileDate(), 'modificationNumber' => new FileInt(), 'appInfoID' => new FileInt(), 'sortInfoID' => new FileInt(), 'prcType' => new FileString(4), 'creator' => new FileString(4), 'uniqueIDSeed' => new FileInt(), 'nextRecordListID' => new FileInt(), 'numberRecords' => new FileShort(), 'recordList' => new FileElement(), 'filler' => new FileShort(), 'records' => new FileElement()));
     //Set values from the info block
     foreach ($this->elements as $name => $val) {
         if ($settings->exists($name)) {
             $this->get($name)->set($settings->get($name));
         }
     }
     $this->get('numberRecords')->set(sizeof($records));
     $i = 0;
     foreach ($records as $record) {
         $offset = new FileInt();
         $attr = new FileByte();
         $uniqueID = new FileTri($i);
         $this->elements['recordList']->add('Rec' . $i, new FileElement(array('offset' => $offset, 'attribute' => $attr, 'uniqueID' => $uniqueID)));
         $this->elements['records']->add('Rec' . $i, $record);
         ++$i;
     }
     $this->updateOffsets($records);
 }
Exemplo n.º 2
0
 public function __construct($settings, $records)
 {
     parent::__construct(array("title" => new FileString(32), "attributes" => new FileShort(), "version" => new FileShort(), "creationTime" => new FileDate(), "modificationTime" => new FileDate(), "backupTime" => new FileDate(), "modificationNumber" => new FileInt(), "appInfoID" => new FileInt(), "sortInfoID" => new FileInt(), "prcType" => new FileString(4), "creator" => new FileString(4), "uniqueIDSeed" => new FileInt(), "nextRecordListID" => new FileInt(), "numberRecords" => new FileShort(), "recordList" => new FileElement(), "filler" => new FileShort(), "records" => new FileElement()));
     //Set values from the info block
     foreach ($this->elements as $name => $val) {
         if ($settings->exists($name)) {
             $this->get($name)->set($settings->get($name));
         }
     }
     $this->get("numberRecords")->set(sizeof($records));
     $i = 0;
     foreach ($records as $record) {
         $offset = new FileInt();
         $attr = new FileByte();
         $uniqueID = new FileTri($i);
         $this->elements["recordList"]->add("Rec" . $i, new FileElement(array("offset" => $offset, "attribute" => $attr, "uniqueID" => $uniqueID)));
         $this->elements["records"]->add("Rec" . $i, $record);
         $i++;
     }
     $this->updateOffsets($records);
 }