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; }
/** 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; }
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; }