FailPHP is my third CMS project. It supports mysqli and mysql. It's not PhoenixPHP or related to any project on this habbo section.
Here's an example of my coding. (user-functions).
Code:
<?php
defined('PAGE') or die('Unallowed access');
function usernameExists($username)
{
global $db;
if(returns_result("SELECT * FROM users WHERE username = '".$db->sql_escape(sanitize($username))."' LIMIT 1") > 0)
return true;
else
return false;
}
function emailExists($email)
{
global $db;
if(returns_result("SELECT * FROM users WHERE email = '".$db->sql_escape(sanitize($email))."' LIMIT 1") > 0)
return true;
else
return false;
}
function fetchUserDetails($username=NULL,$token=NULL)
{
global $db;
if($username!=NULL) $sql = "SELECT * FROM users WHERE username = '".$db->sql_escape(sanitize($username))."' LIMIT 1";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
return ($row);
}
function emailUsernameLinked($email,$username)
{
global $db;
if(returns_result("SELECT username,email FROM users WHERE username = '".$db->sql_escape(sanitize($username))."' AND email = '".$db->sql_escape(sanitize($email))."'") > 0)
return true;
else
return false;
}
function isUserLoggedIn()
{
global $loggedInUser,$db;
if($loggedInUser == NULL)
return false;
else
{
if(returns_result("SELECT id, password FROM users WHERE id = '".(int)$db->sql_escape($loggedInUser->user_id)."' AND password = '".$db->sql_escape($loggedInUser->hash_pw)."' LIMIT 1") > 0)
return true;
else
{
$loggedInUser->userLogOut();
return false;
}
}
}
function returns_result($sql)
{
global $db;
$count = 0;
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
$count += 1;
}
$db->sql_freeresult($result);
return ($count);
}
?>
Code:
function generateHash($plainText, $salt = null)
{
if ($salt === null)
{
$salt = substr(md5(uniqid(rand(), true)), 0, 25);
}
else
{
$salt = substr($salt, 0, 25);
}
return $salt . sha1($salt . $plainText);
}
This is what protects your passwords and so forth. Try decrypting this bad boy.