dbscript
[
class tree: dbscript
] [
index: dbscript
] [
all elements
]
Todo List
Packages:
dbscript
Source for file collection.php
Documentation is available at
collection.php
<?php
/**
* dbscript for PHP 4 & 5 - restful crud framework
*
@version
0.1.2 -- 19-Feb-2007
*
@author
Brian Hendrickson <brian@dbscript.net>
*
@link
http://dbscript.net/
*
@copyright
Copyright 2007 Brian Hendrickson
*
@package
dbscript
*
@license
http://www.opensource.org/licenses/mit-license.php MIT License
*/
/**
* Collection
*
* More info...
*
{@link http://dbscript.net/collection}
*
*
@package
dbscript
*
@author
Brian Hendrickson <brian@dbscript.net>
*
@access
public
*
@version
0.1.2
*/
class
Collection
extends
GenericIterator
{
var
$member_entry_iri
;
var
$media_iri
;
var
$resource
;
var
$accept
;
var
$members
;
var
$fields
;
// member_entry_iri will be a media link or member entry
// a media link entry is a member entry that
// contains metadata about a media resource
function
Collection
(
$resource
,
$accept
=
"text/html"
)
{
$this
->
_currentRow
=
0
;
$this
->
EOF
=
false
;
$this
->
members
=
array
(
)
;
$this
->
fields
=
array
(
)
;
if
(
$resource
==
null
)
return
;
$request
=
&
request_object
(
)
;
$db
=
&
db_object
(
)
;
$this
->
resource
=
$resource
;
$this
->
accept
=
$accept
;
if
(
$resource
==
'introspection'
)
{
$tables
=
$db
->
get_tables
(
)
;
foreach
(
$tables
as
$t
)
{
if
(
!
(
in_array
(
$t
,
array
(
'db_sessions'
,
'entries'
,
'categories_entries'
)))
&&
$t
!=
classify
(
$t
))
$this
->
members
[
]
=
$t
;
}
return
;
}
if
(
$resource
!=
classify
(
$resource
))
$table
=
&
$db
->
get_table
(
$this
->
resource
)
;
else
return
;
// $member->member_entry_iri // Entry object of type 'member' or 'media link'
// $member->media_iri = ; // (optional) Entry object of type 'media link'
if
(
isset
(
$table
->
params
))
{
foreach
(
$table
->
params
as
$key
=>
$val
)
{
if
(
!
(
isset
(
$this
->
$key
)))
$this
->
$key
=
$val
;
}
}
if
(
!
$request
->
id
)
$table
->
find
(
)
;
else
$table
->
find
(
$request
->
id
)
;
if
(
isset
(
$table
->
uri_key
))
$uri_key
=
$table
->
uri_key
;
else
$uri_key
=
$table
->
primary_key
;
if
(
$table
->
rowcount
(
)
>
0
)
{
while
(
$Member
=
$table
->
MoveNext
(
) )
{
$this
->
members
[
$Member
->
$uri_key
]
=
$resource
;
}
$table
->
rewind
(
)
;
}
}
function
MoveNext
(
)
{
$db
=
&
db_object
(
)
;
$model
=
&
$db
->
models
[
$this
->
resource
]
;
if
(
$model
)
return
$model
->
MoveNext
(
)
;
}
function
MoveFirst
(
)
{
$db
=
&
db_object
(
)
;
$model
=
&
$db
->
models
[
$this
->
resource
]
;
if
(
$model
)
return
$model
->
MoveFirst
(
)
;
}
function
post
(
)
{
// 201 created
// redirect_to
}
function
get
(
)
{
// member representation
}
function
put
(
)
{
// 200 ok
// redirect_to
}
function
delete
(
)
{
// 200 ok
// redirect_to
}
}
?>
Documentation generated on Mon, 19 Feb 2007 10:24:42 -0800 by
phpDocumentor 1.3.1