Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- defined('BASEPATH') OR exit('No direct script access allowed');
- class facebook_accounts extends MX_Controller {
- public function __construct(){
- parent::__construct();
- $this->load->model(get_class($this).'_model', 'model');
- }
- public function index(){
- $data = array(
- "result" => $this->model->getAccounts()
- );
- $this->template->title(l('Facebook accounts'));
- $this->template->build('index', $data);
- }
- public function update(){
- $accounts = $this->model->fetch("*", FACEBOOK_ACCOUNTS, getDatabyUser(0));
- $account = $this->model->get("*", FACEBOOK_ACCOUNTS, "id = '".get("id")."'".getDatabyUser());
- $data = array(
- 'result' => $account,
- 'count' => count($accounts)
- );
- $this->template->title(l('Facebook accounts'));
- $this->template->build('update', $data);
- }
- public function ajax_get_page_token(){
- $username = post('username');
- $password = post('password');
- $app = post('app');
- if($username == "" && $password == "" && $app == ""){
- ms(array(
- "st" => "error",
- "label" => "bg-red",
- "txt" => l('Please input all fields')
- ));
- }
- if(strlen($password) < 6){
- ms(array(
- "st" => "error",
- "label" => "bg-red",
- "txt" => l('Passwords must be at least 6 characters long')
- ));
- }
- $url = GET_PAGE_ACCESS_TOKEN($username, $password, $app);
- ms(array(
- "st" => "success",
- "label" => "bg-light-green",
- "txt" => l('Update successfully'),
- "url" => $url
- ));
- }
- public function ajax_update(){
- $username = post('username');
- $password = post('password');
- $access_token = $this->input->post('access_token');
- $access_token_parse = json_decode($access_token);
- if(is_object($access_token_parse)){
- if(isset($access_token_parse->access_token)){
- $access_token = $access_token_parse->access_token;
- }
- }
- if($access_token == ""){
- ms(array(
- "st" => "error",
- "label" => "bg-red",
- "txt" => l('Please enter access token')
- ));
- }
- $FbOAuth_App = FbOAuth_Info_App($access_token);
- if(!empty($FbOAuth_App) && isset($FbOAuth_App['error'])){
- ms(array(
- "st" => "error",
- "label" => "bg-red",
- "txt" => l($FbOAuth_App['error']['message'])
- ));
- }
- $FbOAuth_User = FbOAuth_User($access_token);
- $fid = $FbOAuth_User['id'];
- $data = array(
- "uid" => session("uid"),
- "fid" => $fid,
- "username" => (isset($FbOAuth_User['email']))?$FbOAuth_User['email']:$fid,
- "fullname" => $FbOAuth_User['name'],
- //"password" => $password,
- "token_name" => $FbOAuth_App['name'],
- "access_token" => $access_token
- );
- $id = (int)post("id");
- $accounts = $this->model->fetch("*", FACEBOOK_ACCOUNTS, getDatabyUser(0));
- if($id == 0){
- if(count($accounts) < getMaximumAccount()){
- $checkAccount = $this->model->get("*", FACEBOOK_ACCOUNTS, "fid = '".$fid."'".getDatabyUser());
- if(!empty($checkAccount)){
- ms(array(
- "st" => "error",
- "label" => "bg-red",
- "txt" => l('This facebook account already exists')
- ));
- }
- $this->db->insert(FACEBOOK_ACCOUNTS, $data);
- $id = $this->db->insert_id();
- $this->getPages($id, $access_token);
- $this->getGroups($id, $access_token);
- $this->getFriends($id, $username, $password, $fid, $access_token);
- }else{
- ms(array(
- "st" => "error",
- "label" => "bg-orange",
- "txt" => l('Oh sorry! You have exceeded the number of accounts allowed, You are only allowed to update your account')
- ));
- }
- }else{
- $checkAccount = $this->model->get("*", FACEBOOK_ACCOUNTS, "fid = '".$fid."' AND id != '".$id."'".getDatabyUser());
- if(!empty($checkAccount)){
- ms(array(
- "st" => "error",
- "label" => "bg-red",
- "txt" => l('This facebook account already exists')
- ));
- }
- $this->db->update(FACEBOOK_ACCOUNTS, $data, array("id" => post("id")));
- }
- ms(array(
- "st" => "success",
- "label" => "bg-light-green",
- "txt" => l('Update successfully')
- ));
- }
- public function getFriends($id, $username, $password = "", $fid = "", $access_token = ""){
- $fiends = FbOAuth_Friends($username, $password, $fid, $access_token);
- //pr($fiends,1);
- if(!empty($fiends)) {
- $count=0;
- $insert_string = "INSERT INTO `".FACEBOOK_GROUPS."` (`account_id`,`type`,`uid`,`pid`,`name`,`privacy`,`category`,`status`) VALUES ";
- $this->db->delete(FACEBOOK_GROUPS,"account_id = '".$id."' AND type = 'friend'");
- foreach ($fiends as $row) {
- if(isset($row['name'])){
- $insert_string .= "('".$id."','friend','".session("uid")."','".$row['id']."','".clean($row['name'])."','','','1')";
- $insert_string .= ",";
- $count++;
- }
- }
- if($count != 0){
- $insert_string=substr($insert_string,0,-1);
- $this->db->query($insert_string);
- }
- }
- }
- public function getPages($id, $access_token){
- $pages = FbOAuth_Pages($access_token);
- if(isset($pages["data"]) && !empty($pages["data"])) {
- $count=0;
- $insert_string = "INSERT INTO `".FACEBOOK_GROUPS."` (`account_id`,`type`,`uid`,`pid`,`name`,`privacy`,`category`,`status`) VALUES ";
- $this->db->delete(FACEBOOK_GROUPS,"account_id = '".$id."' AND type = 'page'");
- foreach ($pages["data"] as $row) {
- if(isset($row['name'])){
- $insert_string .= "('".$id."','page','".session("uid")."','".$row['id']."','".clean($row['name'])."','','".clean($row['category'])."','1')";
- $insert_string .= ",";
- $count++;
- }
- }
- if($count != 0){
- $insert_string=substr($insert_string,0,-1);
- $this->db->query($insert_string);
- }
- }
- }
- public function getGroups($id, $access_token){
- $groups_filters = array('comércio', 'usados', 'usado', '0800', 'catira', 'catiras', 'feirão', 'classificados', 'classificado', 'vendas', 'venda', 'olx', 'vende', 'gambiras', 'gambira', 'compra', 'compras', 'compre', 'feira', 'brique', 'brick', 'bricks', 'brik', 'troca', 'trocas', 'desapego', 'desapegos', 'troque', 'desapega', 'joga', 'rolo', 'bazar', 'mercado', 'vende-se', '44', 'mercadão', 'negócio', 'negócios', 'negocios', 'negocio', 'barganha', 'barganhas', 'shop', 'free shop', 'freeshop', 'galinha morta', 'enjoei', 'desapeguei', 'topa tudo', 'torra', 'festa infantil', 'pos festa');
- $groups = FbOAuth_Groups($access_token);
- if(isset($groups["data"]) && !empty($groups["data"])) {
- $count=0;
- $insert_string = "INSERT INTO `".FACEBOOK_GROUPS."` (`account_id`,`type`,`uid`,`pid`,`name`,`privacy`,`category`,`status`) VALUES ";
- $this->db->delete(FACEBOOK_GROUPS,"account_id = '".$id."' AND type = 'group'");
- foreach ($groups["data"] as $row) {
- if(isset($row['name'])){
- if(isset($row['name'])){
- $found = count(array_intersect($groups_filters, explode(" ", strtolower($row['name']))));
- }
- if($found >= 1) {
- $insert_string .= "('".$id."','group','".session("uid")."','".$row['id']."','".clean($row['name'])."','".$row['privacy']."','','1')";
- $insert_string .= ",";
- }
- $count++;
- }
- }
- public function ajax_get_groups(){
- $account = $this->model->get("*", FACEBOOK_ACCOUNTS, "id = '".post("id")."'".getDatabyUser());
- if(!empty($account)){
- switch (post("type")) {
- case 'group':
- $this->getGroups($account->id, $account->access_token);
- break;
- case 'page':
- $this->getPages($account->id, $account->access_token);
- break;
- case 'friend':
- $this->getFriends($account->id, $account->username, $account->password, $account->fid, $account->access_token);
- break;
- }
- ms(array(
- 'st' => 'success',
- "label" => "bg-light-green",
- 'txt' => l('Successfully')
- ));
- }else{
- ms(array(
- 'st' => 'error',
- "label" => "bg-red",
- 'txt' => l('Update failure')
- ));
- }
- }
- public function ajax_action_item(){
- $id = (int)post('id');
- $POST = $this->model->get('*', FACEBOOK_ACCOUNTS, "id = '{$id}'".getDatabyUser());
- if(!empty($POST)){
- switch (post("action")) {
- case 'delete':
- $this->db->delete(FACEBOOK_GROUPS,"account_id = '".$id."'");
- $this->db->delete(FACEBOOK_ACCOUNTS, "id = '{$id}'".getDatabyUser());
- break;
- case 'active':
- $this->db->update(FACEBOOK_ACCOUNTS, array("status" => 1), "id = '{$id}'".getDatabyUser());
- break;
- case 'disable':
- $this->db->update(FACEBOOK_ACCOUNTS, array("status" => 0), "id = '{$id}'".getDatabyUser());
- break;
- }
- }
- ms(array(
- 'st' => 'success',
- 'txt' => l('Successfully')
- ));
- }
- public function ajax_action_multiple(){
- $ids =$this->input->post('id');
- if(!empty($ids)){
- foreach ($ids as $id) {
- $POST = $this->model->get('*', FACEBOOK_ACCOUNTS, "id = '{$id}'".getDatabyUser());
- if(!empty($POST)){
- switch (post("action")) {
- case 'delete':
- $this->db->delete(FACEBOOK_GROUPS,"account_id = '".$id."'");
- $this->db->delete(FACEBOOK_ACCOUNTS, "id = '{$id}'".getDatabyUser());
- break;
- case 'active':
- $this->db->update(FACEBOOK_ACCOUNTS, array("status" => 1), "id = '{$id}'".getDatabyUser());
- break;
- case 'disable':
- $this->db->update(FACEBOOK_ACCOUNTS, array("status" => 0), "id = '{$id}'".getDatabyUser());
- break;
- }
- }
- }
- }
- print_r(json_encode(array(
- 'st' => 'success',
- 'txt' => l('Successfully')
- )));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement