|
|
- <?php
- namespace db;
- use \ORM;
-
- function random_hash() {
- $len = 32;
- $alpha_numeric = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
- return substr(str_shuffle(str_repeat($alpha_numeric, $len)), 0, $len);
- }
-
- function now() {
- return date('Y-m-d H:i:s');
- }
-
- function set_updated(&$record) {
- $record->date_updated = now();
- }
-
- function find_or_create($table, $where, $defaults, $autosave=false) {
- $item = ORM::for_table($table);
-
- // Where is an associative array of key/val combos
- foreach($where as $c=>$v) {
- $item = $item->where($c, $v);
- }
-
- $item = $item->find_one();
-
- if(!$item) {
- $item = ORM::for_table($table)->create();
- $item->date_created = now();
- foreach($defaults as $k=>$v) {
- $item->{$k} = $v;
- }
- foreach($where as $k=>$v) {
- $item->{$k} = $v;
- }
- if($autosave)
- $item->save();
- }
- return $item;
- }
-
- function find($table, $where) {
- $item = ORM::for_table($table);
-
- // Where is an associative array of key/val combos
- foreach($where as $c=>$v) {
- $item = $item->where($c, $v);
- }
-
- return $item->find_one();
- }
-
- function feed_from_url($url) {
- return ORM::for_table('feeds')->where('feed_url', $url)->find_one();
- }
-
- function get_by_id($table, $id) {
- return ORM::for_table($table)->where('id', $id)->find_one();
- }
-
- function get_by_col($table, $col, $val) {
- return ORM::for_table($table)->where($col, $val)->find_one();
- }
|