XPressME Integration Kit

Trac

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

Last change on this file since 264 was 264, checked in by toemon, 16 years ago

fixed #144 UIDのないコメントの投稿者の名前とメールアドレスからXOOPSユーザIDを取得する

File size: 4.5 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
94// XOOPS user ID is get from the name and the mail address of the contributor of the comment that is not user_id.
95if (!function_exists('wp_comment_author_to_xoops_uid')){
96        function wp_comment_author_to_xoops_uid($name = '',$email = ''){
97                global $xoopsDB,$xoops_db;
98                if (empty($name) || empty($email)) return 0;
99               
100                if (empty($xoops_db)) { // not load XPressME
101                        $xoops_user_tbl = $xoopsDB->prefix('users');
102                        $wp_user_tbl = $xoopsDB->prefix($wp_prefix . "_users");
103
104                        $xoops_uid = 0;
105                        $xoops_user_SQL ="SELECT uid FROM $xoops_user_tbl WHERE uname = '$name' AND email = '$email'";
106                        $xoops_user_Res = $xoopsDB->query($xoops_user_SQL, 0, 0);
107                        if ($xoopsDB->getRowsNum($xoops_user_Res)  > 0){
108                                $xoops_user_Row = $xoopsDB->fetchArray($xoops_user_Res);
109                                $xoops_uid = $xoops_user_Row['uid'];
110                        }       
111                        return $xoops_uid;
112                } else { // load XPressME or not Load XOOPS
113                        $xoops_user_tbl = get_xoops_prefix() . 'users';
114                        $xoops_uid = $xoops_db->get_var("SELECT uid FROM $xoops_user_tbl WHERE uname = '$name' AND email = '$email'");
115                        if (empty($xoops_uid)) return 0;
116                        return $xoops_uid;
117                }                       
118        }
119}
120
121?>
Note: See TracBrowser for help on using the repository browser.