XPressME Integration Kit

Trac

source: trunk/xpressme_integration_kit/blocks/block_common.php @ 512

Last change on this file since 512 was 512, checked in by toemon, 14 years ago

ブロックオプションのカテゴリー選択に、直接ID指定部分追加 Fixes #285

File size: 7.2 KB
Line 
1<?php
2
3if( ! function_exists( 'yes_no_radio_option' ) ) :
4function yes_no_radio_option($option_name,$label,$value,$yes = '',$no= ''){
5        if (empty( $yes ))  $yes = _YES ;
6        if (empty( $no ))  $no = _NO ;
7        $form = $label.' : ';
8        if ($value){
9                $form .= "<input type='radio' name='". $option_name . "' value='1' checked='checked' />" . $yes. "; " ;
10                $form .= "<input type='radio' name='". $option_name . "' value='0' />". $no ;
11        }else{
12                $form .= "<input type='radio' name='". $option_name . "' value='1' />" . $yes. "; " ;
13                $form .= "<input type='radio' name='". $option_name . "' value='0' checked='checked' />". $no ;
14        }               
15    return $form;
16       
17}
18endif;
19
20if(!function_exists("categorie_select")):
21function categorie_select($option_name = '',$value='',$row_num=0 ,$sort_column = 'ID', $sort_order = 'asc')
22{
23    $mydirpath = dirname(dirname(__FILE__));
24        $mydirname = basename( dirname( dirname( __FILE__ ) ) ) ;
25        if ($mydirname == 'wordpress'){
26                $wp_prefix = 'wp_';
27        } else {
28                $wp_prefix = $mydirname . '_';
29        }
30        $xoopsDB =& Database::getInstance();
31        $myts =& MyTextSanitizer::getInstance();
32    $selected = explode(',' , $value);
33        $isAll = (count($selected)==0||empty($selected[0]))?true:false;
34    $sort_column = 'cat_'.$sort_column;
35    if (empty($row_num)) $size = ''; else $size = 'size="' . $row_num . '"';
36        include $mydirpath.'/wp-includes/version.php';
37        if ($wp_db_version < 6124) {
38                $db_xpress_categories = $xoopsDB->prefix($wp_prefix . 'categories');
39                $query = "
40                SELECT cat_ID, cat_name, category_nicename,category_parent
41                FROM $db_xpress_categories
42                WHERE cat_ID > 0
43                ";
44                $query .= " ORDER BY $sort_column $sort_order";
45
46    } else {
47        $db_xpress_terms = $xoopsDB->prefix($wp_prefix . 'terms');
48        $db_xpress_term_taxonomy = $xoopsDB->prefix($wp_prefix . 'term_taxonomy');
49        $query = "
50                        SELECT $db_xpress_terms.term_id as cat_ID , $db_xpress_terms.name as cat_name , $db_xpress_term_taxonomy.taxonomy
51                        FROM $db_xpress_terms LEFT JOIN $db_xpress_term_taxonomy ON $db_xpress_terms.term_id = $db_xpress_term_taxonomy.term_id
52                        WHERE $db_xpress_term_taxonomy.taxonomy = 'category'
53        ";
54                $query .= " ORDER BY $sort_column $sort_order";
55    }
56        $res =  $xoopsDB->query($query, 0, 0);
57        $option = "\t<option value=\"0\" ";
58        if ($isAll) $option .= " selected=\"selected\"";
59        $option .= ">"._MB_XP2_ALL ."</option>\n";
60
61    if ($res !== false){
62                while($row = $xoopsDB->fetchArray($res)){
63            $cat_name = $row['cat_name'];
64            $cat_ID = $row['cat_ID'];
65            $option .= "\t<option value=\"".$cat_ID."\"";
66            if (in_array($cat_ID, $selected))
67                $option .= ' selected="selected"';
68            $option .= '>';
69            $option .= $myts->htmlspecialchars($cat_name);
70            $option .= "</option>\n";
71        }
72    }
73    $output = _MB_XP2_CATS_SELECT ."<br />\n";
74    $output .= '&nbsp;&nbsp;<select name="categorie" '.$size.' multiple="multiple" onclick="CatSelect()">' ."\n";
75    $output .= $option;
76    $output .= '</select>';
77//    $output .=        "<input type='hidden' name='$option_name' value='$value' />\n";
78    $output .=  '&emsp;' .  _MB_XP2_CATS_DIRECT_SELECT . " <input type='text' name='$option_name' value='$value' /><br />\n";
79    $output .= '
80<script type="text/javascript">
81    function CatSelect(){
82        var idx=new Array();
83        var sel=document.forms["blockform"].elements["categorie"].options;
84        for(var i=0, n=0; i<sel.length; i++){
85            if(sel[i].selected){ idx[n++]=sel[i].value; }
86        }
87        if(idx.length>0){
88                document.forms["blockform"].elements["' .$option_name . '"].value = idx;
89                }
90    }
91</script>
92';
93   
94    return $output;
95
96}
97endif;
98
99if(!function_exists("comment_type_select")):
100function comment_type_select($option_name = '',$value='')
101{
102    $selected = explode(',' , $value);
103        $isAll = (count($selected)==0||empty($selected[0]))?true:false;
104
105    $option = "<option value=\"0\" ";
106    if ($isAll) $option .= " selected=\"selected\"";
107    $option .= ">"._MB_XP2_ALL ."</option>";
108
109    $option .= "<option value=\"1\" ";
110    if (in_array(1, $selected))
111                $option .= " selected=\"selected\"";
112    $option .= ">"._MB_XP2_COMMENT ."</option>";
113
114    $option .= "<option value=\"2\" ";
115    if (in_array(2, $selected))
116                $option .= " selected=\"selected\"";
117    $option .= ">"._MB_XP2_TRUCKBACK ."</option>";
118
119    $option .= "<option value=\"3\" ";
120    if (in_array(3, $selected))
121                $option .= " selected=\"selected\"";
122    $option .= ">"._MB_XP2_PINGBACK ."</option>";
123
124    $output = _MB_XP2_COM_TYPE . "<br />\n";
125    $output .=  "<input type='hidden' name='$option_name' value='$value' />\n";
126    $output .= '&nbsp;&nbsp;<select name="com_type" multiple="multiple" onclick="ComTypeSelect()">' ."\n";
127    $output .= $option;
128    $output .= '</select><br />';
129    $output .= '
130<script type="text/javascript">
131    function ComTypeSelect(){
132        var idx=new Array();
133        var sel=document.forms["blockform"].elements["com_type"].options;
134        for(var i=0, n=0; i<sel.length; i++){
135            if(sel[i].selected){ idx[n++]=sel[i].value; }
136        }
137        if(idx.length>0){
138                document.forms["blockform"].elements["' .$option_name . '"].value = idx;
139                }
140    }
141</script>
142';
143   
144    return $output;
145
146}
147endif;
148
149if(!function_exists("block_template_setting")):
150function block_template_setting($mydirname,$option_name = '',$value='')
151{
152        $temp_parm = explode(':' , $value);
153        if (empty($temp_parm[1])) {
154                $filename=$temp_parm[0];
155                $temp_type = 'db';
156        } else  {
157                $filename=$temp_parm[1];
158                $temp_type = $temp_parm[0];
159        }
160
161        $none_prefix_filename = '';
162        $pattern = '^' . $mydirname . '_(.*).html';
163        if (preg_match('/' . $pattern . '/' , $filename, $match)){ // file prefix check
164                $none_prefix_filename = $match[1];
165        }
166       
167        $output = _MB_XP2_THISTEMPLATE . "\n";
168        $output .=      '<input type="hidden" size="50" name="' . $option_name . '" value="' . $value .'"/>' . "\n";
169    $output .= '&nbsp;<select name="template_type" onclick="Template_Make()">' ."\n";
170        switch ($temp_type){
171                case 'db':
172                case 'DB':
173                        $output .=  '<option value="0" selected="selected">db</option>';
174                        $output .=  '<option value="1">file</option>';
175                        break;
176                default:
177                        $output .=  '<option value="0">db</option>';
178                        $output .=  '<option value="1" selected="selected">file</option>';
179        }
180        $output .= '</select>';
181        $output .= '<b>:'.$mydirname . '_</b>';
182        $output .= '<input type="text" size="30" name="none_prefix_file" value="'. $none_prefix_filename. '"  onChange="Template_Make()"/><b>.html</b><br />';
183    $output .= '
184<script type="text/javascript">
185        function Template_Make(){
186                var type_element = document.getElementsByName("template_type").item(0);
187                var name_element = document.getElementsByName("none_prefix_file").item(0);
188                var real_element = document.getElementsByName("' .$option_name . '").item(0);
189
190                var file_name = "' . $mydirname . '_" + name_element.value + ".html";
191                if (type_element.value ==0) var tmp_type = "db:"; else var tmp_type = "file:";
192                real_element.value = tmp_type + file_name;
193        }
194</script>
195';
196   
197    return $output;
198
199}
200endif;
201if(!function_exists("javascript_check")):
202function javascript_check()
203{
204        $out  = '<div id="JSNG"><p style="color: red"><b>' . _MB_XP2_NO_JSCRIPT . '</b></p><br /></div>';
205        $out .= '<script>  document.getElementById("JSNG").style.display = "none";</script>';
206        return $out;
207}
208endif;
209
210?>
Note: See TracBrowser for help on using the repository browser.