The branch, master has been updated
via f30125fcd3c0cf2f4d80997c8dc2332311cfc12c (commit)
from aa38371c48976ef6e14581f3e189bf1632ba6cff (commit)
- Log -----------------------------------------------------------------
commit f30125fcd3c0cf2f4d80997c8dc2332311cfc12c
Author: Marc Delisle <[email protected]>
Date: Mon Dec 6 12:49:08 2010 -0500
Continue insertion did not work if the form had special controls like file
upload from client, file upload from server or BLOB streaming upload
-----------------------------------------------------------------------
Summary of changes:
libraries/File.class.php | 177 +++++++++++++++-------------------------------
tbl_change.php | 6 +-
2 files changed, 59 insertions(+), 124 deletions(-)
diff --git a/libraries/File.class.php b/libraries/File.class.php
index 2c59179..c093a7b 100644
--- a/libraries/File.class.php
+++ b/libraries/File.class.php
@@ -263,24 +263,19 @@ class PMA_File
* @param string $rownumber
* @return boolean success
*/
- function setUploadedFromTblChangeRequest($key, $rownumber = null)
+ function setUploadedFromTblChangeRequest($key, $rownumber)
{
- if (! isset($_FILES['fields_upload_' . $key])) {
+ if (! isset($_FILES['fields_upload']) && !
isset($_FILES['fields_upload']['name']['multi_edit'][$rownumber][$key])) {
return false;
}
-
- $file = $_FILES['fields_upload_' . $key];
-
- if (null !== $rownumber) {
- $file = PMA_File::fetchUploadedFromTblChangeRequestMultiple($file,
$rownumber);
- }
+ $file =
PMA_File::fetchUploadedFromTblChangeRequestMultiple($_FILES['fields_upload'],
$rownumber, $key);
// for blobstreaming
$is_bs_upload = FALSE;
// check if this field requires a repository upload
- if (isset($_REQUEST['upload_blob_repo_' . $key])) {
- $is_bs_upload = ($_REQUEST['upload_blob_repo_' .
$key]['multi_edit'][0] == "on") ? TRUE : FALSE;
+ if
(isset($_REQUEST['upload_blob_repo']['multi_edit'][$rownumber][$key])) {
+ $is_bs_upload =
($_REQUEST['upload_blob_repo']['multi_edit'][$rownumber][$key] == "on") ? TRUE
: FALSE;
}
// if request is an upload to the BLOB repository
if ($is_bs_upload) {
@@ -340,11 +335,11 @@ class PMA_File
* strips some dimension from the multi-dimensional array from $_FILES
*
* <code>
- * $file['name']['multi_edit'][$rownumber] = [value]
- * $file['type']['multi_edit'][$rownumber] = [value]
- * $file['size']['multi_edit'][$rownumber] = [value]
- * $file['tmp_name']['multi_edit'][$rownumber] = [value]
- * $file['error']['multi_edit'][$rownumber] = [value]
+ * $file['name']['multi_edit'][$rownumber][$key] = [value]
+ * $file['type']['multi_edit'][$rownumber][$key] = [value]
+ * $file['size']['multi_edit'][$rownumber][$key] = [value]
+ * $file['tmp_name']['multi_edit'][$rownumber][$key] = [value]
+ * $file['error']['multi_edit'][$rownumber][$key] = [value]
*
* // becomes:
*
@@ -360,16 +355,17 @@ class PMA_File
* @static
* @param array $file the array
* @param string $rownumber
+ * @param string $key
* @return array
*/
- function fetchUploadedFromTblChangeRequestMultiple($file, $rownumber)
+ function fetchUploadedFromTblChangeRequestMultiple($file, $rownumber, $key)
{
$new_file = array(
- 'name' => $file['name']['multi_edit'][$rownumber],
- 'type' => $file['type']['multi_edit'][$rownumber],
- 'size' => $file['size']['multi_edit'][$rownumber],
- 'tmp_name' => $file['tmp_name']['multi_edit'][$rownumber],
- 'error' => $file['error']['multi_edit'][$rownumber],
+ 'name' => $file['name']['multi_edit'][$rownumber][$key],
+ 'type' => $file['type']['multi_edit'][$rownumber][$key],
+ 'size' => $file['size']['multi_edit'][$rownumber][$key],
+ 'tmp_name' => $file['tmp_name']['multi_edit'][$rownumber][$key],
+ 'error' => $file['error']['multi_edit'][$rownumber][$key],
);
return $new_file;
@@ -388,104 +384,55 @@ class PMA_File
*/
function setSelectedFromTblChangeRequest($key, $rownumber = null)
{
- if (null !== $rownumber) {
- if (! empty($_REQUEST['fields_uploadlocal_' .
$key]['multi_edit'][$rownumber])
- && is_string($_REQUEST['fields_uploadlocal_' .
$key]['multi_edit'][$rownumber])) {
- // ... whether with multiple rows ...
- // for blobstreaming
- $is_bs_upload = FALSE;
-
- // check if this field requires a repository upload
- if (isset($_REQUEST['upload_blob_repo_' . $key])) {
- $is_bs_upload = ($_REQUEST['upload_blob_repo_' .
$key]['multi_edit'][0] == "on") ? TRUE : FALSE;
- }
-
- // is a request to upload file to BLOB repository using
uploadDir mechanism
- if ($is_bs_upload) {
- $bs_db = $_REQUEST['db'];
- $bs_table = $_REQUEST['table'];
- $tmp_filename = $GLOBALS['cfg']['UploadDir'] . '/' .
$_REQUEST['fields_uploadlocal_' . $key]['multi_edit'][$rownumber];
-
- // check if fileinfo library exists
- if ($PMA_Config->get('FILEINFO_EXISTS')) {
- // attempt to init fileinfo
- $finfo = finfo_open(FILEINFO_MIME);
-
- // fileinfo exists
- if ($finfo) {
- // pass in filename to fileinfo and close fileinfo
handle after
- $tmp_file_type = finfo_file($finfo, $tmp_filename);
- finfo_close($finfo);
- }
- } else {
- // no fileinfo library exists, use file command
- $tmp_file_type = exec("file -bi " .
escapeshellarg($tmp_filename));
- }
-
- if (! $tmp_file_type) {
- $tmp_file_type = NULL;
- }
-
- if (! $bs_db || !$bs_table) {
- $this->_error_message =
$GLOBALS['strUploadErrorUnknown'];
- return FALSE;
- }
- $blob_url = PMA_BS_UpLoadFile($bs_db, $bs_table,
$tmp_file_type, $tmp_filename);
- PMA_File::setRecentBLOBReference($blob_url);
- } // end if ($is_bs_upload)
-
- return
$this->setLocalSelectedFile($_REQUEST['fields_uploadlocal_' .
$key]['multi_edit'][$rownumber]);
- } else {
- return false;
- }
- } elseif (! empty($_REQUEST['fields_uploadlocal_' . $key])
- && is_string($_REQUEST['fields_uploadlocal_' . $key])) {
+ if (!
empty($_REQUEST['fields_uploadlocal']['multi_edit'][$rownumber][$key])
+ &&
is_string($_REQUEST['fields_uploadlocal']['multi_edit'][$rownumber][$key])) {
+ // ... whether with multiple rows ...
// for blobstreaming
$is_bs_upload = FALSE;
// check if this field requires a repository upload
- if (isset($_REQUEST['upload_blob_repo_' . $key]))
- $is_bs_upload = ($_REQUEST['upload_blob_repo_' .
$key]['multi_edit'][0] == "on") ? TRUE : FALSE;
+ if
(isset($_REQUEST['upload_blob_repo']['multi_edit'][$rownumber][$key])) {
+ $is_bs_upload =
($_REQUEST['upload_blob_repo']['multi_edit'][$rownumber][$key] == "on") ? TRUE
: FALSE;
+ }
// is a request to upload file to BLOB repository using uploadDir
mechanism
- if ($is_bs_upload)
- {
- // check if fileinfo library exists
- if ($PMA_Config->get('FILEINFO_EXISTS'))
- {
- // attempt to init fileinfo
- $finfo = finfo_open(FILEINFO_MIME);
-
- // if fileinfo exists
- if ($finfo)
- {
- // pass in filename to fileinfo
and close fileinfo handle after
- $tmp_file_type =
finfo_file($finfo, $tmp_filename);
- finfo_close($finfo);
- }
- }
- else // no fileinfo library exists, use file
command
- $tmp_file_type = exec("file -bi " .
escapeshellarg($tmp_filename));
-
- if (!$tmp_file_type)
- $tmp_file_type = NULL;
-
- $bs_db = $_REQUEST['db'];
- $bs_table = $_REQUEST['table'];
- if (!$bs_db || !$bs_table)
- {
- $this->_error_message =
$GLOBALS['strUploadErrorUnknown'];
- return FALSE;
- }
- $blob_url = PMA_BS_UpLoadFile($bs_db,
$bs_table, $tmp_file_type, $tmp_filename);
- PMA_File::setRecentBLOBReference($blob_url);
+ if ($is_bs_upload) {
+ $bs_db = $_REQUEST['db'];
+ $bs_table = $_REQUEST['table'];
+ $tmp_filename = $GLOBALS['cfg']['UploadDir'] . '/' .
$_REQUEST['fields_uploadlocal_' . $key]['multi_edit'][$rownumber];
+
+ // check if fileinfo library exists
+ if ($PMA_Config->get('FILEINFO_EXISTS')) {
+ // attempt to init fileinfo
+ $finfo = finfo_open(FILEINFO_MIME);
+
+ // fileinfo exists
+ if ($finfo) {
+ // pass in filename to fileinfo and close fileinfo
handle after
+ $tmp_file_type = finfo_file($finfo, $tmp_filename);
+ finfo_close($finfo);
+ }
+ } else {
+ // no fileinfo library exists, use file command
+ $tmp_file_type = exec("file -bi " .
escapeshellarg($tmp_filename));
+ }
+
+ if (! $tmp_file_type) {
+ $tmp_file_type = NULL;
+ }
+ if (! $bs_db || !$bs_table) {
+ $this->_error_message = $GLOBALS['strUploadErrorUnknown'];
+ return FALSE;
+ }
+ $blob_url = PMA_BS_UpLoadFile($bs_db, $bs_table,
$tmp_file_type, $tmp_filename);
+ PMA_File::setRecentBLOBReference($blob_url);
} // end if ($is_bs_upload)
- return $this->setLocalSelectedFile($_REQUEST['fields_uploadlocal_'
. $key]);
+ return
$this->setLocalSelectedFile($_REQUEST['fields_uploadlocal']['multi_edit'][$rownumber][$key]);
+ } else {
+ return false;
}
-
- return false;
}
/**
@@ -525,22 +472,10 @@ class PMA_File
// well done ...
$this->_error_message = '';
return true;
-/*
- } elseif ($this->setUploadedFromTblChangeRequest($key)) {
- // well done ...
- $this->_error_message = '';
- return true;
-*/
} elseif ($this->setSelectedFromTblChangeRequest($key, $rownumber)) {
// well done ...
$this->_error_message = '';
return true;
-/*
- } elseif ($this->setSelectedFromTblChangeRequest($key)) {
- // well done ...
- $this->_error_message = '';
- return true;
-*/
}
// all failed, whether just no file uploaded/selected or an error
diff --git a/tbl_change.php b/tbl_change.php
index bee7017..edbddb0 100644
--- a/tbl_change.php
+++ b/tbl_change.php
@@ -889,11 +889,11 @@ foreach ($rows as $row_id => $vrow) {
// check if field type is of longblob and if the table is
PBMS enabled.
if (($field['pma_type'] == "longblob") &&
PMA_BS_IsTablePBMSEnabled($db, $table, $tbl_type)) {
echo '<br />';
- echo '<input type="checkbox" name="upload_blob_repo_' .
$field['Field_md5'] . $vkey . '" /> ' . __('Upload to BLOB repository');
+ echo '<input type="checkbox" name="upload_blob_repo' .
$vkey . '[' . $field['Field_md5'] . ']" /> ' . __('Upload to BLOB repository');
}
echo '<br />';
- echo '<input type="file" name="fields_upload_' .
$field['Field_md5'] . $vkey . '" class="textfield" id="field_' . $idindex .
'_3" size="10" ' . $unnullify_trigger . '/> ';
+ echo '<input type="file" name="fields_upload' . $vkey . '[' .
$field['Field_md5'] . ']" class="textfield" id="field_' . $idindex . '_3"
size="10" ' . $unnullify_trigger . '/> ';
// find maximum upload size, based on field type
/**
@@ -926,7 +926,7 @@ foreach ($rows as $row_id => $vrow) {
} elseif (!empty($files)) {
echo "<br />\n";
echo ' <i>' . __('Or') . '</i>' . ' ' . __('web server
upload directory') . ':<br />' . "\n";
- echo ' <select size="1" name="fields_uploadlocal_'
. $field['Field_md5'] . $vkey . '">' . "\n";
+ echo ' <select size="1" name="fields_uploadlocal' .
$vkey . '[' . $field['Field_md5'] . ']">' . "\n";
echo ' <option value=""
selected="selected"></option>' . "\n";
echo $files;
echo ' </select>' . "\n";
hooks/post-receive
--
phpMyAdmin
------------------------------------------------------------------------------
What happens now with your Lotus Notes apps - do you make another costly
upgrade, or settle for being marooned without product support? Time to move
off Lotus Notes and onto the cloud with Force.com, apps are easier to build,
use, and manage than apps on traditional platforms. Sign up for the Lotus
Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d
_______________________________________________
Phpmyadmin-git mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/phpmyadmin-git