mPostId)) {
$parts = parse_url($_SERVER['REQUEST_URI']);
$paths = explode('/', $parts['path']);
$blog_id = $paths[count($paths) - 2];
$post_id = $paths[count($paths) - 1];
// So this is to process a trackback ping
if (isset($_REQUEST['__mode'])) {
// Build RSS listing trackback_from
$pings = $gContent->getTrackbacksFrom();
}
if (isset($_REQUEST['url'])) {
// Add a trackback ping to the list of trackback_from
$title = $_REQUEST['title'] ?? '';
$excerpt = $_REQUEST['excerpt'] ?? '';
$blog_name = $_REQUEST['blog_name'] ?? '';
if ($gContent->addTrackbackFrom( $_REQUEST['url'], $title, $excerpt, $blog_name ) ) {
print '';
print '';
print '0';
print '';
} else {
print '';
print '';
print '1';
print 'Error trying to add ping for post';
print '';
}
die;
}
}
$gBitSystem->verifyPackage( 'blogs' );
// $gBitSystem->verifyPermission( 'p_blogs_view' );
// Check permissions to access this page
if( !$gContent->isValid() ) {
$gBitSystem->setHttpStatus( 404 );
$gBitSystem->fatalError( KernelTools::tra( 'Post cannot be found' ));
} else {
$gBitSystem->setCanonicalLink( $gContent->getDisplayUrl() );
}
$displayHash = [ 'perm_name' => 'p_blogs_view' ];
$gContent->invokeServices( 'content_display_function', $displayHash );
$gBitSmarty->assign('post_id', $gContent->mPostId);
//Build absolute URI for this
if ( empty( $_REQUEST['format'] ) || $_REQUEST['format'] == "full" || $_REQUEST['format'] == "data" ){
$parsed_data = $gContent->getParsedData();
if ($gBitSystem->isFeatureActive( 'blog_posts_comments' ) ) {
$comments_return_url = $_SERVER['SCRIPT_NAME']."?post_id=".$gContent->mPostId;
$commentsParentId = $gContent->mContentId;
include_once LIBERTY_PKG_INCLUDE_PATH.'comments_inc.php';
}
$extendedTitle = $gContent->mInfo['blogtitle'] ?? '';
$gBitSystem->setBrowserTitle($gContent->mInfo['title'].$extendedTitle);
} else {
// if the format requested is not the full post or the readmore data we default to just the first half of the post
$parseHash['data'] = preg_replace( LIBERTY_SPLIT_REGEX, "", ( $_REQUEST['format'] != "more" )?$gContent->mInfo['raw']:$gContent->mInfo['raw_more']);
$parsed_data = LibertyContent::parseDataHash( $parseHash, $gContent );
}
$gBitSmarty->assign('parsed_data', $parsed_data);
$gBitSmarty->assign('post_info', $gContent->mInfo );
// Display the template
if ( isset( $_REQUEST['output'] ) && $_REQUEST['output'] == "ajax"){
$gBitSystem->display( 'bitpackage:blogs/view_blog_post_xml.tpl', null, [ 'format' => 'center_only', 'display_mode' => 'display' ] );
}else{
$gBitSystem->display( 'bitpackage:blogs/view_blog_post.tpl' , null, [ 'display_mode' => 'display' ] );
}