<?php
	require_once dirname( __FILE__ ) .'/xml.php' ;
	require_once dirname( __FILE__ ) .'/xpress_cache.php' ;
	
	function xpress_block_cache_write($mydirname,$block_name,$block)
	{
			$xml = xpress_XML_serialize($block);
			$xml_name = $block_name . '.xml';
			xpress_cache_write($mydirname,$xml_name,$xml);
	}
	function xpress_block_cache_read($mydirname,$block_name)
	{
			$xml_name = $block_name . '.xml';
			$xml_data = xpress_cache_read($mydirname,$xml_name);
			return @xpress_XML_unserialize($xml_data);
	}
	
	function get_block_id($mydirname,$func_file,$options)
	{
		$options_string = '';
		foreach ($options as $val){
			if (!empty($options_string)) $options_string .='|';
			$options_string .= $val;
		}
			$xoopsDB =& Database::getInstance();
			$block_tbl = $xoopsDB->prefix('newblocks');	
			$module_dir = XOOPS_ROOT_PATH . '/modules/' . $mydirname;

			$sql = "SELECT bid FROM $block_tbl WHERE (func_file LIKE '$func_file') AND (options LIKE '$options_string')";
			$result =  $xoopsDB->query($sql, 0, 0);
			if ($xoopsDB->getRowsNum($result)  > 0){
				$row = $xoopsDB->fetchArray($result);
				$block_id = $row['bid'];
			}
			return $block_id;
	}
	
	function block_render($mydirname)
	{		$block_theme_file = get_block_file_path($mydirname,$block_render_file_name);
			require_once $block_theme_file;
			$block = recent_comments_block($options);
			
			require_once $mydirpath.'/include/xoops_block_cache.php';
			$my_name = basename( __FILE__ );
			$blockID =get_block_id($mydirname,$my_name,$options);			
			xpress_block_cache_write($mydirname,$block_render_file_name. $blockID, $block);
	}
?>