XPressME Integration Kit

Trac

source: trunk/xpressme_integration_kit/xoops_version.php @ 527

Last change on this file since 527 was 527, checked in by toemon, 15 years ago

MultiBlog? でのユーザ権限取得対策 Fixes #295

File size: 14.2 KB
Line 
1<?php
2/**
3 * XPressME - WordPress for XOOPS
4 *
5 * Adding multi-author features to XPress
6 *
7 * @copyright   toemon
8 * @license             GNU public license
9 * @author              "toemon ( http://ja.xpressme.info)"
10 * @package             module::xpressme
11 */
12 
13if( ! defined( 'XOOPS_ROOT_PATH' ) ) exit ;
14
15if (!function_exists('wp_version_compare')){
16        function wp_version_compare($wp_version , $operator='==',$comp_version){
17                $inc_wp_version = str_replace("ME", "", $wp_version);
18                return version_compare($inc_wp_version, $comp_version, $operator);
19        }
20}
21
22if (!function_exists('mod_access_level')){
23function mod_access_level(){
24        global $current_user;
25       
26        $level = @$current_user->user_level;
27        $role = @$current_user->roles[0];
28        switch ($role){
29                case 'administrator':
30                        $role_level = 10;
31                        break;
32                case 'editor':
33                        $role_level = 7;
34                        break;
35                case 'author':
36                        $role_level = 2;
37                        break;         
38                case 'contributor':
39                        $role_level = 1;
40                        break;
41                default:
42                        $role_level = 0;
43        }
44       
45        if ($level > $role_level){
46                return $level;
47        } else {
48                return $role_level;
49        }
50}
51}
52
53$mydirpath = dirname(__FILE__);
54$mydirname = basename($mydirpath);
55
56$lang = @$GLOBALS["xoopsConfig"]['language'];
57
58// language file (modinfo.php)
59
60if( file_exists( $mydirpath .'/language/'.$lang.'/modinfo.php' ) ) {
61        include_once $mydirpath .'/language/'.$lang.'/modinfo.php' ;
62} else if( file_exists(  $mydirpath .'/language/english/modinfo.php' ) ) {
63        include_once $mydirpath .'/language/english/modinfo.php' ;
64}
65global $wp_db_version,$wp_version;
66
67include $mydirpath .'/wp-includes/version.php' ;
68
69$modversion['name'] = ucfirst($mydirname) . ' ' . constant('_MI_XP2_NAME') ;
70$modversion['description'] = constant( '_MI_XP2_DESC');
71$modversion['version'] = "2.25";
72$modversion['credits'] = "Wordpress DEV (http://wordpress.org/) XPressME DEV Toemon) (http://ja.xpressme.info) ;";
73$modversion['author'] = "toemon (http://ja.xpressme.info)";
74$modversion['license'] = "GPL see LICENSE";
75$modversion['official'] = 0 ;
76$modversion['image'] =  'module_icon.php' ;
77$modversion['dirname'] = $mydirname;
78
79// status
80$modversion['codename'] = "";
81
82// onInstall, onUpdate, onUninstall
83$modversion['onInstall'] = 'include/oninstall.php' ;
84$modversion['onUpdate'] = 'include/onupdate.php' ;
85$modversion['onUninstall'] = 'include/onuninstall.php' ;
86
87// Sql file (must contain sql generated by phpMyAdmin or phpPgAdmin)
88//$modversion['sqlfile']['mysql'] = "sql/mysql.sql";
89
90$db_prefix = $mydirname;
91if ($mydirname == 'wordpress') {
92        $db_prefix = 'wp';
93}
94
95/*
96 * Table information is not described.
97 *
98 * The create of the table is do with oninstall.php.
99 * The drop of the table is do with onuninstall.php.
100 *
101 * $modversion['tables'] = array( ,,,);
102 */
103
104       
105// Search
106$modversion['hasSearch'] = 1 ;
107$modversion['search']['file'] = 'include/search.php' ;
108$modversion['search']['func'] = $mydirname.'_global_search' ;
109//Admin things
110$modversion['hasAdmin'] = 1;
111$modversion['adminindex'] = "admin/index.php";
112$modversion['adminmenu'] = "admin/menu.php";
113
114$modversion['hasMain'] = 1;
115
116if (function_exists('get_bloginfo')){
117        //$add_url for wpmu multiblog
118        $pattern = '/.*\/' . $mydirname . '/';
119        $add_url = preg_replace($pattern,'',get_bloginfo('url'));
120        if (!empty($add_url)){
121            $pattern = '/^\//';
122            $add_url = preg_replace($pattern,'',$add_url) . '/';
123        }
124
125        if(is_object($GLOBALS["xoopsUser"])){
126                global $current_user , $xoops_config;
127                if (mod_access_level() > 0) {
128                $modversion['sub'][1]['name'] = constant( '_MI_XP2_MENU_POST_NEW');
129                if (wp_version_compare($wp_version, '>=','2.1'))
130                        $modversion['sub'][1]['url'] = $add_url . "wp-admin/post-new.php";
131                else
132                        $modversion['sub'][1]['url'] = $add_url . "wp-admin/post.php";
133                $modversion['sub'][2]['name'] = constant( '_MI_XP2_MENU_EDIT');
134                $modversion['sub'][2]['url'] = $add_url . "wp-admin/edit.php";
135                $modversion['sub'][3]['name'] = constant( '_MI_XP2_MENU_ADMIN');
136                $modversion['sub'][3]['url'] = $add_url . "wp-admin/";
137                }
138                if (mod_access_level() > 9) {
139                        $modversion['sub'][4]['name'] = constant( '_MI_XP2_MENU_XPRESS');
140                        $modversion['sub'][4]['url'] = $add_url . "wp-admin/admin.php?page=xpressme" . DIRECTORY_SEPARATOR . "xpressme.php";
141                }
142                if($GLOBALS["xoopsUserIsAdmin"]){
143                        $modversion['sub'][5]['name'] = constant( '_MI_XP2_MOD_ADMIN');
144                        $modversion['sub'][5]['url'] = "admin/index.php";
145                }
146        }
147}
148
149// Use smarty
150$modversion["use_smarty"] = 1;
151
152/**
153* Templates
154*/
155// All Templates can't be touched by modulesadmin.
156$modversion['templates'] = array() ;
157
158$modversion['hasconfig'] = 1;
159$modversion['config'][] = array(
160        'name'                  => 'libxml_patch' ,
161        'title'                 =>  '_MI_LIBXML_PATCH' ,
162        'description'   =>  '_MI_LIBXML_PATCH_DESC' ,
163        'formtype'              => 'yesno' ,
164        'valuetype'             => 'int' ,
165        'default'               => 0 ,
166);
167$modversion['config'][] = array(
168        'name'                  => 'memory_limit' ,
169        'title'                 =>  '_MI_MEMORY_LIMIT' ,
170        'description'   =>  '_MI_MEMORY_LIMIT_DESC' ,
171        'formtype'              => 'textbox' ,
172        'valuetype'             => 'int' ,
173        'default'               => 64 ,
174);
175
176//BLOCKS
177$b_no =1;
178$modversion['blocks'][$b_no] = array(
179        'file'                  => 'recent_posts_content_block.php' ,
180        'name'                  => constant('_MI_XP2_BLOCK_CONTENT') ,
181        'description'   => '' ,
182        'show_func'     => "b_". $mydirname . "_content_show" ,
183        'edit_func'     => "b_". $mydirname . "_content_edit" ,
184        'template'              => '' ,
185        'options'               => $mydirname. '||10|0|100||||0|0|0' ,
186        'can_clone'             => true ,
187        'func_num'              => $b_no,
188);
189$b_no++;
190$modversion['blocks'][$b_no] = array(
191        'file'                  => 'recent_posts_list_block.php' ,
192        'name'                  => constant('_MI_XP2_BLOCK_POSTS') ,
193        'description'   => '' ,
194        'show_func'     => "b_". $mydirname . "_posts_show" ,
195        'edit_func'     => "b_". $mydirname . "_posts_edit" ,
196        'options'               => $mydirname. '||10|1|7||||0' ,
197        'can_clone'             => true ,
198        'func_num'              => $b_no,       
199);
200$b_no++;
201$modversion['blocks'][$b_no] = array(
202        'file'                  => 'popular_posts_block.php' ,
203        'name'                  => constant('_MI_XP2_BLOCK_POPULAR') ,
204        'description'   => '' ,
205        'show_func'     => "b_". $mydirname . "_popular_show" ,
206        'edit_func'     => "b_". $mydirname . "_popular_edit" ,
207        'options'               => $mydirname. '||10|0||||0' ,
208        'can_clone'             => true ,
209        'func_num'              => $b_no,       
210);
211$b_no++;
212$modversion['blocks'][$b_no] = array(
213        'file'                  => 'page_block.php' ,
214        'name'                  => constant('_MI_XP2_BLOCK_PAGE') ,
215        'description'   => '' ,
216        'show_func'     => "b_". $mydirname . "_page_show" ,
217        'edit_func'     => "b_". $mydirname . "_page_edit" ,
218        'options'               => $mydirname. '||post_title|asc||||0|0|none||1||' ,
219        'can_clone'             => true ,
220        'func_num'              => $b_no,
221);
222$b_no++;
223$modversion['blocks'][$b_no] = array(
224        'file'                  => 'recent_comments_block.php' ,
225        'name'                  => constant('_MI_XP2_BLOCK_COMMENTS') ,
226        'description'   => '' ,
227        'show_func'     => "b_". $mydirname . "_comments_show" ,
228        'edit_func'     => "b_". $mydirname . "_comments_edit" ,
229        'template'              => '' ,
230        'options'               => $mydirname. '||10|30|||0' ,
231        'can_clone'             => true ,
232        'func_num'              => $b_no,       
233);
234$b_no++;
235$modversion['blocks'][$b_no] = array(
236        'file'                  => 'sidebar_block.php' ,
237        'name'                  => constant('_MI_XP2_BLOCK_SIDEBAR') ,
238        'description'   => '' ,
239        'show_func'     => "b_". $mydirname . "_sidebar_show" ,
240        'edit_func'     => '' ,
241        'options'               => '' ,
242        'can_clone'             => false ,
243        'func_num'              => $b_no,       
244);
245$b_no++;
246$modversion['blocks'][$b_no] = array(
247        'file'                  => 'search_block.php' ,
248        'name'                  => constant('_MI_XP2_BLOCK_SEARCH') ,
249        'description'   => '' ,
250        'show_func'     => "b_". $mydirname . "_search_show" ,
251        'edit_func'     => "b_". $mydirname . "_search_edit" ,
252        'options'               => $mydirname. '||18' ,
253        'can_clone'             => false ,
254        'func_num'              => $b_no ,     
255);
256$b_no++;
257$modversion['blocks'][$b_no] = array(
258        'file'                  => 'calender_block.php' ,
259        'name'                  => constant('_MI_XP2_BLOCK_CALENDER') ,
260        'description'   => '' ,
261        'show_func'     => "b_". $mydirname . "_calender_show" ,
262        'edit_func'     => "b_". $mydirname . "_calender_edit" ,
263        'options'               => $mydirname. '||#DB0000|#004D99' ,
264        'can_clone'             => false ,
265        'func_num'              => $b_no,
266);
267$b_no++;
268$modversion['blocks'][$b_no] = array(
269        'file'                  => 'archives_block.php' ,
270        'name'                  => constant('_MI_XP2_BLOCK_ARCHIVE') ,
271        'description'   => '' ,
272        'show_func'     => "b_". $mydirname . "_archives_show" ,
273        'edit_func'     => "b_". $mydirname . "_archives_edit" ,
274        'options'               => $mydirname. '||monthly|0|1|0' ,
275        'can_clone'             => true ,
276        'func_num'              => $b_no,       
277);
278$b_no++;
279$modversion['blocks'][$b_no] = array(
280        'file'                  => 'authors_block.php' ,
281        'name'                  => constant('_MI_XP2_BLOCK_AUTHORS') ,
282        'description'   => '' ,
283        'show_func'     => "b_". $mydirname . "_authors_show" ,
284        'edit_func'     => "b_". $mydirname . "_authors_edit" ,
285        'options'               => $mydirname. '||0|1|0|1' ,
286        'can_clone'             => false ,
287        'func_num'              => $b_no,       
288);
289if (wp_version_compare($wp_version, '>=','2.3')){
290        $b_no++;
291        $modversion['blocks'][$b_no] = array(
292                'file'                  => 'tag_cloud_block.php' ,
293                'name'                  => constant('_MI_XP2_BLOCK_TAG') ,
294                'description'   => '' ,
295                'show_func'     => "b_". $mydirname . "_tag_cloud_show" ,
296                'edit_func'     => "b_". $mydirname . "_tag_cloud_edit" ,
297                'options'               => $mydirname. '||8|22|pt|45|flat|name|ASC||' ,
298                'can_clone'             => false ,
299                'func_num'              => $b_no,       
300        );
301}
302$b_no++;
303$modversion['blocks'][$b_no] = array(
304        'file'                  => 'category_block.php' ,
305        'name'                  => constant('_MI_XP2_BLOCK_CATEGORY') ,
306        'description'   => '' ,
307        'show_func'     => "b_". $mydirname . "_category_show" ,
308        'edit_func'     => "b_". $mydirname . "_category_edit" ,
309        'options'               => $mydirname. '||ALL|name|ASC|0|0|1|1|||1|0' ,
310        'can_clone'             => false ,
311        'func_num'              => $b_no,       
312);
313$b_no++;
314$modversion['blocks'][$b_no] = array(
315        'file'                  => 'meta_block.php' ,
316        'name'                  => constant('_MI_XP2_BLOCK_META') ,
317        'description'   => '' ,
318        'show_func'     => "b_". $mydirname . "_meta_show" ,
319        'edit_func'     => "b_". $mydirname . "_meta_edit" ,
320        'options'               => $mydirname. '||1|1|1|1|1|1|1|1' ,
321        'can_clone'             => false ,
322        'func_num'              => $b_no,       
323);
324if (wp_version_compare($wp_version, '>=','2.7')){
325        $b_no++;
326        $modversion['blocks'][$b_no] = array(
327                'file'                  => 'widget_block.php' ,
328                'name'                  => constant('_MI_XP2_BLOCK_WIDGET') ,
329                'description'   => '' ,
330                'show_func'     => "b_". $mydirname . "_widget_show" ,
331                'edit_func'     => "b_". $mydirname . "_widget_edit" ,
332                'options'               => $mydirname. '||1|' ,
333                'can_clone'             => true ,
334                'func_num'              => $b_no,       
335        );
336}
337$b_no++;
338$modversion['blocks'][$b_no] = array(
339        'file'                  => 'enhanced_block.php' ,
340        'name'                  => constant('_MI_XP2_BLOCK_ENHANCED') ,
341        'description'   => '' ,
342        'show_func'     => "b_". $mydirname . "_enhanced_show" ,
343        'edit_func'     => "b_". $mydirname . "_enhanced_edit" ,
344        'options'               => $mydirname. '||' ,
345        'can_clone'             => true ,
346        'func_num'              => $b_no,       
347);
348
349
350// Notification
351$modversion['hasNotification'] = 1;
352$modversion['notification'] = array(
353        'lookup_file' => 'include/notification.inc.php' ,
354        'lookup_func' => "xpress_notify" ,
355        'category' => array(
356                array(
357                        'name' => 'global' ,
358                        'title' => constant('_MI_XP2_NOTCAT_GLOBAL') ,
359                        'description' => constant('_MI_XP2_NOTCAT_GLOBALDSC') ,
360                        'subscribe_from' => 'index.php' ,
361                ) ,
362                array(
363                        'name' => 'category' ,
364                        'title' => constant('_MI_XP2_NOTCAT_CAT') ,
365                        'description' => constant('_MI_XP2_NOTCAT_CATDSC') ,
366                        'subscribe_from' => 'index.php' ,
367                        'item_name' => 'cat' ,
368                        'allow_bookmark' => 1 ,
369                ) ,
370                array(
371                        'name' => 'author' ,
372                        'title' => constant('_MI_XP2_NOTCAT_AUTHOR') ,
373                        'description' => constant('_MI_XP2_NOTCAT_AUTHORDSC') ,
374                        'subscribe_from' => 'index.php' ,
375                        'item_name' => 'author' ,
376                        'allow_bookmark' => 1 ,
377                ) ,
378                array(
379                        'name' => 'post' ,
380                        'title' => constant('_MI_XP2_NOTCAT_POST') ,
381                        'description' => constant('_MI_XP2_NOTCAT_POSTDSC') ,
382                        'subscribe_from' => 'index.php' ,
383                        'item_name' => 'p' ,
384                        'allow_bookmark' => 1 ,
385                ) ,
386        ) ,
387        'event' => array(
388                array(
389                        'name' => 'waiting' ,
390                        'category' => 'global' ,
391                        'title' => constant('_MI_XP2_NOTIFY_GLOBAL_WAITING') ,
392                        'caption' => constant('_MI_XP2_NOTIFY_GLOBAL_WAITINGCAP') ,
393                        'description' => constant('_MI_XP2_NOTIFY_GLOBAL_WAITINGCAP') ,
394                        'mail_template' => 'global_waiting' ,
395                        'mail_subject' => constant('_MI_XP2_NOTIFY_GLOBAL_WAITINGSBJ') ,
396                        'admin_only' => 1 ,
397                ) ,
398                array(
399                        'name' => 'newpost' ,
400                        'category' => 'global' ,
401                        'title' => constant('_MI_XP2_NOTIFY_GLOBAL_NEWPOST') ,
402                        'caption' => constant('_MI_XP2_NOTIFY_GLOBAL_NEWPOSTCAP') ,
403                        'description' => constant('_MI_XP2_NOTIFY_GLOBAL_NEWPOSTCAP') ,
404                        'mail_template' => 'global_newpost' ,
405                        'mail_subject' => constant('_MI_XP2_NOTIFY_GLOBAL_NEWPOSTSBJ') ,
406                ) ,
407                array(
408                        'name' => 'comment' ,
409                        'category' => 'global' ,
410                        'title' => constant('_MI_XP2_NOTIFY_GLOBAL_NEWCOMMENT') ,
411                        'caption' => constant('_MI_XP2_NOTIFY_GLOBAL_NEWCOMMENTCAP') ,
412                        'description' => constant('_MI_XP2_NOTIFY_GLOBAL_NEWCOMMENTCAP') ,
413                        'mail_template' => 'global_newcomment' ,
414                        'mail_subject' => constant('_MI_XP2_NOTIFY_GLOBAL_NEWCOMMENTSBJ') ,
415                ) ,
416               
417                array(
418                        'name' => 'newpost' ,
419                        'category' => 'category' ,
420                        'title' => constant('_MI_XP2_NOTIFY_CAT_NEWPOST') ,
421                        'caption' => constant('_MI_XP2_NOTIFY_CAT_NEWPOSTCAP') ,
422                        'description' => constant('_MI_XP2_NOTIFY_CAT_NEWPOSTCAP') ,
423                        'mail_template' => 'category_newpost' ,
424                        'mail_subject' => constant('_MI_XP2_NOTIFY_CAT_NEWPOSTSBJ') ,
425                ) ,
426                array(
427                        'name' => 'comment' ,
428                        'category' => 'category' ,
429                        'title' => constant('_MI_XP2_NOTIFY_CAT_NEWCOMMENT') ,
430                        'caption' => constant('_MI_XP2_NOTIFY_CAT_NEWCOMMENTCAP') ,
431                        'description' => constant('_MI_XP2_NOTIFY_CAT_NEWCOMMENTCAP') ,
432                        'mail_template' => 'category_newcomment' ,
433                        'mail_subject' => constant('_MI_XP2_NOTIFY_CAT_NEWCOMMENTSBJ') ,
434                ) ,
435
436                array(
437                        'name' => 'newpost' ,
438                        'category' => 'author' ,
439                        'title' => constant('_MI_XP2_NOTIFY_AUT_NEWPOST') ,
440                        'caption' => constant('_MI_XP2_NOTIFY_AUT_NEWPOSTCAP') ,
441                        'description' => constant('_MI_XP2_NOTIFY_AUT_NEWPOSTCAP') ,
442                        'mail_template' => 'author_newpost' ,
443                        'mail_subject' => constant('_MI_XP2_NOTIFY_AUT_NEWPOSTSBJ') ,
444                ) ,
445                array(
446                        'name' => 'comment' ,
447                        'category' => 'author' ,
448                        'title' => constant('_MI_XP2_NOTIFY_AUT_NEWCOMMENT') ,
449                        'caption' => constant('_MI_XP2_NOTIFY_AUT_NEWCOMMENTCAP') ,
450                        'description' => constant('_MI_XP2_NOTIFY_AUT_NEWCOMMENTCAP') ,
451                        'mail_template' => 'author_newcomment' ,
452                        'mail_subject' => constant('_MI_XP2_NOTIFY_AUT_NEWCOMMENTSBJ') ,
453                ) ,
454
455                array(
456                        'name' => 'comment' ,
457                        'category' => 'post' ,
458                        'title' => constant('_MI_XP2_NOTIFY_POST_NEWCOMMENT') ,
459                        'caption' => constant('_MI_XP2_NOTIFY_POST_NEWCOMMENTCAP') ,
460                        'description' => constant('_MI_XP2_NOTIFY_POST_NEWCOMMENTCAP') ,
461                        'mail_template' => 'post_newcomment' ,
462                        'mail_subject' => constant('_MI_XP2_NOTIFY_POST_NEWCOMMENTSBJ') ,
463                ) ,
464        ) ,
465) ;
466
467
468?>
Note: See TracBrowser for help on using the repository browser.