dbscript
[ class tree: dbscript ] [ index: dbscript ] [ all elements ]

Source for file collection.php

Documentation is available at collection.php

  1. <?php
  2.  
  3.   /**
  4.    * dbscript for PHP 4 & 5 - restful crud framework
  5.    * @version 0.1.2 -- 19-Feb-2007
  6.    * @author Brian Hendrickson <brian@dbscript.net>
  7.    * @link http://dbscript.net/
  8.    * @copyright Copyright 2007 Brian Hendrickson
  9.    * @package dbscript
  10.    * @license http://www.opensource.org/licenses/mit-license.php MIT License
  11.    */
  12.  
  13.   /**
  14.    * Collection
  15.    * 
  16.    * More info...
  17.    * {@link http://dbscript.net/collection}
  18.    * 
  19.    * @package dbscript
  20.    * @author Brian Hendrickson <brian@dbscript.net>
  21.    * @access public
  22.    * @version 0.1.2
  23.    */
  24.  
  25. class Collection extends GenericIterator {
  26.   
  27.   
  28.   var $media_iri;
  29.   
  30.   var $resource;
  31.   
  32.   var $accept;
  33.   
  34.   var $members;
  35.   
  36.   var $fields;
  37.   
  38.   // member_entry_iri will be a media link or member entry
  39.   
  40.   // a media link entry is a member entry that
  41.   // contains metadata about a media resource
  42.   
  43.     
  44.   function Collection$resource$accept "text/html" {
  45.     
  46.     $this->_currentRow = 0;
  47.     
  48.     $this->EOF = false;
  49.     
  50.     $this->members = array();
  51.     
  52.     $this->fields = array();
  53.         
  54.     if ($resource == null)
  55.       return;
  56.     
  57.     $request =request_object();
  58.     
  59.     $db =db_object();
  60.     
  61.     $this->resource = $resource;
  62.     
  63.     $this->accept = $accept;
  64.         
  65.     if $resource == 'introspection' {
  66.       $tables $db->get_tables();
  67.       foreach ($tables as $t{
  68.         if (!(in_array($tarray('db_sessions','entries','categories_entries')))
  69.          && $t != classify($t))
  70.           $this->members[$t;
  71.       }
  72.       return;
  73.     }
  74.     
  75.     if ($resource != classify($resource))
  76.       $table =$db->get_table$this->resource );
  77.     else
  78.       return;
  79.     
  80.     // $member->member_entry_iri // Entry object of type 'member' or 'media link'
  81.     
  82.     // $member->media_iri = ; // (optional) Entry object of type 'media link'
  83.     
  84.     if isset$table->params )) {
  85.       foreach $table->params as $key=>$val {
  86.         if (!(isset($this->$key)))
  87.           $this->$key $val;
  88.       }
  89.     }
  90.     
  91.     if !$request->id )
  92.       $table->find();
  93.     else
  94.       $table->find$request->id );
  95.     
  96.     if (isset($table->uri_key))
  97.       $uri_key $table->uri_key;
  98.     else
  99.       $uri_key $table->primary_key;
  100.     
  101.     if ($table->rowcount(0{
  102.       while $Member $table->MoveNext() ) {
  103.         $this->members[$Member->$uri_key$resource;
  104.       }
  105.       $table->rewind();
  106.     }
  107.     
  108.   }
  109.   
  110.   function MoveNext({
  111.     $db =db_object();
  112.     $model =$db->models[$this->resource];
  113.     if ($model)
  114.       return $model->MoveNext();
  115.   }
  116.   
  117.   function MoveFirst({
  118.     $db =db_object();
  119.     $model =$db->models[$this->resource];
  120.     if ($model)
  121.       return $model->MoveFirst();
  122.   }
  123.   
  124.   function post({
  125.     // 201 created
  126.     // redirect_to
  127.   }
  128.   
  129.   function get({
  130.     // member representation
  131.   }
  132.   
  133.   function put({
  134.     // 200 ok
  135.     // redirect_to
  136.   }
  137.   
  138.   function delete({
  139.     // 200 ok
  140.     // redirect_to
  141.   }
  142.   
  143. }
  144.  
  145. ?>

Documentation generated on Mon, 19 Feb 2007 10:24:42 -0800 by phpDocumentor 1.3.1