00001 <?php
00002
00003
00004
00005
00009 require_once('./libraries/grab_globals.lib.php');
00010 $js_to_run = 'tbl_change.js';
00011 require_once('./header.inc.php');
00012 require_once('./libraries/relation.lib.php');
00013
00014
00018 if (!empty($disp_message)) {
00019 if (isset($goto)) {
00020 $goto_cpy = $goto;
00021 $goto = 'tbl_properties.php?'
00022 . PMA_generate_common_url($db, $table)
00023 . '&$show_query=1'
00024 . '&sql_query=' . (isset($disp_query) ? urlencode($disp_query) : '');
00025 } else {
00026 $show_query = '1';
00027 }
00028 if (isset($sql_query)) {
00029 $sql_query_cpy = $sql_query;
00030 unset($sql_query);
00031 }
00032 if (isset($disp_query)) {
00033 $sql_query = $disp_query;
00034 }
00035 PMA_showMessage($disp_message);
00036 if (isset($goto_cpy)) {
00037 $goto = $goto_cpy;
00038 unset($goto_cpy);
00039 }
00040 if (isset($sql_query_cpy)) {
00041 $sql_query = $sql_query_cpy;
00042 unset($sql_query_cpy);
00043 }
00044 }
00045
00046
00050 if (!isset($goto)) {
00051 $goto = 'db_details.php';
00052 }
00053 if (!preg_match('@^(db_details|tbl_properties|tbl_select)@', $goto)) {
00054 $err_url = $goto . "?" . PMA_generate_common_url($db) . "&sql_query=" . urlencode($sql_query);
00055 } else {
00056 $err_url = $goto . '?'
00057 . PMA_generate_common_url($db)
00058 . ((preg_match('@^(tbl_properties|tbl_select)@', $goto)) ? '&table=' . urlencode($table) : '');
00059 }
00060
00061
00065 require('./libraries/db_table_exists.lib.php');
00066
00067
00071 $url_query = PMA_generate_common_url($db, $table)
00072 . '&goto=tbl_properties.php';
00073
00074 require('./tbl_properties_table_info.php');
00075 echo '<br />';
00076
00077
00081 PMA_mysql_select_db($db);
00082 $table_def = PMA_mysql_query('SHOW FIELDS FROM ' . PMA_backquote($table));
00083 if (isset($primary_key)) {
00084 if (is_array($primary_key)) {
00085 $primary_key_array = $primary_key;
00086 } else {
00087 $primary_key_array = array(0 => $primary_key);
00088 }
00089
00090 $row = array();
00091 $result = array();
00092 foreach($primary_key_array AS $rowcount => $primary_key) {
00093 $local_query = 'SELECT * FROM ' . PMA_backquote($table) . ' WHERE ' . $primary_key;
00094 $result[$rowcount] = PMA_mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $err_url);
00095 $row[$rowcount] = PMA_mysql_fetch_array($result[$rowcount]);
00096 $primary_keys[$rowcount] = $primary_key;
00097
00098
00099 if (!$row[$rowcount]) {
00100 unset($row[$rowcount]);
00101 unset($primary_key_array[$rowcount]);
00102 $goto_cpy = $goto;
00103 $goto = 'tbl_properties.php?'
00104 . PMA_generate_common_url($db, $table)
00105 . '&$show_query=1'
00106 . '&sql_query=' . urlencode($local_query);
00107 if (isset($sql_query)) {
00108 $sql_query_cpy = $sql_query;
00109 unset($sql_query);
00110 }
00111 $sql_query = $local_query;
00112 PMA_showMessage($strEmptyResultSet);
00113 $goto = $goto_cpy;
00114 unset($goto_cpy);
00115 if (isset($sql_query_cpy)) {
00116 $sql_query = $sql_query_cpy;
00117 unset($sql_query_cpy);
00118 }
00119 }
00120 }
00121 } else {
00122 $local_query = 'SELECT * FROM ' . PMA_backquote($table) . ' LIMIT 1';
00123 $result = PMA_mysql_query($local_query) or PMA_mysqlDie('', $local_query, '', $err_url);
00124 unset($row);
00125 }
00126
00127
00128
00129 $cfgRelation = PMA_getRelationsParam();
00130 $foreigners = ($cfgRelation['relwork'] ? PMA_getForeigners($db, $table) : FALSE);
00131
00132
00136
00137
00138 $chg_evt_handler = (PMA_USR_BROWSER_AGENT == 'IE' && PMA_USR_BROWSER_VER >= 5)
00139 ? 'onpropertychange'
00140 : 'onchange';
00141
00142
00143 ?>
00144
00145 <?php if ($cfg['CtrlArrowsMoving']) { ?>
00146 <!-- Set on key handler for moving using by Ctrl+arrows -->
00147 <script type="text/javascript" language="javascript">
00148 <!--
00149 document.onkeydown = onKeyDownArrowsHandler;
00150
00151 </script>
00152 <?php } ?>
00153
00154 <!-- Change table properties form -->
00155 <form method="post" action="tbl_replace.php" name="insertForm" <?php if ($is_upload) echo ' enctype="multipart/form-data"'; ?>>
00156 <?php echo PMA_generate_common_hidden_inputs($db, $table); ?>
00157 <input type="hidden" name="goto" value="<?php echo $goto; ?>" />
00158 <input type="hidden" name="pos" value="<?php echo isset($pos) ? $pos : 0; ?>" />
00159 <input type="hidden" name="session_max_rows" value="<?php echo isset($session_max_rows) ? $session_max_rows : ''; ?>" />
00160 <input type="hidden" name="disp_direction" value="<?php echo isset($disp_direction) ? $disp_direction : ''; ?>" />
00161 <input type="hidden" name="repeat_cells" value="<?php echo isset($repeat_cells) ? $repeat_cells : ''; ?>" />
00162 <input type="hidden" name="dontlimitchars" value="<?php echo (isset($dontlimitchars) ? $dontlimitchars : 0); ?>" />
00163 <input type="hidden" name="err_url" value="<?php echo urlencode($err_url); ?>" />
00164 <input type="hidden" name="sql_query" value="<?php echo isset($sql_query) ? urlencode($sql_query) : ''; ?>" />
00165 <?php
00166 if (isset($primary_key_array)) {
00167 foreach($primary_key_array AS $primary_key) {
00168 ?>
00169 <input type="hidden" name="primary_key[]" value="<?php echo urlencode($primary_key); ?>" />
00170 <?php
00171 }
00172 }
00173 echo "\n";
00174
00175 if ($cfg['PropertiesIconic'] == true) {
00176
00177 $propicon = (string)$cfg['PropertiesIconic'];
00178
00179 if ($propicon == 'both') {
00180 $iconic_spacer = '<nobr>';
00181 } else {
00182 $iconic_spacer = '';
00183 }
00184
00185 $titles['Browse'] = $iconic_spacer . '<img width="12" height="13" src="images/button_browse.png" alt="' . $strBrowseForeignValues . '" title="' . $strBrowseForeignValues . '" border="0" />';
00186
00187 if ($propicon == 'both') {
00188 $titles['Browse'] .= ' ' . $strBrowseForeignValues . '</nobr>';
00189 }
00190 } else {
00191 $titles['Browse'] = $strBrowseForeignValues;
00192 }
00193
00194
00195 $timestamp_seen = 0;
00196 $fields_cnt = mysql_num_rows($table_def);
00197
00198
00199
00200 $insert_mode = (!isset($row) ? TRUE : FALSE);
00201 $loop_array = (isset($row) ? $row : array(0 => FALSE));
00202
00203 while ($trow = PMA_mysql_fetch_array($table_def)) {
00204 $trow_table_def[] = $trow;
00205 }
00206
00207 $o_rows = 0;
00208 foreach($loop_array AS $vrowcount => $vrow) {
00209 if ($vrow === FALSE) {
00210 unset($vrow);
00211 }
00212
00213 $vresult = (isset($result) && is_array($result) && isset($result[$vrowcount]) ? $result[$vrowcount] : $result);
00214 ?>
00215 <table border="<?php echo $cfg['Border']; ?>">
00216 <tr>
00217 <th><?php echo $strField; ?></th>
00218 <th><?php echo $strType; ?></th>
00219 <?php
00220 if ($cfg['ShowFunctionFields']) {
00221 echo ' <th>' . $strFunction . '</th>' . "\n";
00222 }
00223 ?>
00224 <th><?php echo $strNull; ?></th>
00225 <th><?php echo $strValue; ?></th>
00226 </tr>
00227 <?php
00228
00229 if ($insert_mode) {
00230 $vkey = '';
00231 $browse_foreigners_uri = '';
00232 } else {
00233 $vkey = '[multi_edit][' . urlencode($primary_keys[$vrowcount]) . ']';
00234 $browse_foreigners_uri = '&pk=' . urlencode($primary_keys[$vrowcount]);
00235 }
00236
00237
00238 $timestamp_seen = 0;
00239 unset($first_timestamp);
00240
00241
00242 $m_rows = $o_rows + 1;
00243
00244 for ($i = 0; $i < $fields_cnt; $i++) {
00245
00246
00247
00248
00249 if ((($i % 15) == 0) && ($i != 0)) {
00250 ?>
00251 <tr>
00252 <th colspan="5" align="right">
00253 <input type="submit" value="<?php echo $strGo; ?>" />
00254 </th>
00255 </tr>
00256 <?php
00257 }
00258 echo "\n";
00259
00260 $row_table_def = $trow_table_def[$i];
00261 $row_table_def['True_Type'] = preg_replace('@\(.*@s', '', $row_table_def['Type']);
00262
00263 $field = $row_table_def['Field'];
00264
00265
00266
00267
00268 if (is_numeric($field)) {
00269 $rowfield = $i;
00270 } else {
00271 $rowfield = $field;
00272 }
00273
00274
00275
00276
00277
00278
00279
00280
00281 if ($row_table_def['Type'] == 'datetime'
00282 && (!isset($row_table_def['Default']))) {
00283
00284 if ($insert_mode) {
00285 if (isset($vrow)) {
00286 $vrow[$rowfield] = date('Y-m-d H:i:s', time());
00287 } else {
00288 $vrow = array($rowfield => date('Y-m-d H:i:s', time()));
00289 }
00290 }
00291
00292 else if (empty($vrow[$rowfield]) && is_null($vrow[$rowfield])) {
00293 $vrow[$rowfield] = date('Y-m-d H:i:s', time());
00294 }
00295 }
00296 $len = (preg_match('@float|double@', $row_table_def['Type']))
00297 ? 100
00298 : @mysql_field_len($vresult, $i);
00299 $first_timestamp = 0;
00300
00301 $bgcolor = ($i % 2) ? $cfg['BgcolorOne'] : $cfg['BgcolorTwo'];
00302 ?>
00303 <tr>
00304 <td <?php echo ($cfg['LongtextDoubleTextarea'] && strstr($row_table_def['True_Type'], 'longtext') ? 'rowspan="2"' : ''); ?> align="center" bgcolor="<?php echo $bgcolor; ?>"><?php echo htmlspecialchars($field); ?></td>
00305 <?php
00306 echo "\n";
00307
00308
00309 $is_binary = stristr($row_table_def['Type'], ' binary');
00310 $is_blob = stristr($row_table_def['Type'], 'blob');
00311 $is_char = stristr($row_table_def['Type'], 'char');
00312 switch ($row_table_def['True_Type']) {
00313 case 'set':
00314 $type = 'set';
00315 $type_nowrap = '';
00316 break;
00317 case 'enum':
00318 $type = 'enum';
00319 $type_nowrap = '';
00320 break;
00321 case 'timestamp':
00322 if (!$timestamp_seen) {
00323 $timestamp_seen = 1;
00324 $first_timestamp = 1;
00325 }
00326 $type = $row_table_def['Type'];
00327 $type_nowrap = ' nowrap="nowrap"';
00328 break;
00329
00330 default:
00331 $type = $row_table_def['Type'];
00332 $type_nowrap = ' nowrap="nowrap"';
00333 break;
00334 }
00335 ?>
00336 <td align="center" bgcolor="<?php echo $bgcolor; ?>"<?php echo $type_nowrap; ?>>
00337 <?php echo $type; ?>
00338 </td>
00339 <?php
00340 echo "\n";
00341
00342
00343 $real_null_value = FALSE;
00344 if (isset($vrow)) {
00345 if (!isset($vrow[$rowfield])
00346 || (function_exists('is_null') && is_null($vrow[$rowfield]))) {
00347 $real_null_value = TRUE;
00348 $vrow[$rowfield] = '';
00349 $special_chars = '';
00350 $data = $vrow[$rowfield];
00351 } else {
00352
00353 if ($is_binary || $is_blob) {
00354 $vrow[$rowfield] = str_replace("\x00", '\0', $vrow[$rowfield]);
00355 $vrow[$rowfield] = str_replace("\x08", '\b', $vrow[$rowfield]);
00356 $vrow[$rowfield] = str_replace("\x0a", '\n', $vrow[$rowfield]);
00357 $vrow[$rowfield] = str_replace("\x0d", '\r', $vrow[$rowfield]);
00358 $vrow[$rowfield] = str_replace("\x1a", '\Z', $vrow[$rowfield]);
00359 }
00360 $special_chars = htmlspecialchars($vrow[$rowfield]);
00361 $data = $vrow[$rowfield];
00362 }
00363
00364
00365 $backup_field = ($row_table_def['True_Type'] == 'timestamp')
00366 ? ''
00367 : '<input type="hidden" name="fields_prev' . $vkey . '[' . urlencode($field) . ']" value="' . urlencode($vrow[$rowfield]) . '" />';
00368 } else {
00369
00370 if (!isset($row_table_def['Default'])) {
00371 $row_table_def['Default'] = '';
00372 $real_null_value = TRUE;
00373 $data = '';
00374
00375 } else {
00376 $data = $row_table_def['Default'];
00377 }
00378 $special_chars = htmlspecialchars($row_table_def['Default']);
00379 $backup_field = '';
00380 }
00381
00382
00383
00384
00385
00386
00387
00388
00389 if ($cfg['ShowFunctionFields']) {
00390 if (($cfg['ProtectBinary'] && $is_blob)
00391 || ($cfg['ProtectBinary'] == 'all' && $is_binary)) {
00392 echo ' <td align="center" bgcolor="'. $bgcolor . '">' . $strBinary . '</td>' . "\n";
00393 } else if (strstr($row_table_def['True_Type'], 'enum') || strstr($row_table_def['True_Type'], 'set')) {
00394 echo ' <td align="center" bgcolor="'. $bgcolor . '">--</td>' . "\n";
00395 } else {
00396 ?>
00397 <td bgcolor="<?php echo $bgcolor; ?>">
00398 <select name="funcs<?php echo $vkey; ?>[<?php echo urlencode($field); ?>]" <?php echo $chg_evt_handler; ?>="return unNullify('<?php echo urlencode($field); ?>', '<?php echo $vkey; ?>')" tabindex="<?php echo ($fields_cnt + ($i * $m_rows) + 1); ?>" id="field_<?php echo $i * $m_rows; ?>_1">
00399 <option></option>
00400 <?php
00401 echo "\n";
00402 $selected = '';
00403
00404
00405
00406
00407 if (isset($cfg['RestrictFunctions']) && isset($cfg['RestrictColumnTypes']) && isset($cfg['RestrictColumnTypes'][strtoupper($row_table_def['True_Type'])]) && isset($cfg['RestrictFunctions'][$cfg['RestrictColumnTypes'][strtoupper($row_table_def['True_Type'])]])) {
00408 $current_func_type = $cfg['RestrictColumnTypes'][strtoupper($row_table_def['True_Type'])];
00409 $dropdown = $cfg['RestrictFunctions'][$current_func_type];
00410 $default_function = $cfg['DefaultFunctions'][$current_func_type];
00411 } else {
00412 $dropdown = array();
00413 }
00414
00415 $dropdown_built = array();
00416 $op_spacing_needed = FALSE;
00417
00418
00419 $cnt_dropdown = count($dropdown);
00420 for ($j = 0; $j < $cnt_dropdown; $j++) {
00421
00422 $selected = ($first_timestamp && $dropdown[$j] == $cfg['DefaultFunctions']['first_timestamp'])
00423 || (!$first_timestamp && $dropdown[$j] == $default_function)
00424 ? ' selected="selected"'
00425 : '';
00426 echo ' ';
00427 echo '<option' . $selected . '>' . $dropdown[$j] . '</option>' . "\n";
00428 $dropdown_built[$dropdown[$j]] = 'TRUE';
00429 $op_spacing_needed = TRUE;
00430 }
00431
00432
00433
00434
00435 $cnt_functions = count($cfg['Functions']);
00436 for ($j = 0; $j < $cnt_functions; $j++) {
00437 if (!isset($dropdown_built[$cfg['Functions'][$j]]) || $dropdown_built[$cfg['Functions'][$j]] != 'TRUE') {
00438
00439 $selected = ($first_timestamp && $cfg['Functions'][$j] == $cfg['DefaultFunctions']['first_timestamp'])
00440 || (!$first_timestamp && $cfg['Functions'][$j] == $default_function)
00441 ? ' selected="selected"'
00442 : '';
00443 if ($op_spacing_needed == TRUE) {
00444 echo ' ';
00445 echo '<option value="">--------</option>' . "\n";
00446 $op_spacing_needed = FALSE;
00447 }
00448
00449 echo ' ';
00450 echo '<option' . $selected . '>' . $cfg['Functions'][$j] . '</option>' . "\n";
00451 }
00452 }
00453 unset($selected);
00454 ?>
00455 </select>
00456 </td>
00457 <?php
00458 }
00459 }
00460 echo "\n";
00461
00462
00463
00464 echo ' <td bgcolor="' . $bgcolor . '">' . "\n";
00465 if (!(($cfg['ProtectBinary'] && $is_blob) || ($cfg['ProtectBinary'] == 'all' && $is_binary))
00466 && $row_table_def['Null'] == 'YES') {
00467 echo ' <input type="checkbox" tabindex="' . ((2 * $fields_cnt) + ($i * $m_rows) + 1) . '"'
00468 . ' name="fields_null' . $vkey . '[' . urlencode($field) . ']"';
00469
00470 if ($real_null_value && !$first_timestamp) {
00471 echo ' checked="checked"';
00472 }
00473 echo ' id="field_' . ($i * $m_rows) . '_2"';
00474 $onclick = ' onclick="if (this.checked) {nullify(';
00475 if (strstr($row_table_def['True_Type'], 'enum')) {
00476 if (strlen($row_table_def['Type']) > 20) {
00477 $onclick .= '1, ';
00478 } else {
00479 $onclick .= '2, ';
00480 }
00481 } else if (strstr($row_table_def['True_Type'], 'set')) {
00482 $onclick .= '3, ';
00483 } else if ($foreigners && isset($foreigners[$field])) {
00484 $onclick .= '4, ';
00485 } else {
00486 $onclick .= '5, ';
00487 }
00488 $onclick .= '\'' . urlencode($field) . '\', \'' . md5($field) . '\', \'' . $vkey . '\'); this.checked = true}; return true" />' . "\n";
00489 echo $onclick;
00490 } else {
00491 echo ' ' . "\n";
00492 }
00493 echo ' </td>' . "\n";
00494
00495
00496
00497
00498 require('./libraries/get_foreign.lib.php');
00499
00500 if (isset($foreign_link) && $foreign_link == true) {
00501 ?>
00502 <td bgcolor="<?php echo $bgcolor; ?>">
00503 <?php echo $backup_field . "\n"; ?>
00504 <input type="hidden" name="fields_type<?php echo $vkey; ?>[<?php echo urlencode($field); ?>]" value="foreign" />
00505 <input type="hidden" name="fields<?php echo $vkey; ?>[<?php echo urlencode($field); ?>]" value="" id="field_<?php echo ($i * $m_rows); ?>_1" />
00506 <input type="text" name="field_<?php echo md5($field); ?><?php echo $vkey; ?>[]" class="textfield" <?php echo $chg_evt_handler; ?>="return unNullify('<?php echo urlencode($field); ?>', '<?php echo $vkey; ?>')" tabindex="<?php echo (($i * $m_rows) + 1); ?>" id="field_<?php echo ($i * $mrows); ?>_3" value="<?php echo htmlspecialchars($data); ?>" />
00507 <script type="text/javascript" language="javascript">
00508 document.writeln('<a target="_blank" onclick="window.open(this.href, \'foreigners\', \'width=640,height=240,scrollbars=yes,resizable=yes\'); return false" href="browse_foreigners.php?<?php echo PMA_generate_common_url($db, $table); ?>&field=<?php echo urlencode($field) . $browse_foreigners_uri; ?>"><?php echo str_replace("'", "\'", $titles['Browse']); ?></a>');
00509 </script>
00510 </td>
00511 <?php
00512 } else if (isset($disp) && $disp) {
00513 ?>
00514 <td bgcolor="<?php echo $bgcolor; ?>">
00515 <?php echo $backup_field . "\n"; ?>
00516 <input type="hidden" name="fields_type<?php echo $vkey; ?>[<?php echo urlencode($field); ?>]" value="foreign" />
00517 <input type="hidden" name="fields<?php echo $vkey; ?>[<?php echo urlencode($field); ?>]" value="" id="field_<?php echo $i; ?>_1" />
00518 <select name="field_<?php echo md5($field); ?><?php echo $vkey; ?>[]" <?php echo $chg_evt_handler; ?>="return unNullify('<?php echo urlencode($field); ?>', '<?php echo $vkey; ?>')" tabindex="<?php echo (($i * $m_rows) + 1); ?>" id="field_<?php echo ($i * $m_rows); ?>_3">
00519 <?php echo PMA_foreignDropdown($disp, $foreign_field, $foreign_display, $data, 100); ?>
00520 </select>
00521 </td>
00522 <?php
00523 unset($disp);
00524 }
00525 else if ($cfg['LongtextDoubleTextarea'] && strstr($type, 'longtext')) {
00526 ?>
00527 <td bgcolor="<?php echo $bgcolor; ?>"> </td>
00528 </tr>
00529 <tr>
00530 <td colspan="4" align="right" bgcolor="<?php echo $bgcolor; ?>">
00531 <?php echo $backup_field . "\n"; ?>
00532 <textarea name="fields<?php echo $vkey; ?>[<?php echo urlencode($field); ?>]" rows="<?php echo ($cfg['TextareaRows']*2); ?>" cols="<?php echo ($cfg['TextareaCols']*2); ?>" wrap="virtual" dir="<?php echo $text_dir; ?>" id="field_<?php echo ($i * $m_rows); ?>_3"
00533 <?php echo $chg_evt_handler; ?>="return unNullify('<?php echo urlencode($field); ?>', '<?php echo $vkey; ?>')" tabindex="<?php echo (($i * $m_rows) + 1); ?>"><?php echo $special_chars; ?></textarea>
00534 </td>
00535 <?php
00536 }
00537 else if (strstr($type, 'text')) {
00538 ?>
00539 <td bgcolor="<?php echo $bgcolor; ?>">
00540 <?php echo $backup_field . "\n"; ?>
00541 <textarea name="fields<?php echo $vkey; ?>[<?php echo urlencode($field); ?>]" rows="<?php echo $cfg['TextareaRows']; ?>" cols="<?php echo $cfg['TextareaCols']; ?>" wrap="virtual" dir="<?php echo $text_dir; ?>" id="field_<?php echo ($i * $m_rows); ?>_3"
00542 <?php echo $chg_evt_handler; ?>="return unNullify('<?php echo urlencode($field); ?>', '<?php echo $vkey; ?>')" tabindex="<?php echo (($i * $m_rows) + 1); ?>"><?php echo $special_chars; ?></textarea>
00543 </td>
00544 <?php
00545 echo "\n";
00546 if (strlen($special_chars) > 32000) {
00547 echo ' <td bgcolor="' . $bgcolor . '">' . $strTextAreaLength . '</td>' . "\n";
00548 }
00549 }
00550 else if ($type == 'enum') {
00551 $enum = PMA_getEnumSetOptions($row_table_def['Type']);
00552 $enum_cnt = count($enum);
00553 ?>
00554 <td bgcolor="<?php echo $bgcolor; ?>">
00555 <input type="hidden" name="fields_type<?php echo $vkey; ?>[<?php echo urlencode($field); ?>]" value="enum" />
00556 <input type="hidden" name="fields<?php echo $vkey; ?>[<?php echo urlencode($field); ?>]" value="" />
00557 <?php
00558 echo "\n" . ' ' . $backup_field;
00559
00560
00561 if (strlen($row_table_def['Type']) > 20) {
00562 echo "\n";
00563 ?>
00564 <select name="field_<?php echo md5($field); ?><?php echo $vkey; ?>[]" <?php echo $chg_evt_handler; ?>="return unNullify('<?php echo urlencode($field); ?>', '<?php echo $vkey; ?>')" tabindex="<?php echo (($i * $m_rows) + 1); ?>" id="field_<?php echo ($i * $m_rows); ?>_3">
00565 <option value=""></option>
00566 <?php
00567 echo "\n";
00568
00569 for ($j = 0; $j < $enum_cnt; $j++) {
00570
00571 $enum_atom = str_replace('\'\'', '\'', str_replace('\\\\', '\\', $enum[$j]));
00572 echo ' ';
00573 echo '<option value="' . htmlspecialchars($enum_atom) . '"';
00574 if ($data == $enum_atom
00575 || ($data == '' && (!isset($primary_key) || $row_table_def['Null'] != 'YES')
00576 && isset($row_table_def['Default']) && $enum_atom == $row_table_def['Default'])) {
00577 echo ' selected="selected"';
00578 }
00579 echo '>' . htmlspecialchars($enum_atom) . '</option>' . "\n";
00580 }
00581
00582 ?>
00583 </select>
00584 <?php
00585 }
00586 else {
00587 echo "\n";
00588 for ($j = 0; $j < $enum_cnt; $j++) {
00589
00590 $enum_atom = str_replace('\'\'', '\'', str_replace('\\\\', '\\', $enum[$j]));
00591 echo ' ';
00592 echo '<input type="radio" name="field_' . md5($field) . $vkey . '[]" value="' . urlencode($enum_atom) . '" id="field_' . ($i*$m_rows) . '_3_' . $j . '" onclick="if (typeof(document.forms[\'insertForm\'].elements[\'fields_null' . str_replace('"', '\"', $vkey) . '[' . urlencode($field) . ']\']) != \'undefined\') {document.forms[\'insertForm\'].elements[\'fields_null' . str_replace('"', '\"', $vkey) . '[' . urlencode($field) .']\'].checked = false}"';
00593 if ($data == $enum_atom
00594 || ($data == '' && (!isset($primary_key) || $row_table_def['Null'] != 'YES')
00595 && isset($row_table_def['Default']) && $enum_atom == $row_table_def['Default'])) {
00596 echo ' checked="checked"';
00597 }
00598 echo 'tabindex="' . (($i * $m_rows) + 1) . '" />' . "\n";
00599 echo ' <label for="field_' . ($i * $m_rows) . '_3_' . $j . '">' . htmlspecialchars($enum_atom) . '</label>' . "\n";
00600 } // end for
00601
00602 } // end else
00603 echo "\n";
00604 ?>
00605 </td>
00606 <?php
00607 echo "\n";
00608 }
00609 else if ($type == 'set') {
00610 $set = PMA_getEnumSetOptions($row_table_def['Type']);
00611
00612 if (isset($vset)) {
00613 unset($vset);
00614 }
00615 for ($vals = explode(',', $data); list($t, $k) = each($vals);) {
00616 $vset[$k] = 1;
00617 }
00618 $countset = count($set);
00619 $size = min(4, $countset);
00620 ?>
00621 <td bgcolor="<?php echo $bgcolor; ?>">
00622 <?php echo $backup_field . "\n"; ?>
00623 <input type="hidden" name="fields_type<?php echo $vkey; ?>[<?php echo urlencode($field); ?>]" value="set" />
00624 <input type="hidden" name="fields<?php echo $vkey; ?>[<?php echo urlencode($field); ?>]" value="" />
00625 <select name="field_<?php echo md5($field); ?><?php echo $vkey; ?>[]" size="<?php echo $size; ?>" multiple="multiple" <?php echo $chg_evt_handler; ?>="return unNullify('<?php echo urlencode($field); ?>', '<?php echo $vkey; ?>')" tabindex="<?php echo (($i * $m_rows) + 1); ?>" id="field_<?php echo ($i * $m_rows); ?>_3">
00626 <?php
00627 echo "\n";
00628 for ($j = 0; $j < $countset; $j++) {
00629 echo ' ';
00630 echo '<option value="'. htmlspecialchars($set[$j]) . '"';
00631 if (isset($vset[$set[$j]]) && $vset[$set[$j]]) {
00632 echo ' selected="selected"';
00633 }
00634 echo '>' . htmlspecialchars($set[$j]) . '</option>' . "\n";
00635 }
00636 ?>
00637 </select>
00638 </td>
00639 <?php
00640 }
00641
00642
00643 else if ($is_binary || $is_blob) {
00644 if (($cfg['ProtectBinary'] && $is_blob)
00645 || ($cfg['ProtectBinary'] == 'all' && $is_binary)) {
00646 echo "\n";
00647 ?>
00648 <td bgcolor="<?php echo $bgcolor; ?>">
00649 <?php
00650 echo $strBinaryDoNotEdit;
00651 if (isset($data)) {
00652 $data_size = PMA_formatByteDown(strlen(stripslashes($data)), 3, 1);
00653 echo ' ('. $data_size [0] . ' ' . $data_size[1] . ')';
00654 unset($data_size);
00655 }
00656 echo "\n";
00657 ?>
00658 <input type="hidden" name="fields_type<?php echo $vkey; ?>[<?php echo urlencode($field); ?>]" value="protected" />
00659 <input type="hidden" name="fields<?php echo $vkey; ?>[<?php echo urlencode($field); ?>]" value="" />
00660 <?php
00661 } else if ($is_blob) {
00662 echo "\n";
00663 ?>
00664 <td bgcolor="<?php echo $bgcolor; ?>">
00665 <?php echo $backup_field . "\n"; ?>
00666 <textarea name="fields<?php echo $vkey; ?>[<?php echo urlencode($field); ?>]" rows="<?php echo $cfg['TextareaRows']; ?>" cols="<?php echo $cfg['TextareaCols']; ?>" wrap="virtual" dir="<?php echo $text_dir; ?>" id="field_<?php echo ($i*$m_rows); ?>_3"
00667 <?php echo $chg_evt_handler; ?>="return unNullify('<?php echo urlencode($field); ?>', '<?php echo $vkey; ?>')" tabindex="<?php echo (($i * $m_rows) + 1); ?>" ><?php echo $special_chars; ?></textarea>
00668 <?php
00669
00670 } else {
00671 if ($len < 4) {
00672 $fieldsize = $maxlength = 4;
00673 } else {
00674 $fieldsize = (($len > 40) ? 40 : $len);
00675 $maxlength = $len;
00676 }
00677 echo "\n";
00678 ?>
00679 <td bgcolor="<?php echo $bgcolor; ?>">
00680 <?php echo $backup_field . "\n"; ?>
00681 <input type="text" name="fields<?php echo $vkey; ?>[<?php echo urlencode($field); ?>]" value="<?php echo $special_chars; ?>" size="<?php echo $fieldsize; ?>" maxlength="<?php echo $maxlength; ?>" class="textfield" <?php echo $chg_evt_handler; ?>="return unNullify('<?php echo urlencode($field); ?>', '<?php echo $vkey; ?>')" tabindex="<?php echo (($i * $m_rows) + 1); ?>" id="field_<?php echo ($i * $m_rows); ?>_3" />
00682 <?php
00683 }
00684
00685
00686
00687
00688
00689 if ($is_upload && $is_blob) {
00690 echo '<input type="file" name="fields_upload_' . urlencode($field) . $vkey . '" class="textfield" id="field_' . ($i * $m_rows) . '_3" size="10" /> ';
00691
00692
00693 $max_field_sizes = array(
00694 'tinyblob' => '256',
00695 'blob' => '65536',
00696 'mediumblob' => '16777216',
00697 'longblob' => '4294967296');
00698
00699 $this_field_max_size = $max_upload_size;
00700 if ($this_field_max_size > $max_field_sizes[$type]) {
00701 $this_field_max_size = $max_field_sizes[$type];
00702 }
00703 echo PMA_displayMaximumUploadSize($this_field_max_size) . "\n";
00704 echo ' ' . PMA_generateHiddenMaxFileSize($this_field_max_size) . "\n";
00705 }
00706
00707 if (!empty($cfg['UploadDir'])) {
00708 if (substr($cfg['UploadDir'], -1) != '/') {
00709 $cfg['UploadDir'] .= '/';
00710 }
00711 if ($handle = @opendir($cfg['UploadDir'])) {
00712 $is_first = 0;
00713 while ($file = @readdir($handle)) {
00714 if (is_file($cfg['UploadDir'] . $file) && !PMA_checkFileExtensions($file, '.sql')) {
00715 if ($is_first == 0) {
00716 echo "<br />\n";
00717 echo ' <i>' . $strOr . '</i>' . ' ' . $strWebServerUploadDirectory . ' :<br />' . "\n";
00718 echo ' <select size="1" name="fields_uploadlocal_' . urlencode($field) . $vkey . '">' . "\n";
00719 echo ' <option value="" selected="selected"></option>' . "\n";
00720 }
00721 echo ' <option value="' . htmlspecialchars($file) . '">' . htmlspecialchars($file) . '</option>' . "\n";
00722 $is_first++;
00723 }
00724 }
00725 if ($is_first > 0) {
00726 echo ' </select>' . "\n";
00727 }
00728 @closedir($handle);
00729 } else {
00730 echo ' <font color="red">' . $strError . '</font><br />' . "\n";
00731 echo ' ' . $strWebServerUploadDirectoryError . "\n";
00732 }
00733 }
00734
00735 echo '</td>';
00736
00737 }
00738 else {
00739
00740
00741
00742
00743 if ($is_char) {
00744 $fieldsize = (($len > 40) ? 40 : $len);
00745 $maxlength = $len;
00746 }
00747 else {
00748 $fieldsize = $maxlength = 20;
00749 }
00750 echo "\n";
00751 ?>
00752 <td bgcolor="<?php echo $bgcolor; ?>">
00753 <?php echo $backup_field . "\n"; ?>
00754 <?php
00755 if ($is_char && isset($cfg['CharEditing']) && ($cfg['CharEditing'] == 'textarea')) {
00756 echo "\n";
00757 ?>
00758 <textarea name="fields<?php echo $vkey; ?>[<?php echo urlencode($field); ?>]" rows="<?php echo $cfg['CharTextareaRows']; ?>" cols="<?php echo $cfg['CharTextareaCols']; ?>" wrap="virtual" dir="<?php echo $text_dir; ?>" id="field_<?php echo ($i * $m_rows); ?>_3"
00759 <?php echo $chg_evt_handler; ?>="return unNullify('<?php echo urlencode($field); ?>', '<?php echo $vkey; ?>')" tabindex="<?php echo (($i * $m_rows) + 1); ?>" ><?php echo $special_chars; ?></textarea>
00760 <?php
00761 } else {
00762 echo "\n";
00763 ?>
00764 <input type="text" name="fields<?php echo $vkey; ?>[<?php echo urlencode($field); ?>]" value="<?php echo $special_chars; ?>" size="<?php echo $fieldsize; ?>" maxlength="<?php echo $maxlength; ?>" class="textfield" <?php echo $chg_evt_handler; ?>="return unNullify('<?php echo urlencode($field); ?>', '<?php echo $vkey; ?>')" tabindex="<?php echo (($i * $m_rows) + 1); ?>" id="field_<?php echo ($i * $m_rows); ?>_3" />
00765 <?php
00766 }
00767 echo "\n";
00768 ?>
00769 </td>
00770 <?php
00771 }
00772 echo "\n";
00773 ?>
00774 </tr>
00775 <?php
00776 echo "\n";
00777 }
00778 $o_rows++;
00779 echo ' </table><br />';
00780 }
00781 ?>
00782 <br />
00783
00784 <table cellpadding="5">
00785 <tr>
00786 <td valign="middle" nowrap="nowrap">
00787 <?php
00788 if (isset($primary_key)) {
00789 ?>
00790 <input type="radio" name="submit_type" value="<?php echo $strSave; ?>" id="radio_submit_type_save" checked="checked" tabindex="<?php echo ((3 * $fields_cnt) + 1); ?>" /><label for="radio_submit_type_save"><?php echo $strSave; ?></label><br />
00791 <?php echo $strOr; ?><br />
00792 <input type="radio" name="submit_type" value="<?php echo $strInsertAsNewRow; ?>" id="radio_submit_type_insert_as_new_row" tabindex="<?php echo ((3 * $fields_cnt) + 2); ?>" /><label for="radio_submit_type_insert_as_new_row"><?php echo $strInsertAsNewRow; ?></label>
00793 <?php
00794 } else {
00795 echo "\n";
00796 ?>
00797 <input type="hidden" name="submit_type" value="<?php echo $strInsertAsNewRow; ?>" />
00798 <?php
00799 echo ' ' . $strInsertAsNewRow . "\n";
00800 }
00801 echo "\n";
00802
00803
00804
00805
00806 if (!empty($disp_message)) {
00807 $checked_after_insert_new_insert = ' checked="checked"';
00808 $checked_after_insert_back = '';
00809 } else {
00810 $checked_after_insert_back = ' checked="checked"';
00811 $checked_after_insert_new_insert = '';
00812 }
00813 ?>
00814 </td>
00815 <td valign="middle">
00816 <b>-- <?php echo $strAnd; ?> --</b>
00817 </td>
00818 <td valign="middle" nowrap="nowrap">
00819 <input type="radio" name="after_insert" value="back" id="radio_after_insert_back" <?php echo $checked_after_insert_back; ?> tabindex="<?php echo ((3 * $fields_cnt) + 3); ?>" /><label for="radio_after_insert_back"><?php echo $strAfterInsertBack; ?></label><br />
00820 <?php echo $strOr; ?><br />
00821 <input type="radio" name="after_insert" value="new_insert" id="radio_after_insert_new_insert"<?php echo $checked_after_insert_new_insert; ?> tabindex="<?php echo ((3 * $fields_cnt) + 4); ?>" /><label for="radio_after_insert_new_insert"><?php echo $strAfterInsertNewInsert; ?></label>
00822 </td>
00823 </tr>
00824
00825 <tr>
00826 <td colspan="3" align="right" valign="middle">
00827 <input type="submit" value="<?php echo $strGo; ?>" tabindex="<?php echo ((3 * $fields_cnt) + 5); ?>" />
00828 <input type="reset" value="<?php echo $strReset; ?>" tabindex="<?php echo ((3 * $fields_cnt) + 6); ?>" />
00829 </td>
00830 </tr>
00831 </table>
00832
00833 </form>
00834
00835
00836 <?php
00840 echo "\n";
00841 require_once('./footer.inc.php');
00842 ?>