Example #1
0
 /**
  * Set new status to selected record
  *
  * @param  \record_adapter $record
  * @param  array           $postStatus
  * @return array|null
  */
 private function updateRecordStatus(\record_adapter $record, array $postStatus)
 {
     $sbasId = $record->get_databox()->get_sbas_id();
     if (isset($postStatus[$sbasId]) && is_array($postStatus[$sbasId])) {
         $postStatus = $postStatus[$sbasId];
         $currentStatus = strrev($record->get_status());
         $newStatus = '';
         foreach (range(0, 31) as $i) {
             $newStatus .= isset($postStatus[$i]) ? $postStatus[$i] ? '1' : '0' : $currentStatus[$i];
         }
         $record->set_binary_status(strrev($newStatus));
         return ['current_status' => $currentStatus, 'new_status' => $newStatus];
     }
     return null;
 }
Example #2
0
 public function testSetStatus()
 {
     $record = new \record_adapter(self::$DI['app'], self::$DI['record_1']->get_sbas_id(), self::$DI['record_1']->get_record_id());
     $record->set_binary_status('1001001001010101');
     $this->assertSame('00000000000000001001001001010101', $record->get_status());
 }
Example #3
0
 public function testSetStatus()
 {
     $record_1 = $this->getRecord1();
     $record = new \record_adapter($this->getApplication(), $record_1->get_sbas_id(), $record_1->get_record_id());
     $record->set_binary_status('1001001001010101');
     $this->assertSame('00000000000000001001001001010101', $record->get_status());
 }
Example #4
0
 /**
  * {@inheritdoc}
  */
 public function updateRecord(\record_adapter $record)
 {
     $record->set_binary_status(\databox_status::dec2bin($this->app, bindec($record->get_status()) & ~7 | 4));
     return $this;
 }