1. Go to this page and download the library: Download hellsan631/logosdb library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
hellsan631 / logosdb example snippets
class User extends Logos\DB\MySQL\Model{
public $username;
public $email;
}
//example object
class User extends Logos\DB\MySQL\Model{
//public $id; already defined in the Database_Object class.
public $username;
public $email;
}
//Object as a variable
$user = new User(["username" => "testing", "email" => "[email protected]"]);
$user->createNew();
//Same thing, but done statically (returns the ID of the created object)
User::createSingle(["username" => "testing", "email" => "[email protected]"]);
//Want to create 100 new identical objects?
User::createMultiple(["username" => "testing", "email" => "[email protected]"], 100);
//want each object to be different?
$users = [];
$count = 0;
while($count < 100){
array_push($users, ["username" => "testing",
"email" => "[email protected]",
"other_var" => $count]);
$count++;
}
User::createMultiple($users);
//Saving a single object
User::loadSingle(["id" => 10])->save(["email" => "[email protected]"]);
//or
User::saveSingle(["email" => "[email protected]"], ["id" => 10]);
//saving to multiple objects at the same time
User::saveMultiple(["email" => "[email protected]"], ["username" => "testing"]);
User::query('limit', 10);
User::query(['orderBy', 'limit'], ['id DESC', 10]);
User::query(['orderBy', 'limit'], ['id ASC, username DESC', 10]);
User::query(['orderBy' => 'id ASC', 'limit' => 10]);
//Add getList to the end of your query to get a list of that classes objects
User::query('limit', 100)->getList();
//how to use min/max for limit
//Send them in as array!
User::query('limit', [0, 10])->getList();
User::query('limit', ['min' => 0, 'max' => 10])->getList();
//Or if you want to use an array to add more,
User::query(['limit' => [0, 10], 'orderBy' => 'id ASC'])->getList();
User::query(['limit' => ['min' => 0, 'max' => 10], 'orderBy' => 'id ASC'])->getList();
User::query('limit', 10);
User::loadMultiple($array1);
//limit 10 no longer applies here
User::CreateMultiple($array2);
User::query('limit', 10);
User::query('orderBy', 'id ASC');
User::query('orderBy', 'id DESC');
//would load 10 users in id DESC order
User::loadMultiple($array1);
$JSON_STRING = '{"username": "testing", "email": "[email protected]", "size": "small"}';
$user = new User($JSON_STRING);//It works!
var_dump($user);
//object(User)[98]
// public 'username' => string 'testing' (length=7)
// public 'email' => string '[email protected]' (length=16)
$user->updateObject($JSON_STRING);
var_dump($user);
//object(User)[98]
// public 'username' => string 'testing' (length=7)
// public 'email' => string '[email protected]' (length=16)
// public 'size' => string 'small' (length=5)
//Now that the $user has a dynamic variable, lets try and save it.
$user->save();
//UPDATE user SET username = :username, email = :email WHERE id = :id
//Send a secure key to the cipher class.
$cipher = new Cipher("s3cur3k3y");
echo $cipher->encrypt("Hello World!");
//outputs "kRTIR6qDGYNumkoAMfwWMGNVPIUoODr0kvFMCmPDynM="
//You can send in a length of key into the getRandomKey method, or just leave it blank for a default length of 22.
$randomKey = Cipher::getRandomKey();
$newUser = new User($_POST);
if($newUser->createNew())
$_SESSION['result'] = "Successfully added new User";
else
$_SESSION['result'] = "Unable to add new User";
header("Location: ./index.php");
class User extends Logos\DB\MySQL\Model{
public $username;
public $email;
public $password;
public $salt;
public $admin;
public $auth_key;
public $company_id;
public function createNew(){
$password = new Password($this->password);
$this->password = $password->getKey();
$this->salt = $password->getSalt();
return parent::createNew();
}
public function verifyLogin($password){
$passwordCheck = new Password($this->password, array('salt' => $this->salt, 'hashed' => true));
return $passwordCheck->checkPassword($password);
}
public function verifyAuth(){
if(!isset($_SESSION['auth_key']))
return false;
if($this->auth_key !== $_SESSION['auth_key'])
return false;
return true;
}
public function verifyAdmin(){
if($this->admin === 0)
return false;
return true;
}
public static function deAuth(){
foreach($_SESSION as $key => $value){
if($key !== "result" || $key !== "Result" || $key !== "RESULT")
unset($_SESSION[$key]);
}
return true;
}
public function doAuth($password, $level = 0){
if($this->verifyLogin($password) === false)
return false;
if((int) $level === 1){
if($this->verifyAdmin())
return true;
}else{
if($this->verifyAuth())
return true;
}
if($this->admin === 0 && $level === 1)
return false;
$_SESSION['auth_key'] = $this->auth_key = Cipher::getRandomKey();
if($level === 1)
$_SESSION['admin_key'] = $this->auth_key;
return ($this->save() !== false) ? true : false;
}
}
$iron = Iron::getInstance();
$iron = Iron::getInstance();
if($iron->check_token() !== false){
//its safe, you can do user authentication in here
}else{
//warning, auth isn't safe. You should log the IP and lock down the system.
}
$iron = Iron::getInstance();
if($iron->check_token() !== false){
//its safe, you can do user authentication in here
}else{
//warning, auth isn't safe. You should log the IP and lock down the system.
}
Requires PHP 5.5+
Requires PDO
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.