Example #1
0
/**
 * 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);
}
Example #2
0
    <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">&nbsp;</i><?php 
        echo sprintf(i18n_r('LAST_SAVED'), $publishAuthor), " ", $publishPubdate;
        ?>
&nbsp;
            </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')) . ' &middot; ' . i18n_r('PAGE_MANAGEMENT');