Пример #1
0
function validate_s_table($table, $key1, $key2, $key3)
{
    $tableconf_r = get_system_table_config($table);
    if (is_array($tableconf_r) && is_array($tableconf_r['key'])) {
        if (count($tableconf_r['key']) == 1 && strlen($key1) > 0 && strlen($key2) == 0 && strlen($key3) == 0) {
            return TRUE;
        } else {
            if (count($tableconf_r['key']) == 2 && strlen($key1) > 0 && strlen($key3) == 0) {
                if (strlen($key2) > 0) {
                    return TRUE;
                } else {
                    if ($tableconf_r['key'][1] == 'value' && $key2 !== NULL) {
                        // a hack for s_attribute_type_lookup
                        return TRUE;
                    }
                }
            } else {
                if (count($tableconf_r['key']) == 3 && strlen($key1) > 0 && strlen($key2) > 0 && strlen($key3) > 0) {
                    return TRUE;
                }
            }
        }
    }
    //else
    return FALSE;
}
Пример #2
0
/**
   Passed an array of all required rows to display in table
*/
function build_div_table($language, $table, $column, $table_lang_rs, &$row)
{
    $block = '<table><tr class="navbar">';
    $tableconf_r = get_system_table_config($table);
    for ($i = 0; $i < count($tableconf_r['key']); $i++) {
        $block .= '<th>' . $tableconf_r['key'][$i] . '</th>';
    }
    $block .= '<th>Default ' . $column . '</th><th>Language ' . $column . '</th></tr>';
    while (list(, $table_lang_r) = each($table_lang_rs)) {
        $block .= '<tr>';
        for ($i = 1; $i <= count($tableconf_r['key']); $i++) {
            $block .= '<td class="prompt"><input type="hidden" name="lang_var[' . $table . '][' . $column . '][' . $row . '][key' . $i . ']" value="' . $table_lang_r['key' . $i] . '">' . $table_lang_r['key' . $i] . '</td>';
        }
        $block .= '<td class="data">' . htmlspecialchars($table_lang_r[$column]) . '</td>';
        $block .= '<td class="data"><input type="text" class="text" name="lang_var[' . $table . '][' . $column . '][' . $row . '][langvar]" value="' . htmlspecialchars($table_lang_r['value']) . '"></td>';
        $block .= '</tr>';
        $row++;
    }
    $block .= '</table>';
    return $block;
}
Пример #3
0
function fetch_opendb_table_lang_var($language, $table, $column, $key1, $key2 = NULL, $key3 = NULL)
{
    $tableconf_r = get_system_table_config($table);
    if (is_array($tableconf_r['key'])) {
        if (is_default_language($language)) {
            $query = "SELECT IFNULL(value, t.{$column}) AS value FROM {$table} t ";
            $query .= "LEFT OUTER JOIN s_table_language_var stlv ON \n\t\t\t\tstlv.language = '{$language}' AND stlv.tablename = '{$table}' AND stlv.columnname = '{$column}' ";
            for ($i = 1; $i <= count($tableconf_r['key']); $i++) {
                $query .= "AND stlv.key{$i} = t." . $tableconf_r['key'][$i - 1];
            }
            $query .= " WHERE ";
            for ($i = 1; $i <= count($tableconf_r['key']); $i++) {
                if ($i > 1) {
                    $query .= " AND ";
                }
                $query .= " t." . $tableconf_r['key'][$i - 1] . " = ";
                if ($i == 1) {
                    $query .= "'" . addslashes($key1) . "'";
                } else {
                    if ($i == 2) {
                        $query .= "'" . addslashes($key2) . "'";
                    } else {
                        if ($i == 3) {
                            $query .= "'" . addslashes($key3) . "'";
                        }
                    }
                }
            }
        } else {
            $query = "SELECT value FROM s_table_language_var \n\t\t\t\t\tWHERE language = '{$language}' AND tablename = '{$table}' AND columnname = '{$column}' ";
            for ($i = 1; $i <= count($tableconf_r['key']); $i++) {
                $query .= "AND " . $tableconf_r['key'][$i - 1] . " = ";
                if ($i == 1) {
                    $query .= "'" . addslashes($key1) . "'";
                } else {
                    if ($i == 2) {
                        $query .= "'" . addslashes($key2) . "'";
                    } else {
                        if ($i == 3) {
                            $query .= "'" . addslashes($key3) . "'";
                        }
                    }
                }
            }
        }
        $result = db_query($query);
        if ($result && db_num_rows($result) > 0) {
            $record_r = db_fetch_assoc($result);
            db_free_result($result);
            return $record_r['value'];
        }
    }
    //else
    return FALSE;
}