aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/phorkie/Database.php17
-rw-r--r--src/phorkie/Database/Adapter/Elasticsearch/Indexer.php2
-rw-r--r--src/phorkie/Database/Adapter/Elasticsearch/Search.php2
-rw-r--r--src/phorkie/Database/Adapter/Elasticsearch/Setup.php2
-rw-r--r--src/phorkie/Database/IIndexer.php12
-rw-r--r--src/phorkie/Database/ISearch.php9
-rw-r--r--src/phorkie/Database/ISetup.php9
7 files changed, 47 insertions, 6 deletions
diff --git a/src/phorkie/Database.php b/src/phorkie/Database.php
index 9854e7c..786cfe0 100644
--- a/src/phorkie/Database.php
+++ b/src/phorkie/Database.php
@@ -3,19 +3,30 @@ namespace phorkie;
class Database
{
+ public $prefix = '\phorkie\Database_Adapter_Null';
+
+ public function __construct()
+ {
+ if ($GLOBALS['phorkie']['cfg']['elasticsearch'] != '') {
+ $this->prefix = '\phorkie\Database_Adapter_Elasticsearch';
+ }
+ }
public function getSearch()
{
- return new Database_Adapter_Elasticsearch_Search();
+ $class = $this->prefix . '_Search';
+ return new $class();
}
public function getIndexer()
{
- return new Database_Adapter_Elasticsearch_Indexer();
+ $class = $this->prefix . '_Indexer';
+ return new $class();
}
public function getSetup()
{
- return new Database_Adapter_Elasticsearch_Setup();
+ $class = $this->prefix . '_Setup';
+ return new $class();
}
}
diff --git a/src/phorkie/Database/Adapter/Elasticsearch/Indexer.php b/src/phorkie/Database/Adapter/Elasticsearch/Indexer.php
index d9d1032..41aa7d7 100644
--- a/src/phorkie/Database/Adapter/Elasticsearch/Indexer.php
+++ b/src/phorkie/Database/Adapter/Elasticsearch/Indexer.php
@@ -1,7 +1,7 @@
<?php
namespace phorkie;
-class Database_Adapter_Elasticsearch_Indexer
+class Database_Adapter_Elasticsearch_Indexer implements Database_IIndexer
{
public function __construct()
{
diff --git a/src/phorkie/Database/Adapter/Elasticsearch/Search.php b/src/phorkie/Database/Adapter/Elasticsearch/Search.php
index 88ad4ac..d077747 100644
--- a/src/phorkie/Database/Adapter/Elasticsearch/Search.php
+++ b/src/phorkie/Database/Adapter/Elasticsearch/Search.php
@@ -1,7 +1,7 @@
<?php
namespace phorkie;
-class Database_Adapter_Elasticsearch_Search
+class Database_Adapter_Elasticsearch_Search implements Database_ISearch
{
public function __construct()
{
diff --git a/src/phorkie/Database/Adapter/Elasticsearch/Setup.php b/src/phorkie/Database/Adapter/Elasticsearch/Setup.php
index acbe77c..066a21c 100644
--- a/src/phorkie/Database/Adapter/Elasticsearch/Setup.php
+++ b/src/phorkie/Database/Adapter/Elasticsearch/Setup.php
@@ -1,7 +1,7 @@
<?php
namespace phorkie;
-class Database_Adapter_Elasticsearch_Setup
+class Database_Adapter_Elasticsearch_Setup implements Database_ISetup
{
public function __construct()
{
diff --git a/src/phorkie/Database/IIndexer.php b/src/phorkie/Database/IIndexer.php
new file mode 100644
index 0000000..61b8a87
--- /dev/null
+++ b/src/phorkie/Database/IIndexer.php
@@ -0,0 +1,12 @@
+<?php
+namespace phorkie;
+
+interface Database_IIndexer
+{
+ public function addRepo(Repository $repo, $crdate = null);
+ public function updateRepo(Repository $repo, $crdate = null);
+ public function deleteAllRepos();
+ public function deleteRepo(Repository $repo);
+}
+
+?>
diff --git a/src/phorkie/Database/ISearch.php b/src/phorkie/Database/ISearch.php
new file mode 100644
index 0000000..b18d43a
--- /dev/null
+++ b/src/phorkie/Database/ISearch.php
@@ -0,0 +1,9 @@
+<?php
+namespace phorkie;
+
+interface Database_ISearch
+{
+ public function search($term, $page = 0, $perPage = 10);
+}
+
+?>
diff --git a/src/phorkie/Database/ISetup.php b/src/phorkie/Database/ISetup.php
new file mode 100644
index 0000000..1ac6b2f
--- /dev/null
+++ b/src/phorkie/Database/ISetup.php
@@ -0,0 +1,9 @@
+<?php
+namespace phorkie;
+
+interface Database_ISetup
+{
+ public function setup();
+}
+
+?>