[257] | 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 | */
|
---|
[261] | 10 | if (!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__ ) ) ) ;
|
---|
[583] | 15 |
|
---|
| 16 | $wp_prefix = preg_replace('/wordpress/','wp',$mydirname);
|
---|
[257] | 17 |
|
---|
[261] | 18 | if (empty($xoops_db)) { // not load XPressME
|
---|
| 19 | $xoops_user_tbl = $xoopsDB->prefix('users');
|
---|
| 20 | $wp_user_tbl = $xoopsDB->prefix($wp_prefix . "_users");
|
---|
[257] | 21 |
|
---|
[261] | 22 | $wp_user_SQL ="SELECT user_login FROM $wp_user_tbl WHERE ID = $wp_uid ";
|
---|
| 23 | $wp_user_Res = $xoopsDB->query($wp_user_SQL, 0, 0);
|
---|
| 24 | if ($xoopsDB->getRowsNum($wp_user_Res) > 0){
|
---|
| 25 | $wp_user_Row = $xoopsDB->fetchArray($wp_user_Res);
|
---|
| 26 | $wp_user_name = $wp_user_Row['user_login'];
|
---|
| 27 |
|
---|
| 28 | $xoops_user_SQL ="SELECT uid FROM $xoops_user_tbl WHERE uname LIKE '$wp_user_name'";
|
---|
| 29 | $xoops_user_Res = $xoopsDB->query($xoops_user_SQL, 0, 0);
|
---|
| 30 | if ($xoopsDB->getRowsNum($xoops_user_Res) > 0){
|
---|
| 31 | $xoops_user_Row = $xoopsDB->fetchArray($xoops_user_Res);
|
---|
| 32 | $xoops_uid = $xoops_user_Row['uid'];
|
---|
| 33 | return $xoops_uid;
|
---|
| 34 | }
|
---|
[257] | 35 | }
|
---|
[261] | 36 | return 0;
|
---|
| 37 | } else { // load XPressME or not Load XOOPS
|
---|
| 38 | $xoops_user_tbl = get_xoops_prefix() . 'users';
|
---|
| 39 | $wp_user_tbl = get_wp_prefix() . 'users';
|
---|
| 40 | $wp_user_name = $xoops_db->get_var("SELECT user_login FROM $wp_user_tbl WHERE ID = $wp_uid ");
|
---|
| 41 | if (empty($wp_user_name)) return 0;
|
---|
| 42 | $xoops_uid = $xoops_db->get_var("SELECT uid FROM $xoops_user_tbl WHERE uname LIKE '$wp_user_name'");
|
---|
| 43 | if (!empty($xoops_uid)) return $xoops_uid; else return 0;
|
---|
[257] | 44 | }
|
---|
| 45 | }
|
---|
| 46 | }
|
---|
| 47 |
|
---|
[261] | 48 | if (!function_exists('xoops_uid_to_wp_uid')){
|
---|
| 49 | function xoops_uid_to_wp_uid($xoops_uid = '',$mydirname){
|
---|
| 50 | global $xoopsDB,$xoops_db;
|
---|
| 51 | if (empty($mydirname))
|
---|
| 52 | $mydirname = basename( dirname( dirname( __FILE__ ) ) ) ;
|
---|
[257] | 53 |
|
---|
[583] | 54 | $wp_prefix = preg_replace('/wordpress/','wp',$mydirname);
|
---|
[257] | 55 |
|
---|
[261] | 56 | if (empty($xoops_db)) { // not load XPressME
|
---|
| 57 | $xoops_user_tbl = $xoopsDB->prefix('users');
|
---|
| 58 | $wp_user_tbl = $xoopsDB->prefix($wp_prefix . "_users");
|
---|
[257] | 59 |
|
---|
[261] | 60 | $xoops_user_SQL ="SELECT uname FROM $xoops_user_tbl WHERE uid = $xoops_uid";
|
---|
| 61 | $xoops_user_Res = $xoopsDB->query($xoops_user_SQL, 0, 0);
|
---|
| 62 | if ($xoopsDB->getRowsNum($xoops_user_Res) > 0){
|
---|
| 63 | $xoops_user_Row = $xoopsDB->fetchArray($xoops_user_Res);
|
---|
| 64 | $xoops_user_name = $xoops_user_Row['uname'];
|
---|
| 65 |
|
---|
| 66 | $wp_user_SQL ="SELECT ID FROM $wp_user_tbl WHERE user_login LIKE '$xoops_user_name'";
|
---|
| 67 | $wp_user_Res = $xoopsDB->query($wp_user_SQL, 0, 0);
|
---|
| 68 | if ($xoopsDB->getRowsNum($wp_user_Res) > 0){
|
---|
| 69 | $wp_user_Row = $xoopsDB->fetchArray($wp_user_Res);
|
---|
| 70 | $wp_user_id = $wp_user_Row['ID'];
|
---|
| 71 | return $wp_user_id;
|
---|
| 72 | }
|
---|
[257] | 73 | }
|
---|
[261] | 74 | return 0;
|
---|
| 75 | } else { // load XPressME or not Load XOOPS
|
---|
| 76 | $xoops_user_tbl = get_xoops_prefix() . 'users';
|
---|
| 77 | $wp_user_tbl = get_wp_prefix() . 'users';
|
---|
| 78 | $xoops_user_name = $xoops_db->get_var("SELECT uname FROM $xoops_user_tbl WHERE uid = $xoops_uid");
|
---|
| 79 | if (empty($xoops_user_name)) return 0;
|
---|
| 80 | $wp_user_id = $xoops_db->get_var("SELECT ID FROM $wp_user_tbl WHERE user_login LIKE '$xoops_user_name'");
|
---|
| 81 | if (!empty($wp_user_id)) return $wp_user_id; else return 0;
|
---|
| 82 | }
|
---|
[257] | 83 | }
|
---|
| 84 | }
|
---|
[264] | 85 |
|
---|
| 86 | // XOOPS user ID is get from the name and the mail address of the contributor of the comment that is not user_id.
|
---|
| 87 | if (!function_exists('wp_comment_author_to_xoops_uid')){
|
---|
| 88 | function wp_comment_author_to_xoops_uid($name = '',$email = ''){
|
---|
| 89 | global $xoopsDB,$xoops_db;
|
---|
| 90 | if (empty($name) || empty($email)) return 0;
|
---|
| 91 |
|
---|
| 92 | if (empty($xoops_db)) { // not load XPressME
|
---|
| 93 | $xoops_user_tbl = $xoopsDB->prefix('users');
|
---|
| 94 | $wp_user_tbl = $xoopsDB->prefix($wp_prefix . "_users");
|
---|
| 95 |
|
---|
| 96 | $xoops_uid = 0;
|
---|
| 97 | $xoops_user_SQL ="SELECT uid FROM $xoops_user_tbl WHERE uname = '$name' AND email = '$email'";
|
---|
| 98 | $xoops_user_Res = $xoopsDB->query($xoops_user_SQL, 0, 0);
|
---|
| 99 | if ($xoopsDB->getRowsNum($xoops_user_Res) > 0){
|
---|
| 100 | $xoops_user_Row = $xoopsDB->fetchArray($xoops_user_Res);
|
---|
| 101 | $xoops_uid = $xoops_user_Row['uid'];
|
---|
| 102 | }
|
---|
| 103 | return $xoops_uid;
|
---|
| 104 | } else { // load XPressME or not Load XOOPS
|
---|
| 105 | $xoops_user_tbl = get_xoops_prefix() . 'users';
|
---|
| 106 | $xoops_uid = $xoops_db->get_var("SELECT uid FROM $xoops_user_tbl WHERE uname = '$name' AND email = '$email'");
|
---|
| 107 | if (empty($xoops_uid)) return 0;
|
---|
| 108 | return $xoops_uid;
|
---|
| 109 | }
|
---|
| 110 | }
|
---|
| 111 | }
|
---|
| 112 |
|
---|
[414] | 113 | // Get Multi Blog table list for WordPressMU
|
---|
[415] | 114 | if (!function_exists('get_table_list')){
|
---|
[414] | 115 | function get_table_list($wp_prefix = '',$table_name = ''){
|
---|
| 116 | global $xoopsDB,$xoops_db;
|
---|
| 117 |
|
---|
| 118 | $table_list = array();
|
---|
| 119 | $ret = array();
|
---|
[526] | 120 | $wp_prefix = preg_replace('/_$/', '',$wp_prefix);
|
---|
| 121 | $pattern = $wp_prefix . '_' . $table_name . '|' . $wp_prefix . '_[0-9]*_' . $table_name;
|
---|
[485] | 122 |
|
---|
[414] | 123 | if (!empty($wp_prefix) && !empty($table_name)){
|
---|
| 124 | $sql = "SHOW TABLES LIKE '" . $wp_prefix . '%' . $table_name . "'";
|
---|
| 125 |
|
---|
| 126 | if (empty($xoops_db)) { // not load XPressME
|
---|
| 127 | if($result = $xoopsDB->queryF($sql)){
|
---|
| 128 | while($row = $xoopsDB->fetchRow($result)){
|
---|
[844] | 129 | if(preg_match('/' . $pattern . '/i' , $row[0])){
|
---|
[485] | 130 | $table_list[] = $row[0];
|
---|
| 131 | }
|
---|
[414] | 132 | }
|
---|
| 133 | }
|
---|
| 134 | } else { // load XPressME or not Load XOOPS
|
---|
[417] | 135 | $rows = $xoops_db->get_results($sql, ARRAY_N);
|
---|
| 136 | foreach ($rows as $row){
|
---|
[485] | 137 | if(preg_match('/' . $pattern . '/' , $row[0])){
|
---|
| 138 | $table_list[] = $row[0];
|
---|
| 139 | }
|
---|
[417] | 140 | }
|
---|
[414] | 141 | }
|
---|
| 142 | }
|
---|
| 143 | return $table_list;
|
---|
| 144 | }
|
---|
| 145 | }
|
---|
| 146 |
|
---|
| 147 | // Get Middle Prefix from Table name for WordPressMU
|
---|
| 148 | if (!function_exists('get_multi_mid_prefix')){
|
---|
| 149 | function get_multi_mid_prefix($wp_prefix = '',$table_name = '' , $full_table_name){
|
---|
| 150 | $pattern = '/' . $wp_prefix . '(.*)' . $table_name . '/';
|
---|
| 151 | preg_match($pattern,$full_table_name,$match);
|
---|
| 152 | return $match[1];
|
---|
| 153 | }
|
---|
| 154 | }
|
---|
| 155 |
|
---|
[423] | 156 | // Get Prefix from Table name for WordPressMU
|
---|
| 157 | if (!function_exists('get_multi_prefix')){
|
---|
| 158 | function get_multi_prefix($full_table_name,$table_name = ''){
|
---|
| 159 | $pattern = '/'. $table_name . '/';
|
---|
| 160 | return preg_replace($pattern,'',$full_table_name);
|
---|
| 161 | }
|
---|
| 162 | }
|
---|
[257] | 163 | ?>
|
---|