XPressME Integration Kit

Trac

source: branches/Ver2.0/xpressme_integration_kit/include/general_functions.php @ 261

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

#143 モジュール複製時のXOOPS UID と WordPress? UID 相違による不具合

PHP Fatal error: Cannot redeclare wp_uid_to_xoops_uid()が発生
またUIDの変換が先読みしたモジュールのWordPress UIDが使われる

の修正

File size: 3.4 KB
Line 
1<?php
2/*
3 * XPressME - WordPress for XOOPS
4 *
5 * @copyright   XPressME Project http://www.toemon.com
6 * @license             http://www.fsf.org/copyleft/gpl.html GNU public license
7 * @author              toemon
8 * @package             module::xpress
9 */
10if (!function_exists('wp_uid_to_xoops_uid')){
11        function wp_uid_to_xoops_uid($wp_uid = '',$mydirname){
12                global $xoopsDB,$xoops_db;
13                if (empty($mydirname))
14                        $mydirname = basename( dirname( dirname( __FILE__ ) ) ) ;
15
16                if ($mydirname == 'wordpress'){
17                        $wp_prefix = 'wp';
18                } else {
19                        $wp_prefix = $mydirname;
20                }
21
22                if (empty($xoops_db)) { // not load XPressME
23                        $xoops_user_tbl = $xoopsDB->prefix('users');
24                        $wp_user_tbl = $xoopsDB->prefix($wp_prefix . "_users");
25
26                        $wp_user_SQL ="SELECT user_login FROM $wp_user_tbl WHERE ID = $wp_uid ";
27                        $wp_user_Res = $xoopsDB->query($wp_user_SQL, 0, 0);
28                        if ($xoopsDB->getRowsNum($wp_user_Res)  > 0){
29                                $wp_user_Row = $xoopsDB->fetchArray($wp_user_Res);
30                                $wp_user_name = $wp_user_Row['user_login'];
31                       
32                                $xoops_user_SQL ="SELECT uid FROM $xoops_user_tbl WHERE uname LIKE '$wp_user_name'";
33                                $xoops_user_Res = $xoopsDB->query($xoops_user_SQL, 0, 0);
34                                if ($xoopsDB->getRowsNum($xoops_user_Res)  > 0){
35                                        $xoops_user_Row = $xoopsDB->fetchArray($xoops_user_Res);
36                                        $xoops_uid = $xoops_user_Row['uid'];   
37                                        return $xoops_uid;
38                                }
39                        }
40                        return 0;
41                } else { // load XPressME or not Load XOOPS
42                        $xoops_user_tbl = get_xoops_prefix() . 'users';
43                        $wp_user_tbl = get_wp_prefix() . 'users';
44                        $wp_user_name = $xoops_db->get_var("SELECT user_login FROM $wp_user_tbl WHERE ID = $wp_uid ");
45                        if (empty($wp_user_name)) return 0;
46                        $xoops_uid = $xoops_db->get_var("SELECT uid FROM $xoops_user_tbl WHERE uname LIKE '$wp_user_name'");
47                        if (!empty($xoops_uid)) return $xoops_uid; else return 0;
48                }
49        }
50}
51
52if (!function_exists('xoops_uid_to_wp_uid')){
53        function xoops_uid_to_wp_uid($xoops_uid = '',$mydirname){
54                global $xoopsDB,$xoops_db;
55                if (empty($mydirname))
56                        $mydirname = basename( dirname( dirname( __FILE__ ) ) ) ;
57
58                if ($mydirname == 'wordpress'){
59                        $wp_prefix = 'wp';
60                } else {
61                        $wp_prefix = $mydirname;
62                }
63
64                if (empty($xoops_db)) { // not load XPressME
65                        $xoops_user_tbl = $xoopsDB->prefix('users');
66                        $wp_user_tbl = $xoopsDB->prefix($wp_prefix . "_users");
67
68                        $xoops_user_SQL ="SELECT uname FROM $xoops_user_tbl WHERE uid =  $xoops_uid";
69                        $xoops_user_Res = $xoopsDB->query($xoops_user_SQL, 0, 0);
70                        if ($xoopsDB->getRowsNum($xoops_user_Res)  > 0){
71                                $xoops_user_Row = $xoopsDB->fetchArray($xoops_user_Res);
72                                $xoops_user_name = $xoops_user_Row['uname'];   
73
74                                $wp_user_SQL ="SELECT ID FROM $wp_user_tbl WHERE user_login LIKE '$xoops_user_name'";
75                                $wp_user_Res = $xoopsDB->query($wp_user_SQL, 0, 0);
76                                if ($xoopsDB->getRowsNum($wp_user_Res)  > 0){
77                                        $wp_user_Row = $xoopsDB->fetchArray($wp_user_Res);
78                                        $wp_user_id = $wp_user_Row['ID'];
79                                        return $wp_user_id;
80                                }
81                        }
82                        return 0;
83                } else { // load XPressME or not Load XOOPS
84                        $xoops_user_tbl = get_xoops_prefix() . 'users';
85                        $wp_user_tbl = get_wp_prefix() . 'users';
86                        $xoops_user_name = $xoops_db->get_var("SELECT uname FROM $xoops_user_tbl WHERE uid =  $xoops_uid");
87                        if (empty($xoops_user_name)) return 0;
88                        $wp_user_id = $xoops_db->get_var("SELECT ID FROM $wp_user_tbl WHERE user_login LIKE '$xoops_user_name'");
89                        if (!empty($wp_user_id)) return $wp_user_id; else return 0;
90                }       
91        }
92}
93?>
Note: See TracBrowser for help on using the repository browser.