XPressME Integration Kit

Trac

source: trunk/xpressme_integration_kit/wp-content/plugins/xpressme/xpressme_class.php @ 572

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

不要コードの削除

File size: 35.0 KB
Line 
1<?php
2
3load_plugin_textdomain('xpressme', 'wp-content/plugins/xpressme/language');
4
5class XPressME_Class{
6        var $pluginName = 'xpressme';   
7        var $is_use_xoops_upload_path;
8        var $is_theme_sidebar_disp;
9        var $is_save_post_revision;
10        var $is_postnavi_title_disp;
11        var $is_left_postnavi_old;
12        var $old_post_link_text;
13        var $newer_post_link_text;
14        var $is_left_page_navi_old;
15        var $old_page_link_text;
16        var $newer_page_link_text;
17        var $is_author_view_count;
18        var $is_sql_debug;
19        var $groupe_role;
20        var $is_use_d3forum;
21        var $d3forum_module_dir;
22        var $d3forum_forum_id;
23        var $d3forum_external_link_format;
24        var $is_content_excerpt;
25        var $ascii_judged_rate;
26        var $excerpt_length_word;
27        var $excerpt_length_character;
28        var $excerpt_more_link_text;
29        var $more_link_text;
30        var $viewer_type;
31        var $is_multi_user;
32        var $meta_keyword_type;
33        var $meta_description_type;
34        var $meta_robot_type;
35        var $is_dashboard_blog_disp;
36        var $is_dashboard_forum_disp;
37        var $theme_select;
38        var $is_block_error_display;
39        //constructor
40        function XPressME_Class()
41        {
42                global $xoops_db;
43               
44                $this->setdefault();    //not setting propaty load
45                $this->SettingValueRead();
46        }
47       
48        //Set Default Value     
49        function setDefault()
50        {
51                global $xoops_config;
52                $this->is_use_xoops_upload_path = true;
53                $this->is_use_xoops_upload_path = true;
54                $this->is_theme_sidebar_disp = false;
55                $this->is_save_post_revision = true;
56                $this->is_postnavi_title_disp = true;
57                $this->is_left_postnavi_old = true;
58                $this->old_post_link_text = __('Older Post', 'xpressme');
59                $this->newer_post_link_text = __('Newer Post', 'xpressme');
60                $this->is_left_page_navi_old = true;
61                $this->old_page_link_text = __('Older Entries', 'xpressme');
62                $this->newer_page_link_text = __('Newer Entries', 'xpressme');
63                $this->is_author_view_count = false;
64                $this->is_sql_debug = false;
65                $this->is_use_d3forum = false;
66                $this->d3forum_module_dir = '';
67                $this->d3forum_forum_id = '';
68                $this->d3forum_external_link_format = get_xpress_dir_name() . '::xpressD3commentContent';
69                $this->is_d3forum_flat = true;
70                $this->is_d3forum_desc = true;
71                $this->d3forum_views_num = 10;
72                $this->is_content_excerpt = true;
73                $this->ascii_judged_rate = 90;
74                $this->excerpt_length_word = 40;
75                $this->excerpt_length_character = 120;
76                $this->excerpt_more_link_text = __('Read the rest of this entry &raquo;', 'xpressme');
77                $this->more_link_text = __('Read the rest of this entry &raquo;', 'xpressme');
78                $this->viewer_type = 'xoops';
79                $this->is_multi_user = false;
80                $this->meta_keyword_type = 'xoops';
81                $this->meta_description_type = 'xoops';
82                $this->meta_robot_type = 'xoops';       
83                $this->is_dashboard_blog_disp = true;
84                $this->is_dashboard_forum_disp = true;
85                $this->theme_select = 'use_wordpress_select';
86                $this->is_block_error_display = true;
87        }
88       
89        function SettingValueRead()
90        {
91                global $xoops_db;
92                $options = get_option('xpressme_option');
93                if (!$options) {
94                        $this->setDefault();
95                        $this->SettingValueWrite('add_new');
96                } else {
97                        foreach ($options as $option_name => $option_value){
98                                $this-> {$option_name} = $option_value;
99                        }
100                }
101                if (!empty($xoops_db))  // at install trap
102                        $this->GroupeRoleRead();
103        }
104       
105                // mode 0:add  1:update
106        function SettingValueWrite($mode)
107        {
108                global $xoops_config;
109                if($xoops_config->is_wpmu) $this->is_use_xoops_upload_path = false;
110
111                $write_options = array (
112                        'is_use_xoops_upload_path' => $this->is_use_xoops_upload_path ,
113                        'is_theme_sidebar_disp' => $this->is_theme_sidebar_disp ,
114                        'is_save_post_revision' => $this->is_save_post_revision ,
115                        'is_postnavi_title_disp' => $this->is_postnavi_title_disp ,
116                        'is_left_postnavi_old' => $this->is_left_postnavi_old ,
117                        'old_post_link_text' => $this->old_post_link_text ,
118                        'newer_post_link_text' => $this->newer_post_link_text,
119                        'is_left_page_navi_old' => $this->is_left_page_navi_old ,
120                        'old_page_link_text' => $this->old_page_link_text ,
121                        'newer_page_link_text' => $this->newer_page_link_text,
122                        'is_author_view_count' => $this->is_author_view_count,
123                        'is_sql_debug' => $this->is_sql_debug,
124                        'is_use_d3forum' =>     $this->is_use_d3forum,
125                        'd3forum_module_dir' => $this->d3forum_module_dir,
126                        'd3forum_forum_id' => $this->d3forum_forum_id,
127                        'd3forum_external_link_format' => $this->d3forum_external_link_format,
128                        'is_d3forum_flat' => $this->is_d3forum_flat,
129                        'is_d3forum_desc' => $this->is_d3forum_desc,
130                        'd3forum_views_num' =>$this->d3forum_views_num,
131                        'is_content_excerpt' => $this->is_content_excerpt,
132                        'ascii_judged_rate' => $this->ascii_judged_rate,
133                        'excerpt_length_word' => $this->excerpt_length_word,
134                        'excerpt_length_character' => $this->excerpt_length_character,
135                        'excerpt_more_link_text' => $this->excerpt_more_link_text,
136                        'more_link_text' => $this->more_link_text,
137                        'viewer_type' => $this->viewer_type,
138                        'is_multi_user' => $this->is_multi_user,
139                        'meta_keyword_type' => $this->meta_keyword_type,
140                        'meta_description_type' => $this->meta_description_type,
141                        'meta_robot_type' => $this->meta_robot_type,
142                        'is_dashboard_blog_disp' => $this->is_dashboard_blog_disp,
143                        'is_dashboard_forum_disp' => $this->is_dashboard_forum_disp,
144                        'theme_select' => $this->theme_select,
145                        'is_block_error_display' => $this->is_block_error_display
146                );
147                if ($mode == 'add_new') {
148                        add_option('xpressme_option', $write_options);
149                } else {                       
150                        update_option("xpressme_option", $write_options);
151                }
152        }
153       
154        function GroupeRoleRead() {
155                global $xoops_db, $blog_id;
156               
157                if (empty($blog_id)) {
158                        if (defined(BLOG_ID_CURRENT_SITE)){
159                                $blog_id = BLOG_ID_CURRENT_SITE;
160                        } else {
161                                $blog_id = 1;
162                        }
163                }
164                $table = get_wp_prefix() . 'group_role';
165               
166                $sql=  "SELECT * FROM $table WHERE blog_id = $blog_id ORDER BY groupid";
167                $this->groupe_role =  $xoops_db->get_results($sql);
168        }
169
170        function GroupeRoleCheck($blog_id = 0) {
171                global $xoops_db;
172               
173                if (empty($blog_id)) {
174                        if (defined(BLOG_ID_CURRENT_SITE)){
175                                $blog_id = BLOG_ID_CURRENT_SITE;
176                        } else {
177                                $blog_id = 1;
178                        }
179                }
180               
181                $module_id = get_xpress_modid();
182               
183                $group_role_table = get_wp_prefix() . 'group_role';
184                $xoops_group_table = get_xoops_prefix() . 'groups';
185                $xoops_group_permission_table = get_xoops_prefix() . 'group_permission';
186               
187                $sql =  "SELECT *  FROM $xoops_group_permission_table WHERE gperm_itemid = $module_id";
188                $gperms = $xoops_db->get_results($sql);
189               
190                $sql =  "SELECT * FROM $xoops_group_table WHERE group_type <> 'Anonymous' ORDER BY groupid";
191                $groupes = $xoops_db->get_results($sql);
192
193                // list of groups registered with XOOPS
194                $xoops_groupid_list = '';
195                foreach ($groupes as $groupe) {
196                        if (!empty($xoops_groupid_list)) $xoops_groupid_list .= ',';
197                        $xoops_groupid_list .= $groupe->groupid;
198                }
199               
200                // delete the group deleted by the XOOPS group from a group role database
201                if (!empty($xoops_groupid_list)){
202                        $del_sql = "DELETE FROM $group_role_table WHERE groupid NOT IN ($xoops_groupid_list)";
203                        $xoops_db->query($del_sql);
204                }
205               
206                $sql =  "SELECT *  FROM $group_role_table WHERE blog_id = $blog_id";
207                $groupes_role = $xoops_db->get_results($sql);
208               
209                foreach ($groupes as $groupe) {
210                        //get group parmission
211                        $group_type = '';
212                        foreach ($gperms as $gperm) {
213                                if ($gperm->gperm_groupid == $groupe->groupid){
214                                        $group_type = $gperm->gperm_name;
215                                        if ($group_type == 'module_admin') break;
216                                }
217                        }
218                        if (empty($group_type)) $group_type = 'module_inhibit';
219                       
220                        $found = false;
221                        foreach ($groupes_role as $groupe_role) {
222                                if ($groupe_role->groupid == $groupe->groupid){
223                                        $role = $groupe_role->role;
224                                        if ($group_type == 'module_admin') $role = 'administrator';
225                                        if ($group_type == 'module_inhibit') $role = '';
226                                        $edit_sql = "UPDATE $group_role_table SET group_type='$group_type',role='$role' WHERE groupid = $groupe->groupid AND blog_id = $blog_id";
227                                        $found = true;
228                                        break;
229                                }
230                        }
231                        if(!$found){
232                                $role = '';
233                                if ($group_type == 'module_admin') $role = 'administrator';
234
235                                $edit_sql  = "INSERT INTO  $group_role_table ";
236                                $edit_sql .= "(groupid , blog_id , name , description , group_type , role , login_all) ";
237                                $edit_sql .= "VALUES (";
238                                $edit_sql .= $groupe->groupid . ', ';
239                                $edit_sql .= $blog_id . ', ';
240                                $edit_sql .= "'" . $groupe->name . "' , ";
241                                $edit_sql .= "'" . $groupe->description . "' , ";
242                                $edit_sql .= "'" . $group_type . "' , ";
243                                $edit_sql .= "'" . $role . "' , '";
244                                $edit_sql .= $login_all . "')";
245                        }
246                        $xoops_db->query($edit_sql);
247                }
248                $this->GroupeRoleRead();
249        }
250       
251        function get_groupe_perm_for_modules($module_id ,$group_id)
252        {
253                $parmsql =  "SELECT *  FROM $xoops_group_permission WHERE gperm_itemid = $module_id AND gperm_groupid = $group_id";
254                $gperms = $xoops_db->get_results($parmsql);
255                $parmission = '';
256                foreach ($gperms as $gperm) {
257                                $parmission = $gperm->gperm_name;
258                                if ($parmission == 'module_admin') break;
259                }
260                return $parmission;
261        }
262       
263        function ReadPostData($post_data = null)
264        {
265                global $xoops_db, $blog_id;
266               
267                if (empty($blog_id)) {
268                        if (defined(BLOG_ID_CURRENT_SITE)){
269                                $blog_id = BLOG_ID_CURRENT_SITE;
270                        } else {
271                                $blog_id = 1;
272                        }
273                }
274                foreach ( (array) $post_data as $index_key => $value ){
275                        if (preg_match('/^ch_/',$index_key)){  // case ch_
276                                $indedx = preg_replace('/^ch_/', '', $index_key);
277                                $set_value = stripslashes(trim($value));
278                                // post d3forum
279                                if ($indedx === 'd3forum') {
280                                        if ($value == 'none'){
281                                                $this->is_use_d3forum = false;
282                                                $this->d3forum_module_dir = '';
283                                                $this->d3forum_forum_id = '';
284                                                $this->d3forum_external_link_format = get_xpress_dir_name() . '::xpressD3commentContent';
285                                        } else {
286                                                $d3f_set = explode('|', $value);
287                                                $this->is_use_d3forum = true;
288                                                $this->d3forum_module_dir = $d3f_set[1];
289                                                $this->d3forum_forum_id = $d3f_set[2];
290                                                $this->d3forum_external_link_format = get_xpress_dir_name() . '::xpressD3commentContent';
291                                        }
292                                } else { //post other
293                                        if(empty($set_value)){
294                                                switch ($indedx) {
295                                                        case 'old_post_link_text':
296                                                                $set_value = __('Older Post', 'xpressme');
297                                                                break;
298                                                        case 'newer_post_link_text':
299                                                                $set_value = __('Newer Post', 'xpressme');
300                                                                break;
301                                                        case 'old_page_link_text':
302                                                                $set_value = __('Older Entries', 'xpressme');
303                                                                break;
304                                                        case 'newer_page_link_text':
305                                                                $set_value = __('Newer Entries', 'xpressme');
306                                                                break;
307                                                        case 'excerpt_more_link_text':
308                                                                $set_value = __('Read the rest of this entry &raquo;', 'xpressme');
309                                                                break;
310                                                        case 'theme_select':
311                                                                $set_value = 'use_wordpress_select';
312                                                                break;
313                                                               
314                                                        default:
315                                                }
316                                        }
317                                        $this->$indedx = $value;
318                                }
319                        } // end of case 'ch_'
320                } // end of loop
321
322                global $xoops_config;
323
324                $table = get_wp_prefix() . 'group_role';       
325//              $sql=  "SELECT * FROM $table"; 
326//              $this->groupe_role =  $xoops_db->get_results($sql);  // before Read
327               
328                foreach ($this->groupe_role as $groupe) {
329                        $post_role_gid = 'role_gid_' . $groupe->groupid;
330                        $login_all_gid = 'login_all_gid_' . $groupe->groupid;
331                        if (isset($post_data[$post_role_gid])){
332                                $role = stripslashes(trim($post_data[$post_role_gid]));
333                                $login_all = stripslashes(trim($post_data[$login_all_gid]));
334                                if (empty($login_all)) $login_all = '0';
335                                $groupe->role = $role;
336                                $groupe->login_all = $login_all;
337                                $update_sql  = "UPDATE  $table ";
338                                $update_sql .= 'SET ';
339                                $update_sql .= "role  = '$role' , ";
340                                $update_sql .= "login_all  = $login_all ";
341                                $update_sql .= "WHERE (groupid = '$groupe->groupid' AND blog_id = $blog_id)";
342                                $xoops_db->query($update_sql); 
343                        }               
344                }
345        }
346       
347        function yes_no_radio_option($option_name,$option_desc,$yes = '',$no= '' , $disible=false){
348                if (empty( $yes ))  $yes = __('YES','xpressme') ;
349                if (empty( $no ))  $no = __('NO','xpressme') ;
350                $value = $this->{$option_name};
351                $ans_name = 'ch_' . $option_name;
352               
353                $form  =  "<tr>\n";
354                $form .=  '<th><label for="images_to_link">' . $option_desc . "</label></th>\n";
355                $form .=  "<td>\n";
356                $form .=  $this->yes_no_radio_option_sub($option_name,$yes,$no,$disible);
357                $form .=  "</td>\n";
358                $form .=  "</tr>\n";
359                       
360            return $form;
361       
362        }
363        function yes_no_radio_option_sub($option_name,$yes = '',$no= '',$disible=false){
364                if ($disible) $disible_str = ' disabled="disabled"'; else $disible_str = '';
365
366                if (empty( $yes ))  $yes = __('YES','xpressme') ;
367                if (empty( $no ))  $no = __('NO','xpressme') ;
368                $value = $this->{$option_name};
369                $ans_name = 'ch_' . $option_name;
370                if ($value){
371                        $form .= "<label><input type='radio' name='". $ans_name . "' value='1' checked='checked' $disible_str />" . $yes ."</label><br />\n";
372                        $form .= "<label><input type='radio' name='". $ans_name . "' value='0' $disible_str />". $no . "</label>\n";
373                }else{
374                        $form .= "<label><input type='radio' name='". $ans_name . "' value='1' $disible_str />" . $yes . "</label><br />\n";
375                        $form .= "<label><input type='radio' name='". $ans_name . "' value='0' checked='checked' $disible_str />". $no ."</label>\n";
376                }
377            return $form;
378        }
379
380
381        function text_option($option_name,$option_desc){
382                $value = $this->{$option_name};
383                $ans_name = 'ch_' . $option_name;
384               
385                $form  =  "<tr>\n";
386                $form .=  '<th><label for="images_to_link">' . $option_desc . "</label></th>\n";
387                $form .=  "<td>\n";
388                $form .= $this->text_option_sub($option_name);
389                $form .=  "</td>\n";
390                $form .=  "</tr>\n";
391                       
392            return $form;
393       
394        }
395       
396        function text_option_sub($option_name){
397                $value = $this->{$option_name};
398                $ans_name = 'ch_' . $option_name;
399               
400                $form = '<label> <input name="'. $ans_name . '" type="text" size="25" maxlength="50" value="'  . $value . '" /></label>'."\n";
401            return $form;
402       
403        }
404
405       
406        function single_post_navi_option(){
407                $form = '';
408                $form .= '<tr><th><label for="single_page_navi">' .__('Single Post Navi Setting', 'xpressme') . '</label></th>';
409                $form .= "<td>\n";
410                $form .= "<table>\n";
411                $form .= "<tr>\n";
412               
413                $form .= "<td>" . __('Adjustment of Navi link display position','xpressme') . "</td>\n";               
414                $form .= "<td>\n";
415                $form .=  $this->yes_no_radio_option_sub('is_left_postnavi_old',
416                                                                                                __("'Old Post Link' is displayed in the left, and 'Newer Post Link' is displayed in the right",'xpressme'),
417                                                                                                __("'Newer Post Link' is displayed in the left, and 'Old Post Link' is displayed in the right",'xpressme')
418                                                                                                );
419                $form .= "</td>\n";
420                $form .= "</tr>\n";
421               
422                $form .= "<tr>\n";
423                $form .= "<td>" . __('Select Display name of PostNavi Link','xpressme') . "</td>\n";           
424                $form .= "<td>\n";
425                $form .=  $this->yes_no_radio_option_sub('is_postnavi_title_disp',
426                                                                                                __('Title of post','xpressme'),
427                                                                                                __('Title of Navi','xpressme')
428                                                                                                );
429                $form .= "</td>\n";
430                $form .= "</tr>\n";
431               
432                $form .= "<tr>\n";
433                $form .= "<td>" . __('Display Navi Title of Old Post Link','xpressme') . "</td>\n";             
434                $form .= "<td>\n";
435                $form .=  $this->text_option_sub('old_post_link_text');
436                $form .= "</td>\n";
437                $form .= "</tr>\n";
438               
439                $form .= "<tr>\n";
440                $form .= "<td>" . __('Display Navi Title of Newer Post Link','xpressme') . "</td>\n";           
441                $form .= "<td>\n";
442                $form .=  $this->text_option_sub('newer_post_link_text');
443                $form .= "</td>\n";
444                $form .= "</tr>\n";
445               
446                $form .= "</table></td></tr>\n";
447            return $form;
448
449        }
450
451        function posts_page_navi_option(){
452                $form = '';
453                $form .= '<tr><th><label for="posts_page_navi">' .__('Posts List Page Navi Setting', 'xpressme') . '</label></th>';
454                $form .= "<td>\n";
455                $form .= "<table>\n";
456                $form .= "<tr>\n";
457               
458                $form .= "<td>" . __('Adjustment of Navi link display position','xpressme') . "</td>\n";               
459                $form .= "<td>\n";
460                $form .=  $this->yes_no_radio_option_sub('is_left_page_navi_old',
461                                                                                                __("'Old Page Link' is displayed in the left, and 'Newer Page Link' is displayed in the right",'xpressme'),
462                                                                                                __("'Newer Page Link' is displayed in the left, and 'Old Page Link' is displayed in the right",'xpressme')
463                                                                                                );
464                $form .= "</td>\n";
465                $form .= "</tr>\n";
466               
467                $form .= "<tr>\n";
468                $form .= "<td>" . __('Display Navi Title of Old Page Link','xpressme') . "</td>\n";             
469                $form .= "<td>\n";
470                $form .=  $this->text_option_sub('old_page_link_text');
471                $form .= "</td>\n";
472                $form .= "</tr>\n";
473               
474                $form .= "<tr>\n";
475                $form .= "<td>" . __('Display Navi Title of Newer Page Link','xpressme') . "</td>\n";           
476                $form .= "<td>\n";
477                $form .=  $this->text_option_sub('newer_page_link_text');
478                $form .= "</td>\n";
479                $form .= "</tr>\n";
480               
481                $form .= "</table></td></tr>\n";
482            return $form;
483
484        }
485       
486        function dashboard_display_option(){
487                $form = '';
488                $form .= '<tr><th><label for="posts_page_navi">' .__('Dashboard feed Display Setting', 'xpressme') . '</label></th>';
489                $form .= "<td>\n";
490                $form .= "<table>\n";
491               
492                $form .= "<tr>\n";
493               
494                $form .= "<td>" . __('Display XPressMe Integration Kit Blog','xpressme') . "</td>\n";           
495                $form .= "<td>\n";
496                $form .=  $this->yes_no_radio_option_sub('is_dashboard_blog_disp',
497                                                                                                __('YES','xpressme'),
498                                                                                                __('NO','xpressme')
499                                                                                                );
500                $form .= "</td>\n";
501                $form .= "</tr>\n";
502               
503                $form .= "<tr>\n";
504               
505                $form .= "<td>" . __('Display XPressMe Integration Kit Forum','xpressme') . "</td>\n";         
506                $form .= "<td>\n";
507                $form .=  $this->yes_no_radio_option_sub('is_dashboard_forum_disp',
508                                                                                                __('YES','xpressme'),
509                                                                                                __('NO','xpressme')
510                                                                                                );
511                $form .= "</td>\n";
512                $form .= "</tr>\n";
513               
514                $form .= "</table></td></tr>\n";
515            return $form;
516        }
517
518        function groupe_role_option($disible=false){
519                global $wp_roles , $xoops_db;
520               
521                if ($disible) $disible_str = ' disabled="disabled"'; else $disible_str = '';
522                $form = '';
523                $form .= '<tr><th><label for="role">' .__('Role Setting at Login', 'xpressme') . '</label></th>';
524                $form .= '<td>';
525                $form .= "<table>\n";
526                $form .= '<tr><td>' . __('XOOPS Groupe', 'xpressme') . '</td><td>' . __('WordPress Role', 'xpressme') . '</td><td>' . __('Role is set at each login', 'xpressme') . "</td></tr>\n";
527                foreach ($this->groupe_role as $groupe) {
528                        if ($groupe->group_type == 'module_inhibit'){
529                                $form .= "<tr>";
530                                $form .= "<td> $groupe->name </td>";
531                                $form .= "<td>" .  __('module cannot be read', 'xpressme') . "</td>";
532                                $form .= "</tr>\n";     
533                                continue;
534                        }
535                        $form .= "<tr>";
536                        $form .= "<td> $groupe->name </td>";
537                        $form .= "<td>\n" . '<select name="role_gid_'.$groupe->groupid . '" id="role_gid_' . $groupe->groupid . '"' . $disible_str . '>' . "\n";;
538                        $role_list = '';
539                        $group_has_role = false;
540               
541                        $select_value = $groupe->role;
542
543
544                               
545                        foreach($wp_roles->role_names as $role => $name) {
546                                if(function_exists('translate_user_role')){
547                                        $name = translate_user_role($name);
548                                } else {
549                                        $name = translate_with_context($name);
550                                }
551                                if ( $role == $select_value) {
552                                        $selected = ' selected="selected"';
553                                        $group_has_role = true;
554                                } else {
555                                        $selected = '';
556                                }
557                                if ($groupe->group_type != 'module_admin'|| !empty($selected)) {
558                                        $role_list .= "<option value=\"{$role}\"{$selected}>{$name}</option>\n";
559                                }
560                        }
561                        if ($groupe->group_type != 'module_admin') {
562                                if ( $group_has_role ) {
563                                        $role_list .= '<option value="default">' . __('Default Role of WordPress', 'xpressme') . "</option>\n";
564                                        $role_list .= '<option value="">' . __('Group User Doesn\'t Register', 'xpressme') . "</option>\n";
565                                } else {
566                                        if ($select_value == 'default'){
567                                                $role_list .= '<option value="default" selected="selected">' . __('Default Role of WordPress', 'xpressme') . "</option>\n";     
568                                                $role_list .= '<option value="">' . __('Group User Doesn\'t Register', 'xpressme') . "</option>\n";
569                                        } else {
570                                                $role_list .= '<option value="default">' . __('Default Role of WordPress', 'xpressme') . "</option>\n";                                 
571                                                $role_list .= '<option value="" selected="selected">' . __('Group User Doesn\'t Register', 'xpressme') . "</option>\n";
572                                        }
573                                }
574                        }
575                        $form .= $role_list . "</select>\n</td>";
576                        if ($groupe->login_all){
577                                $form .= '<td> <input type="checkbox" name="login_all_gid_' . $groupe->groupid . '" value="1" checked ></td>';
578                        } else {
579                                $form .= '<td> <input type="checkbox" name="login_all_gid_' . $groupe->groupid . '" value="1"></td>';
580                        }
581                        $form .= "</tr>\n";     
582                }
583                if ($disible)
584                        $form .= '<tr><p>' . __('Only the Admin can set Group Role Setting','xpressme') . "</p></tr>\n";
585                $form .= "</table></td></tr>\n";
586            return $form;
587
588        }
589       
590        function d3forum_option($do_message = ''){
591                global $xoops_db,$xoops_config;
592               
593                $d3frum_list = array();
594                $module_dir_path = get_xoops_root_path();
595               
596                $forum_list  = '<select name="ch_d3forum">' . "\n";
597               
598                if ($this->is_use_d3forum != true)
599                        $selected = ' selected="selected"';
600                else
601                        $selected = '';
602               
603                if (xpress_is_multiblog()) {
604                        $forum_list .= '<option value="none"' . $selected . '>' . __('WordPress MultiBlog cannot integrate the comments.', 'xpressme') . "</option>\n";
605                } else {       
606                        $forum_list .= '<option value="none"' . $selected . '>' . __('Do Not Comment Integration.', 'xpressme') . "</option>\n";
607
608                        // Form making for forum selection of D3forum
609                        $modules_table = get_xoops_prefix() .'modules';
610                        $sql = "SELECT mid,name,isactive,dirname FROM $modules_table WHERE isactive = 1";
611                        $modules = $xoops_db->get_results($sql);
612                        foreach ($modules as $module) {
613                                $file_path = $module_dir_path . '/modules/' . $module->dirname . '/mytrustdirname.php';                 
614                                if (! file_exists($file_path)) continue;
615                                $array_files = file($file_path);
616                                // It is checked whether there is character string "$mytrustdirname ='d3forum'"in the file.
617                                foreach ($array_files as $aeey_file){
618                                        if( preg_match( "/\s*(mytrustdirname)\s*(=)\s*([\"'])(d3forum)([\"'])/", $aeey_file ) ) {
619                                                $forums_tb = get_xoops_prefix() . $module->dirname . '_forums';
620                                                $cat_tb = get_xoops_prefix() . $module->dirname . '_categories';
621                                                $sql= "SELECT * FROM $forums_tb LEFT JOIN $cat_tb ON $forums_tb.cat_id = $cat_tb.cat_id";
622                                                $forums = $xoops_db->get_results($sql);
623                                                foreach ($forums as $forum) {
624                                                        if (($module->dirname == $this->d3forum_module_dir) &&  ($forum->forum_id == $this->d3forum_forum_id))
625                                                                $selected = ' selected="selected"';
626                                                        else
627                                                                $selected = '';
628                                                        $forum_div = 'forum|' . $module->dirname . '|' .  $forum->forum_id;
629                                                        $forum_select = "$module->name($module->dirname) $forum->cat_title-$forum->forum_title(ID=$forum->forum_id)";
630                                                        $forum_list .= '<option value="' . $forum_div . '" ' . $selected . '>' . $forum_select . "</option>\n";
631                                                }
632                                                break;
633                                        }
634                                }
635                                $forum_list .= '<br>';                 
636                        }
637                }
638                $forum_list .= '</select>' . "\n";
639
640                $form  = '<tr>' . "\n";
641                $form .= '<th><label for="d3forum">' .__('Comment integration with D3Forum', 'xpressme') . '</label></th>' . "\n";
642                $form .=  "<td>\n";
643                $form .=  __('Select the forum of D3Forum that does the comment integration from the following lists.', 'xpressme') ."<br />\n";
644                $form .=  $forum_list."\n";
645                $form .= '<br /><br />';
646                if ($this->is_use_d3forum) {
647                        if ($this->is_use_d3forum)  $disible = ''; else $disible = 'disabled';
648                        $form .=  __('Select the Type of display of D3Forum comment.', 'xpressme') . " \n&emsp";
649                        if ($this->is_d3forum_flat){
650                                $form .= "&ensp<label><input type='radio' name='ch_is_d3forum_flat' value='1' checked='checked' />" . __('Flat','xpressme') ."</label>\n";
651                                $form .= "&ensp<label><input type='radio' name='ch_is_d3forum_flat' value='0' />". __('Threaded','xpressme') . "</label>\n";
652                        }else{
653                                $form .= "&ensp<label><input type='radio' name='ch_is_d3forum_flat' value='1' />" . __('Flat','xpressme') . "</label>\n";
654                                $form .= "&ensp<label><input type='radio' name='ch_is_d3forum_flat' value='0' checked='checked' />". __('Threaded','xpressme') ."</label>\n";
655                        }
656                        $form .= '<br />';
657                        $form .=  __('Select the order of display of D3Forum comment.', 'xpressme') . " \n&emsp";
658                        if ($this->is_d3forum_desc){
659                                $form .= "&ensp<label><input type='radio' name='ch_is_d3forum_desc' value='1' checked='checked' />" . __('DESC','xpressme') ."</label>\n";
660                                $form .= "&ensp<label><input type='radio' name='ch_is_d3forum_desc' value='0' />". __('ASC','xpressme') . "</label>\n";
661                        }else{
662                                $form .= "&ensp<label><input type='radio' name='ch_is_d3forum_desc' value='1' />" . __('DESC','xpressme') . "</label>\n";
663                                $form .= "&ensp<label><input type='radio' name='ch_is_d3forum_desc' value='0' checked='checked' />". __('ASC','xpressme') ."</label>\n";
664                        }
665                        $form .= '<br />';
666                        $form .=  __('Number of displays of D3Forum comments.', 'xpressme') ." \n";
667                        $form .= '&emsp<label> <input name="ch_d3forum_views_num" type="text" size="3" maxlength="3" value="'  . $this->d3forum_views_num . '" /></label>'."\n";
668                        $form .= '<div class="submit">'."\n";           
669                        $form .=  __('The import and the export between Wordpress Comments and the D3Forum Posts can be done. ', 'xpressme') ."<br />\n";
670                        $form .= '<input type="submit" value= "' . __('Export to D3Forum', 'xpressme') . '" name="export_d3f" ' . $disible . ' >' ."\n";
671                        $form .= '<input type="submit" value= "' . __('Import from D3Forum', 'xpressme') . '" name="inport_d3f" ' . $disible . ' >' ."<br />\n";
672                        $form .= '</div>'."\n";
673                        if (!empty($do_message)){
674                                $form .= '<div>' . $do_message . '</div>';
675                        }
676                }
677                $form .=  "</td>\n";
678                $form .=  "</tr><tr>\n";
679                return $form;
680        }
681       
682        function excerpt_option(){
683                $form = '';
684                $form .= '<tr><th><label for="excerpt">' .__('Contents Excerpt Setting', 'xpressme') . '</label></th>';
685                $form .= "<td>\n";
686                $form .= "<table>\n";
687                $form .= "<tr>\n";
688               
689                $form .= "<td>" . __('Is the excerpt display done with the archive of contents?','xpressme') . "</td>\n";               
690                $form .= "<td>\n";
691                $form .=  $this->yes_no_radio_option_sub('is_content_excerpt');
692                $form .= "</td>\n";
693                $form .= "</tr>\n";
694               
695                $form .= "<tr>\n";
696                $form .= "<td>" . __('When ASCII character more than the set ratio is included, it is judged ASCII contents. ','xpressme') . "</td>\n";         
697                $form .= "<td>\n";
698                $form .=  $this->text_option_sub('ascii_judged_rate');
699                $form .= "</td>\n";
700                $form .= "</tr>\n";
701               
702                $form .= "<tr>\n";
703                $form .= "<td>" . __('Excerpt length of word for ASCII contents','xpressme') . "</td>\n";               
704                $form .= "<td>\n";
705                $form .=  $this->text_option_sub('excerpt_length_word');
706                $form .= "</td>\n";
707                $form .= "</tr>\n";
708               
709                $form .= "<tr>\n";
710                $form .= "<td>" . __('Excerpt length of character for multibyte contents','xpressme') . "</td>\n";             
711                $form .= "<td>\n";
712                $form .=  $this->text_option_sub('excerpt_length_character');
713                $form .= "</td>\n";
714                $form .= "</tr>\n";
715
716                $form .= "<tr>\n";
717                $form .= "<td>" . __('This text is displayed in the link that reads contents not excerpted.(Is not displayed for the blank.)','xpressme') . "</td>\n";         
718                $form .= "<td>\n";
719                $form .=  $this->text_option_sub('excerpt_more_link_text');
720                $form .= "</td>\n";
721                $form .= "</tr>\n";
722
723                $form .= "<tr>\n";
724                $form .= "<td>" . __('This text is displayed in the link that more tag (&lt;!--more--&gt;). ','xpressme') . "</td>\n";         
725                $form .= "<td>\n";
726                $form .=  $this->text_option_sub('more_link_text');
727                $form .= "</td>\n";
728                $form .= "</tr>\n";
729
730                $form .= "</table></td></tr>\n";
731            return $form;
732        }
733
734        function viewer_type_option(){
735                $form  = "<tr>\n";
736                $form .= '<th><label for="viewer_type">' .__('Display Mode Setting', 'xpressme') . '</label></th>';
737                $form .= "<td>\n";
738               
739                $form .=  __('Select the XPressME Display Mode.', 'xpressme') ."\n";
740                $form .= '<select name="ch_viewer_type">' . "\n";
741               
742                $form .= '<option value="xoops" ';
743                if ($this->viewer_type == 'xoops') $form .= ' selected="selected"';
744                $form .= '>'.__('Xoops Mode', 'xpressme') ."</option>\n";
745
746                $form .= '<option value="wordpress" ';
747                if ($this->viewer_type == 'wordpress') $form .= ' selected="selected"';
748                $form .= '>'.__('WordPress Mode', 'xpressme') ."</option>\n";
749               
750                $form .= '<option value="user_select" ';
751                if ($this->viewer_type == 'user_select') $form .= ' selected="selected"';
752                $form .= '>'.__('User select', 'xpressme') ."</option>\n";
753
754                $form .= "</select><br />\n";
755               
756                // Theme Select
757                $form .=  __('Select the theme used in the XOOPS Mode.', 'xpressme') ."\n";
758                $form .= '<select name="ch_theme_select">' . "\n";
759               
760                $form .= '<option value="use_wordpress_select" ';
761                if ($this->theme_select == 'use_wordpress_select') $form .= ' selected="selected"';
762                $form .= '>'.__('Use WordPress Selected Themes', 'xpressme') ."</option>\n";
763               
764                $themes = get_themes();
765                $theme_names = array_keys($themes);
766                natcasesort($theme_names);
767                foreach ($theme_names as $theme_name) {
768                        if ($theme_name == 'My Themes') continue;
769                        $form .= '<option value="' . $theme_name .'" ';
770                        if ($this->theme_select == $theme_name) $form .= ' selected="selected"';
771                        $form .= '>'.$theme_name ."</option>\n";
772                }
773                $form .= "</select><br />\n";
774                $form .= "</td></tr>\n";
775            return $form;
776        }
777       
778        function header_meta_option(){
779                $form  = "<tr>\n";
780                $form .= '<th><label for="header_type">' .__('Header Meta Option', 'xpressme') . '</label></th>';
781                $form .= "<td>\n";
782                $form .= "<table>\n";
783                $form .= "<tr>\n";
784               
785                $form .=  "<td>" . __('Select the Header keyword.', 'xpressme')  . "</td>\n";
786                $form .= "<td>\n";
787                $form .= '<select name="ch_meta_keyword_type">' . "\n";         
788                $form .= '<option value="xoops" ';
789                if ($this->meta_keyword_type == 'xoops') $form .= ' selected="selected"';
790                $form .= '>'.__('Xoops KeyWord', 'xpressme') ."</option>\n";
791                $form .= '<option value="wordpress" ';
792                if ($this->meta_keyword_type == 'wordpress') $form .= ' selected="selected"';
793                $form .= '>'.__('WordPress KeyWord', 'xpressme') ."</option>\n";               
794                $form .= '<option value="wordpress_xoops" ';
795                if ($this->meta_keyword_type == 'wordpress_xoops') $form .= ' selected="selected"';
796                $form .= '>'.__('WordPress & Xoops KeyWord', 'xpressme') ."</option>\n";
797                $form .= "</select><br />\n";
798                $form .= "</td>\n";
799                $form .= "</tr>\n";
800               
801                $form .= "<tr>\n";
802                $form .=  "<td>" . __('Select the Header Description.', 'xpressme') . "</td>\n";
803                $form .= "<td>\n";
804                $form .= '<select name="ch_meta_description_type">' . "\n";
805                $form .= '<option value="xoops" ';
806                if ($this->meta_description_type == 'xoops') $form .= ' selected="selected"';
807                $form .= '>'.__('Xoops Description', 'xpressme') ."</option>\n";
808                $form .= '<option value="wordpress" ';
809                if ($this->meta_description_type == 'wordpress') $form .= ' selected="selected"';
810                $form .= '>'.__('WordPress Description', 'xpressme') ."</option>\n";
811                $form .= '<option value="wordpress_xoops" ';
812                if ($this->meta_description_type == 'wordpress_xoops') $form .= ' selected="selected"';
813                $form .= '>'.__('WordPress & Xoops Description', 'xpressme') ."</option>\n";
814                $form .= "</select><br />\n";
815                $form .= "</td>\n";
816                $form .= "</tr>\n";
817
818                $form .= "<tr>\n";
819                $form .=  "<td>" . __('Select the Header Robots Index.', 'xpressme') . "</td>\n";
820                $form .= "<td>\n";
821                $form .= '<select name="ch_meta_robot_type">' . "\n";
822                $form .= '<option value="xoops" ';
823                if ($this->meta_robot_type == 'xoops') $form .= ' selected="selected"';
824                $form .= '>'.__('Xoops Robots Index', 'xpressme') ."</option>\n";
825                $form .= '<option value="wordpress" ';
826                if ($this->meta_robot_type == 'wordpress') $form .= ' selected="selected"';
827                $form .= '>'.__('WordPress Robots Index', 'xpressme') ."</option>\n";
828                $form .= "</select><br />\n";
829                $form .= "</td>\n";
830                $form .= "</tr>\n";
831
832                $form .= "</table>\n";
833               
834                $form .= "</tr>\n";
835            return $form;
836        }
837
838        function xpress_upload_filter($uploads)
839        {
840                global $xoops_config;
841                global $blog_id,$blogname;
842               
843                if ($this->is_use_xoops_upload_path){
844                        $wordpress_dir = ABSPATH ;
845                        $xoops_dir = $xoops_config->xoops_upload_path . '/';
846                        if (xpress_is_multiblog() && $blog_id <> BLOG_ID_CURRENT_SITE){
847                                $wordpress_base_url = $xoops_config->module_url;
848                        } else {
849                                $wordpress_base_url = get_option( 'siteurl' );
850                        }
851                        $xoops_upload_url = $xoops_config->xoops_upload_url;
852                        // @rmdir($uploads[path]);  //remove wordpress side uploads_dir
853                       
854                        $uploads[path] =  str_replace ($wordpress_dir, $xoops_dir, $uploads[path]);
855                        $uploads[basedir] = str_replace ($wordpress_dir, $xoops_dir, $uploads[basedir]);
856                        $uploads[url] = str_replace ($wordpress_base_url, $xoops_upload_url, $uploads[url]);
857                        $uploads[baseurl] = str_replace ($wordpress_base_url, $xoops_upload_url, $uploads[baseurl]);
858                       
859                        if (xpress_is_multiblog() && $blog_id <> BLOG_ID_CURRENT_SITE){
860                                $pat = str_replace ($xoops_dir, '', $uploads[path]);
861                                $pat = preg_replace('/files.*/', '', $pat);
862                                $pat = str_replace ('/', '\/', $pat);
863                                $uploads[path] = preg_replace('/' . $pat . '/',  $blogname . '/',$uploads[path]);
864                               
865                                $pat = str_replace ($xoops_dir, '', $uploads[basedir]);
866                                $pat = preg_replace('/files.*/', '', $pat);
867                                $pat = str_replace ('/', '\/', $pat);
868                                $uploads[basedir] = preg_replace('/' . $pat . '/',  $blogname . '/',$uploads[basedir]);
869                        }
870                       
871                        // Make sure we have an uploads dir
872                        if ( ! wp_mkdir_p( $uploads[path] ) ) {
873                                $message = sprintf( __( 'Unable to create directory %s. Is its parent directory writable by the server?' ), $uploads[path] );
874                                return array( 'error' => $message );
875                        }
876                }
877                return $uploads;
878        }
879
880        // SQL DEBUG TEST
881        function is_sql_debug_permission()
882        {
883                global $current_user;
884
885                if (!is_object($current_user)) return false;
886                if ($this->is_sql_debug && ($current_user->user_level >= 10))
887                        return true;
888                else
889                        return false;
890        }
891       
892        function xpress_sql_debug($query_strings)
893        {
894                if ($this->is_sql_debug_permission()){
895                        if (empty($GLOBALS['XPress_SQL_Query'])) $GLOBALS['XPress_SQL_Query'] = '';
896                        $GLOBALS['XPress_SQL_Query'] .= $query_strings . '<br /><br />';
897                }
898                return $query_strings;
899        }
900       
901        function displayDebugLog()
902        {
903                if ($this->is_sql_debug_permission()){
904                        $content = '';
905                        $content .= '<html><head><meta http-equiv="content-type" content="text/html; charset='._CHARSET.'" />';
906                        $content .= '<meta http-equiv="content-language" content="'._LANGCODE.'" />' ;
907                        $content .= '<title>XPressME SQL DEBUG</title>' ;
908                        $content .= '</head><body>';
909                        $content .= $GLOBALS['XPress_SQL_Query'];
910                        $content .= '<div style="text-align:center;"><input class="formButton" value="CLOSE" type="button" onclick="javascript:window.close();" /></div></body></html>';
911
912                        echo '<script type="text/javascript">
913                                <!--//
914                                xpress_debug_window = window.open("", "xpress_debug", "width=680 , height=600 ,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no");
915                                xpress_debug_window.document.clear();
916                                xpress_debug_window.focus();
917                                ';
918                        $lines = preg_split("/(\r\n|\r|\n)( *)/", $content);
919                        foreach ($lines as $line) {
920                                echo 'xpress_debug_window.document.writeln("'.str_replace('"', '\"', $line).'");';
921                        }
922                        echo '
923                                xpress_debug_window.document.close();
924                                //-->
925                        </script>';
926                }
927        }
928}
929?>
Note: See TracBrowser for help on using the repository browser.