<?php

if( ! function_exists( 'yes_no_radio_option' ) ) :
function yes_no_radio_option($option_name,$label,$value,$yes = '',$no= ''){
	if (empty( $yes ))  $yes = _YES ;
	if (empty( $no ))  $no = _NO ;
	$form = $label.' : ';
	if ($value){
		$form .= "<input type='radio' name='". $option_name . "' value='1' checked='checked' />" . $yes. "; " ;
		$form .= "<input type='radio' name='". $option_name . "' value='0' />". $no ;
	}else{
		$form .= "<input type='radio' name='". $option_name . "' value='1' />" . $yes. "; " ;
		$form .= "<input type='radio' name='". $option_name . "' value='0' checked='checked' />". $no ;
	}		
    return $form;
	
}
endif;

if(!function_exists("categorie_select")):
function categorie_select($option_name = '',$value='',$row_num=0 ,$sort_column = 'ID', $sort_order = 'asc')
{
    $mydirpath = dirname(dirname(__FILE__));
	$mydirname = basename( dirname( dirname( __FILE__ ) ) ) ;
	if ($mydirname == 'wordpress'){
		$wp_prefix = 'wp_';
	} else {
		$wp_prefix = $mydirname . '_';
	}
	$xoopsDB =& Database::getInstance();
	$myts =& MyTextSanitizer::getInstance();
    $selected = explode(',' , $value);
	$isAll = (count($selected)==0||empty($selected[0]))?true:false;
    $sort_column = 'cat_'.$sort_column;
    if (empty($row_num)) $size = ''; else $size = 'size="' . $row_num . '"';
	include $mydirpath.'/wp-includes/version.php';
	if ($wp_db_version < 6124) {
		$db_xpress_categories = $xoopsDB->prefix($wp_prefix . 'categories');
		$query = "
	    	SELECT cat_ID, cat_name, category_nicename,category_parent 
	    	FROM $db_xpress_categories 
	    	WHERE cat_ID > 0 
	        ";
		$query .= " ORDER BY $sort_column $sort_order";

    } else {
    	$db_xpress_terms = $xoopsDB->prefix($wp_prefix . 'terms');
    	$db_xpress_term_taxonomy = $xoopsDB->prefix($wp_prefix . 'term_taxonomy');
    	$query = "
			SELECT $db_xpress_terms.term_id as cat_ID , $db_xpress_terms.name as cat_name , $db_xpress_term_taxonomy.taxonomy 
			FROM $db_xpress_terms LEFT JOIN $db_xpress_term_taxonomy ON $db_xpress_terms.term_id = $db_xpress_term_taxonomy.term_id 
			WHERE $db_xpress_term_taxonomy.taxonomy = 'category' 
        ";
		$query .= " ORDER BY $sort_column $sort_order";
    }
	$res =  $xoopsDB->query($query, 0, 0);
	$option = "\t<option value=\"0\" ";
	if ($isAll) $option .= " selected=\"selected\"";
	$option .= ">"._MB_XP2_ALL ."</option>\n";

    if ($res !== false){
 		while($row = $xoopsDB->fetchArray($res)){
            $cat_name = $row['cat_name'];
            $cat_ID = $row['cat_ID'];
            $option .= "\t<option value=\"".$cat_ID."\"";
            if (in_array($cat_ID, $selected))
                $option .= ' selected="selected"';
            $option .= '>';
            $option .= $myts->htmlspecialchars($cat_name);
            $option .= "</option>\n";
        }
    }
    $output = _MB_XP2_CATS_SELECT ."<br />\n";
    $output .= 	"<input type='hidden' name='$option_name' value='$value' />\n";
    $output .= '&nbsp;&nbsp;<select name="categorie" '.$size.' multiple="multiple" onclick="CatSelect()">' ."\n";
    $output .= $option;
    $output .= '</select><br />';
    $output .= '
<script type="text/javascript">
    function CatSelect(){
        var idx=new Array();
        var sel=document.forms["blockform"].elements["categorie"].options;
        for(var i=0, n=0; i<sel.length; i++){
            if(sel[i].selected){ idx[n++]=sel[i].value; }
        }
        if(idx.length>0){
        	document.forms["blockform"].elements["' .$option_name . '"].value = idx;
		}
    }
</script>
';
    
    return $output;

}
endif;

