<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
//Custom error handling
class Generate_token
{
public function generate()
{
$CI =& get_instance();
$raw_random_bytes = mcrypt_create_iv(6, MCRYPT_DEV_URANDOM);
$encoded_random_bytes = base64_encode($raw_random_bytes);
$token = strtr(trim($encoded_random_bytes, '='), array('+' => '-', '/' => '_'));
if($CI->generate_token->validate($token)==$token)
{
return $token;
}
}
public function validate($token)
{
$CI =& get_instance();
$sql = "SELECT id FROM url_tokens WHERE short_url = ?";
$query = $CI->db->query($sql, array($token));
if($query->num_rows==0)
{
return $token;
}
else
{
$CI->generate();
}
}
}