本文整理汇总了PHP中base::saveStructure方法的典型用法代码示例。如果您正苦于以下问题:PHP base::saveStructure方法的具体用法?PHP base::saveStructure怎么用?PHP base::saveStructure使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类base
的用法示例。
在下文中一共展示了base::saveStructure方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: apply
/**
* {@inheritdoc}
*/
public function apply(base $databox, Application $app)
{
$structure = $databox->get_structure();
$DOM = new DOMDocument();
$DOM->loadXML($structure);
$xpath = new DOMXpath($DOM);
foreach ($xpath->query('/record/subdefs/subdefgroup[@name="video"]/subdef[@name="preview"]/acodec') as $node) {
$node->nodeValue = 'libvo_aacenc';
}
foreach ($xpath->query('/record/subdefs/subdefgroup[@name="video"]/subdef[@name="preview"]/vcodec') as $node) {
$node->nodeValue = 'libx264';
}
$databox->saveStructure($DOM);
$subdefgroups = $databox->get_subdef_structure();
foreach ($subdefgroups as $groupname => $subdefs) {
foreach ($subdefs as $name => $subdef) {
$this->addScreenDeviceOption($subdefgroups, $subdef, $groupname);
if (in_array($name, ['preview', 'thumbnail'])) {
if ($name == 'thumbnail' || $subdef->getSubdefType()->getType() != \Alchemy\Phrasea\Media\Subdef\Subdef::TYPE_VIDEO) {
$this->addMobileSubdefImage($subdefgroups, $subdef, $groupname);
} else {
$this->addMobileSubdefVideo($subdefgroups, $subdef, $groupname);
}
}
if ($subdef->getSubdefType()->getType() != \Alchemy\Phrasea\Media\Subdef\Subdef::TYPE_VIDEO) {
continue;
}
$this->addHtml5Video($subdefgroups, $subdef, $groupname);
}
}
return true;
}
示例2: apply
/**
* {@inheritdoc}
*/
public function apply(base $databox, Application $app)
{
$sql = 'UPDATE record r, subdef s
SET r.mime = s.mime
WHERE r.record_id = s.record_id
AND s.name="document"';
$stmt = $databox->get_connection()->prepare($sql);
$stmt->execute();
$stmt->closeCursor();
$sql = 'UPDATE subdef s, record r
SET s.updated_on = r.moddate, s.created_on = r.credate
WHERE s.record_id = r.record_id';
$stmt = $databox->get_connection()->prepare($sql);
$stmt->execute();
$stmt->closeCursor();
$sql = 'UPDATE subdef SET `name` = LOWER( `name` )';
$stmt = $databox->get_connection()->prepare($sql);
$stmt->execute();
$stmt->closeCursor();
$dom = $databox->get_dom_structure();
$xpath = $databox->get_xpath_structure();
$nodes = $xpath->query('//record/subdefs/subdefgroup/subdef');
foreach ($nodes as $node) {
$name = mb_strtolower(trim($node->getAttribute('name')));
if ($name === '') {
continue;
}
$node->setAttribute('name', $name);
}
$databox->saveStructure($dom);
return true;
}
示例3: apply
/**
* {@inheritdoc}
*/
public function apply(base $databox, Application $app)
{
$sql = 'TRUNCATE metadatas';
$stmt = $databox->get_connection()->prepare($sql);
$stmt->execute();
$stmt->closeCursor();
$sql = 'TRUNCATE metadatas_structure';
$stmt = $databox->get_connection()->prepare($sql);
$stmt->execute();
$stmt->closeCursor();
$sql = 'TRUNCATE technical_datas';
$stmt = $databox->get_connection()->prepare($sql);
$stmt->execute();
$stmt->closeCursor();
$phrasea_maps = ['pdftext' => 'Phraseanet:pdftext', 'tf-archivedate' => 'Phraseanet:tf-archivedate', 'tf-atime' => 'Phraseanet:tf-atime', 'tf-chgdocdate' => 'Phraseanet:tf-chgdocdate', 'tf-ctime' => 'Phraseanet:tf-ctime', 'tf-editdate' => 'Phraseanet:tf-editdate', 'tf-mtime' => 'Phraseanet:tf-mtime', 'tf-parentdir' => 'Phraseanet:tf-parentdir', 'tf-bits' => 'Phraseanet:tf-bits', 'tf-channels' => 'Phraseanet:tf-channels', 'tf-extension' => 'Phraseanet:tf-extension', 'tf-filename' => 'Phraseanet:tf-filename', 'tf-filepath' => 'Phraseanet:tf-filepath', 'tf-height' => 'Phraseanet:tf-height', 'tf-mimetype' => 'Phraseanet:tf-mimetype', 'tf-recordid' => 'Phraseanet:tf-recordid', 'tf-size' => 'Phraseanet:tf-size', 'tf-width' => 'Phraseanet:tf-width'];
$sxe = $databox->get_sxml_structure();
$dom_struct = $databox->get_dom_structure();
$xp_struct = $databox->get_xpath_structure();
foreach ($sxe->description->children() as $fname => $field) {
$src = trim(isset($field['src']) ? $field['src'] : '');
if (array_key_exists($src, $phrasea_maps)) {
$src = $phrasea_maps[$src];
}
$nodes = $xp_struct->query('/record/description/' . $fname);
if ($nodes->length > 0) {
$node = $nodes->item(0);
$node->setAttribute('src', $src);
$node->removeAttribute('meta_id');
}
}
$databox->saveStructure($dom_struct);
$databox->feed_meta_fields();
$databox->delete_data_from_cache(databox::CACHE_STRUCTURE);
$databox->delete_data_from_cache(databox::CACHE_META_STRUCT);
$conn = $app->getApplicationBox()->get_connection();
$sql = 'DELETE FROM `task2` WHERE class="readmeta"';
$stmt = $conn->prepare($sql);
$stmt->execute();
$stmt->closeCursor();
unset($stmt);
return true;
}
示例4: apply
/**
* {@inheritdoc}
*/
public function apply(base $databox, Application $app)
{
$sxe = $databox->get_sxml_structure();
if ($sxe !== false) {
foreach ($sxe->statbits->bit as $sb) {
$bit = (int) $sb["n"];
if ($bit < 4 && $bit > 31) {
continue;
}
$name = (string) $sb;
$labelOff = (string) $sb['labelOff'];
$labelOn = (string) $sb['labelOn'];
$this->status[$bit]["labeloff"] = $labelOff ?: 'no-' . $name;
$this->status[$bit]["labelon"] = $labelOn ?: 'ok-' . $name;
}
}
$dom = new \DOMDocument();
$dom->loadXML($sxe->asXML());
$databox->saveStructure($dom);
return true;
}