| 
						 | 
						- <?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();
 - }
 
 
  |