summaryrefslogtreecommitdiff
path: root/modules/gallery/libraries/ORM_MPTT.php
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2009-08-05 07:38:35 -0700
committerTim Almdal <tnalmdal@shaw.ca>2009-08-05 07:38:35 -0700
commit187d4b209d6bd3fce2fa81a88e31f587d9eb4624 (patch)
tree615421464fb2fdcfc9c35d74e338a3c97e9e459c /modules/gallery/libraries/ORM_MPTT.php
parent2f63a5379f668188d4e1a46231246a25445e40fa (diff)
Change the children methods on Item_Core and ORM_MPTT in order to
specify a type parameter, so tht we can filter the children based on type (i.e. album, photo, etc). In addition, expose the sort order, so that we can specify the order we want to return the children.
Diffstat (limited to 'modules/gallery/libraries/ORM_MPTT.php')
-rw-r--r--modules/gallery/libraries/ORM_MPTT.php16
1 files changed, 11 insertions, 5 deletions
diff --git a/modules/gallery/libraries/ORM_MPTT.php b/modules/gallery/libraries/ORM_MPTT.php
index 1917d738..cde049cd 100644
--- a/modules/gallery/libraries/ORM_MPTT.php
+++ b/modules/gallery/libraries/ORM_MPTT.php
@@ -146,11 +146,15 @@ class ORM_MPTT_Core extends ORM {
* @chainable
* @param integer SQL limit
* @param integer SQL offset
+ * @param string type to return
* @param array orderby
* @return array ORM
*/
- function children($limit=null, $offset=0, $orderby=null) {
+ function children($limit=null, $offset=0, $type=null, $orderby=null) {
$this->where("parent_id", $this->id);
+ if ($type) {
+ $this->where("type", $type);
+ }
if (empty($orderby)) {
$this->orderby("id", "ASC");
} else {
@@ -163,16 +167,18 @@ class ORM_MPTT_Core extends ORM {
* Return all of the children of this node, ordered by id.
*
* @chainable
- * @param integer SQL limit
- * @param integer SQL offset
+ * @param string type to return
* @return array ORM
*/
- function children_count() {
+ function children_count($type=null) {
+ if ($type) {
+ $this->where("type", $type);
+ }
return $this->where("parent_id", $this->id)->count_all();
}
/**
- * Return all of the children of the specified type, ordered by id.
+ * Return all of the decendents of the specified type, ordered by id.
*
* @param integer SQL limit
* @param integer SQL offset