Advertisement
cuonic

pgpshare.class.php

Apr 8th, 2012
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.02 KB | None | 0 0
  1. <?php
  2.  
  3. class PGPShare
  4. {
  5.     public $mysqli;
  6.     public $errormsg;
  7.    
  8.     function __construct()
  9.     {
  10.         include("config.php");
  11.        
  12.         $this->mysqli = new mysqli($db['host'], $db['user'], $db['pass'], $db['name']);
  13.     }
  14.    
  15.     function AddUser1Key($key)
  16.     {
  17.         $id = substr(hash("SHA512", microtime()), 10, 10);
  18.         $ip = $_SERVER['REMOTE_ADDR'];
  19.        
  20.         if(strlen($key) == 0) { $this->errormsg = 1; return false; }
  21.         elseif(strlen($key) < 10) { $this->errormsg = 2; return false; }
  22.         elseif(strlen($key) > 4294967295) { $this->errormsg = 3; return false; }
  23.         else
  24.         {
  25.             $user2key = "None";
  26.        
  27.             $query = $this->mysqli->prepare("INSERT INTO `keys` (`id`, `user1key`, `user2key`, `user1ip`) VALUES (?, ?, ?, ?)");
  28.             $query->bind_param("ssss", $id, $key, $user2key, $ip);
  29.             $query->execute();
  30.             $query->close();
  31.            
  32.             return $id;
  33.         }
  34.     }
  35.    
  36.     function AddUser2Key($key, $id)
  37.     {
  38.         if(strlen($id) == 0) { $this->errormsg = 1; return false; }
  39.         elseif(strlen($id) > 10) { $this->errormsg = 2; return false; }
  40.         elseif(strlen($id) < 10) { $this->errormsg = 3; return false; }
  41.         elseif(strlen($key) == 0) { $this->errormsg = 4; return false; }
  42.         elseif(strlen($key) < 10) { $this->errormsg = 5; return false; }
  43.         elseif(strlen($key) > 4294967295) { $this->errormsg = 6; return false; }
  44.         else
  45.         {
  46.             $query = $this->mysqli->prepare("SELECT `user2key` FROM `keys` WHERE `id`=?");
  47.             $query->bind_param("s", $id);
  48.             $query->bind_result($user2key);
  49.             $query->execute();
  50.             $query->store_result();
  51.             $count = $query->num_rows;
  52.             $query->fetch();
  53.             $query->close();
  54.            
  55.             if($count == 0)
  56.             {
  57.                 $this->errormsg = 7;
  58.                 return false;
  59.             }
  60.             else
  61.             {
  62.                 if($user2key !== "None")
  63.                 {
  64.                     $this->errormsg = 8;
  65.                     return false;
  66.                 }
  67.                 else
  68.                 {
  69.                     $query = $this->mysqli->prepare("UPDATE `keys` SET `user2key`=? WHERE `id`=?");
  70.                     $query->bind_param("ss", $key, $id);
  71.                     $query->execute();
  72.                     $query->close();
  73.                    
  74.                     return true;
  75.                 }
  76.             }
  77.         }
  78.     }
  79.    
  80.     function VerifyId($id)
  81.     {
  82.         if(strlen($id) == 0) { $this->errormsg = 1; return false; }
  83.         elseif(strlen($id) > 10)  { $this->errormsg = 2; return false; }
  84.         elseif(strlen($id) < 10) { $this->errormsg = 3; return false; }
  85.         else
  86.         {
  87.             if(!$query = $this->mysqli->prepare("SELECT `user2ip` FROM `keys` WHERE `id`=?"))
  88.             {
  89.                 $this->errormsg = $query->mysqli->error;
  90.             }
  91.             $query->bind_param("s", $id);
  92.             $query->bind_result($user2ip);
  93.             $query->execute();
  94.             $query->store_result();
  95.             $count = $query->num_rows;
  96.             $query->fetch();
  97.            
  98.             if($count == 0)
  99.             {      
  100.                 $this->errormsg = 4;
  101.                 return false;
  102.             }
  103.             else
  104.             {
  105.                 if($user2ip !== "0.0.0.0")
  106.                 {
  107.                     $this->errormsg = 5;
  108.                     return false;
  109.                 }
  110.                 else
  111.                 {
  112.                     return true;
  113.                 }
  114.             }
  115.         }
  116.     }
  117.    
  118.     function VerifyIp($id)
  119.     {
  120.         if(strlen($id) == 0) { $this->errormsg = 1; return false; }
  121.         elseif(strlen($id) > 10)  { $this->errormsg = 2; return false; }
  122.         elseif(strlen($id) < 10) { $this->errormsg = 3; return false; }
  123.         else
  124.         {
  125.             $ip = $_SERVER['REMOTE_ADDR'];
  126.        
  127.             $query = $this->mysqli->prepare("SELECT * FROM `keys` WHERE `id`=? AND `user1ip`=?");
  128.             $query->bind_param("ss", $id, $ip);
  129.             $query->execute();
  130.             $query->store_result();
  131.             $count = $query->num_rows;
  132.             $query->close();
  133.            
  134.             if($count == 0)
  135.             {
  136.                 $query = $this->mysqli->prepare("UPDATE `keys` SET `user2ip`=? WHERE `id`=?");
  137.                 $query->bind_param("ss", $ip, $id);
  138.                 $query->execute();
  139.                 $query->close();
  140.                
  141.                 return true;
  142.             }
  143.             else
  144.             {
  145.                 $this->errormsg = 4;
  146.                 return false;
  147.             }
  148.         }
  149.     }
  150.    
  151.     function GetUser1Key($id)
  152.     {
  153.         if(strlen($id) == 0) { $this->errormsg = 1; return false; }
  154.         elseif(strlen($id) > 10)  { $this->errormsg = 2; return false; }
  155.         elseif(strlen($id) < 10) { $this->errormsg = 3; return false; }
  156.         else
  157.         {
  158.             $query = $this->mysqli->prepare("SELECT `user1key` FROM `keys` WHERE `id`=?");
  159.             $query->bind_param("s", $id);
  160.             $query->bind_result($user1key);
  161.             $query->execute();
  162.             $query->store_result();
  163.             $count = $query->num_rows;
  164.             $query->fetch();
  165.             $query->close();
  166.            
  167.             if($count == 0)
  168.             {
  169.                 $this->errormsg = 4;
  170.                 return false;
  171.             }
  172.             else
  173.             {
  174.                 return $user1key;
  175.             }
  176.         }
  177.     }
  178.    
  179.     function GetUser2Key($id)
  180.     {
  181.         if(strlen($id) == 0) { $this->errormsg = 1; return false; }
  182.         elseif(strlen($id) > 10)  { $this->errormsg = 2; return false; }
  183.         elseif(strlen($id) < 10) { $this->errormsg = 3; return false; }
  184.         else
  185.         {
  186.             $ip = $_SERVER['REMOTE_ADDR'];
  187.        
  188.             $query = $this->mysqli->prepare("SELECT `user1ip`,`user2key` FROM `keys` WHERE `id`=?");
  189.             $query->bind_param("s", $id);
  190.             $query->bind_result($user1ip, $user2key);
  191.             $query->execute();
  192.             $query->store_result();
  193.             $count = $query->num_rows;
  194.             $query->fetch();
  195.             $query->close();
  196.            
  197.             if($count == 0)
  198.             {
  199.                 $this->errormsg = 4;
  200.                 return false;
  201.             }
  202.             else
  203.             {
  204.                 if($ip == $user1ip)
  205.                 {
  206.                     return $user2key;
  207.                 }
  208.                 else
  209.                 {
  210.                     $this->errormsg = 5;
  211.                     return false;
  212.                 }
  213.             }
  214.         }
  215.     }
  216. }
  217.        
  218.  
  219. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement