| 
<?phpinclude_once 'WI.php';
 
 //csrf protection
 if(empty($_SERVER['HTTP_X_REQUESTED_WITH']) || strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) != 'xmlhttprequest')
 die("Sorry bro!");
 
 $url = parse_url( isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '');
 if( !isset( $url['host']) || ($url['host'] != $_SERVER['SERVER_NAME']))
 die("Sorry bro!");
 
 //$action = $_POST['action'];
 $action = isset($_POST['action']) ? $_POST['action'] : null;
 
 switch ($action) {
 case 'checkLogin':
 $logged = $login->userLogin($_POST['username'], $_POST['password']);
 if($logged === true)
 echo json_encode(array(
 'status' => 'success',
 'page'   => get_redirect_page()
 ));
 break;
 
 case "registerUser":
 $register->register($_POST['User']);
 break;
 
 case "resetPassword":
 $register->resetPassword($_POST['newPass'], $_POST['key']);
 break;
 
 case "forgotPassword":
 $result = $register->forgotPassword($_POST['email']);
 if ( $result !== TRUE )
 echo $result;
 break;
 
 case "postComment":
 $WIComment = new WIComment();
 echo $WIComment->insertComment(WISession::get("user_id"), $_POST['comment']);
 break;
 
 case "updatePassword":
 $user = new WIUser(WISession::get("user_id"));
 $user->updatePassword($_POST['oldpass'], $_POST['newpass']);
 break;
 
 case "updateDetails":
 $user = new WIUser(WISession::get("user_id"));
 $user->updateDetails($_POST['details']);
 break;
 
 case "changeRole":
 onlyAdmin();
 
 $user = new WIUser($_POST['userId']);
 echo ucfirst($user->changeRole());
 break;
 
 case "deleteUser":
 onlyAdmin();
 
 $user = new WIUser($_POST['userId']);
 $user->deleteUser();
 break;
 
 case "getUserDetails":
 onlyAdmin();
 
 $user = new WIUser($_POST['userId']);
 echo json_encode( $user->getAll() );
 break;
 
 case "addRole":
 onlyAdmin();
 
 $role = new WIRole();
 echo json_encode( $role->add($_POST['role']) );
 break;
 
 case "deleteRole":
 onlyAdmin();
 
 $role = new WIRole();
 $role->delete($_POST['roleId']);
 break;
 
 
 case "addUser":
 onlyAdmin();
 
 $user = new WIUser(null);
 echo json_encode( $user->add($_POST) );
 break;
 
 case "updateUser":
 onlyAdmin();
 
 $user = new WIUser($_POST['userId']);
 $user->updateUser($_POST);
 break;
 
 case "banUser":
 onlyAdmin();
 
 $user = new WIUser($_POST['userId']);
 $user->updateInfo(array( 'banned' => 'Y' ));
 break;
 
 case "unbanUser":
 onlyAdmin();
 
 $user = new WIUser($_POST['userId']);
 $user->updateInfo(array( 'banned' => 'N' ));
 break;
 
 case "getUser":
 onlyAdmin();
 
 $user = new WIUser($_POST['userId']);
 echo json_encode($user->getAll());
 break;
 
 case "showPic":
 $profile = new WIProfile();
 $profile->User_pic($_POST['userId']);
 break;
 
 case "updateBio":
 $profile = new WIProfile();
 $profile->UpdateBio($_POST['userId'], $_POST['bio']);
 break;
 
 case "updateProfileDetails":
 $profile = new WIProfile();
 $profile->updateProfileDetails($_POST['userId'], $_POST['fname'], $_POST['lname']);
 break;
 
 case "updateLocation":
 $profile = new WIProfile();
 $profile->updateLocation($_POST['userId'], $_POST['country'], $_POST['region'], $_POST['city']);
 break;
 
 case "displayBio":
 $profile = new WIProfile();
 $profile->userDetails($_POST['userId'], "bio_body");
 break;
 
 case "uploadUserPhoto":
 $profile = new WIProfile();
 $profile->UploadProfilePic($_POST['photo'], $_POST['user']);
 break;
 
 case "displayLocation":
 $profile = new WIProfile();
 $profile->LocationInfo($_POST['userId']);
 break;
 
 case "displaySocial":
 $profile = new WIProfile();
 $profile->Social_Profile($_POST['userId']);
 break;
 
 case "friendProfile":
 $profile = new WIProfile();
 $profile->friendProfile($_POST['friend']);
 break;
 
 case "privateMessage":
 $profile = new WIProfile();
 $profile->privateMessage($_POST['pmSub'], $_POST['pmText'], $_POST['senderid'],$_POST['sendername'],$_POST['rec_id'],$_POST['recName']);
 break;
 
 case "AddFriend":
 $profile = new WIProfile();
 $profile->addFriend($_POST['userId'], $_POST['friendId']);
 break;
 
 case "acceptrequest":
 $profile = new WIProfile();
 $profile->acceptRequest($_POST['req_id']);
 break;
 
 case "denyrequest":
 $profile = new WIProfile();
 $profile->denyRequest($_POST['req_id']);
 break;
 
 case "markAsRead":
 $profile = new WIProfile();
 $profile->MarkAsRead($_POST['msgID'], $_POST['user']);
 break;
 
 case "processReply":
 $profile = new WIProfile();
 $profile->reply($_POST['pmSubject'], $_POST['pmTextArea'], $_POST['sendername'], $_POST['senderid'],$_POST['recName'], $_POST['recID']);
 break;
 
 default:
 
 break;
 };
 
 
 //$action = $_GET['action'];
 $action = isset($_GET['action']) ? $_GET['action'] : null;
 switch($action){
 
 
 case 'CheckChat':
 $debate->getChatMessages($_GET['chat_id'], $_GET['last_chat_time'], $_GET['userId']);
 break;
 
 
 case 'getChats':
 $response = Chat::getChats($_GET['lastID']);
 break;
 
 case 'Pending':
 $debate = new WIDebate();
 $debate->checkPending();
 break;
 
 case "status":
 $debate = new WIDebate();
 $debate->status($_GET['chat_id']);
 break;
 
 default:
 }
 
 function onlyAdmin() {
 $login = new WILogin();
 if ( ! $login->isLoggedIn() ) exit();
 
 $loggedUser = new WIUser(WISession::get("user_id"));
 if( ! $loggedUser->isAdmin() ) exit();
 }
 |