[Phpmyadmin-git] [SCM] phpMyAdmin branch, master, updated. RELEASE_3_4_3_2-15904-g941c186

Piotr Przybylski crackpl at users.sourceforge.net
Fri Aug 19 18:18:14 CEST 2011


The branch, master has been updated
       via  941c186d27b3bf6a708ce182399cea4ab6f17474 (commit)
       via  c1f20fefd4c848f3b0e2ec952f60702b4237e341 (commit)
      from  7b054e9b7d677306ab93ea3812b5b5fc2ee6e2f2 (commit)


- Log -----------------------------------------------------------------
commit 941c186d27b3bf6a708ce182399cea4ab6f17474
Author: Piotr Przybylski <piotrprz at gmail.com>
Date:   Fri Aug 19 18:17:56 2011 +0200

    Advisor: properly detect 64-bit builds of MySQL on Windows

commit c1f20fefd4c848f3b0e2ec952f60702b4237e341
Author: Piotr Przybylski <piotrprz at gmail.com>
Date:   Fri Aug 19 18:16:14 2011 +0200

    Make Advisor evaluation code easier to understand

-----------------------------------------------------------------------

Summary of changes:
 libraries/Advisor.class.php  |   21 +++++++++++++++++++--
 libraries/advisory_rules.txt |    2 +-
 2 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/libraries/Advisor.class.php b/libraries/Advisor.class.php
index 6159286..b681155 100644
--- a/libraries/Advisor.class.php
+++ b/libraries/Advisor.class.php
@@ -174,6 +174,22 @@ class Advisor
         $this->runResult[$type][] = $rule;
     }
 
+    private function ruleExprEvaluate_var1($matches)
+    {
+        // '/fired\s*\(\s*(\'|")(.*)\1\s*\)/Uie'
+        return '1'; //isset($this->runResult[\'fired\']
+    }
+
+    private function ruleExprEvaluate_var2($matches)
+    {
+        // '/\b(\w+)\b/e'
+        return isset($this->variables[$matches[1]])
+            ? (is_numeric($this->variables[$matches[1]])
+                ? $this->variables[$matches[1]]
+                : '"'.$this->variables[$matches[1]].'"')
+            : $matches[1];
+    }
+
     // Runs a code expression, replacing variable names with their respective values
     // ignoreUntil: if > 0, it doesn't replace any variables until that string position, but still evaluates the whole expr
     function ruleExprEvaluate($expr, $ignoreUntil = 0)
@@ -182,13 +198,14 @@ class Advisor
             $exprIgnore = substr($expr,0,$ignoreUntil);
             $expr = substr($expr,$ignoreUntil);
         }
-        $expr = preg_replace('/fired\s*\(\s*(\'|")(.*)\1\s*\)/Uie','1',$expr); //isset($this->runResult[\'fired\']
-        $expr = preg_replace('/\b(\w+)\b/e','isset($this->variables[\'\1\']) ? (!is_numeric($this->variables[\'\1\']) ? \'"\'.$this->variables[\'\1\'].\'"\' : $this->variables[\'\1\']) : \'\1\'', $expr);
+        $expr = preg_replace_callback('/fired\s*\(\s*(\'|")(.*)\1\s*\)/Ui', array($this, 'ruleExprEvaluate_var1'), $expr);
+        $expr = preg_replace_callback('/\b(\w+)\b/', array($this, 'ruleExprEvaluate_var2'), $expr);
         if ($ignoreUntil > 0) {
             $expr = $exprIgnore . $expr;
         }
         $value = 0;
         $err = 0;
+
         ob_start();
         eval('$value = '.$expr.';');
         $err = ob_get_contents();
diff --git a/libraries/advisory_rules.txt b/libraries/advisory_rules.txt
index f13f838..b2aa21d 100644
--- a/libraries/advisory_rules.txt
+++ b/libraries/advisory_rules.txt
@@ -111,7 +111,7 @@ rule 'Distribution'
 
 rule 'MySQL Architecture'
 	system_memory
-	value > 3072*1024 && !preg_match('/64/',version_compile_machine)
+	value > 3072*1024 && !preg_match('/64/',version_compile_machine) && !preg_match('/64/',version_compile_os)
 	MySQL is not compiled as a 64-bit package.
 	Your memory capacity is above 3 GiB (assuming the Server is on localhost), so MySQL might not be able to access all of your memory. You might want to consider installing the 64-bit version of MySQL.
 	Available memory on this host: %s | implode(' ',PMA_formatByteDown(value*1024, 2, 2))


hooks/post-receive
-- 
phpMyAdmin




More information about the Git mailing list