diff --git a/adminer/select.inc.php b/adminer/select.inc.php
index 98ef9e81..2f2987f0 100644
--- a/adminer/select.inc.php
+++ b/adminer/select.inc.php
@@ -304,9 +304,10 @@ if (!$columns) {
$unique_idf = implode('&', unique_idf($row, $indexes)); //! don't use aggregation functions
echo '
| ' . (count($select) != count($group) || information_schema($_GET["db"]) ? '' : ' ' . lang('edit') . '');
foreach ($row as $key => $val) {
- if (strlen(adminer_field_name($fields, $key))) {
- if (strlen($val) && (!isset($email_fields[$key]) || $email_fields[$key])) {
- $email_fields[$key] = is_email($val); //! filled e-mails may be contained on other pages
+ $name = adminer_field_name($fields, $key);
+ if (strlen($name)) {
+ if (strlen($val) && (!isset($email_fields[$key]) || strlen($email_fields[$key]))) {
+ $email_fields[$key] = (is_email($val) ? $name : ""); //! filled e-mails may be contained on other pages
}
$link = "";
if (!isset($val)) {
@@ -337,6 +338,9 @@ if (!$columns) {
}
}
}
+ if (!$link && is_email($val)) {
+ $link = "mailto:$val";
+ }
$val = adminer_select_val($val, $link);
echo " | $val";
}
@@ -383,13 +387,13 @@ if (!$columns) {
echo "\n";
//! Editor only
- $email_fields = array_filter($email_fields);
+ $email_fields = array_filter($email_fields); //! should use strlen but compile.php doesn't support array_filter
if ($email_fields) {
echo '\n";
}
|