]> git.joonet.de Git - adminer.git/commitdiff
Pass $field to select_val
authorjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Fri, 24 Jul 2009 09:52:18 +0000 (09:52 +0000)
committerjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Fri, 24 Jul 2009 09:52:18 +0000 (09:52 +0000)
git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@897 7c3ca157-0c34-0410-bff1-cbf682f78f5c

adminer/include/adminer.inc.php
adminer/include/functions.inc.php
adminer/select.inc.php
editor/include/adminer.inc.php

index 2cb57194be39df9064c9828b68d12038217a3f25..8a0f8e1e30598dc1e371a8ea6bcd8113baffc4ea 100644 (file)
@@ -109,10 +109,12 @@ function adminer_row_descriptions($rows, $foreign_keys) {
 /** Value printed in select table
 * @param string escaped value to print
 * @param string link to foreign key
+* @param array single field returned from fields()
 * @return string
 */
-function adminer_select_val($val, $link) {
-       return call_adminer('select_val', ($link ? "<a href=\"$link\">$val</a>" : $val), $val, $link);
+function adminer_select_val($val, $link, $field) {
+       $return = ($field["type"] == "char" ? "<code>$val</code>" : $val);
+       return call_adminer('select_val', ($link ? "<a href=\"$link\">$return</a>" : $return), $val, $link);
 }
 
 /** Query printed after execution in the message
index 3dd64e16765fa2b1b333ffe44f07fc9f233101cc..0f6d4dab0e75efd9fd484ed3807f921936d7915f 100644 (file)
@@ -364,11 +364,11 @@ function email_header($header) {
        return "=?UTF-8?B?" . base64_encode($header) . "?="; //! split long lines
 }
 
-function call_adminer($method, $default, $arg1 = null, $arg2 = null) {
+function call_adminer($method, $default, $arg1 = null, $arg2 = null, $arg3 = null) {
        // maintains original method name in minification
        if (method_exists('Adminer', $method)) { // user defined class
                // can use func_get_args() and call_user_func_array()
-               return Adminer::$method($arg1, $arg2);
+               return Adminer::$method($arg1, $arg2, $arg3);
        }
        return $default; //! $default is evaluated even if not neccessary
 }
index d4622e58382f58814d87bc40a6da05f1192480bd..2202573800b8ce3f974db4e9dadd9b0cd3585b54 100644 (file)
@@ -312,7 +312,7 @@ if (!$columns) {
                                $unique_idf = implode('&amp;', unique_idf($rows[$n], $indexes)); //! don't use aggregation functions
                                echo '<tr' . odd() . '><td><input type="checkbox" name="check[]" value="' . $unique_idf . '" onclick="this.form[\'all\'].checked = false; form_uncheck(\'all-page\');">' . (count($select) != count($group) || information_schema($_GET["db"]) ? '' : ' <a href="' . htmlspecialchars($SELF) . 'edit=' . urlencode($_GET['select']) . '&amp;' . $unique_idf . '">' . lang('edit') . '</a>');
                                foreach ($row as $key => $val) {
-                                       if (strlen($names[$key])) {
+                                       if (isset($names[$key])) {
                                                if (strlen($val) && (!isset($email_fields[$key]) || strlen($email_fields[$key]))) {
                                                        $email_fields[$key] = (is_email($val) ? $names[$key] : ""); //! filled e-mails may be contained on other pages
                                                }
@@ -329,9 +329,6 @@ if (!$columns) {
                                                                $val = nl2br(shorten_utf8($val, max(0, intval($text_length)))); // usage of LEFT() would reduce traffic but complicate query
                                                        } else {
                                                                $val = nl2br(htmlspecialchars($val));
-                                                               if ($fields[$key]["type"] == "char") {
-                                                                       $val = "<code>$val</code>";
-                                                               }
                                                        }
                                                        
                                                        // link related items
@@ -348,7 +345,7 @@ if (!$columns) {
                                                if (!$link && is_email($val)) {
                                                        $link = "mailto:$val";
                                                }
-                                               $val = adminer_select_val($val, $link);
+                                               $val = adminer_select_val($val, $link, $fields[$key]);
                                                echo "<td>$val";
                                        }
                                }
index 063791d4a6e2f361855a568ddaa6aaa4b8be3122..a9a9c536312fa25c9b47fe1219178b005cfe65b1 100644 (file)
@@ -107,10 +107,10 @@ function adminer_row_descriptions($rows, $foreign_keys) {
        return call_adminer('row_descriptions', $return, $rows, $foreign_keys);
 }
 
-function adminer_select_val($val, $link) {
-       return call_adminer('select_val', ($link ?
-               "<a href=\"$link\">$val</a>" :
-               ($val == "<i>NULL</i>" ? "&nbsp;" : preg_replace('~^<code>(.*)</code>$~', '\\1', $val))
+function adminer_select_val($val, $link, $field) {
+       return call_adminer('select_val', ($link
+               ? "<a href=\"$link\">$val</a>"
+               : ($val == "<i>NULL</i>" ? "&nbsp;" : $val)
        ), $val, $link);
 }