aboutsummaryrefslogtreecommitdiff
path: root/tests/index.php
diff options
context:
space:
mode:
authorSilvio <silvio@devlet.com.br>2010-03-30 12:01:20 -0300
committerSilvio <silvio@devlet.com.br>2010-03-30 12:01:20 -0300
commit1d960150de785261da282e1505360e97ee144493 (patch)
tree349dd6782ba56be4f64ff31b7b587759cad2f154 /tests/index.php
parentf3af45962c3b26782479f3b8ab5fa09d62a0f483 (diff)
downloadcinisis-1d960150de785261da282e1505360e97ee144493.tar.gz
cinisis-1d960150de785261da282e1505360e97ee144493.tar.bz2
Adding PhpIsis implementation of IsisDb
Diffstat (limited to 'tests/index.php')
-rw-r--r--tests/index.php207
1 files changed, 207 insertions, 0 deletions
diff --git a/tests/index.php b/tests/index.php
new file mode 100644
index 0000000..195fbbc
--- /dev/null
+++ b/tests/index.php
@@ -0,0 +1,207 @@
+<?php
+/**
+ * Test query script.
+ */
+
+// Import Malete Library
+require 'contrib/malete/php/Isis.php';
+
+// Import Spyc
+include('contrib/spyc/spyc.php');
+
+?>
+
+<html><head><title>Query</title></head><body>
+
+<?php
+
+ // Create a db with field list ("fdt")
+ $fdt_anu10 = array(
+ 'Periodico' => 1,
+ 'Data' => 2,
+ 'Titulo' => 3,
+ 'Autor' => 4,
+ 'Assuntos primarios' => 5,
+ 'Assuntos secundarios' => 6,
+ 'Ilustrado' => 7,
+ 'Caderno' => 8,
+ 'Pagina' => 9,
+ 'Arquivo digital' => 10,
+ 'Forma documento' => 11,
+ 'Local de publicacao' => 12,
+ 'Observacoes' => 13,
+ 'Descritores imagem' => 14,
+ 'Termo geografico' => 16,
+ 'Coluna' => 17,
+ 'Recorte' => 19,
+ 'Alimentador' => 20,
+ 'Tema Anuario' => 21,
+ );
+
+ $fdt_tupi = array(
+ 'cod.titulo' => 1,
+ 'postopo' => 2,
+ 'num.entrada' => 3,
+ 'num.tombo' => 4,
+ 'datain' => 5,
+ 'dataex' => 6,
+ 'acervo (DIF ou PRE)' => 7,
+ 'cadarq' => 10,
+ 'caddep' => 11,
+ 'cadddl' => 12,
+ 'outarq' => 13,
+ 'categorias' => 15,
+ 'presok' => 16,
+ 'roteiro de locução' => 17,
+ 'mat.acervo' => 18,
+ 'mat.orig' => 19,
+ 'titulo' => 20,
+ 'outros titulos' => 22,
+ 'data/série' => 24,
+ 'conteudo/sinopse' => 25,
+ 'descritores' => 26,
+ 'descritores secundários' => 27,
+ 'identidades' => 28,
+ 'ndxlib' => 29,
+ 'materiais' => 40,
+ 'materiais' => 41,
+ 'materiais' => 42,
+ 'materiais' => 43,
+ 'materiais' => 44,
+ 'materiais' => 45,
+ 'mat' => 46,
+ 'mat' => 47,
+ 'mat' => 48,
+ 'mat' => 49,
+ 'mat' => 50,
+ 'mat' => 51,
+ 'mat' => 52,
+ 'mat' => 53,
+ 'mat' => 54,
+ 'mat' => 55,
+ 'evol.estado tec.' => 56,
+ 'movimentacao' => 57,
+ 'movimentacao' => 58,
+ 'obsmat' => 59,
+ 'producao*' => 60,
+ 'dir.arte*' => 61,
+ 'fotografia*' => 62,
+ 'musica*' => 63,
+ 'som*' => 64,
+ 'montagem*' => 65,
+ 'direcao*' => 66,
+ 'arg/roteiro*' => 67,
+ 'distribuicao*' => 68,
+ 'colab./outros' => 69,
+ 'producao1' => 70,
+ 'dir.arte1' => 71,
+ 'fotografia1' => 72,
+ 'musica1' => 73,
+ 'som1' => 74,
+ 'montagem1' => 75,
+ 'producao2(res.p/expandir)' => 80,
+ 'dir.arte2(res.p/expandir)' => 81,
+ 'fotografia2(res.p/expandir)' => 82,
+ 'musica2(res.p/expandir)' => 83,
+ 'som2(res.p/expandir)' => 84,
+ 'loc.prod.lan' => 85,
+ 'dat.prod.lan' => 86,
+ 'lab/est/locacoes' => 87,
+ 'premios' => 88,
+ 'fontes' => 89,
+ 'certificados' => 95,
+ 'examinador' => 98,
+ 'observações' => 99,
+ 'termos geográficos' => 165,
+ 'quicktime' => 900,
+ 'revisão' => 901,
+ 'vídeo' => 902,
+ );
+
+ //$db = 'tupi';
+ $db = 'anu10';
+ $fdt = ${'fdt_'. $db};
+ $yaml = Spyc::YAMLDump($fdt);
+?>
+
+<h2>server</h2>
+
+<?php
+ $db = new Isis_Db($fdt, $db, new Isis_Server());
+ if (!$db->srv->sock) {
+ echo "could not contact server\n";
+ }
+ else {
+ //print_r($db);
+?>
+
+<h3>number of records...</h3>
+
+<?php
+ $query = 'HORA';
+ $recs = $db->num_recs($query);
+ echo "got ",count($recs), " terms for '$query'</br>\n";
+?>
+
+<h3>terms beginning with...</h3>
+
+<?php
+ $query = 'Hora';
+ $terms = $db->terms(strtoupper($query));
+ echo "got ",count($terms), " terms for '$query'</br>\n";
+ foreach ($terms as $t) {
+ list($cnt, $term) = explode("\t", $t);
+ echo "'$term'($cnt) ";
+ }
+ echo "</br>\n";
+?>
+
+<h3>query reading records</h3>
+
+<?php
+ $query = 'Corumbiara';
+ $recs = $db->query(strtoupper($query));
+ echo "got ",count($recs), " records for '$query'</br>\n";
+ foreach ($recs as $r) {
+ echo "<pre>---\n", $r->toString(), "---\n</pre>\n";
+ }
+?>
+
+<h3>query reading a record</h3>
+
+<?php
+ $r = $db->read(6);
+ echo "<pre>---\n", $r->toString(), "---\n</pre><br>\n";
+ echo '<pre>';
+ //print_r($r);
+ //print_r($r->val[8]);
+ //print_r(preg_split('/\t/', $r->val[7]));
+ //print_r(array_flip($fdt_anu10));
+ echo '</pre>';
+ } // end else could contact server
+
+?>
+
+<h3>Testing pecl-isis</h3>
+<?php
+
+ $db = isis_open('db/anu10/anu10');
+ //$db = isis_open('db/tupi/tupi');
+ print_r(isis_last_mfn($db));
+
+ echo '<table>';
+
+ $result = isis_search('$', $db);
+ while ($record = isis_fetch_flat_array($result) ) {
+ print (" <tr><td colspan=\"2\">MFN: $record[mfn]</td></tr>\n");
+ for ($i=0; $i<count($record)-1; ++$i) { //-1 porque el mfn es +1
+ list ($tag, $value) = $record[$i];
+ print (" <tr>\n".
+ " <td>$tag</td>\n".
+ " <td>".htmlspecialchars($value)."</td>\n".
+ " </tr>\n");
+ }
+ }
+ echo '</table>';
+?>
+</body></html>