本文整理匯總了PHP中BlockInstance::copy方法的典型用法代碼示例。如果您正苦於以下問題:PHP BlockInstance::copy方法的具體用法?PHP BlockInstance::copy怎麽用?PHP BlockInstance::copy使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類BlockInstance
的用法示例。
在下文中一共展示了BlockInstance::copy方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: copy_contents
public function copy_contents($template)
{
$artefactcopies = array();
// Correspondence between original artefact ids and id of the copy
$this->set('numcolumns', $template->get('numcolumns'));
$this->set('numrows', $template->get('numrows'));
$this->set('layout', $template->get('layout'));
if ($template->get('owner') == 0 && $template->get('type') == 'portfolio') {
$this->set('description', '');
} else {
$this->set('description', $this->copy_description($template, $artefactcopies));
}
$this->set('tags', $template->get('tags'));
$this->set('columnsperrow', $template->get('columnsperrow'));
$blocks = get_records_array('block_instance', 'view', $template->get('id'));
$numcopied = array('blocks' => 0);
if ($blocks) {
foreach ($blocks as $b) {
safe_require('blocktype', $b->blocktype);
$oldblock = new BlockInstance($b->id, $b);
if ($oldblock->copy($this, $template, $artefactcopies)) {
$numcopied['blocks']++;
}
}
}
// Go back and fix up artefact references in the new artefacts so
// they also point to new artefacts.
if ($artefactcopies) {
foreach ($artefactcopies as $oldid => $copyinfo) {
$a = artefact_instance_from_id($copyinfo->newid);
$a->update_artefact_references($this, $template, $artefactcopies, $oldid);
$a->commit();
}
}
$numcopied['artefacts'] = count($artefactcopies);
return $numcopied;
}