diff options
author | ewinslow <ewinslow@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-09-15 19:31:39 +0000 |
---|---|---|
committer | ewinslow <ewinslow@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-09-15 19:31:39 +0000 |
commit | f809e76743a6ccab2badf69633bb6132c1358f2e (patch) | |
tree | 3ceb4064ab919406671f5a10b201b5e9a8972ccf /engine/classes/WhereSetQueryComponent.php | |
parent | 3d7c1441ea3ba018f2bb68be986d08d15aea6374 (diff) | |
download | elgg-f809e76743a6ccab2badf69633bb6132c1358f2e.tar.gz elgg-f809e76743a6ccab2badf69633bb6132c1358f2e.tar.bz2 |
Refs #2220: Pulled remaining classes out of lib files. Core classes now autoloaded via __autoload().
git-svn-id: http://code.elgg.org/elgg/trunk@6941 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'engine/classes/WhereSetQueryComponent.php')
-rw-r--r-- | engine/classes/WhereSetQueryComponent.php | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/engine/classes/WhereSetQueryComponent.php b/engine/classes/WhereSetQueryComponent.php new file mode 100644 index 000000000..b5fe439a0 --- /dev/null +++ b/engine/classes/WhereSetQueryComponent.php @@ -0,0 +1,41 @@ +<?php
+/**
+ * @class WhereSetQueryComponent
+ * A where query that may contain other where queries (in brackets).
+ * @author Curverider Ltd
+ * @see Query
+ */
+class WhereSetQueryComponent extends WhereQueryComponent
+{
+ /**
+ * Construct a subset of wheres.
+ *
+ * @param array $wheres An array of WhereQueryComponent
+ * @param string $link_operator How this where clause links with the previous clause, eg. "and" "or"
+ */
+ function __construct(array $wheres, $link_operator = "and")
+ {
+ $this->link_operator = sanitise_string($link_operator);
+ $this->wheres = $wheres;
+ }
+
+ public function toStringNoLink()
+ {
+ $cnt = 0;
+ $string = " (";
+ foreach ($this->wheres as $where) {
+ if (!($where instanceof WhereQueryComponent))
+ throw new DatabaseException(elgg_echo('DatabaseException:WhereSetNonQuery'));
+
+ if (!$cnt)
+ $string.= $where->toStringNoLink();
+ else
+ $string.=" $where ";
+
+ $cnt ++;
+ }
+ $string .= ")";
+
+ return $string;
+ }
+}
|