$q = array_fill_keys(array_keys($fields), null); } $post = false; $body = ''; # default version if ($q['version'] === null) { $q['version'] = 'work'; } # load existing post if ($q['name']) { if (!($post = GBPost::findByName($q['name'], $q['version']))) { gb::$errors[] = 'No post could be found at path ' . r($q['name']); } } elseif ($q['uri']) { $q['uri'] = ltrim($q['uri'], '/'); if (!($post = GBPost::find($q['uri'], $q['version']))) { gb::$errors[] = 'No post could be found for URI ' . r($q['uri']); } } # no post found or new post if (!$post) { $post = new GBPost(); $post->published = new GBDateTime(); $post->author = gb::$authorized; $post->mimeType = $admin_conf->get('composing/default_mime_type', 'text/html'); } include '../_header.php'; ?> <script type="text/javascript" charset="utf-8">//<![CDATA[ var post = { savedState: {},
gb::$is_404 = $postspage === false; } elseif (strpos($gb_request_uri, gb::$feed_prefix) === 0) { # feed $postspage = GBPost::pageByPageno(0); gb::$is_feed = true; gb::event('will-handle-request'); # if we got this far it means no event observers took over this task, so # we run the built-in feed (Atom) code: require gb::$dir . '/helpers/feed.php'; exit; } elseif (gb::$posts_prefix === '' || ($strptime = strptime($gb_request_uri, gb::$posts_prefix)) !== false) { # post if ($preview_pathspec !== null) { $post = GBPost::findByName($preview_pathspec, $version); } else { $post = GBPost::find(urldecode($gb_request_uri), $version, $strptime); } if ($post === false) { gb::$is_404 = true; } else { gb::$title[] = $post->title; } gb::$is_post = true; # empty prefix and 404 -- try page if (gb::$is_404 === true && gb::$posts_prefix === '') { if ($preview_pathspec !== null) { $post = GBPage::findByName($preview_pathspec, $version); } else { $post = GBPage::find(urldecode($gb_request_uri), $version); } if ($post !== false) {