First version of db object wrappers done
This commit is contained in:
parent
3f1b4727e6
commit
7b37e61a59
305
include/db.php
305
include/db.php
@ -7,22 +7,309 @@ class Product {
|
||||
private $invoice = '';
|
||||
private $location = '';
|
||||
private $info = array();
|
||||
|
||||
private $tags = array();
|
||||
|
||||
public function __construct($id) {
|
||||
$this->id = $id;
|
||||
$this->update_fields();
|
||||
$this->update_info();
|
||||
$this->update_tags();
|
||||
}
|
||||
|
||||
private function update_fields() {
|
||||
$get = prepare('select * from `product` where `id`=?');
|
||||
bind($get, 'i', $this->id);
|
||||
execute($get);
|
||||
$product = result_single($get);
|
||||
$this->name = $product['name'];
|
||||
$this->invoice = $product['invoice'];
|
||||
$this->location = $product['location'];
|
||||
return true;
|
||||
}
|
||||
|
||||
private function update_info() {
|
||||
$get = prepare('select * from `product_info` where `product`=?');
|
||||
bind($get, 'i', $this->id);
|
||||
execute($get);
|
||||
foreach(result_list($get) as $row) {
|
||||
$field = $row['field'];
|
||||
$data = $row['data'];
|
||||
$this->info[$field] = $data;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private function update_tags() {
|
||||
$get = prepare('select * from `product_tag` where `product`=?');
|
||||
bind($get, 'i', $this->id);
|
||||
execute($get);
|
||||
$newtags = array();
|
||||
foreach(result_list($get) as $row) {
|
||||
$newtags[] = $row['tag'];
|
||||
}
|
||||
$this->tags = $newtags;
|
||||
return true;
|
||||
}
|
||||
|
||||
public function getId() {
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
public function getName() {
|
||||
|
||||
public function get_name() {
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
public function setName($newname) {
|
||||
$this->name = $newname;
|
||||
$update = prepare('update `product` set `name` = ? where `id` = ?');
|
||||
bind($update, 'si', $this->name, $this->id);
|
||||
return execute($update);
|
||||
|
||||
public function set_name($newname) {
|
||||
$update = prepare('update `product` set `name`=? where `id`=?');
|
||||
bind($update, 'si', $newname, $this->id);
|
||||
if(execute($update)) {
|
||||
$this->name = $newname;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function get_invoice() {
|
||||
return $this->invoice;
|
||||
}
|
||||
|
||||
public function set_invoice($newinvoice) {
|
||||
$update = prepare('update `product` set `invoice`=? where `id`=?');
|
||||
bind($update, 'si', $newinvoice, $this->id);
|
||||
if(execute($update)) {
|
||||
$this->invoice = $newinvoice;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function get_location() {
|
||||
return $this->location;
|
||||
}
|
||||
|
||||
public function set_location($newlocation) {
|
||||
$update = prepare('update `product` set `location`=? where `id`=?');
|
||||
bind($update, 'si', $newlocation, $this->id);
|
||||
if(execute($update)) {
|
||||
$this->location = $newlocation;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function get_info() {
|
||||
return $this->info;
|
||||
}
|
||||
|
||||
public function set_info($field, $value) {
|
||||
$find = prepare('select * from `product_info` where `id`=? and `field`=?');
|
||||
bind($find, 'is', $this->id, $field);
|
||||
execute($find);
|
||||
if(result_single($find) === null) {
|
||||
$update = prepare('insert into `product_info`(`data`, `product`, `field`) values (?, ?, ?)');
|
||||
} else {
|
||||
$update = prepare('update `product_info` set `data`=? where `product`=? and `field`=?');
|
||||
}
|
||||
bind($update, 'sis', $value, $this->id, $field);
|
||||
if(execute($update)) {
|
||||
$this->update_info();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function remove_info($field) {
|
||||
$find = prepare('select * from `product_info` where `product`=? and `field`=?');
|
||||
bind($find, 'is', $this->id, $field);
|
||||
execute($find);
|
||||
if(result_single($find) === null) {
|
||||
return true;
|
||||
}
|
||||
$update = prepare('delete from `product_info` where `field`=? and `product`=?');
|
||||
bind($update, 'si', $field, $this->id);
|
||||
if(execute($update)) {
|
||||
$this->update_info();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function get_tags() {
|
||||
return $this->tags;
|
||||
}
|
||||
|
||||
public function add_tag($tag) {
|
||||
$find = prepare('select * from `product_tag` where `product`=? and `tag`=?');
|
||||
bind($find, 'is', $this->id, $tag);
|
||||
execute($find);
|
||||
if(result_single($find) === null) {
|
||||
$update = prepare('insert into `product_tag`(`tag`, `product`) values (?, ?)');
|
||||
} else {
|
||||
$update = prepare('update `product_tag` set `tag`=? where `product`=?');
|
||||
}
|
||||
bind($update, 'si', $tag, $this->id);
|
||||
if(execute($update)) {
|
||||
$this->update_tags();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function remove_tag($tag) {
|
||||
$find = prepare('select * from `product_tag` where `product`=? and `tag`=?');
|
||||
bind($find, 'is', $this->id, $tag);
|
||||
execute($find);
|
||||
if(result_single($find) === null) {
|
||||
return true;
|
||||
}
|
||||
$update = prepare('delete from `product_tag` where `tag`=? and `product`=?');
|
||||
bind($update, 'si', $tag, $this->id);
|
||||
if(execute($update)) {
|
||||
$this->update_tags();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
class User {
|
||||
private $id = 0;
|
||||
private $name = '';
|
||||
private $notes = '';
|
||||
|
||||
public function __construct($id) {
|
||||
$this->id = $id;
|
||||
$this->update_fields();
|
||||
}
|
||||
|
||||
private function update_fields() {
|
||||
$get = prepare('select * from `user` where `id`=?');
|
||||
bind($get, 'i', $this->id);
|
||||
execute($get);
|
||||
$user = result_single($get);
|
||||
$this->name = $user['name'];
|
||||
$this->notes = $user['notes'];
|
||||
return true;
|
||||
}
|
||||
|
||||
public function get_name() {
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
public function set_name($newname) {
|
||||
$update = prepare('update `user` set `name`=? where `id`=?');
|
||||
bind($update, 'si', $newname, $this->id);
|
||||
if(execute($update)) {
|
||||
$this->name = $newname;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function get_notes() {
|
||||
return $this->notes;
|
||||
}
|
||||
|
||||
public function set_notes($newnotes) {
|
||||
$update = prepare('update `user` set `notes`=? where `id`=?');
|
||||
bind($update, 'si', $newnotes, $this->id);
|
||||
if(execute($update)) {
|
||||
$this->notes = $newnotes;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
class Loan {
|
||||
private $id = 0;
|
||||
private $user = 0;
|
||||
private $product = 0;
|
||||
private $starttime = 0;
|
||||
private $endtime = 0;
|
||||
private $active = true;
|
||||
|
||||
public function __construct($id) {
|
||||
$this->id = $id;
|
||||
$this->update_fields();
|
||||
$this->update_active();
|
||||
}
|
||||
|
||||
private function update_fields() {
|
||||
$get = prepare('select * from `loan` where `id`=?');
|
||||
bind($get, 'i', $this->id);
|
||||
execute($get);
|
||||
$loan = result_single($get);
|
||||
$this->user = $get['user'];
|
||||
$this->product = $get['product'];
|
||||
$this->starttime = get['starttime'];
|
||||
$this->endtime = get['endtime'];
|
||||
}
|
||||
|
||||
public function end_loan() {
|
||||
$end = prepare('update `loan` set `active`=0 where `id`=?');
|
||||
bind($end, 'i', $this->id);
|
||||
if(execute($end)) {
|
||||
$this->active = false;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
class Kvs {
|
||||
private $items = array();
|
||||
|
||||
public function __construct() {
|
||||
$get = prepare('select * from `kvs`');
|
||||
execute($get);
|
||||
foreach(result_list($get) as $row) {
|
||||
$key = $row['key'];
|
||||
$value = $row['value'];
|
||||
$this->items[$key] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
public function get_keys() {
|
||||
return array_keys($this->items);
|
||||
}
|
||||
|
||||
public function get_value($key) {
|
||||
return $this->items[$key];
|
||||
}
|
||||
|
||||
public function set_key($key, $value) {
|
||||
$find = prepare('select * from `kvs` where `key`=?');
|
||||
bind($find, 's', $key);
|
||||
execute($find);
|
||||
if(result_single($find) === null) {
|
||||
$update = prepare('insert into `kvs`(`value`, `key`) values (?, ?)');
|
||||
} else {
|
||||
$update = prepare('update `kvs` set `value`=? where `key`=?');
|
||||
}
|
||||
bind($update, 'ss', $value, $key);
|
||||
if(execute($update)) {
|
||||
$this->items[$key] = $value;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public function remove_key($key) {
|
||||
$find = prepare('select * from `kvs` where `key`=?');
|
||||
bind($find, 's', $key);
|
||||
execute($find);
|
||||
if(result_single($find) === null) {
|
||||
return true;
|
||||
}
|
||||
$update = prepare('delete from `kvs` where `key`=?');
|
||||
bind($update, 's', $key);
|
||||
if(execute($update)) {
|
||||
unset($this->items[$key]);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
Loading…
x
Reference in New Issue
Block a user