public function publish(Batch $batch, BlockType $bt, Page $page, Area $area, BlockValue $value) { $data = array(); $data['slID'] = array(); $records = $value->getRecords(); foreach ($records as $record) { $value = $record->getData(); $value = $value['service']; // because it comes out as an array $socialLink = Link::getByServiceHandle($value); if (is_object($socialLink)) { $data['slID'][] = $socialLink->getID(); } } $b = $page->addBlock($bt, $area->getName(), $data); return $b; }
public function publish(Batch $batch, BlockType $bt, Page $page, Area $area, BlockValue $value) { $records = $value->getRecords(); $inspector = \Core::make('import/value_inspector'); if (count($records) == 1) { $data = array(); foreach ($records[0]->getData() as $key => $value) { $result = $inspector->inspect($value); $data[$key] = $result->getReplacedValue(); } $b = $page->addBlock($bt, $area->getName(), $data); } elseif (count($records) > 1) { foreach ($records as $record) { if (strcasecmp($record->getTable(), $bt->getController()->getBlockTypeDatabaseTable()) == 0) { // This is the data record. $data = array(); foreach ($record->getData() as $key => $value) { $result = $inspector->inspect($value); $data[$key] = $result->getReplacedValue(); } $b = $page->addBlock($bt, $area->getName(), $data); } } // Now we import the OTHER records. foreach ($records as $record) { if (strcasecmp($record->getTable(), $bt->getController()->getBlockTypeDatabaseTable()) != 0) { $aar = new BlockRecord($record->getTable()); $aar->bID = $b->getBlockID(); foreach ($record->getData() as $key => $value) { $result = $inspector->inspect($value); $aar->{$key} = $result->getReplacedValue(); } $aar->Save(); } } } else { $b = $page->addBlock($bt, $area->getName(), array()); } return $b; }