Author: mcantelon
Date: Wed Apr  4 17:05:01 2012
New Revision: 11381

Log:
Added source specification to keymap lookup by event import.

Modified:
   trunk/lib/task/import/csvEventImportTask.class.php

Modified: trunk/lib/task/import/csvEventImportTask.class.php
==============================================================================
--- trunk/lib/task/import/csvEventImportTask.class.php  Wed Apr  4 16:43:22 
2012        (r11380)
+++ trunk/lib/task/import/csvEventImportTask.class.php  Wed Apr  4 17:05:01 
2012        (r11381)
@@ -58,7 +58,7 @@
 
     $sourceName = ($options['source-name'])
       ? $options['source-name']
-      : basename($arguments['filename']);
+      : FALSE;
 
     if (false === $fh = fopen($arguments['filename'], 'rb'))
     {
@@ -88,6 +88,7 @@
     $import = new QubitFlatfileImport(array(
 
       'status' => array(
+        'sourceName'         => $sourceName,
         'eventTypes'         => $termData['eventTypes'],
         'subjectTable'       => $subjectTable,
         'subjectKeyColumn'   => $subjectKeyColumn,
@@ -118,16 +119,19 @@
             $self,
             $self->status['subjectTable'],
             $self->status['subjectKeyColumn'],
-            $self->status['subjectIdColumn'],
-            'id'
+            $self->status['subjectIdColumn']
           );
 
+          $whereClause = ($self->status['sourceName'] && 
$self->status['objectTable'] == 'keymap')
+            ? 'source_name = "'. $self->status['sourceName'] .'"'
+            : FALSE;
+
           $self->status['objectKeys'] = getNameIdArrayFromTable(
             $self,
             $self->status['objectTable'],
             $self->status['objectKeyColumn'],
             $self->status['objectIdColumn'],
-            'id'
+            $whereClause
           );
 
           $self->status['dataCached'] = TRUE;
@@ -214,12 +218,14 @@
   }
 }
 
-function getNameIdArrayFromTable(&$self, $tableName, $keyColumn, $idColumn)
+function getNameIdArrayFromTable(&$self, $tableName, $keyColumn, $idColumn, 
$whereClause = FALSE)
 {
   $names = array();
 
   $query = "SELECT ". $keyColumn .", ". $idColumn ." FROM ". $tableName;
 
+  $query .= ($whereClause) ? ' WHERE '. $whereClause : '';
+
   $statement = $self->sqlQuery($query);
 
   if (!$statement)

-- 
You received this message because you are subscribed to the Google Groups 
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/qubit-commits?hl=en.

Reply via email to