Beispiel #1
0
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;
}
Beispiel #2
0
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'>&nbsp;</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;
}
Beispiel #4
0
/**
 * @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;
}