/** * Display the form used to browse anywhere on the local server for a file to import * * @param string $max_upload_size maximum upload size * * @return nothing */ function PMA_browseUploadFile($max_upload_size) { echo '<label for="radio_import_file">' . __("Browse your computer:") . '</label>'; echo '<div id="upload_form_status" style="display: none;"></div>'; echo '<div id="upload_form_status_info" style="display: none;"></div>'; echo '<input type="file" name="import_file" id="input_import_file" />'; echo PMA_displayMaximumUploadSize($max_upload_size) . "\n"; // some browsers should respect this :) echo PMA_generateHiddenMaxFileSize($max_upload_size) . "\n"; }
} echo '<br />'; echo '<input type="file" name="fields_upload_' . $field['Field_md5'] . $vkey . '" class="textfield" id="field_' . $idindex . '_3" size="10" /> '; // find maximum upload size, based on field type /** * @todo with functions this is not so easy, as you can basically * process any data with function like MD5 */ $max_field_sizes = array('tinyblob' => '256', 'blob' => '65536', 'mediumblob' => '16777216', 'longblob' => '4294967296'); // yeah, really $this_field_max_size = $max_upload_size; // from PHP max if ($this_field_max_size > $max_field_sizes[$field['pma_type']]) { $this_field_max_size = $max_field_sizes[$field['pma_type']]; } echo PMA_displayMaximumUploadSize($this_field_max_size) . "\n"; // do not generate here the MAX_FILE_SIZE, because we should // put only one in the form to accommodate the biggest field if ($this_field_max_size > $biggest_max_file_size) { $biggest_max_file_size = $this_field_max_size; } } if (!empty($cfg['UploadDir'])) { $files = PMA_getFileSelectOptions(PMA_userDir($cfg['UploadDir'])); if ($files === FALSE) { echo ' <font color="red">' . $strError . '</font><br />' . "\n"; echo ' ' . $strWebServerUploadDirectoryError . "\n"; } elseif (!empty($files)) { echo "<br />\n"; echo ' <i>' . $strOr . '</i>' . ' ' . $strWebServerUploadDirectory . ':<br />' . "\n"; echo ' <select size="1" name="fields_uploadlocal_' . $field['Field_md5'] . $vkey . '">' . "\n";
/** * prints bookmark fieldset * * @usedby PMA_sqlQueryForm() * @uses $GLOBALS['cfg']['GZipDump'] * @uses $GLOBALS['cfg']['BZipDump'] * @uses $GLOBALS['cfg']['UploadDir'] * @uses $GLOBALS['cfg']['AvailableCharsets'] * @uses $GLOBALS['cfg']['AllowAnywhereRecoding'] * @uses $GLOBALS['strAutodetect'] * @uses $GLOBALS['strBzip'] * @uses $GLOBALS['strCharsetOfFile'] * @uses $GLOBALS['strCompression'] * @uses $GLOBALS['strError'] * @uses $GLOBALS['strGo'] * @uses $GLOBALS['strGzip'] * @uses $GLOBALS['strLocationTextfile'] * @uses $GLOBALS['strWebServerUploadDirectory'] * @uses $GLOBALS['strWebServerUploadDirectoryError'] * @uses $GLOBALS['allow_recoding'] * @uses $GLOBALS['charset'] * @uses $GLOBALS['max_upload_size'] * @uses PMA_supportedDecompressions() * @uses PMA_getFileSelectOptions() * @uses PMA_displayMaximumUploadSize() * @uses PMA_generateCharsetDropdownBox() * @uses PMA_generateHiddenMaxFileSize() * @uses PMA_MYSQL_INT_VERSION * @uses PMA_CSDROPDOWN_CHARSET * @uses empty() */ function PMA_sqlQueryFormUpload() { $errors = array(); $matcher = '@\\.sql(\\.(' . PMA_supportedDecompressions() . '))?$@'; // we allow only SQL here if (!empty($GLOBALS['cfg']['UploadDir'])) { $files = PMA_getFileSelectOptions(PMA_userDir($GLOBALS['cfg']['UploadDir']), $matcher, isset($timeout_passed) && $timeout_passed && isset($local_import_file) ? $local_import_file : ''); } else { $files = ''; } // start output echo '<fieldset id="">'; echo '<legend>'; echo $GLOBALS['strLocationTextfile'] . '</legend>'; echo '<div class="formelement">'; echo '<input type="file" name="sql_file" class="textfield" /> '; echo PMA_displayMaximumUploadSize($GLOBALS['max_upload_size']); // some browsers should respect this :) echo PMA_generateHiddenMaxFileSize($GLOBALS['max_upload_size']) . "\n"; echo '</div>'; if ($files === FALSE) { $errors[$GLOBALS['strError']] = $GLOBALS['strWebServerUploadDirectoryError']; } elseif (!empty($files)) { echo '<div class="formelement">'; echo '<strong>' . $GLOBALS['strWebServerUploadDirectory'] . ':</strong>' . "\n"; echo '<select size="1" name="sql_localfile">' . "\n"; echo '<option value="" selected="selected"></option>' . "\n"; echo $files; echo '</select>' . "\n"; echo '</div>'; } echo '<div class="clearfloat"></div>' . "\n"; echo '</fieldset>'; echo '<fieldset id="" class="tblFooters">'; if (PMA_MYSQL_INT_VERSION < 40100 && $GLOBALS['cfg']['AllowAnywhereRecoding'] && $GLOBALS['allow_recoding']) { echo $GLOBALS['strCharsetOfFile'] . "\n" . '<select name="charset_of_file" size="1">' . "\n"; foreach ($GLOBALS['cfg']['AvailableCharsets'] as $temp_charset) { echo '<option value="' . $temp_charset . '"'; if ($temp_charset == $GLOBALS['charset']) { echo ' selected="selected"'; } echo '>' . $temp_charset . '</option>' . "\n"; } echo '</select>' . "\n"; } elseif (PMA_MYSQL_INT_VERSION >= 40100) { echo $GLOBALS['strCharsetOfFile'] . "\n"; echo PMA_generateCharsetDropdownBox(PMA_CSDROPDOWN_CHARSET, 'charset_of_file', null, 'utf8', FALSE); } // end if (recoding) echo '<input type="submit" name="SQL" value="' . $GLOBALS['strGo'] . '" />' . "\n"; echo '<div class="clearfloat"></div>' . "\n"; echo '</fieldset>'; foreach ($errors as $error => $message) { echo '<div>' . $error . '</div>'; echo '<div>' . $message . '</div>'; } }
/** * prints bookmark fieldset * * @usedby PMA_sqlQueryForm() */ function PMA_sqlQueryFormUpload() { $errors = array(); $matcher = '@\\.sql(\\.(' . PMA_supportedDecompressions() . '))?$@'; // we allow only SQL here if (!empty($GLOBALS['cfg']['UploadDir'])) { $files = PMA_getFileSelectOptions(PMA_userDir($GLOBALS['cfg']['UploadDir']), $matcher, isset($timeout_passed) && $timeout_passed && isset($local_import_file) ? $local_import_file : ''); } else { $files = ''; } // start output echo '<fieldset id="">'; echo '<legend>'; echo __('Browse your computer:') . '</legend>'; echo '<div class="formelement">'; echo '<input type="file" name="sql_file" class="textfield" /> '; echo PMA_displayMaximumUploadSize($GLOBALS['max_upload_size']); // some browsers should respect this :) echo PMA_generateHiddenMaxFileSize($GLOBALS['max_upload_size']) . "\n"; echo '</div>'; if ($files === false) { $errors[] = PMA_Message::error(__('The directory you set for upload work cannot be reached')); } elseif (!empty($files)) { echo '<div class="formelement">'; echo '<strong>' . __('web server upload directory') . ':</strong>' . "\n"; echo '<select size="1" name="sql_localfile">' . "\n"; echo '<option value="" selected="selected"></option>' . "\n"; echo $files; echo '</select>' . "\n"; echo '</div>'; } echo '<div class="clearfloat"></div>' . "\n"; echo '</fieldset>'; echo '<fieldset id="" class="tblFooters">'; echo __('Character set of the file:') . "\n"; echo PMA_generateCharsetDropdownBox(PMA_CSDROPDOWN_CHARSET, 'charset_of_file', null, 'utf8', false); echo '<input type="submit" name="SQL" value="' . __('Go') . '" />' . "\n"; echo '<div class="clearfloat"></div>' . "\n"; echo '</fieldset>'; foreach ($errors as $error) { $error->display(); } }
?> </i> <b><?php echo $strLocationTextfile; ?> :</b> </td> </tr> <tr bgcolor="<?php echo $cfg['BgcolorOne']; ?> "> <td colspan="2" align="center"> <input type="file" name="sql_file" class="textfield" /> <?php echo PMA_displayMaximumUploadSize($max_upload_size) . '<br />'; // some browsers should respect this :) echo ' ' . PMA_generateHiddenMaxFileSize($max_upload_size) . "\n"; $is_gzip = $cfg['GZipDump'] && @function_exists('gzopen'); $is_bzip = $cfg['BZipDump'] && @function_exists('bzdecompress'); if ($is_bzip || $is_gzip) { echo ' </td>' . "\n" . '</tr>' . "\n" . '<tr bgcolor="' . $cfg['BgcolorOne'] . '">' . "\n" . ' <td colspan="2">' . "\n"; echo ' ' . $strCompression . ':<br /> ' . "\n" . ' <input type="radio" id="radio_sql_file_compression_auto" name="sql_file_compression" value="" checked="checked" /><label for="radio_sql_file_compression_auto">' . $strAutodetect . '</label> ' . "\n" . ' <input type="radio" id="radio_sql_file_compression_plain" name="sql_file_compression" value="text/plain" /><label for="radio_sql_file_compression_plain">' . $strNone . '</label>  ' . "\n"; if ($is_gzip) { echo ' <input type="radio" id="radio_sql_file_compression_gzip" name="sql_file_compression" value="application/x-gzip" /><label for="radio_sql_file_compression_gzip">' . $strGzip . '</label> ' . "\n"; } if ($is_bzip) { echo ' <input type="radio" id="radio_sql_file_compression_bzip" name="sql_file_compression" value="application/x-bzip" /><label for="radio_sql_file_compression_bzip">' . $strBzip . '</label> ' . "\n"; } } else { ?>
<legend><?php echo $strFileToImport; ?> </legend> <?php if ($GLOBALS['is_upload']) { ?> <div class="formelementrow"> <label for="input_import_file"><?php echo $strLocationTextfile; ?> </label> <input style="margin: 5px" type="file" name="import_file" id="input_import_file" onchange="match_file(this.value);" /> <?php echo PMA_displayMaximumUploadSize($max_upload_size) . "\n"; // some browsers should respect this :) echo PMA_generateHiddenMaxFileSize($max_upload_size) . "\n"; } else { echo '<div class="warning">' . "\n"; echo $strUploadsNotAllowed . "\n"; } ?> </div> <?php if (!empty($cfg['UploadDir'])) { $extensions = ''; foreach ($import_list as $key => $val) { if (!empty($extensions)) { $extensions .= '|'; }
/** * @dataProvider dataProvider * @return void */ function testMaximumUploadSize($size, $unit, $res) { $this->assertEquals("(" . __('Max: ') . $res . $unit . ")", PMA_displayMaximumUploadSize($size)); }