/** * update single pages field value and resave file * * @param str $id id of page * @param str $field field name * @param str $value value * @param bool $cdata true, store as cdata, false textnode, null auto detect from destination * @return [type] [description] */ function updatePageField($id, $field, $value, $cdata = null) { $xml = getPageXML($id, false); if ($cdata === true) { $xml->addCDataChild($field, $value); } else { if ($cdata === false) { $xml->{$field} = $value; } else { $xml->{$field}->setValue($value); } } savePageXml($xml, false); }
<div id="maincontent" class="<?php echo $pageClass; ?> "> <div class="main"> <div id="pagestack"> <?php exec_action('page-stack'); // @hook page-stack experimental can insert custom page stack here if (isset($id) && $pagestackactive) { /** * Editing draft page, published page exists */ if ($draft && $pageExists) { $publishdata = getPageXML($id, $nocdata = true); $publishAuthor = (string) $publishdata->author; $publishPubdate = output_datetime($publishdata->pubDate); if (empty($publishAuthor)) { $publishAuthor = i18n_r('UNKNOWN'); } ?> <!-- PUBLISHED pagestack --> <div class="pagestack existingpage shadow peek"> <div style="float: left;"> <i class="fa fa-clock-o"> </i><?php echo sprintf(i18n_r('LAST_SAVED'), $publishAuthor), " ", $publishPubdate; ?> </div> <div style="float:right">
/** * get page field directly from page file, bypasses page cache * @since 3.4 * @param str $page page id * @param str $field field id * @param boolean $raw return raw xml * @return returns field data from page xml */ function returnPageFieldFromFile($page, $field, $raw = false) { $data = getPageXML($page); if (!$data) { return; } $data = $data->{$field}; if ($raw) { return $data; } // return without any processing $data = stripslashes(htmlspecialchars_decode($data, ENT_QUOTES)); return $data; }
/** * Change all direct childens parents to new parent * * @since 3.4 * @param str $parent parent slug to change * @param str $newparent new slug to change to */ function changeChildParents($parent, $newparent = null) { global $pagesArray; getPagesXmlValues(); foreach ($pagesArray as $page) { if ($page['parent'] == $parent) { $data = getPageXML($page['url']); $data->parent = $newparent; XMLsave($data, GSDATAPAGESPATH . $page['filename']); } } }
* @package GetSimple * @subpackage Page-Edit */ # Setup $load['plugin'] = true; include 'inc/common.php'; login_cookie_check(); exec_action('load-menu-manager'); # save page priority order if (isset($_POST['menuOrder'])) { $menuOrder = explode(',', $_POST['menuOrder']); $priority = 0; foreach ($menuOrder as $slug) { $file = GSDATAPAGESPATH . $slug . '.xml'; if (file_exists($file)) { $data = getPageXML($slug); if ($priority != (int) $data->menuOrder) { unset($data->menuOrder); $data->addChild('menuOrder')->addCData($priority); XMLsave($data, $file); } } $priority++; } create_pagesxml('true'); $success = i18n_r('MENU_MANAGER_SUCCESS'); } # get pages getPagesXmlValues(); $pagesSorted = subval_sort($pagesArray, 'menuOrder'); $pagetitle = strip_tags(i18n_r('MENU_MANAGER')) . ' · ' . i18n_r('PAGE_MANAGEMENT');