From b91f359f1c5bb89d7c22e8cf234f71105140cdf9 Mon Sep 17 00:00:00 2001
From: Silvio <silvio@devlet.com.br>
Date: Thu, 8 Apr 2010 14:57:27 -0300
Subject: CinisisDb::file() now accepts arrays

---
 classes/CinisisDb.php | 10 +++++++---
 config/config.yaml    |  4 ++--
 tests/index.php       |  1 +
 tests/read.php        | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 59 insertions(+), 5 deletions(-)
 create mode 100644 tests/read.php

diff --git a/classes/CinisisDb.php b/classes/CinisisDb.php
index eb09f9e..3a5ab4a 100644
--- a/classes/CinisisDb.php
+++ b/classes/CinisisDb.php
@@ -122,7 +122,8 @@ class CinisisDb {
    * Get a file path.
    *
    * @param $config
-   *   Config file name (either relative to the library or absolute).
+   *   Config file name (either relative to the library or absolute)
+   *   or array with configuration.
    *
    * @param $section
    *   Config file section (ignored for absolute files).
@@ -131,8 +132,11 @@ class CinisisDb {
    *   Return the assembled file path.
    */
   public function file($config = NULL, $section = 'config') {
-    // Check for NULL or relative config path.
-    if ($config == NULL) {
+    // Check config format (array, NULL or relative config path).
+    if (is_array($config)) {
+      return $config;
+    }
+    elseif ($config == NULL) {
       $config = "$section/config.yaml";
     }
     elseif (substr($config, 0, 1) != '/') {
diff --git a/config/config.yaml b/config/config.yaml
index f40aa75..cffeef1 100644
--- a/config/config.yaml
+++ b/config/config.yaml
@@ -1,3 +1,3 @@
 ---
-implementation: PhpIsis
-database: anu10
+implementation: Malete
+database: tupi
diff --git a/tests/index.php b/tests/index.php
index 0f7b243..6d91f43 100644
--- a/tests/index.php
+++ b/tests/index.php
@@ -26,6 +26,7 @@ if ($isis->db) {
 
   // Format output.
   echo '<pre>';
+  echo "Connection test:\n";
   echo "Rows: $rows\n";
   print_r($result);
   echo '</pre>';
diff --git a/tests/read.php b/tests/read.php
new file mode 100644
index 0000000..bc3221e
--- /dev/null
+++ b/tests/read.php
@@ -0,0 +1,49 @@
+<?php
+/**
+ * Cinisis - Isis db reading tool.
+ */
+?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=cp850" />
+  </head>
+  <body>
+
+<?php
+
+// Import Malete Library.
+require_once '../index.php';
+
+$configs = array(
+  0 => array(
+    'implementation' => 'PhpIsis',
+    'database'       => 'tupi',
+    ),
+  1 => array(
+    'implementation' => 'Malete',
+    'database'       => 'tupi',
+    ),
+);
+
+foreach ($configs as $config) {
+  // Get a db instance.
+  $isis = new CinisisDb($config);
+
+  // Test connection.
+  if ($isis->db) {
+    $result = $isis->db->read(1);
+    $rows   = $isis->db->rows();
+
+    // Format output.
+    echo '<pre>';
+    echo "Connection test:\n";
+    echo "Rows: $rows\n";
+    print_r($result);
+    echo '</pre>';
+  }
+}
+
+?>
+</body>
-- 
cgit v1.2.3