/** * Linked accounts */ function index() { // Enable SSL? maintain_ssl($this->config->item("ssl_enabled")); // Redirect unauthenticated users to signin page if (!$this->authentication->is_signed_in()) { redirect('account/sign_in/?continue=' . urlencode(base_url() . 'account/account_linked')); } // Retrieve sign in user $data['account'] = $this->account_model->get_by_id($this->session->userdata('account_id')); $data['account_details'] = $this->account_details_model->get_by_account_id($this->session->userdata('account_id')); // Delete a linked account if ($this->input->post('facebook_id') || $this->input->post('twitter_id') || $this->input->post('openid')) { if ($this->input->post('facebook_id')) { $this->account_facebook_model->delete($this->input->post('facebook_id', TRUE)); } elseif ($this->input->post('twitter_id')) { $this->account_twitter_model->delete($this->input->post('twitter_id', TRUE)); } elseif ($this->input->post('openid')) { $this->account_openid_model->delete($this->input->post('openid', TRUE)); } $this->session->set_flashdata('linked_info', lang('linked_linked_account_deleted')); redirect('account/account_linked'); } // Check for linked accounts $data['num_of_linked_accounts'] = 0; // Get Facebook accounts if ($data['facebook_links'] = $this->account_facebook_model->get_by_account_id($this->session->userdata('account_id'))) { foreach ($data['facebook_links'] as $index => $facebook_link) { $data['num_of_linked_accounts']++; } } // Get Twitter accounts if ($data['twitter_links'] = $this->account_twitter_model->get_by_account_id($this->session->userdata('account_id'))) { $this->load->config('account/twitter'); $this->load->helper('account/twitter'); foreach ($data['twitter_links'] as $index => $twitter_link) { $data['num_of_linked_accounts']++; $epiTwitter = new EpiTwitter($this->config->item('twitter_consumer_key'), $this->config->item('twitter_consumer_secret'), $twitter_link->oauth_token, $twitter_link->oauth_token_secret); $data['twitter_links'][$index]->twitter = $epiTwitter->get_usersShow(array('user_id' => $twitter_link->twitter_id)); } } // Get OpenID accounts if ($data['openid_links'] = $this->account_openid_model->get_by_account_id($this->session->userdata('account_id'))) { foreach ($data['openid_links'] as $index => $openid_link) { if (strpos($openid_link->openid, 'google.com')) { $data['openid_links'][$index]->provider = 'google'; } elseif (strpos($openid_link->openid, 'yahoo.com')) { $data['openid_links'][$index]->provider = 'yahoo'; } elseif (strpos($openid_link->openid, 'myspace.com')) { $data['openid_links'][$index]->provider = 'myspace'; } elseif (strpos($openid_link->openid, 'aol.com')) { $data['openid_links'][$index]->provider = 'aol'; } else { $data['openid_links'][$index]->provider = 'openid'; } $data['num_of_linked_accounts']++; } } $this->load->view('account/account_linked', $data); }