<?php

require_once XOOPS_TRUST_PATH.'/modules/d3forum/class/D3commentAbstract.class.php' ;

// a class for d3forum comment integration
class minidiaryD3commentContent extends D3commentAbstract {

function fetchSummary( $external_link_id )
{
	$db =& Database::getInstance() ;
	$myts =& MyTextSanitizer::getInstance();
	
	$module_handler =& xoops_gethandler( 'module' ) ;
	$module =& $module_handler->getByDirname( $this->mydirname ) ;
	
	$entryID = intval( $external_link_id ) ;
	$mydirname = $this->mydirname ;
	if( preg_match( '/[^0-9a-zA-Z_-]/' , $mydirname ) ) die( 'Invalid mydirname' ) ;

	$content_row = $db->fetchArray( $db->query( "SELECT bid, cid, title, diary FROM ".$db->prefix("yd_diary")." WHERE bid =$entryID" ) ) ;
	if( empty( $content_row ) ) return '' ;

	$categoryID = $content_row['cid'];
	$uri = XOOPS_URL.'/modules/'.$mydirname.'/detail.php?&bid='.$entryID;

	$str = strip_tags($myts->displayTarea(strip_tags($content_row['diary'])));
	$summary = xoops_substr( $str , 0 , 255 );

	return array(
		'dirname' => $mydirname ,
		'module_name' => $module->getVar( 'name' ) ,
		'subject' => $myts->makeTboxData4Show( $content_row['title'] ) ,
		'uri' => $uri,
		'summary' => $summary,
	) ;
}

function validate_id( $link_id )
{
	$link_id = intval( $link_id ) ;
	$mydirname = $this->mydirname ;

	$db =& Database::getInstance() ;

	list( $count ) = $db->fetchRow( $db->query( "SELECT COUNT(*) FROM ".$db->prefix("yd_diary")." WHERE bid=$link_id" ) ) ;

	if( $count <= 0 ) return false ;
	else return $link_id ;
}

// set forum_dirname from config.com_agent
function setD3forumDirname( $d3forum_dirname = '' )
{
	if( ! empty($this->mod_config['com_agent'] ) ) {
    		$this->d3forum_dirname = $this->mod_config['com_agent'] ;
	} elseif( ! empty( $params['comment_dirname'] ) ) {
		$this->d3forum_dirname = $params['comment_dirname'] ;
	} else {
		$this->d3forum_dirname = 'd3forum' ;
	}
}

// get forum_id from config.com_agent_forumid
function getForumId( $params )
{
    	if( ! empty( $this->mod_config['com_agent_forumid'] ) ) {
    		return $this->mod_config['com_agent_forumid'] ;
    	} else if( ! empty( $params['forum_id'] ) ) {
		return intval( $params['forum_id'] ) ;
	} else if( ! empty( $this->mod_config['comment_forum_id'] ) ) {
		return $this->mod_config['comment_forum_id'] ;
	} else {
		return 1 ;
	}
}

}

?>