function getDbCollations() { $xoops = Xoops::getInstance(); $db = $xoops->db(); $collations = array(); $charsets = getDbCharsets(); if ($result = $db->queryF("SHOW COLLATION")) { while ($row = $db->fetchArray($result)) { $charsets[$row["Charset"]]["collation"][] = $row["Collation"]; } } return $charsets; }
function getDbCollations() { $collations = array(); $charsets = getDbCharsets(); if ($result = $GLOBALS["xoopsDB"]->queryF("SHOW COLLATION")) { while ($row = $GLOBALS["xoopsDB"]->fetchArray($result)) { $charsets[$row["Charset"]]["collation"][] = $row["Collation"]; } } return $charsets; }
function xoFormFieldCharset($name, $value, $label, $help = '', $link) { if (version_compare(mysql_get_server_info($link), "4.1.0", "lt")) { return ""; } if (!($chars = getDbCharsets($link))) { return ""; } $charsets = array(); if (isset($chars["utf8"])) { $charsets["utf8"] = $chars["utf8"]; unset($chars["utf8"]); } ksort($chars); $charsets = array_merge($charsets, $chars); $label = htmlspecialchars($label); $name = htmlspecialchars($name, ENT_QUOTES); $value = htmlspecialchars($value, ENT_QUOTES); $field = "<div class='dbconn_line'><label for='{$name}'>{$label}</label>\n"; if ($help) { $field .= '<div class="xoform-help">' . $help . "</div><div class='clear'> </div>\n"; } $field .= "<select name='{$name}' id='{$name}' onchange=\"setFormFieldCollation('DB_COLLATION_div', this.value)\">"; $field .= "<option value=''>None</option>"; foreach ($charsets as $key => $desc) { $field .= "<option value='{$key}'" . ($value == $key ? " selected='selected'" : "") . ">{$key} - {$desc}</option>"; } $field .= "</select></div>"; return $field; }
/** * @param string $name * @param string $value * @param string $label * @param string $help * @param resource $link * @return string */ function xoFormFieldCharset($name, $value, $label, $help, $link) { if (version_compare(mysql_get_server_info($link), "4.1.0", "lt")) { return ""; } if (!($chars = getDbCharsets($link))) { return ""; } $charsets = array(); if (isset($chars["utf8"])) { $charsets["utf8"] = $chars["utf8"]; unset($chars["utf8"]); } ksort($chars); $charsets = array_merge($charsets, $chars); $myts = MyTextSanitizer::getInstance(); $label = $myts->htmlspecialchars($label, ENT_QUOTES, _INSTALL_CHARSET, false); $name = $myts->htmlspecialchars($name, ENT_QUOTES, _INSTALL_CHARSET, false); $value = $myts->htmlspecialchars($value, ENT_QUOTES); $field = "<label class='xolabel' for='{$name}'>{$label}</label>\n"; if ($help) { $field .= '<div class="xoform-help">' . $help . "</div>\n"; } $field .= "<select name='{$name}' id='{$name}' onchange=\"setFormFieldCollation('DB_COLLATION_div', this.value)\">"; $field .= "<option value=''>None</option>"; foreach ($charsets as $key => $desc) { $field .= "<option value='{$key}'" . ($value == $key ? " selected='selected'" : "") . ">{$key} - {$desc}</option>"; } $field .= "</select>"; return $field; }