Example #1
0
 static function reloadExposedObject(GBExposedContent $c)
 {
     $conf = gb_filter_post_reload_content_get_conf($c);
     $conf['auto_linebreaks'] = false;
     $conf['auto_paragraphs'] = false;
     # prefix for footnotes
     $parser->fn_id_prefix = $c->domID();
     # have body?
     if ($c->body) {
         # create excerpt for GBPosts if not already set
         if (!$c->excerpt && preg_match('/<!--[ \\s\\t\\r\\n]*more[ \\s\\t\\r\\n]*--(>)/i', $c->body, $m, PREG_OFFSET_CAPTURE)) {
             $c->excerpt = substr($c->body, 0, $m[0][1]);
             $c->body = $c->excerpt . '<div id="read-more" class="post-more-anchor"></div>' . substr($c->body, $m[1][1] + 1);
         }
         $c->body = gb_cfilter::apply('body.md', $c->body);
         $c->body = gb_cfilter::apply('body.html', $c->body, $conf);
     }
     if ($c->excerpt) {
         $c->excerpt = trim($c->excerpt);
         $c->excerpt = gb_cfilter::apply('body.md', $c->excerpt);
         # assure wrapping <p>
         if (!preg_match('{^$|^<(p|ul|ol|dl|pre|blockquote)>}i', $c->excerpt)) {
             $c->excerpt = preg_replace('{\\n{2,}}', "</p>\n\n<p>", '<p>' . $c->excerpt . '</p>');
         }
         $c->excerpt = gb_cfilter::apply('body.html', $c->excerpt, $conf);
     }
     return $c;
 }
Example #2
0
/** Converts LF to <br/>LF and extracts excerpt for GBPost objects */
function gb_filter_post_reload_content_html(GBExposedContent $c)
{
    $conf = gb_filter_post_reload_content_get_conf($c);
    # have body?
    if ($c->body) {
        # create excerpt for GBPosts if not already set
        if (!$c->excerpt && preg_match('/<!--[ \\s\\t\\r\\n]*more[ \\s\\t\\r\\n]*--(>)/i', $c->body, $m, PREG_OFFSET_CAPTURE)) {
            $c->excerpt = substr($c->body, 0, $m[0][1]);
            $c->body = $c->excerpt . '<div id="read-more" class="post-more-anchor"></div>' . substr($c->body, $m[1][1] + 1);
        }
        $c->body = gb_cfilter::apply('body.html', $c->body, $conf);
    }
    if ($c->excerpt) {
        $c->excerpt = gb_cfilter::apply('body.html', $c->excerpt, $conf);
    }
    return $c;
}