if(!function_exists("comment_type_select")):
function comment_type_select($option_name = '',$value='')
{
    $selected = explode(',' , $value);
	$isAll = (count($selected)==0||empty($selected[0]))?true:false;

    $option = "<option value=\"0\" ";
    if ($isAll) $option .= " selected=\"selected\"";
    $option .= ">"._MB_XP2_ALL ."</option>";

    $option .= "<option value=\"1\" ";
    if (in_array(1, $selected))
		$option .= " selected=\"selected\"";
    $option .= ">"._MB_XP2_COMMENT ."</option>";

    $option .= "<option value=\"2\" ";
    if (in_array(2, $selected))
		$option .= " selected=\"selected\"";
    $option .= ">"._MB_XP2_TRUCKBACK ."</option>";

    $option .= "<option value=\"3\" ";
    if (in_array(3, $selected))
		$option .= " selected=\"selected\"";
    $option .= ">"._MB_XP2_PINGBACK ."</option>";

    $output = _MB_XP2_COM_TYPE . "<br />\n";
    $output .= 	"<input type='hidden' name='$option_name' value='$value' />\n";
    $output .= '&nbsp;&nbsp;<select name="com_type" multiple="multiple" onclick="ComTypeSelect()">' ."\n";
    $output .= $option;
    $output .= '</select><br />';
    $output .= '
<script type="text/javascript">
    function ComTypeSelect(){
        var idx=new Array();
        var sel=document.forms["blockform"].elements["com_type"].options;
        for(var i=0, n=0; i<sel.length; i++){
            if(sel[i].selected){ idx[n++]=sel[i].value; }
        }
        if(idx.length>0){
        	document.forms["blockform"].elements["' .$option_name . '"].value = idx;
		}
    }
</script>
';
    
    return $output;

}
endif;

if(!function_exists("block_template_setting")):
function block_template_setting($mydirname,$option_name = '',$value='')
{
	$temp_parm = explode(':' , $value);
	if (empty($temp_parm[1])) {
		$filename=$temp_parm[0];
		$temp_type = 'db';
	} else  {
		$filename=$temp_parm[1];
		$temp_type = $temp_parm[0];
	}

	$none_prefix_filename = '';
	$pattern = '^' . $mydirname . '_(.*).html';
	if (preg_match('/' . $pattern . '/' , $filename, $match)){ // file prefix check
		$none_prefix_filename = $match[1];
	}
	
	$output = _MB_XP2_THISTEMPLATE . "\n";
	$output .= 	'<input type="hidden" size="50" name="' . $option_name . '" value="' . $value .'"/>' . "\n";
    $output .= '&nbsp;<select name="template_type" onclick="Template_Make()">' ."\n";
	switch ($temp_type){
		case 'db':
		case 'DB':
			$output .=  '<option value="0" selected="selected">db</option>';
			$output .=  '<option value="1">file</option>';
			break;
		default:
			$output .=  '<option value="0">db</option>';
			$output .=  '<option value="1" selected="selected">file</option>';
	}
	$output .= '</select>';
	$output .= '<b>:'.$mydirname . '_</b>';
	$output .= '<input type="text" size="30" name="none_prefix_file" value="'. $none_prefix_filename. '"  onChange="Template_Make()"/><b>.html</b><br />';
    $output .= '
<script type="text/javascript">
	function Template_Make(){
		var type_element = document.getElementsByName("template_type").item(0);
		var name_element = document.getElementsByName("none_prefix_file").item(0);
		var real_element = document.getElementsByName("' .$option_name . '").item(0);

		var file_name = "' . $mydirname . '_" + name_element.value + ".html";
		if (type_element.value ==0) var tmp_type = "db:"; else var tmp_type = "file:";
		real_element.value = tmp_type + file_name;
	}
</script>
';
    
    return $output;

}
endif;

?>