Source for file ajax_comments.php
Documentation is available at ajax_comments.php
require_once( '../kernel/setup_inc.php' );
$gContent = LibertyBase::getLibertyObject( $_REQUEST['parent_id'], ( !empty( $_REQUEST['parent_guid'] ) ? $_REQUEST['parent_guid'] : NULL ));
if( !$gContent->hasUserPermission( 'p_liberty_post_comments', TRUE, TRUE)) {
$XMLContent = tra( "You do not have the required permissions to post new comments" );
* If we are receiving ajax comments request make sure our results also
* know we are using ajax comments. This is an insurance measure that if
* the originating content forced on ajax comments (even if off system
* wide) that the return results continue to use ajax comments. Don't take
* this out under penalty of death.
$gBitSystem->setConfig( 'comments_ajax', 'y' );
$commentsParentId = $_REQUEST['parent_id'];
$comments_return_url = $_REQUEST['comments_return_url'];
include_once( LIBERTY_PKG_PATH. 'comments_inc.php' );
if( isset ( $_REQUEST['post_comment_submit'] )) {
if ($storeComment->loadComment()){
$postComment = $storeComment->mInfo;
$postComment['parsed_data'] = $storeComment->parseData( $postComment );
//if store is requested but it fails for some reason - like captcha mismatch
//we assume preview request which we return as ok - our js callback knows what to do when preview is requested
$gBitSmarty->assign( 'comment', $postComment );
$gBitSmarty->assign( 'commentsParentId', $commentsParentId );
if( !empty( $formfeedback )){
$gBitSmarty->loadPlugin( 'smarty_modifier_formfeedback' );
$XMLContent .= $gBitSmarty->fetch( 'bitpackage:liberty/display_comment.tpl' );
$XMLContent = tra( "Sorry, you can not post a comment here." );
// We return XML with a status code
$mRet = "<req><status><code>". $statusCode. "</code></status>"
. "<content><![CDATA[". $XMLContent. "]]></content></req>";
// Since we are returning xml we must report so in the header
// we also need to tell the browser not to cache the page
// see: http://mapki.com/index.php?title=Dynamic_XML
header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header( "Last-Modified: ". gmdate( "D, d M Y H:i:s" ). " GMT" );
header( "Cache-Control: no-store, no-cache, must-revalidate" );
header( "Cache-Control: post-check=0, pre-check=0", FALSE );
header( "content-type:text/xml" );
print_r( '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>' );
|