Exemplo n.º 1
0
 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&amp;mode=index") . '">', '</a>', '<a href="' . append_sid("index.{$phpEx}?i=wp_united&amp;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);
 }
Exemplo n.º 2
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);
                        }
                    }
                }
            }
        }
    }
Exemplo n.º 3
0
    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'), '', '', '');
    }