function usermap_perform() { global $wpuAbs, $phpEx, $phpbb_root_path, $wpSettings, $db, $template; $this->page_title = 'L_MAP_TITLE'; $this->tpl_name = 'acp_wp_united'; // set the page section to show $template->assign_block_vars('switch_usermap_perform', array()); //Get integration settings $wpSettings = get_integration_settings(); if ($wpSettings == FALSE || $wpSettings['wpPath'] == '') { $wpuAbs->err_msg(GENERAL_ERROR, $wpuAbs->lang('WP_DBErr_Gen'), $wpuAbs->lang('L_WP_NO_SETTINGS'), __LINE__, __FILE__, $sql); } $lastAction = (int) request_var('numrows', 0); $nextStart = (int) request_var('start', 0); $numPerPage = (int) request_var('wpumapperpage', 50); $paged = (int) request_var('paged', 0); // Enter WordPress and pull user data global $wpdb, $wpUtdInt; require_once $phpbb_root_path . 'wp-united/wp-integration-class.' . $phpEx; $wpUtdInt = WPU_Integration::getInstance(); define('USE_THEMES', FALSE); if ($wpUtdInt->can_connect_to_wp()) { $wpUtdInt->enter_wp_integration(); eval($wpUtdInt->exec()); $wpUtdInt->switch_db('TO_P'); if (file_exists($wpSettings['wpPath'] . 'wp-admin/includes/user.php')) { //WP >= 2.3 require_once $wpSettings['wpPath'] . 'wp-admin/includes/user.php'; } else { require_once $wpSettings['wpPath'] . 'wp-admin/admin-db.php'; //WP < 2.3 } require_once $phpbb_root_path . 'wp-united/wpu-actions.' . $phpEx; for ($procAction = 0; $procAction <= $lastAction; $procAction++) { $status_text = ''; $actionName = request_var('actname' . $procAction, ''); if (!empty($actionName)) { $wpID = (int) request_var('wpID' . $procAction, 0); $pID = (int) request_var('pID' . $procAction, 0); $typedName = request_var('typedName' . $procAction, ''); switch ($actionName) { case 'break': if (!empty($wpID)) { $sql = 'UPDATE ' . USERS_TABLE . " SET user_wpuint_id = NULL \n\t\t\t\t\t\t\t\t\tWHERE user_wpuint_id = {$wpID}"; if (!($pDel = $db->sql_query($sql))) { $wpuAbs->err_msg(GENERAL_ERROR, $wpuAbs->lang('L_MAP_COULDNT_BREAK'), $wpuAbs->lang('L_DB_ERROR'), __LINE__, __FILE__, $sql); } $status_text = '<li>' . sprintf($wpuAbs->lang('L_MAP_BROKE_SUCCESS'), $wpID) . '</li>'; } else { $status_text = '<li>' . $wpuAbs->lang('L_MAP_CANNOT_BREAK') . '</li>'; } break; case 'integrate': if (!empty($wpID) && !empty($pID)) { $sql = 'UPDATE ' . USERS_TABLE . " SET user_wpuint_id = {$wpID} \n\t\t\t\t\t\t\t\t\tWHERE user_id = {$pID}"; if (!($pInt = $db->sql_query($sql))) { $wpuAbs->err_msg(GENERAL_ERROR, $wpuAbs->lang('L_MAP_COULDNT_INT'), $wpuAbs->lang('L_DB_ERROR'), __LINE__, __FILE__, $sql); } // Sync profiles $sql = "SELECT *\n\t\t\t\t\t\t\t\t\t\t\t\tFROM " . USERS_TABLE . " \n\t\t\t\t\t\t\t\t\t\t\t\tWHERE user_id = {$pID}"; if (!($pUserData = $db->sql_query($sql))) { $wpuAbs->err_msg(GENERAL_ERROR, $wpuAbs->lang('L_MAP_COULDNT_INT'), $wpuAbs->lang('L_DB_ERROR'), __LINE__, __FILE__, $sql); } $data = $db->sql_fetchrow($pUserData); $db->sql_freeresult($pUserData); $wpu_newDetails = array('user_id' => $pID, 'username' => isset($data['username']) ? $data['username'] : '', 'user_email' => isset($data['user_email']) ? $data['user_email'] : '', 'user_password' => isset($data['user_password']) ? $data['user_password'] : '', 'user_aim' => isset($data['user_aim']) ? $data['user_aim'] : '', 'user_yim' => isset($data['user_yim']) ? $data['user_yim'] : '', 'user_jabber' => isset($data['user_jabber']) ? $data['user_jabber'] : '', 'user_website' => isset($data['user_website']) ? $data['user_website'] : '', 'user_avatar' => isset($data['user_avatar']) ? $data['user_avatar'] : '', 'user_avatar_type' => isset($data['user_avatar_type']) ? $data['user_avatar_type'] : '', 'user_avatar_width' => isset($data['user_avatar_width']) ? $data['user_avatar_width'] : '', 'user_avatar_height' => isset($data['user_avatar_height']) ? $data['user_avatar_height'] : ''); $wpUtdInt->switch_db('TO_W'); $wpUsrData = get_userdata($wpID); $wpUpdateData = $wpUtdInt->check_details_consistency($wpUsrData, $wpu_newDetails); $wpUtdInt->switch_db('TO_P'); $status_text = '<li>' . sprintf($wpuAbs->lang('L_MAP_INT_SUCCESS'), $wpID, $pID) . '</li>'; } else { $status_text = '<li>' . $wpuAbs->lang('L_MAP_CANNOT_INT') . '</li>'; } break; case 'delete': $wpUtdInt->switch_db('TO_W'); if (!empty($wpID)) { wp_delete_user($wpID, $reassign = '0'); $status_text = '<li>' . sprintf($wpuAbs->lang('L_MAP_WPDEL_SUCCESS'), $wpID) . '</li>'; $nextStart = $nextStart - 1; } else { $status_text = '<li>' . $wpuAbs->lang('L_MAP_CANNOT_DEL') . '</li>'; } $wpUtdInt->switch_db('TO_P'); break; case 'createP': if (!$wpID || !$typedName) { $status_text = '<li>' . $wpuAbs->lang('L_MAP_CANNOT_CREATEP_ID') . '</li>'; } else { $wpUtdInt->switch_db('TO_W'); $wpUsr = get_userdata($wpID); $wpUtdInt->switch_db('TO_P'); if ($wpuAbs->insert_user($typedName, $wpUsr->user_pass, $wpUsr->user_email, $wpID)) { $status_text = '<li>' . sprintf($wpuAbs->lang('L_MAP_CREATEP_SUCCESS'), $typedName) . '</li>'; } else { $status_text = '<li>' . $wpuAbs->lang('L_MAP_CANNOT_CREATEP_NAME') . '</li>'; } } break; default: $wpuAbs->err_msg(sprintf($wpuAbs->lang('L_MAP_INVALID_ACTION'), $procAction)); break; } } else { $wpuAbs->err_msg(sprintf($wpuAbs->lang('L_MAP_EMPTY_ACTION'), $procAction)); } $template->assign_block_vars('switch_usermap_perform.performlist_row', array('LIST_ITEM' => $status_text)); } } else { die($wpuAbs->lang('L_MAP_CANT_CONNECT')); } if (!empty($paged)) { $template->assign_block_vars('switch_usermap_perform.switch_paged', array('L_MAP_NEXTPAGE' => $wpuAbs->lang('L_MAP_NEXTPAGE'))); } else { $template->assign_block_vars('switch_usermap_perform.switch_unpaged', array('L_MAP_FINISHED' => sprintf($wpuAbs->lang('L_MAP_FINISHED'), '<a href="' . append_sid("index.{$phpEx}?i=wp_united&mode=index") . '">', '</a>', '<a href="' . append_sid("index.{$phpEx}?i=wp_united&mode=usermap") . '">', '</a>'))); } $passVars = array('L_MAP_TITLE' => $wpuAbs->lang('L_MAP_TITLE'), 'S_WPMAP_ACTION' => append_sid("index.{$phpEx}?i=wp_united"), 'L_MAP_PERFORM_INTRO' => $wpuAbs->lang('L_MAP_PERFORM_INTRO'), 'S_NEXTSTART' => $nextStart, 'S_NUMPERPAGE' => $numPerPage); $this->showPage($passVars, 0); }
function profile_update($mode, $phpbb_id, $integration_id, $data) { global $wpSettings, $phpbb_root_path, $phpEx, $wpUtdInt, $db; require_once $phpbb_root_path . 'wp-united/mod-settings.' . $phpEx; require_once $phpbb_root_path . 'wp-united/options.' . $phpEx; $wpSettings = empty($wpSettings) ? get_integration_settings() : $wpSettings; if (!empty($wpSettings['integrateLogin']) && $wpSettings['installLevel'] == 10) { // check that integration ID has been provided if (empty($integration_id)) { $sql = "SELECT *\n\t\t\t\t\tFROM " . USERS_TABLE . " \n\t\t\t\t\tWHERE user_id = {$phpbb_id}"; if (!($result = $db->sql_query($sql))) { $wpuAbs->err_msg(GENERAL_ERROR, $wpuAbs->lang('L_MAP_COULDNT_INT'), $wpuAbs->lang('L_DB_ERROR'), __LINE__, __FILE__, $sql); } $user_data = $db->sql_fetchrow($result); $db->sql_freeresult($result); $integration_id = $user_data['user_wpuint_id']; } // only bother integrating data if user is already integrated if (!empty($integration_id)) { $GLOBALS['wpu_newDetails'] = ''; switch ($mode) { case 'reg_details': $GLOBALS['wpu_newDetails'] = array('user_id' => $phpbb_id, 'username' => isset($data['username']) ? $data['username'] : '', 'user_email' => isset($data['user_email']) ? $data['user_email'] : '', 'user_password' => isset($data['user_password']) ? $data['user_password'] : ''); break; case 'profile_info': $GLOBALS['wpu_newDetails'] = array('user_id' => $phpbb_id, 'user_aim' => isset($data['user_aim']) ? $data['user_aim'] : '', 'user_yim' => isset($data['user_yim']) ? $data['user_yim'] : '', 'user_jabber' => isset($data['user_jabber']) ? $data['user_jabber'] : '', 'user_website' => isset($data['user_website']) ? $data['user_website'] : ''); break; case 'avatar': $GLOBALS['wpu_newDetails'] = array('user_id' => $phpbb_id, 'user_avatar' => isset($data['user_avatar']) ? $data['user_avatar'] : '', 'user_avatar_type' => isset($data['user_avatar_type']) ? $data['user_avatar_type'] : '', 'user_avatar_width' => isset($data['user_avatar_width']) ? $data['user_avatar_width'] : '', 'user_avatar_height' => isset($data['user_avatar_height']) ? $data['user_avatar_height'] : ''); case 'all': default: $GLOBALS['wpu_newDetails'] = array('user_id' => $phpbb_id, 'username' => isset($data['username']) ? $data['username'] : '', 'user_email' => isset($data['user_email']) ? $data['user_email'] : '', 'user_password' => isset($data['user_password']) ? $data['user_password'] : '', 'user_aim' => isset($data['user_aim']) ? $data['user_aim'] : '', 'user_yim' => isset($data['user_yim']) ? $data['user_yim'] : '', 'user_jabber' => isset($data['user_jabber']) ? $data['user_jabber'] : '', 'user_website' => isset($data['user_website']) ? $data['user_website'] : '', 'user_avatar' => isset($data['user_avatar']) ? $data['user_avatar'] : '', 'user_avatar_type' => isset($data['user_avatar_type']) ? $data['user_avatar_type'] : '', 'user_avatar_width' => isset($data['user_avatar_width']) ? $data['user_avatar_width'] : '', 'user_avatar_height' => isset($data['user_avatar_height']) ? $data['user_avatar_height'] : ''); break; } if (!empty($GLOBALS['wpu_newDetails'])) { $GLOBALS['wpu_add_actions'] = ' $wpUsrData = get_userdata(' . $integration_id . '); $wpUpdateData = $wpUtdInt->check_details_consistency($wpUsrData, $GLOBALS[\'wpu_newDetails\']); if ( $wpUpdateData ) { wp_update_user($wpUpdateData); } '; define('WPU_PERFORM_ACTIONS', TRUE); if ($wpSettings['showHdrFtr'] != 'REV') { // if reverse integration, we'll do it later require_once $phpbb_root_path . 'wp-united/wp-integration-class.' . $phpEx; $wpUtdInt = WPU_Integration::getInstance(get_defined_vars()); if ($wpUtdInt->can_connect_to_wp()) { //enter the integration $wpUtdInt->enter_wp_integration(); $wpUtdInt->integrate_login(); eval($wpUtdInt->exec()); $wpUtdInt->exit_wp_integration(); $wpUtdInt = null; unset($wpUtdInt); } } } } } }
if (!empty($wpSettings['fixHeader']) && !DISABLE_HEADER_FIX) { global $pHeadRemSuccess, $srchBox; if (preg_match('/<div id="search-box">[\\s\\S]*?<\\/div>/', $pfContent, $srchBox)) { $srchBox = $srchBox[0]; } $token = '/<div class="headerbar">[\\S\\s]*?<div class="navbar">/'; $pfContent2 = preg_replace($token, '<br /><div class="navbar">', $pfContent, 1); $pHeadRemSuccess = $pfContent2 != $pfContent; // count paramater to preg_replace only available in php5 :-( $pfContent = $pfContent2; unset($pfContent2); } } if (!defined('WPU_USE_CACHE')) { require_once $phpbb_root_path . 'wp-united/wp-integration-class.' . $phpEx; $wpUtdInt = WPU_Integration::getInstance(); if ($wpUtdInt->can_connect_to_wp()) { $wpUtdInt->enter_wp_integration(); if (!$latest && !$noIntLogin) { $wpUtdInt->integrate_login(); } // set up the page to be grabbed $wpUtdInt->get_wp_page('retWpInc'); // Nothing happens until we execute WordPress with the following: eval($wpUtdInt->exec()); $wpUtdInt->exit_wp_integration(); $wpUtdInt = null; unset($wpUtdInt); } else { $wpuAbs->err_msg(GENERAL_ERROR, $wpuAbs->lang('WP_Not_Installed_Yet'), '', '', ''); }