| 
     
      
      
      From: <gem...@li...> - 2012-11-22 12:13:24
      
     
   | 
Revision: 1034
          http://gemstracker.svn.sourceforge.net/gemstracker/?rev=1034&view=rev
Author:   matijsdejong
Date:     2012-11-22 12:13:14 +0000 (Thu, 22 Nov 2012)
Log Message:
-----------
Fix for #578 database patch level
JoinModel now accepts more complex join statements
Modified Paths:
--------------
    trunk/library/classes/MUtil/Model/JoinModel.php
    trunk/library/configs/db/tables/gems__patch_levels.10.sql
Modified: trunk/library/classes/MUtil/Model/JoinModel.php
===================================================================
--- trunk/library/classes/MUtil/Model/JoinModel.php	2012-11-22 12:13:08 UTC (rev 1033)
+++ trunk/library/classes/MUtil/Model/JoinModel.php	2012-11-22 12:13:14 UTC (rev 1034)
@@ -117,9 +117,15 @@
         $table_name = $this->_getTableName($table);
         $adapter    = $table->getAdapter();
 
+        $joinSql = array();
         foreach ($joinFields as $source => $target) {
-            $this->_joinFields[$source] = $target;
-            $joinSql[] = $adapter->quoteIdentifier($source) . ' = ' . $adapter->quoteIdentifier($target);
+            if (is_numeric($source)) {
+                // A join expression other than equality is used
+                $joinSql[] = $target;
+            } else {
+                $this->_joinFields[$source] = $target;
+                $joinSql[] = $adapter->quoteIdentifier($source) . ' = ' . $adapter->quoteIdentifier($target);
+            }
         }
 
         $this->_select->$join($table_name, implode(' ' . Zend_Db_Select::SQL_AND . ' ', $joinSql), array());
Modified: trunk/library/configs/db/tables/gems__patch_levels.10.sql
===================================================================
--- trunk/library/configs/db/tables/gems__patch_levels.10.sql	2012-11-22 12:13:08 UTC (rev 1033)
+++ trunk/library/configs/db/tables/gems__patch_levels.10.sql	2012-11-22 12:13:14 UTC (rev 1034)
@@ -11,4 +11,4 @@
 
 INSERT INTO gems__patch_levels (gpl_level, gpl_created)
    VALUES
-   (48, CURRENT_TIMESTAMP);
+   (50, CURRENT_TIMESTAMP);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 |