aboutsummaryrefslogtreecommitdiff
path: root/apps/subfield.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/subfield.php')
-rw-r--r--apps/subfield.php24
1 files changed, 7 insertions, 17 deletions
diff --git a/apps/subfield.php b/apps/subfield.php
index 93de5a9..e3d5d75 100644
--- a/apps/subfield.php
+++ b/apps/subfield.php
@@ -16,32 +16,22 @@ $display = new CinisisDisplayHelper('Subfield finder');
$form = $display->form_input_text('entry', $entry);
$form .= $display->form_input_text('field', $field);
$form .= $display->form_input_text('subfield', $subfield);
-$display->form($form, 'subfield.php');
+$display->form($form, basename(__FILE__));
// Get a db instance.
-$isis = new CinisisDb();
+$isis = new IsisFinder();
// Setup database and entry number.
-if ($isis->db) {
- // Get the number of entries.
- $field_name = $isis->db->format['fields'][$field]['name'];
- $subfield_name = $isis->db->format['fields'][$field]['subfields'][$subfield];
- $entries = $isis->db->entries();
- $entry--;
-
+if ($isis) {
// Query database.
- do {
- $result = $isis->db->read(++$entry);
- if ($entry == $entries) {
- break;
- }
- } while (!isset($result[$field_name][0][$subfield_name]));
+ $field_name = $isis->getFieldName($field);
+ $subfield_name = $isis->getSubfieldName($field, $subfield);
+ $result = $isis->nextSubfield($entry, $field_name, $subfield_name);
// Navigation bar.
- $display->navbar($entry, $entries, $repetition, '&field='. $field . '&subfield='. $subfield);
+ $display->navbar($entry, $isis->entries, $repetition, '&field='. $field . '&subfield='. $subfield);
// Format output.
- $link = $display->entry_link($entry);
echo "<pre>\n";
echo "Selected field: $field: $field_name.\n";
echo "Selected subfield: $subfield: $subfield_name.\n";