phpOpenTracker/phpOpenTracker/DB mysql_merge.php,1.22.2.9,1.22.2.10

Sebastian Bergmann <[email protected]> Mon, 12 Apr 2004 08:47:24 +0000
Newsgroups gmane.comp.web.phpopentracker.cvs
Message-ID <[email protected]>
Update of /cvsroot/phpopencounter/phpOpenTracker/phpOpenTracker/DB
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5906

Modified Files:
      Tag: phpOpenTracker_1
	mysql_merge.php 
Log Message:
fix _rewriteSelectQuery($query) method.

Index: mysql_merge.php
===================================================================
RCS file: /cvsroot/phpopencounter/phpOpenTracker/phpOpenTracker/DB/Attic/mysql_merge.php,v
retrieving revision 1.22.2.9
retrieving revision 1.22.2.10
diff -u -d -r1.22.2.9 -r1.22.2.10
--- mysql_merge.php	12 Apr 2004 08:42:49 -0000	1.22.2.9
+++ mysql_merge.php	12 Apr 2004 08:47:21 -0000	1.22.2.10
@@ -470,122 +470,124 @@
     $parsedQuery = explode(' ', $query);
     $between     = array_search('BETWEEN', $parsedQuery);
 
-    if ($between != false) {
-      $accesslogTables = array();
-      $visitorsTables  = array();
+    if ($between == false) {
+      return $query;
+    }
 
-      $startDay   = $day   = date('d', $parsedQuery[$between + 1]);
-      $startMonth = $month = date('m', $parsedQuery[$between + 1]);
-      $startYear  = $year  = date('Y', $parsedQuery[$between + 1]);
-      $endDay              = date('d', $parsedQuery[$between + 3]);
-      $endMonth            = date('m', $parsedQuery[$between + 3]);
-      $endYear             = date('Y', $parsedQuery[$between + 3]);
+    $accesslogTables = array();
+    $visitorsTables  = array();
 
-      $done                  = false;
-      $numDaysInCurrentMonth = $this->_numDaysInMonth($month, $year);
+    $startDay   = $day   = date('d', $parsedQuery[$between + 1]);
+    $startMonth = $month = date('m', $parsedQuery[$between + 1]);
+    $startYear  = $year  = date('Y', $parsedQuery[$between + 1]);
+    $endDay              = date('d', $parsedQuery[$between + 3]);
+    $endMonth            = date('m', $parsedQuery[$between + 3]);
+    $endYear             = date('Y', $parsedQuery[$between + 3]);
 
-      switch ($this->config['merge_tables_mode']) {
-        case 'day': {
-          // start/end on the same day: use single day table
-          if ($startDay   == $endDay &&
-              $startMonth == $endMonth &&
-              $startYear  == $endYear) {
-            return $this->_replaceTableNames(
-              $query,
-              $startYear . $startMonth . $startDay
-            );
-          }
+    $done                  = false;
+    $numDaysInCurrentMonth = $this->_numDaysInMonth($month, $year);
 
-          // month range: use single month table
-          if ($startDay   == 1 &&
-              $endDay     >= 28 &&
-              $startMonth == $endMonth &&
-              $startYear  == $endYear) {
-            return $this->_replaceTableNames(
-              $query,
-              $startYear . $startMonth
-            );
-          }
+    switch ($this->config['merge_tables_mode']) {
+      case 'day': {
+        // start/end on the same day: use single day table
+        if ($startDay   == $endDay &&
+            $startMonth == $endMonth &&
+            $startYear  == $endYear) {
+          return $this->_replaceTableNames(
+            $query,
+            $startYear . $startMonth . $startDay
+          );
+        }
 
-          while (!$done) {
-            $accesslogTables[] = $this->_getMergeTableName(
-              'accesslog',
-              $year,
-              $month,
-              $day
-            );
+        // month range: use single month table
+        if ($startDay   == 1 &&
+            $endDay     >= 28 &&
+            $startMonth == $endMonth &&
+            $startYear  == $endYear) {
+          return $this->_replaceTableNames(
+            $query,
+            $startYear . $startMonth
+          );
+        }
 
-            $visitorsTables[] = $this->_getMergeTableName(
-              'visitors',
-              $year,
-              $month,
-              $day
-            );
+        while (!$done) {
+          $accesslogTables[] = $this->_getMergeTableName(
+            'accesslog',
+            $year,
+            $month,
+            $day
+          );
 
-            if ($day   == $endDay &&
-                $month == $endMonth &&
-                $year  == $endYear) {
-              $done = true;
-            }
+          $visitorsTables[] = $this->_getMergeTableName(
+            'visitors',
+            $year,
+            $month,
+            $day
+          );
 
-            else if ($day == $numDaysInCurrentMonth) {
-              $day = 1;
+          if ($day   == $endDay &&
+              $month == $endMonth &&
+              $year  == $endYear) {
+            $done = true;
+          }
 
-              if ($month < 12) {
-                $month++;
-              } else {
-                $month = 1;
-                $year++;
-              }
+          else if ($day == $numDaysInCurrentMonth) {
+            $day = 1;
 
-              $numDaysInCurrentMonth = $this->_numDaysInMonth($month, $year);
+            if ($month < 12) {
+              $month++;
+            } else {
+              $month = 1;
+              $year++;
             }
 
-            else {
-              $day++;
-            }
+            $numDaysInCurrentMonth = $this->_numDaysInMonth($month, $year);
           }
-        }
-        break;
 
-        case 'month': {
-          // start/end in same month: use single month table
-          if ($startMonth == $endMonth &&
-              $startYear  == $endYear) {
-            return $this->_replaceTableNames(
-              $query,
-              $startYear . $startMonth
-            );
+          else {
+            $day++;
           }
+        }
+      }
+      break;
 
-          while (!$done) {
-            $accesslogTables[] = $this->_getMergeTableName(
-              'accesslog',
-              $year,
-              $month
-            );
+      case 'month': {
+        // start/end in same month: use single month table
+        if ($startMonth == $endMonth &&
+            $startYear  == $endYear) {
+          return $this->_replaceTableNames(
+            $query,
+            $startYear . $startMonth
+          );
+        }
 
-            $visitorsTables[] = $this->_getMergeTableName(
-              'visitors',
-              $year,
-              $month
-            );
+        while (!$done) {
+          $accesslogTables[] = $this->_getMergeTableName(
+            'accesslog',
+            $year,
+            $month
+          );
 
-            if ($month == $endMonth &&
-                $year  == $endYear) {
-              $done = true;
-            }
+          $visitorsTables[] = $this->_getMergeTableName(
+            'visitors',
+            $year,
+            $month
+          );
 
-            else if ($month < 12) {
-              $month++;
-            } else {
-              $month = 1;
-              $year++;
-            }
+          if ($month == $endMonth &&
+              $year  == $endYear) {
+            $done = true;
+          }
+
+          else if ($month < 12) {
+            $month++;
+          } else {
+            $month = 1;
+            $year++;
           }
         }
-        break;
       }
+      break;
     }
 
     $this->_createMergeTable(



-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click