$title = ''; $url = ''; $metak = ''; $metad = ''; $draftExists = false; // (bool) does a draft exist $pageExists = false; // (bool) does a page exist $newdraft = false; // (bool) new (unsaved) draft being edited $pageClass = ""; // (str) classes to add to maincontent if ($id) { // get saved page data $pageExists = file_exists(GSDATAPAGESPATH . $id . '.xml'); $draftExists = pageHasDraft($id); // fail if not using drafts and page does not exist // OR if neither page nor draft exists if (!$draft && !$pageExists || !$draftExists && !$pageExists) { redirect('pages.php?error=' . urlencode(i18n_r('PAGE_NOTEXIST'))); } // if using drafts and no draft exists, load original if (!$draft || !$draftExists) { $data_edit = getPageXML($id); } else { $data_edit = getDraftXML($id); } $title = stripslashes($data_edit->title); $pubDate = $data_edit->pubDate; $metak = stripslashes($data_edit->meta); $metad = stripslashes($data_edit->metad);
/** * publish a draft * @since 3.4 * @param str $id id of page draft to publish * @return bool status */ function publishDraft($id) { if (!pageHasDraft($id)) { return false; } backup_page($id); // backup live page backup_datafile(GSDATADRAFTSPATH . $id . '.xml'); // backup draft before moving $status = move_file(GSDATADRAFTSPATH, GSDATAPAGESPATH, $id . '.xml'); // restore_datafile(GSDATADRAFTSPATH . $id .".xml"); // debugging replays if ($status) { updatePageField($id, 'pubDate', date('r')); } // update pub date return $status; }
/** * Are we previewing a draft * @since 3.4 * @return bool returns true if pre-viewing a draft */ function previewingDraft() { global $id; return isset($id) && isset($_GET['draft']) && is_logged_in() && pageHasDraft($id); }