Display whitespace in texts (bug #2858042)
git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@1110 7c3ca157-0c34-0410-bff1-cbf682f78f5c
This commit is contained in:
parent
f92f2eefe4
commit
24801a0c17
|
@ -53,10 +53,10 @@ function select($result, $dbh2 = null) {
|
||||||
} else {
|
} else {
|
||||||
if ($blobs[$key] && !is_utf8($val)) {
|
if ($blobs[$key] && !is_utf8($val)) {
|
||||||
$val = "<i>" . lang('%d byte(s)', strlen($val)) . "</i>"; //! link to download
|
$val = "<i>" . lang('%d byte(s)', strlen($val)) . "</i>"; //! link to download
|
||||||
} elseif (!strlen(trim($val, " \t"))) {
|
} elseif (!strlen($val)) {
|
||||||
$val = " "; // some content to print a border
|
$val = " "; // some content to print a border
|
||||||
} else {
|
} else {
|
||||||
$val = nl2br(h($val));
|
$val = whitespace(h($val));
|
||||||
if ($types[$key] == 254) {
|
if ($types[$key] == 254) {
|
||||||
$val = "<code>$val</code>";
|
$val = "<code>$val</code>";
|
||||||
}
|
}
|
||||||
|
@ -124,7 +124,7 @@ function process_field($field, $type_field) {
|
||||||
global $dbh;
|
global $dbh;
|
||||||
return idf_escape($field["field"]) . process_type($type_field)
|
return idf_escape($field["field"]) . process_type($type_field)
|
||||||
. ($field["null"] ? " NULL" : " NOT NULL") // NULL for timestamp
|
. ($field["null"] ? " NULL" : " NOT NULL") // NULL for timestamp
|
||||||
. (!isset($field["default"]) || $field["auto_increment"] || ereg('text|blob', $field["type"]) ? "" : " DEFAULT " . ($field["type"] == "timestamp" && eregi("^CURRENT_TIMESTAMP( on update CURRENT_TIMESTAMP)?$", $field["default"]) ? $field["default"] : $dbh->quote($field["default"])))
|
. (!$field["has_default"] || $field["auto_increment"] || ereg('text|blob', $field["type"]) ? "" : " DEFAULT " . ($field["type"] == "timestamp" && eregi("^CURRENT_TIMESTAMP( on update CURRENT_TIMESTAMP)?$", $field["default"]) ? $field["default"] : $dbh->quote($field["default"])))
|
||||||
. " COMMENT " . $dbh->quote($field["comment"])
|
. " COMMENT " . $dbh->quote($field["comment"])
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,6 +43,14 @@ function h($string) {
|
||||||
return htmlspecialchars($string, ENT_QUOTES);
|
return htmlspecialchars($string, ENT_QUOTES);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Convert text whitespace to HTML
|
||||||
|
* @param string
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function whitespace($string) {
|
||||||
|
return nl2br(preg_replace('~(^| ) ~m', '\\1 ', str_replace("\t", " ", $string)));
|
||||||
|
}
|
||||||
|
|
||||||
/** Escape for TD
|
/** Escape for TD
|
||||||
* @param string
|
* @param string
|
||||||
* @return string
|
* @return string
|
||||||
|
|
|
@ -219,12 +219,12 @@ if (!$columns) {
|
||||||
if (ereg('blob|binary', $fields[$key]["type"]) && strlen($val)) {
|
if (ereg('blob|binary', $fields[$key]["type"]) && strlen($val)) {
|
||||||
$link = h(ME . 'download=' . urlencode($TABLE) . '&field=' . urlencode($key) . '&') . $unique_idf;
|
$link = h(ME . 'download=' . urlencode($TABLE) . '&field=' . urlencode($key) . '&') . $unique_idf;
|
||||||
}
|
}
|
||||||
if (!strlen(trim($val, " \t"))) {
|
if (!strlen($val)) {
|
||||||
$val = " ";
|
$val = " ";
|
||||||
} elseif (strlen($text_length) && ereg('blob|text', $fields[$key]["type"]) && is_utf8($val)) {
|
} elseif (strlen($text_length) && ereg('blob|text', $fields[$key]["type"]) && is_utf8($val)) {
|
||||||
$val = nl2br(shorten_utf8($val, max(0, intval($text_length)))); // usage of LEFT() would reduce traffic but complicate query
|
$val = whitespace(shorten_utf8($val, max(0, intval($text_length)))); // usage of LEFT() would reduce traffic but complicate query
|
||||||
} else {
|
} else {
|
||||||
$val = nl2br(h($val));
|
$val = whitespace(h($val));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$link) { // link related items
|
if (!$link) { // link related items
|
||||||
|
|
Loading…
Reference in a new issue