BLOBstreaming support (Google Summer of Code 2008, Raj Kissu Rajandran) -- work in progress
This commit is contained in:
@@ -7,6 +7,7 @@ $HeadURL: https://phpmyadmin.svn.sourceforge.net/svnroot/phpmyadmin/trunk/phpMyA
|
|||||||
|
|
||||||
3.1.0.0 (not yet released)
|
3.1.0.0 (not yet released)
|
||||||
- bug #2046883 [core] Notices about deprecated dl() (so stop using it)
|
- bug #2046883 [core] Notices about deprecated dl() (so stop using it)
|
||||||
|
+ BLOBstreaming support, thanks to Raj Kissu Rajandran (work in progress)
|
||||||
|
|
||||||
3.0.0.0 (not yet released)
|
3.0.0.0 (not yet released)
|
||||||
+ [export] properly handle line breaks for YAML, thanks to Dan Barry -
|
+ [export] properly handle line breaks for YAML, thanks to Dan Barry -
|
||||||
|
@@ -4207,6 +4207,9 @@ CREDITS, in chronological order
|
|||||||
- Ivan A Kirillov
|
- Ivan A Kirillov
|
||||||
* new relations Designer
|
* new relations Designer
|
||||||
|
|
||||||
|
- Raj Kissu Rajandran (Google Summer of Code 2008)
|
||||||
|
* BLOBstreaming support
|
||||||
|
|
||||||
And also to the following people who have contributed minor changes,
|
And also to the following people who have contributed minor changes,
|
||||||
enhancements, bugfixes or support for a new language since version 2.1.0:
|
enhancements, bugfixes or support for a new language since version 2.1.0:
|
||||||
|
|
||||||
|
94
bs_change_mime_type.php
Normal file
94
bs_change_mime_type.php
Normal file
@@ -0,0 +1,94 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @author Raj Kissu Rajandran
|
||||||
|
* @version 1.0
|
||||||
|
* @package BLOBStreaming
|
||||||
|
*/
|
||||||
|
require_once './libraries/common.inc.php';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string contains database name
|
||||||
|
*/
|
||||||
|
$bsDB = isset($_REQUEST['bs_db']) ? urldecode($_REQUEST['bs_db']) : NULL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string contains table name
|
||||||
|
*/
|
||||||
|
$bsTable = isset($_REQUEST['bs_table']) ? urldecode($_REQUEST['bs_table']) : NULL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string contains BLOB reference
|
||||||
|
*/
|
||||||
|
$bsReference = isset($_REQUEST['bs_reference']) ? urldecode($_REQUEST['bs_reference']) : NULL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string contains MIME type
|
||||||
|
*/
|
||||||
|
$bsNewMIMEType = isset($_REQUEST['bs_new_mime_type']) ? urldecode($_REQUEST['bs_new_mime_type']) : NULL;
|
||||||
|
|
||||||
|
// necessary variables exist
|
||||||
|
if ($bsDB && $bsTable && $bsReference && $bsNewMIMEType)
|
||||||
|
{
|
||||||
|
// load PMA configuration
|
||||||
|
$PMA_Config = $_SESSION['PMA_Config'];
|
||||||
|
|
||||||
|
// if PMA configuration exists
|
||||||
|
if (!empty($PMA_Config))
|
||||||
|
{
|
||||||
|
// if BS plugins exist
|
||||||
|
if ($PMA_Config->get('BLOBSTREAMING_PLUGINS_EXIST'))
|
||||||
|
{
|
||||||
|
$mybs_ref_tbl = $PMA_Config->get('PBMS_NAME') . '_reference';
|
||||||
|
$mybs_cust_content_type_tbl = $PMA_Config->get('PBMS_NAME') . '_custom_content_type';
|
||||||
|
|
||||||
|
// if specified DB is selected
|
||||||
|
if (PMA_DBI_select_db($bsDB))
|
||||||
|
{
|
||||||
|
$query = "SELECT * FROM " . PMA_backquote($mybs_ref_tbl);
|
||||||
|
$query .= " WHERE Blob_url='" . PMA_sqlAddslashes($bsReference) . "'";
|
||||||
|
|
||||||
|
$result = PMA_DBI_query($query);
|
||||||
|
|
||||||
|
// if record exists
|
||||||
|
if ($data = PMA_DBI_fetch_assoc($result))
|
||||||
|
{
|
||||||
|
$query = "SELECT count(*) FROM " . PMA_backquote($mybs_cust_content_type_tbl);
|
||||||
|
$result = PMA_DBI_query($query);
|
||||||
|
|
||||||
|
// if record exists
|
||||||
|
if ($data = PMA_DBI_fetch_assoc($result))
|
||||||
|
{
|
||||||
|
if (1 == $data['count(*)'])
|
||||||
|
{
|
||||||
|
$query = "UPDATE " . PMA_backquote($mybs_cust_content_type_tbl) . " SET Content_type='";
|
||||||
|
$query .= PMA_sqlAddslashes($bsNewMIMEType) . "' WHERE Blob_url='" . PMA_sqlAddslashes($bsReference) . "'";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$query = "INSERT INTO " . PMA_backquote($mybs_cust_content_type_tbl) . " (Blob_url, Content_type)";
|
||||||
|
$query .= " VALUES('" . PMA_sqlAddslashes($bsReference) . "', '" . PMA_sqlAddslashes($bsNewMIMEType) . "')";
|
||||||
|
}
|
||||||
|
|
||||||
|
$result = PMA_DBI_query($query);
|
||||||
|
|
||||||
|
// if query execution succeeded
|
||||||
|
if ($result)
|
||||||
|
{
|
||||||
|
// determine redirector page
|
||||||
|
$newLoc = $cfg['PmaAbsoluteUri'] . 'sql.php?' . PMA_generate_common_url ('','', '&') . (isset($bsDB) ? '&db=' . urlencode($bsDB) : '') . (isset($bsTable) ? '&table=' . urlencode($bsTable) : '') . (isset($token) ? '&token=' . urlencode($token) : '') . (isset($goto) ? '&goto=' . urlencode($goto) : '') . '&reload=1&purge=1';
|
||||||
|
|
||||||
|
// redirect to specified page
|
||||||
|
?>
|
||||||
|
<script>
|
||||||
|
window.location = "<?php echo $newLoc ?>";
|
||||||
|
</script>
|
||||||
|
<?php
|
||||||
|
} // end if ($result)
|
||||||
|
} // end if ($data = PMA_DBI_fetch_assoc($result))
|
||||||
|
} // end if ($data = PMA_DBI_fetch_assoc($result))
|
||||||
|
} // end if (PMA_DBI_select_db($bsDB))
|
||||||
|
} // end if ($PMA_Config->get('BLOBSTREAMING_PLUGINS_EXIST'))
|
||||||
|
} // end if (!empty($PMA_Config))
|
||||||
|
} // end if ($bsDB && $bsTable && $bsReference && $bsNewMIMEType)
|
||||||
|
|
||||||
|
?>
|
60
bs_play_media.php
Normal file
60
bs_play_media.php
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @author Raj Kissu Rajandran
|
||||||
|
* @version 1.0
|
||||||
|
* @package BLOBStreaming
|
||||||
|
*/
|
||||||
|
require_once './libraries/common.inc.php';
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @var string contains media type of BLOB reference
|
||||||
|
*/
|
||||||
|
$mediaType = isset($_REQUEST['media_type']) ? $_REQUEST['media_type'] : NULL;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @var string contains BLOB reference
|
||||||
|
*/
|
||||||
|
$bsReference = isset($_REQUEST['bs_reference']) ? $_REQUEST['bs_reference'] : NULL;
|
||||||
|
|
||||||
|
// if media type and BS reference are specified
|
||||||
|
if (isset($mediaType) && isset($bsReference))
|
||||||
|
{
|
||||||
|
// load PMA configuration
|
||||||
|
$PMA_Config = $_SESSION['PMA_Config'];
|
||||||
|
|
||||||
|
// if PMA configuration exists
|
||||||
|
if (!empty($PMA_Config))
|
||||||
|
{
|
||||||
|
// retrieve BS server variables from PMA configuration
|
||||||
|
$bs_server = $PMA_Config->get('BLOBSTREAMING_SERVER');
|
||||||
|
$bs_file_path = "http://" . $bs_server . '/' . $bsReference;
|
||||||
|
?>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<?php
|
||||||
|
|
||||||
|
// supported media types
|
||||||
|
switch ($mediaType)
|
||||||
|
{
|
||||||
|
// audio content
|
||||||
|
case 'audio/mpeg':
|
||||||
|
?><embed width=620 height=100 src="<?php echo $bs_file_path; ?>" autostart=true></embed><?php
|
||||||
|
break;
|
||||||
|
// video content
|
||||||
|
case 'application/x-flash-video':
|
||||||
|
case 'video/mpeg':
|
||||||
|
?><embed width=620 height=460 src="<?php echo $bs_file_path; ?>" autostart=true></embed><?php
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
// do nothing
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
<?php
|
||||||
|
} // end if (!empty($PMA_Config))
|
||||||
|
} // end if (isset($mediaType) && isset($bsReference))
|
||||||
|
|
||||||
|
?>
|
@@ -33,6 +33,13 @@ $cfg['Servers'][$i]['connect_type'] = 'tcp';
|
|||||||
$cfg['Servers'][$i]['compress'] = false;
|
$cfg['Servers'][$i]['compress'] = false;
|
||||||
/* Select mysqli if your server has it */
|
/* Select mysqli if your server has it */
|
||||||
$cfg['Servers'][$i]['extension'] = 'mysql';
|
$cfg['Servers'][$i]['extension'] = 'mysql';
|
||||||
|
|
||||||
|
/* rajk - for blobstreaming */
|
||||||
|
$cfg['Servers'][$i]['bs_garbage_threshold'] = '';
|
||||||
|
$cfg['Servers'][$i]['bs_repository_threshold'] = '';
|
||||||
|
$cfg['Servers'][$i]['bs_temp_blob_timeout'] = '';
|
||||||
|
$cfg['Servers'][$i]['bs_temp_log_threshold'] = '';
|
||||||
|
|
||||||
/* User for advanced features */
|
/* User for advanced features */
|
||||||
// $cfg['Servers'][$i]['controluser'] = 'pma';
|
// $cfg['Servers'][$i]['controluser'] = 'pma';
|
||||||
// $cfg['Servers'][$i]['controlpass'] = 'pmapass';
|
// $cfg['Servers'][$i]['controlpass'] = 'pmapass';
|
||||||
|
@@ -19,6 +19,9 @@ require_once './libraries/common.inc.php';
|
|||||||
require_once './libraries/Table.class.php';
|
require_once './libraries/Table.class.php';
|
||||||
require_once './libraries/mysql_charsets.lib.php';
|
require_once './libraries/mysql_charsets.lib.php';
|
||||||
|
|
||||||
|
// add blobstreaming library functions
|
||||||
|
require_once "./libraries/blobstreaming.lib.php";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Rename/move or copy database
|
* Rename/move or copy database
|
||||||
*/
|
*/
|
||||||
@@ -217,6 +220,67 @@ if (strlen($db) && (! empty($db_rename) || ! empty($db_copy))) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Enable/Disable/Repair BLOB Repository Monitoring for current database
|
||||||
|
*/
|
||||||
|
if (strlen($db) > 0 && !empty($db_blob_streaming_op))
|
||||||
|
{
|
||||||
|
// load PMA_Config
|
||||||
|
$PMA_Config = $_SESSION['PMA_Config'];
|
||||||
|
|
||||||
|
if (!empty($PMA_Config))
|
||||||
|
{
|
||||||
|
if ($PMA_Config->get('PBXT_NAME') !== strtolower($db))
|
||||||
|
{
|
||||||
|
// if Blobstreaming plugins exist, begin checking for Blobstreaming tables
|
||||||
|
if ($PMA_Config->get('BLOBSTREAMING_PLUGINS_EXIST'))
|
||||||
|
{
|
||||||
|
$bs_tables = $PMA_Config->get('BLOBSTREAMABLE_DATABASES');
|
||||||
|
$bs_tables = $bs_tables[$db];
|
||||||
|
|
||||||
|
$oneBSTableExists = FALSE;
|
||||||
|
|
||||||
|
// check if at least one blobstreaming table exists
|
||||||
|
foreach ($bs_tables as $table_key=>$tbl)
|
||||||
|
if ($bs_tables[$table_key]['Exists'])
|
||||||
|
{
|
||||||
|
$oneBSTableExists = TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch ($db_blob_streaming_op)
|
||||||
|
{
|
||||||
|
// enable BLOB repository monitoring
|
||||||
|
case "enable":
|
||||||
|
// if blobstreaming tables do not exist, create them
|
||||||
|
if (!$oneBSTableExists)
|
||||||
|
PMA_BS_CreateTables($db);
|
||||||
|
break;
|
||||||
|
// disable BLOB repository monitoring
|
||||||
|
case "disable":
|
||||||
|
// if at least one blobstreaming table exists, execute drop
|
||||||
|
if ($oneBSTableExists)
|
||||||
|
PMA_BS_DropTables($db);
|
||||||
|
break;
|
||||||
|
// repair BLOB repository
|
||||||
|
case "repair":
|
||||||
|
// check if a blobstreaming table is missing
|
||||||
|
foreach ($bs_tables as $table_key=>$tbl)
|
||||||
|
if (!$bs_tables[$table_key]['Exists'])
|
||||||
|
{
|
||||||
|
PMA_DBI_select_db($db);
|
||||||
|
PMA_DBI_query(PMA_BS_GetTableStruct($table_key));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// refresh side menu
|
||||||
|
PMA_sendHeaderLocation($cfg['PmaAbsoluteUri'] . 'db_operations.php?' . PMA_generate_common_url ('','', '&') . (isset($db) ? '&db=' . urlencode($db) : '') . (isset($token) ? '&token=' . urlencode($token) : '') . (isset($goto) ? '&goto=' . urlencode($goto) : '') . 'reload=1&purge=1');
|
||||||
|
} // end if ($PMA_Config->get('BLOBSTREAMING_PLUGINS_EXIST'))
|
||||||
|
} // end if ($PMA_Config->get('PBXT_NAME') !== strtolower($db))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Settings for relations stuff
|
* Settings for relations stuff
|
||||||
*/
|
*/
|
||||||
@@ -275,7 +339,7 @@ if (!$is_information_schema) {
|
|||||||
</legend>
|
</legend>
|
||||||
<input type="text" name="comment" class="textfield" size="30"
|
<input type="text" name="comment" class="textfield" size="30"
|
||||||
value="<?php
|
value="<?php
|
||||||
echo htmlspecialchars(PMA_getDbComment($db)); ?>" />
|
echo htmlspecialchars(PMA_getDBComment($db)); ?>" />
|
||||||
<input type="submit" value="<?php echo $strGo; ?>" />
|
<input type="submit" value="<?php echo $strGo; ?>" />
|
||||||
</fieldset>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
@@ -393,6 +457,93 @@ if (!$is_information_schema) {
|
|||||||
</form>
|
</form>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
/*
|
||||||
|
* BLOB streaming support
|
||||||
|
*/
|
||||||
|
|
||||||
|
// load PMA_Config
|
||||||
|
$PMA_Config = $_SESSION['PMA_Config'];
|
||||||
|
|
||||||
|
// if all blobstreaming plugins exist, begin checking for blobstreaming tables
|
||||||
|
if (!empty($PMA_Config))
|
||||||
|
{
|
||||||
|
if ($PMA_Config->get('PBXT_NAME') !== strtolower($db))
|
||||||
|
{
|
||||||
|
if ($PMA_Config->get('BLOBSTREAMING_PLUGINS_EXIST'))
|
||||||
|
{
|
||||||
|
$bs_tables = $PMA_Config->get('BLOBSTREAMABLE_DATABASES');
|
||||||
|
$bs_tables = $bs_tables[$db];
|
||||||
|
|
||||||
|
$oneBSTableExists = FALSE;
|
||||||
|
$allBSTablesExist = TRUE;
|
||||||
|
|
||||||
|
// first check that all blobstreaming tables do not exist
|
||||||
|
foreach ($bs_tables as $table_key=>$tbl)
|
||||||
|
if ($bs_tables[$table_key]['Exists'])
|
||||||
|
$oneBSTableExists = TRUE;
|
||||||
|
else
|
||||||
|
$allBSTablesExist = FALSE;
|
||||||
|
|
||||||
|
?>
|
||||||
|
|
||||||
|
<form method="post" action="./db_operations.php">
|
||||||
|
<?php echo PMA_generate_common_hidden_inputs($db); ?>
|
||||||
|
<fieldset>
|
||||||
|
<legend>
|
||||||
|
<?php echo PMA_getIcon('b_edit.png', $strBLOBRepository, false, true); ?>
|
||||||
|
</legend>
|
||||||
|
|
||||||
|
<?php echo $strBLOBRepositoryStatus; ?>:
|
||||||
|
|
||||||
|
<?php
|
||||||
|
|
||||||
|
// if the blobstreaming tables exist, provide option to disable the BLOB repository
|
||||||
|
if ($allBSTablesExist)
|
||||||
|
{
|
||||||
|
?>
|
||||||
|
<?php echo $strBLOBRepositoryEnabled; ?>
|
||||||
|
</fieldset>
|
||||||
|
<fieldset class="tblFooters">
|
||||||
|
<input type="hidden" name="db_blob_streaming_op" value="disable" />
|
||||||
|
<input type="submit" onclick="return confirmDisableRepository('<?php echo $db; ?>');" value="<?php echo $strBLOBRepositoryDisable; ?>" />
|
||||||
|
</fieldset>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// if any of the blobstreaming tables are missing, provide option to repair the BLOB repository
|
||||||
|
if ($oneBSTableExists && !$allBSTablesExist)
|
||||||
|
{
|
||||||
|
?>
|
||||||
|
<?php echo $strBLOBRepositoryDamaged; ?>
|
||||||
|
</fieldset>
|
||||||
|
<fieldset class="tblFooters">
|
||||||
|
<input type="hidden" name="db_blob_streaming_op" value="repair" />
|
||||||
|
<input type="submit" value="<?php echo $strBLOBRepositoryRepair; ?>" />
|
||||||
|
</fieldset>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
// if none of the blobstreaming tables exist, provide option to enable BLOB repository
|
||||||
|
else
|
||||||
|
{
|
||||||
|
?>
|
||||||
|
<?php echo $strBLOBRepositoryDisabled; ?>
|
||||||
|
</fieldset>
|
||||||
|
<fieldset class="tblFooters">
|
||||||
|
<input type="hidden" name="db_blob_streaming_op" value="enable" />
|
||||||
|
<input type="submit" value="<?php echo $strBLOBRepositoryEnable; ?>" />
|
||||||
|
</fieldset>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
} // end if ($allBSTablesExist)
|
||||||
|
|
||||||
|
?>
|
||||||
|
</form>
|
||||||
|
<?php
|
||||||
|
} // end if ($PMA_Config->get('BLOBSTREAMING_PLUGINS_EXIST'))
|
||||||
|
} // end if ($PMA_Config->get('PBXT_NAME') !== strtolower($db))
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change database charset
|
* Change database charset
|
||||||
*/
|
*/
|
||||||
|
@@ -186,7 +186,27 @@ $hidden_fields = array();
|
|||||||
$odd_row = true;
|
$odd_row = true;
|
||||||
$sum_row_count_pre = '';
|
$sum_row_count_pre = '';
|
||||||
|
|
||||||
|
// added by rajk - for blobstreaming
|
||||||
|
$PMA_Config = $_SESSION['PMA_Config'];
|
||||||
|
|
||||||
|
if (!empty ($PMA_Config))
|
||||||
|
$session_bs_tables = $PMA_Config->get('BLOBSTREAMING_TABLES'); // list of blobstreaming tables
|
||||||
|
|
||||||
|
$tableReductionCount = 0; // the amount to reduce the table count by
|
||||||
|
|
||||||
foreach ($tables as $keyname => $each_table) {
|
foreach ($tables as $keyname => $each_table) {
|
||||||
|
if (isset($session_bs_tables))
|
||||||
|
{
|
||||||
|
// compare table name against blobstreaming tables
|
||||||
|
foreach ($session_bs_tables as $table_key=>$table_val)
|
||||||
|
// if the table is a blobstreaming table, reduce table count and skip outer foreach loop
|
||||||
|
if ($table_key == $keyname)
|
||||||
|
{
|
||||||
|
$tableReductionCount++;
|
||||||
|
continue 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// loic1: Patch from Joshua Nye <josh at boxcarmedia.com> to get valid
|
// loic1: Patch from Joshua Nye <josh at boxcarmedia.com> to get valid
|
||||||
// statistics whatever is the table type
|
// statistics whatever is the table type
|
||||||
|
|
||||||
@@ -422,7 +442,14 @@ if ($is_show_stats) {
|
|||||||
<tbody>
|
<tbody>
|
||||||
<tr><td></td>
|
<tr><td></td>
|
||||||
<th align="center" nowrap="nowrap">
|
<th align="center" nowrap="nowrap">
|
||||||
<?php echo sprintf($strTables, PMA_formatNumber($num_tables, 0)); ?>
|
<?php
|
||||||
|
// for blobstreaming - if the number of tables is 0, set tableReductionCount to 0
|
||||||
|
// (we don't want negative numbers here) - rajk
|
||||||
|
if ($num_tables == 0)
|
||||||
|
$tableReductionCount = 0;
|
||||||
|
|
||||||
|
echo sprintf($strTables, PMA_formatNumber($num_tables - $tableReductionCount, 0));
|
||||||
|
?>
|
||||||
</th>
|
</th>
|
||||||
<th colspan="<?php echo ($db_is_information_schema ? 3 : 6) ?>" align="center">
|
<th colspan="<?php echo ($db_is_information_schema ? 3 : 6) ?>" align="center">
|
||||||
<?php echo $strSum; ?></th>
|
<?php echo $strSum; ?></th>
|
||||||
|
@@ -190,6 +190,28 @@ function confirmQuery(theForm1, sqlQuery1)
|
|||||||
} // end of the 'confirmQuery()' function
|
} // end of the 'confirmQuery()' function
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Displays a confirmation box before disabling the BLOB repository for a given database.
|
||||||
|
* This function is called while clicking links
|
||||||
|
*
|
||||||
|
* @param object the database
|
||||||
|
*
|
||||||
|
* @return boolean whether to disable the repository or not
|
||||||
|
*/
|
||||||
|
function confirmDisableRepository(theDB)
|
||||||
|
{
|
||||||
|
// Confirmation is not required in the configuration file
|
||||||
|
// or browser is Opera (crappy js implementation)
|
||||||
|
if (PMA_messages['strDoYouReally'] == '' || typeof(window.opera) != 'undefined') {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
var is_confirmed = confirm(PMA_messages['strBLOBRepositoryDisableStrongWarning'] + '\n' + PMA_messages['strBLOBRepositoryDisableAreYouSure']);
|
||||||
|
|
||||||
|
return is_confirmed;
|
||||||
|
} // end of the 'confirmDisableBLOBRepository()' function
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Displays an error message if the user submitted the sql query form with no
|
* Displays an error message if the user submitted the sql query form with no
|
||||||
* sql query, else checks for "DROP/DELETE/ALTER" statements
|
* sql query, else checks for "DROP/DELETE/ALTER" statements
|
||||||
@@ -1217,3 +1239,67 @@ function pdfPaperSize(format, axis) {
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* rajk - for playing media from the BLOB repository
|
||||||
|
*
|
||||||
|
* @param var
|
||||||
|
* @param var bs_ref BLOB repository reference
|
||||||
|
* @param var m_type type of BLOB repository media
|
||||||
|
* @param var w_width width of popup window
|
||||||
|
* @param var w_height height of popup window
|
||||||
|
*/
|
||||||
|
function popupBSMedia(bs_ref, m_type, w_width, w_height)
|
||||||
|
{
|
||||||
|
// if width not specified, use default
|
||||||
|
if (w_width == undefined)
|
||||||
|
w_width = 640;
|
||||||
|
|
||||||
|
// if height not specified, use default
|
||||||
|
if (w_height == undefined)
|
||||||
|
w_height = 480;
|
||||||
|
|
||||||
|
// open popup window (for displaying video/playing audio)
|
||||||
|
var mediaWin = window.open('bs_play_media.php?bs_reference=' + bs_ref + '&media_type=' + m_type, 'viewBSMedia', 'width=' + w_width + ', height=' + w_height + ', resizable=1, scrollbars=1, status=0');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* rajk - popups a request for changing MIME types for files in the BLOB repository
|
||||||
|
*
|
||||||
|
* @param var db database name
|
||||||
|
* @param var table table name
|
||||||
|
* @param var reference BLOB repository reference
|
||||||
|
* @param var current_mime_type current MIME type associated with BLOB repository reference
|
||||||
|
*/
|
||||||
|
function requestMIMETypeChange(db, table, reference, current_mime_type)
|
||||||
|
{
|
||||||
|
// no mime type specified, set to default (nothing)
|
||||||
|
if (undefined == current_mime_type)
|
||||||
|
current_mime_type == "";
|
||||||
|
|
||||||
|
// prompt user for new mime type
|
||||||
|
var new_mime_type = prompt("Enter custom MIME type", current_mime_type);
|
||||||
|
|
||||||
|
// if new mime_type is specified and is not the same as the previous type, request for mime type change
|
||||||
|
if (new_mime_type && new_mime_type != current_mime_type)
|
||||||
|
changeMIMEType(db, table, reference, new_mime_type);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* rajk - changes MIME types for files in the BLOB repository
|
||||||
|
*
|
||||||
|
* @param var db database name
|
||||||
|
* @param var table table name
|
||||||
|
* @param var reference BLOB repository reference
|
||||||
|
* @param var mime_type new MIME type to be associated with BLOB repository reference
|
||||||
|
*/
|
||||||
|
function changeMIMEType(db, table, reference, mime_type)
|
||||||
|
{
|
||||||
|
// specify url and parameters for mootools AJAx request
|
||||||
|
var url = 'bs_change_mime_type.php';
|
||||||
|
var params = { bs_db: db, bs_table: table, bs_reference: reference, bs_new_mime_type: mime_type };
|
||||||
|
|
||||||
|
// create AJAX object with above options and execute request
|
||||||
|
var chgRequest = new Ajax('bs_change_mime_type.php', { method: 'post', data: params, evalScripts: true });
|
||||||
|
chgRequest.request();
|
||||||
|
}
|
||||||
|
@@ -1102,4 +1102,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1101,4 +1101,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1103,4 +1103,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1098,4 +1098,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1077,4 +1077,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1095,4 +1095,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1078,4 +1078,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1077,4 +1077,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1101,4 +1101,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1075,4 +1075,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1098,4 +1098,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1073,4 +1073,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1103,4 +1103,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1082,4 +1082,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1076,4 +1076,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1077,4 +1077,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1077,4 +1077,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1099,4 +1099,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -86,6 +86,18 @@ $strBinLogName = 'Log name';
|
|||||||
$strBinLogOriginalPosition = 'Original position';
|
$strBinLogOriginalPosition = 'Original position';
|
||||||
$strBinLogPosition = 'Position';
|
$strBinLogPosition = 'Position';
|
||||||
$strBinLogServerId = 'Server ID';
|
$strBinLogServerId = 'Server ID';
|
||||||
|
$strBLOBRepository = 'BLOB Repository';
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged';
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?';
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled';
|
||||||
|
$strBLOBRepositoryDisable = 'Disable';
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!';
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled';
|
||||||
|
$strBLOBRepositoryEnable = 'Enable';
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference';
|
||||||
|
$strBLOBRepositoryRepair = 'Repair';
|
||||||
|
$strBLOBRepositoryStatus = 'Status';
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository';
|
||||||
$strBookmarkAllUsers = 'Let every user access this bookmark';
|
$strBookmarkAllUsers = 'Let every user access this bookmark';
|
||||||
$strBookmarkCreated = 'Bookmark %s created';
|
$strBookmarkCreated = 'Bookmark %s created';
|
||||||
$strBookmarkDeleted = 'The bookmark has been deleted.';
|
$strBookmarkDeleted = 'The bookmark has been deleted.';
|
||||||
|
@@ -1083,4 +1083,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1077,4 +1077,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1074,4 +1074,16 @@ $strYes = 'Oui';
|
|||||||
$strZeroRemovesTheLimit = 'Note: Une valeur de 0 (zero) enlève la limite.';
|
$strZeroRemovesTheLimit = 'Note: Une valeur de 0 (zero) enlève la limite.';
|
||||||
$strZip = '"zippé"';
|
$strZip = '"zippé"';
|
||||||
|
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1076,4 +1076,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1103,4 +1103,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1083,4 +1083,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1100,4 +1100,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1095,4 +1095,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1103,4 +1103,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1094,4 +1094,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1093,4 +1093,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1078,4 +1078,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1094,4 +1094,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1098,4 +1098,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1100,4 +1100,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1093,4 +1093,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1078,4 +1078,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1115,4 +1115,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1098,4 +1098,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1075,4 +1075,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1100,4 +1100,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1071,4 +1071,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1104,4 +1104,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1092,4 +1092,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1079,4 +1079,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1077,4 +1077,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1077,4 +1077,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1080,4 +1080,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1078,4 +1078,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1097,4 +1097,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1073,4 +1073,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1075,4 +1075,16 @@ $strYes = 'Ja';
|
|||||||
$strZeroRemovesTheLimit = 'Anm: Genom att sätta dessa alternativ till 0 (noll) tas begränsningarna bort.';
|
$strZeroRemovesTheLimit = 'Anm: Genom att sätta dessa alternativ till 0 (noll) tas begränsningarna bort.';
|
||||||
$strZip = '"zippad"';
|
$strZip = '"zippad"';
|
||||||
|
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1089,4 +1089,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1099,4 +1099,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1083,4 +1083,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -1097,4 +1097,16 @@ $strWiki = 'Wiki'; //to translate
|
|||||||
$strWebServer = 'Web server'; //to translate
|
$strWebServer = 'Web server'; //to translate
|
||||||
$strPHPExtension = 'PHP extension'; //to translate
|
$strPHPExtension = 'PHP extension'; //to translate
|
||||||
$strCustomColor = 'Custom color'; //to translate
|
$strCustomColor = 'Custom color'; //to translate
|
||||||
|
$strBLOBRepository = 'BLOB Repository'; //to translate
|
||||||
|
$strBLOBRepositoryDamaged = 'Damaged'; //to translate
|
||||||
|
$strBLOBRepositoryDisableAreYouSure = 'Are you sure you want to disable all BLOB references fot database %s?'; //to translate
|
||||||
|
$strBLOBRepositoryDisabled = 'Disabled'; //to translate
|
||||||
|
$strBLOBRepositoryDisable = 'Disable'; //to translate
|
||||||
|
$strBLOBRepositoryDisableStrongWarning = 'You are about to DISABLE a BLOB Repository!'; //to translate
|
||||||
|
$strBLOBRepositoryEnabled = 'Enabled'; //to translate
|
||||||
|
$strBLOBRepositoryEnable = 'Enable'; //to translate
|
||||||
|
$strBLOBRepositoryRemove = 'Remove BLOB Repository Reference'; //to translate
|
||||||
|
$strBLOBRepositoryRepair = 'Repair'; //to translate
|
||||||
|
$strBLOBRepositoryStatus = 'Status'; //to translate
|
||||||
|
$strBLOBRepositoryUpload = 'Upload to BLOB repository'; //to translate
|
||||||
?>
|
?>
|
||||||
|
@@ -12,6 +12,7 @@
|
|||||||
* @todo when uploading a file into a blob field, should we also consider using
|
* @todo when uploading a file into a blob field, should we also consider using
|
||||||
* chunks like in import? UPDATE `table` SET `field` = `field` + [chunk]
|
* chunks like in import? UPDATE `table` SET `field` = `field` + [chunk]
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class PMA_File
|
class PMA_File
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
@@ -69,6 +70,11 @@ class PMA_File
|
|||||||
*/
|
*/
|
||||||
var $_charset = null;
|
var $_charset = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @staticvar string most recent BLOB repository reference
|
||||||
|
*/
|
||||||
|
static $_recent_bs_reference = NULL;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* constructor
|
* constructor
|
||||||
*
|
*
|
||||||
@@ -250,6 +256,8 @@ class PMA_File
|
|||||||
* @access public
|
* @access public
|
||||||
* @uses PMA_File::fetchUploadedFromTblChangeRequestMultiple()
|
* @uses PMA_File::fetchUploadedFromTblChangeRequestMultiple()
|
||||||
* @uses PMA_File::setUploadedFile()
|
* @uses PMA_File::setUploadedFile()
|
||||||
|
* @uses PMA_File::setRecentBLOBReference()
|
||||||
|
* @uses curl_setopt_array()
|
||||||
* @uses PMA_File::$_error_message
|
* @uses PMA_File::$_error_message
|
||||||
* @uses $GLOBALS['strUploadErrorIniSize']
|
* @uses $GLOBALS['strUploadErrorIniSize']
|
||||||
* @uses $GLOBALS['strUploadErrorFormSize']
|
* @uses $GLOBALS['strUploadErrorFormSize']
|
||||||
@@ -270,10 +278,128 @@ class PMA_File
|
|||||||
}
|
}
|
||||||
|
|
||||||
$file = $_FILES['fields_upload_' . $key];
|
$file = $_FILES['fields_upload_' . $key];
|
||||||
|
|
||||||
if (null !== $primary) {
|
if (null !== $primary) {
|
||||||
$file = PMA_File::fetchUploadedFromTblChangeRequestMultiple($file, $primary);
|
$file = PMA_File::fetchUploadedFromTblChangeRequestMultiple($file, $primary);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// rajk - 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 request is an upload to the BLOB repository
|
||||||
|
if ($is_bs_upload)
|
||||||
|
{
|
||||||
|
// load PMA configuration
|
||||||
|
$PMA_Config = $_SESSION['PMA_Config'];
|
||||||
|
|
||||||
|
// if PMA configuration is loaded
|
||||||
|
if (!empty($PMA_Config))
|
||||||
|
{
|
||||||
|
// load BS variables from PMA configuration
|
||||||
|
$pluginsExist = $PMA_Config->get('BLOBSTREAMING_PLUGINS_EXIST');
|
||||||
|
$curlExists = $PMA_Config->get('CURL_EXISTS');
|
||||||
|
$bs_database = $PMA_Config->get('BLOBSTREAMABLE_DATABASES');
|
||||||
|
$bs_database = $bs_database[$_REQUEST['db']];
|
||||||
|
|
||||||
|
$allBSTablesExist = TRUE;
|
||||||
|
|
||||||
|
// determine if plugins and curl exist
|
||||||
|
if ($pluginsExist && $curlExists)
|
||||||
|
{
|
||||||
|
foreach ($bs_database as $table_key=>$table)
|
||||||
|
{
|
||||||
|
if (!$bs_database[$table_key]['Exists'])
|
||||||
|
{
|
||||||
|
$allBSTablesExist = FALSE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$allBSTablesExist = FALSE;
|
||||||
|
|
||||||
|
// if necessary BS tables exist
|
||||||
|
if ($allBSTablesExist)
|
||||||
|
{
|
||||||
|
// setup bs variables for uploading
|
||||||
|
$bs_server = $PMA_Config->get('BLOBSTREAMING_SERVER');
|
||||||
|
$bs_db = $_REQUEST['db'];
|
||||||
|
$bs_table = $_REQUEST['table'];
|
||||||
|
|
||||||
|
// setup file handle and related variables
|
||||||
|
$tmp_file = fopen($file['tmp_name'], 'r');
|
||||||
|
$tmp_file_type = $file['type'];
|
||||||
|
$tmp_file_size = $file['size'];
|
||||||
|
|
||||||
|
if (!$tmp_file_type)
|
||||||
|
$tmp_file_type = NULL;
|
||||||
|
|
||||||
|
// if none of the required variables contain data, return with an unknown error message
|
||||||
|
if (!$bs_server || !$bs_db || !$bs_table || !$tmp_file || !$tmp_file_size)
|
||||||
|
{
|
||||||
|
$this->_error_message = $GLOBALS['strUploadErrorUnknown'];
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$bs_server_path = 'http://' . $bs_server . '/' . $bs_db . '/' . $bs_table;
|
||||||
|
|
||||||
|
// init curl handle
|
||||||
|
$curlHnd = curl_init ($bs_server_path);
|
||||||
|
|
||||||
|
// if curl handle init successful
|
||||||
|
if ($curlHnd)
|
||||||
|
{
|
||||||
|
// specify custom header
|
||||||
|
$customHeader = array(
|
||||||
|
"Accept-Language: en-us;en;q=0;5",
|
||||||
|
"Accept-Charset: ISO-8859-1;utf-8;q=0.7,*;q=0.7",
|
||||||
|
"Content-type: $tmp_file_type"
|
||||||
|
);
|
||||||
|
|
||||||
|
// specify CURL options in array
|
||||||
|
$curlOptArr = array(
|
||||||
|
CURLOPT_PUT => TRUE,
|
||||||
|
CURLOPT_HEADER => TRUE,
|
||||||
|
CURLOPT_HTTPHEADER => $customHeader,
|
||||||
|
CURLOPT_INFILESIZE => $tmp_file_size,
|
||||||
|
CURLOPT_INFILE => $tmp_file,
|
||||||
|
CURLOPT_RETURNTRANSFER => TRUE
|
||||||
|
);
|
||||||
|
|
||||||
|
// pass array of options to curl handle setup function
|
||||||
|
curl_setopt_array($curlHnd, $curlOptArr);
|
||||||
|
|
||||||
|
// execute curl request and retrieve error message(s) (if any)
|
||||||
|
$ret = curl_exec($curlHnd);
|
||||||
|
$errRet = curl_error($curlHnd);
|
||||||
|
|
||||||
|
// close curl handle
|
||||||
|
curl_close($curlHnd);
|
||||||
|
|
||||||
|
// split entire string into array of lines
|
||||||
|
$retArr = explode("\r\n", $ret);
|
||||||
|
|
||||||
|
// check each line as a valid string of a BLOB reference
|
||||||
|
foreach ($retArr as $value)
|
||||||
|
if (strlen($value) > strlen("~*$bs_db/~") && "~*$bs_db/~" == substr($value, 0, strlen($bs_db) + 4))
|
||||||
|
{
|
||||||
|
// is a valid reference, so set as current and break
|
||||||
|
PMA_File::setRecentBLOBReference($value);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// close file handle
|
||||||
|
if ($tmp_file)
|
||||||
|
fclose($tmp_file);
|
||||||
|
} // end if ($curlHnd)
|
||||||
|
} // end if ($allBSTablesExist)
|
||||||
|
} // end if ($PMA_Config)
|
||||||
|
} // end if ($is_bs_upload)
|
||||||
|
|
||||||
// check for file upload errors
|
// check for file upload errors
|
||||||
switch ($file['error']) {
|
switch ($file['error']) {
|
||||||
// cybot_tm: we do not use the PHP constants here cause not all constants
|
// cybot_tm: we do not use the PHP constants here cause not all constants
|
||||||
@@ -365,12 +491,279 @@ class PMA_File
|
|||||||
if (! empty($_REQUEST['fields_uploadlocal_' . $key]['multi_edit'][$primary])
|
if (! empty($_REQUEST['fields_uploadlocal_' . $key]['multi_edit'][$primary])
|
||||||
&& is_string($_REQUEST['fields_uploadlocal_' . $key]['multi_edit'][$primary])) {
|
&& is_string($_REQUEST['fields_uploadlocal_' . $key]['multi_edit'][$primary])) {
|
||||||
// ... whether with multiple rows ...
|
// ... whether with multiple rows ...
|
||||||
|
// rajk - 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)
|
||||||
|
{
|
||||||
|
// load PMA configuration
|
||||||
|
$PMA_Config = $_SESSION['PMA_Config'];
|
||||||
|
|
||||||
|
// if the PMA configuration was loaded
|
||||||
|
if (!empty($PMA_Config))
|
||||||
|
{
|
||||||
|
// load BS variables from PMA configuration
|
||||||
|
$pluginsExist = $PMA_Config->get('BLOBSTREAMING_PLUGINS_EXIST');
|
||||||
|
$curlExists = $PMA_Config->get('CURL_EXISTS');
|
||||||
|
$bs_database = $PMA_Config->get('BLOBSTREAMABLE_DATABASES');
|
||||||
|
$bs_database = $bs_database[$_REQUEST['db']];
|
||||||
|
|
||||||
|
$allBSTablesExist = TRUE;
|
||||||
|
|
||||||
|
// if plugins and curl exist
|
||||||
|
if ($pluginsExist && $curlExists)
|
||||||
|
{
|
||||||
|
foreach ($bs_database as $table_key=>$table)
|
||||||
|
{
|
||||||
|
if (!$bs_database[$table_key]['Exists'])
|
||||||
|
{
|
||||||
|
$allBSTablesExist = FALSE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$allBSTablesExist = FALSE;
|
||||||
|
|
||||||
|
// if necessary BS tables exist
|
||||||
|
if ($allBSTablesExist)
|
||||||
|
{
|
||||||
|
// load BS variables
|
||||||
|
$bs_server = $PMA_Config->get('BLOBSTREAMING_SERVER');
|
||||||
|
$bs_db = $_REQUEST['db'];
|
||||||
|
$bs_table = $_REQUEST['table'];
|
||||||
|
|
||||||
|
// setup uploadDir mechanism and file variables
|
||||||
|
$tmp_filename = $GLOBALS['cfg']['UploadDir'] . '/' . $_REQUEST['fields_uploadlocal_' . $key]['multi_edit'][$primary];
|
||||||
|
$tmp_file = fopen($tmp_filename, 'r');
|
||||||
|
$tmp_file_size = filesize($tmp_filename);
|
||||||
|
|
||||||
|
// 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;
|
||||||
|
|
||||||
|
// necessary variables aren't loaded, return error message (unknown error)
|
||||||
|
if (!$bs_server || !$bs_db || !$bs_table || !$tmp_file || !$tmp_file_size)
|
||||||
|
{
|
||||||
|
$this->_error_message = $GLOBALS['strUploadErrorUnknown'];
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$bs_server_path = 'http://' . $bs_server . '/' . $bs_db . '/' . $bs_table;
|
||||||
|
|
||||||
|
// init curl handle
|
||||||
|
$curlHnd = curl_init ($bs_server_path);
|
||||||
|
|
||||||
|
// curl handle exists
|
||||||
|
if ($curlHnd)
|
||||||
|
{
|
||||||
|
// specify custom header
|
||||||
|
$customHeader = array(
|
||||||
|
"Accept-Language: en-us;en;q=0;5",
|
||||||
|
"Accept-Charset: ISO-8859-1;utf-8;q=0.7,*;q=0.7",
|
||||||
|
"Content-type: $tmp_file_type"
|
||||||
|
);
|
||||||
|
|
||||||
|
// specify custom curl options
|
||||||
|
$curlOptArr = array(
|
||||||
|
CURLOPT_PUT => TRUE,
|
||||||
|
CURLOPT_HEADER => TRUE,
|
||||||
|
CURLOPT_HTTPHEADER => $customHeader,
|
||||||
|
CURLOPT_INFILESIZE => $tmp_file_size,
|
||||||
|
CURLOPT_INFILE => $tmp_file,
|
||||||
|
CURLOPT_RETURNTRANSFER => TRUE
|
||||||
|
);
|
||||||
|
|
||||||
|
// setup custom curl options (as specified in above array)
|
||||||
|
curl_setopt_array($curlHnd, $curlOptArr);
|
||||||
|
|
||||||
|
// execute curl request and retrieve error message(s) (if any)
|
||||||
|
$ret = curl_exec($curlHnd);
|
||||||
|
$errRet = curl_error($curlHnd);
|
||||||
|
|
||||||
|
// close curl handle
|
||||||
|
curl_close($curlHnd);
|
||||||
|
|
||||||
|
// split return string into lines
|
||||||
|
$retArr = explode("\r\n", $ret);
|
||||||
|
|
||||||
|
// check subsequent lines for valid BLOB reference string
|
||||||
|
foreach ($retArr as $value)
|
||||||
|
if (strlen($value) > strlen("~*$bs_db/~") && "~*$bs_db/~" == substr($value, 0, strlen($bs_db) + 4))
|
||||||
|
{
|
||||||
|
// is a valid reference, so set as current and break
|
||||||
|
PMA_File::setRecentBLOBReference($value);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// close file handle
|
||||||
|
if ($tmp_file)
|
||||||
|
fclose($tmp_file);
|
||||||
|
} // end if ($curlHnd)
|
||||||
|
} // end if ($allBSTablesExist)
|
||||||
|
} // end if ($PMA_Config)
|
||||||
|
} // end if ($is_bs_upload)
|
||||||
|
|
||||||
return $this->setLocalSelectedFile($_REQUEST['fields_uploadlocal_' . $key]['multi_edit'][$primary]);
|
return $this->setLocalSelectedFile($_REQUEST['fields_uploadlocal_' . $key]['multi_edit'][$primary]);
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} elseif (! empty($_REQUEST['fields_uploadlocal_' . $key])
|
} elseif (! empty($_REQUEST['fields_uploadlocal_' . $key])
|
||||||
&& is_string($_REQUEST['fields_uploadlocal_' . $key])) {
|
&& is_string($_REQUEST['fields_uploadlocal_' . $key])) {
|
||||||
|
// rajk - 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)
|
||||||
|
{
|
||||||
|
// load PMA configuration
|
||||||
|
$PMA_Config = $_SESSION['PMA_Config'];
|
||||||
|
|
||||||
|
// if the PMA configuration was loaded
|
||||||
|
if (!empty($PMA_Config))
|
||||||
|
{
|
||||||
|
// load BS variables from PMA configuration
|
||||||
|
$pluginsExist = $PMA_Config->get('BLOBSTREAMING_PLUGINS_EXIST');
|
||||||
|
$curlExists = $PMA_Config->get('CURL_EXISTS');
|
||||||
|
$bs_database = $PMA_Config->get('BLOBSTREAMABLE_DATABASES');
|
||||||
|
$bs_database = $bs_database[$_REQUEST['db']];
|
||||||
|
|
||||||
|
$allBSTablesExist = TRUE;
|
||||||
|
|
||||||
|
// if plugins and curl exist
|
||||||
|
if ($pluginsExist && $curlExists)
|
||||||
|
{
|
||||||
|
foreach ($bs_database as $table_key=>$table)
|
||||||
|
{
|
||||||
|
if (!$bs_database[$table_key]['Exists'])
|
||||||
|
{
|
||||||
|
$allBSTablesExist = FALSE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$allBSTablesExist = FALSE;
|
||||||
|
|
||||||
|
if ($allBSTablesExist)
|
||||||
|
{
|
||||||
|
// load BS variables
|
||||||
|
$bs_server = $PMA_Config->get('BLOBSTREAMING_SERVER');
|
||||||
|
$bs_db = $_REQUEST['db'];
|
||||||
|
$bs_table = $_REQUEST['table'];
|
||||||
|
|
||||||
|
// setup uploadDir mechanism and file variables
|
||||||
|
$tmp_filename = $GLOBALS['cfg']['UploadDir'] . '/' . $_REQUEST['fields_uploadlocal_' . $key]['multi_edit'][$primary];
|
||||||
|
$tmp_file = fopen($tmp_filename, 'r');
|
||||||
|
$tmp_file_size = filesize($tmp_filename);
|
||||||
|
|
||||||
|
// 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;
|
||||||
|
|
||||||
|
// necessary variables aren't loaded, return error message (unknown error)
|
||||||
|
if (!$bs_server || !$bs_db || !$bs_table || !$tmp_file || !$tmp_file_size)
|
||||||
|
{
|
||||||
|
$this->_error_message = $GLOBALS['strUploadErrorUnknown'];
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$bs_server_path = 'http://' . $bs_server . '/' . $bs_db . '/' . $bs_table;
|
||||||
|
|
||||||
|
// init curl handle
|
||||||
|
$curlHnd = curl_init ($bs_server_path);
|
||||||
|
|
||||||
|
// if curl handle exists
|
||||||
|
if ($curlHnd)
|
||||||
|
{
|
||||||
|
// specify custom header
|
||||||
|
$customHeader = array(
|
||||||
|
"Accept-Language: en-us;en;q=0;5",
|
||||||
|
"Accept-Charset: ISO-8859-1;utf-8;q=0.7,*;q=0.7",
|
||||||
|
"Content-type: $tmp_file_type"
|
||||||
|
);
|
||||||
|
|
||||||
|
// specify custom curl options
|
||||||
|
$curlOptArr = array(
|
||||||
|
CURLOPT_PUT => TRUE,
|
||||||
|
CURLOPT_HEADER => TRUE,
|
||||||
|
CURLOPT_HTTPHEADER => $customHeader,
|
||||||
|
CURLOPT_INFILESIZE => $tmp_file_size,
|
||||||
|
CURLOPT_INFILE => $tmp_file,
|
||||||
|
CURLOPT_RETURNTRANSFER => TRUE
|
||||||
|
);
|
||||||
|
|
||||||
|
// setup custom curl options (as specified in above array)
|
||||||
|
curl_setopt_array($curlHnd, $curlOptArr);
|
||||||
|
|
||||||
|
// execute curl request and retrieve error message(s) (if any)
|
||||||
|
$ret = curl_exec($curlHnd);
|
||||||
|
$errRet = curl_error($curlHnd);
|
||||||
|
|
||||||
|
// close curl handle
|
||||||
|
curl_close($curlHnd);
|
||||||
|
|
||||||
|
// split return string into lines
|
||||||
|
$retArr = explode("\r\n", $ret);
|
||||||
|
|
||||||
|
// check subsequent lines for valid BLOB reference string
|
||||||
|
foreach ($retArr as $value)
|
||||||
|
if (strlen($value) > strlen("~*$bs_db/~") && "~*$bs_db/~" == substr($value, 0, strlen($bs_db) + 4))
|
||||||
|
{
|
||||||
|
// is a valid reference, so set as current and break
|
||||||
|
PMA_File::setRecentBLOBReference($value);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// close file handle
|
||||||
|
if ($tmp_file)
|
||||||
|
fclose($tmp_file);
|
||||||
|
} // end if ($curlHnd)
|
||||||
|
} // end if ($allBSTablesExist)
|
||||||
|
} // end if ($PMA_Config)
|
||||||
|
} // end if ($is_bs_upload)
|
||||||
|
|
||||||
return $this->setLocalSelectedFile($_REQUEST['fields_uploadlocal_' . $key]);
|
return $this->setLocalSelectedFile($_REQUEST['fields_uploadlocal_' . $key]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -861,5 +1254,30 @@ class PMA_File
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sets reference to most recent BLOB repository reference
|
||||||
|
*
|
||||||
|
* @access static public
|
||||||
|
* @param string - BLOB repository reference
|
||||||
|
*/
|
||||||
|
static function setRecentBLOBReference($ref)
|
||||||
|
{
|
||||||
|
PMA_File::$_recent_bs_reference = $ref;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* retrieves reference to most recent BLOB repository reference
|
||||||
|
*
|
||||||
|
* @access static public
|
||||||
|
* @return string - most recent BLOB repository reference
|
||||||
|
*/
|
||||||
|
static function getRecentBLOBReference()
|
||||||
|
{
|
||||||
|
$ref = PMA_File::$_recent_bs_reference;
|
||||||
|
PMA_File::$_recent_bs_reference = NULL;
|
||||||
|
|
||||||
|
return $ref;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
717
libraries/blobstreaming.lib.php
Normal file
717
libraries/blobstreaming.lib.php
Normal file
@@ -0,0 +1,717 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @author Raj Kissu Rajandran
|
||||||
|
* @version 1.0
|
||||||
|
* @package BLOBStreaming
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* checks whether the necessary plugins for BLOBStreaming exist
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @uses PMA_Config::get()
|
||||||
|
* @uses PMA_Config::settings()
|
||||||
|
* @uses PMA_Config::set()
|
||||||
|
* @uses PMA_PluginsExist()
|
||||||
|
* @uses PMA_BS_SetVariables()
|
||||||
|
* @uses PMA_BS_GetVariables()
|
||||||
|
* @uses PMA_BS_SetFieldReferences()
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
function checkBLOBStreamingPlugins()
|
||||||
|
{
|
||||||
|
// load PMA configuration
|
||||||
|
$PMA_Config = $_SESSION['PMA_Config'];
|
||||||
|
|
||||||
|
// return if unable to load PMA configuration
|
||||||
|
if (empty($PMA_Config))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
// retrieve default server configuration
|
||||||
|
$serverCfg = $PMA_Config->get('Servers');
|
||||||
|
$serverCfg = $serverCfg[$PMA_Config->settings['ServerDefault']];
|
||||||
|
|
||||||
|
// return if unable to retrieve default server configuration
|
||||||
|
if (!$serverCfg)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
// if PHP extension in use is 'mysql', specify element 'PersistentConnections'
|
||||||
|
if ($serverCfg['extension'] == "mysql")
|
||||||
|
$serverCfg['PersistentConnections'] = $PMA_Config->settings['PersistentConnections'];
|
||||||
|
|
||||||
|
// if connection type is TCP, unload socket variable
|
||||||
|
if (strtolower($serverCfg['connect_type']) == "tcp")
|
||||||
|
$serverCfg['socket'] = "";
|
||||||
|
|
||||||
|
// define BS Plugin variables
|
||||||
|
$allPluginsExist = TRUE;
|
||||||
|
|
||||||
|
$PMA_Config->set('PBXT_NAME', 'pbxt');
|
||||||
|
$PMA_Config->set('PBMS_NAME', 'mybs');
|
||||||
|
|
||||||
|
$plugins[$PMA_Config->get('PBXT_NAME')]['Library'] = 'libpbxt.so';
|
||||||
|
$plugins[$PMA_Config->get('PBXT_NAME')]['Exists'] = FALSE;
|
||||||
|
|
||||||
|
$plugins[$PMA_Config->get('PBMS_NAME')]['Library'] = 'libmybs.so';
|
||||||
|
$plugins[$PMA_Config->get('PBMS_NAME')]['Exists'] = FALSE;
|
||||||
|
|
||||||
|
// retrieve state of BS plugins
|
||||||
|
PMA_PluginsExist($plugins);
|
||||||
|
|
||||||
|
foreach ($plugins as $plugin_key=>$plugin)
|
||||||
|
if (!$plugin['Exists'])
|
||||||
|
{
|
||||||
|
$allPluginsExist = FALSE;
|
||||||
|
break;
|
||||||
|
} // end if (!$plugin['Exists'])
|
||||||
|
|
||||||
|
// set variable indicating BS plugin existance
|
||||||
|
$PMA_Config->set('BLOBSTREAMING_PLUGINS_EXIST', $allPluginsExist);
|
||||||
|
|
||||||
|
// do the plugins exist?
|
||||||
|
if ($allPluginsExist)
|
||||||
|
{
|
||||||
|
// retrieve BS variables from PMA configuration
|
||||||
|
$bs_set_variables = array();
|
||||||
|
|
||||||
|
$bs_set_variables[$PMA_Config->get('PBMS_NAME') . '_garbage_threshold'] = (isset($serverCfg['bs_garbage_threshold'])) ? $server['bs_garbage_threshold'] : NULL;
|
||||||
|
$bs_set_variables[$PMA_Config->get('PBMS_NAME') . '_repository_threshold'] = (isset($serverCfg['bs_repository_threshold'])) ? $server['bs_repository_threshold'] : NULL;
|
||||||
|
$bs_set_variables[$PMA_Config->get('PBMS_NAME') . '_temp_blob_timeout'] = (isset($serverCfg['bs_temp_blob_timeout'])) ? $server['bs_temp_blob_timeout'] : NULL;
|
||||||
|
$bs_set_variables[$PMA_Config->get('PBMS_NAME') . '_temp_log_threshold'] = (isset($serverCfg['bs_temp_log_threshold'])) ? $server['bs_temp_log_threshold'] : NULL;
|
||||||
|
|
||||||
|
// set BS variables to PMA configuration defaults
|
||||||
|
PMA_BS_SetVariables($bs_set_variables);
|
||||||
|
|
||||||
|
// retrieve updated BS variables (configurable and unconfigurable)
|
||||||
|
$bs_variables = PMA_BS_GetVariables();
|
||||||
|
|
||||||
|
// if no BS variables exist, set plugin existance to false and return
|
||||||
|
if (count($bs_variables) <= 0)
|
||||||
|
{
|
||||||
|
$PMA_Config->set('BLOBSTREAMING_PLUGINS_EXIST', FALSE);
|
||||||
|
return FALSE;
|
||||||
|
} // end if (count($bs_variables) <= 0)
|
||||||
|
|
||||||
|
// switch on BS field references
|
||||||
|
if (strtolower($bs_variables[$PMA_Config->get('PBMS_NAME') . '_field_references']) == "off")
|
||||||
|
PMA_BS_SetFieldReferences('ON');
|
||||||
|
|
||||||
|
// get BS server port
|
||||||
|
$BS_PORT = $bs_variables[$PMA_Config->get('PBMS_NAME') . '_port'];
|
||||||
|
|
||||||
|
// if no BS server port exists, set plugin existance to false and return
|
||||||
|
if (!$BS_PORT)
|
||||||
|
{
|
||||||
|
$PMA_Config->set('BLOBSTREAMING_PLUGINS_EXIST', FALSE);
|
||||||
|
return FALSE;
|
||||||
|
} // end if (!$BS_PORT)
|
||||||
|
|
||||||
|
// add selected BS, CURL and fileinfo library variables to PMA configuration
|
||||||
|
$PMA_Config->set('BLOBSTREAMING_PORT', $BS_PORT);
|
||||||
|
$PMA_Config->set('BLOBSTREAMING_HOST', $serverCfg['host']);
|
||||||
|
$PMA_Config->set('BLOBSTREAMING_SERVER', $serverCfg['host'] . ':' . $BS_PORT);
|
||||||
|
$PMA_Config->set('CURL_EXISTS', FALSE);
|
||||||
|
$PMA_Config->set('FILEINFO_EXISTS', FALSE);
|
||||||
|
|
||||||
|
// check if CURL exists
|
||||||
|
if (function_exists("curl_init"))
|
||||||
|
{
|
||||||
|
// initialize curl handler
|
||||||
|
$curlHnd = curl_init();
|
||||||
|
|
||||||
|
// CURL exists, set necessary variable and close resource
|
||||||
|
if (!empty($curlHnd))
|
||||||
|
{
|
||||||
|
$PMA_Config->set('CURL_EXISTS', TRUE);
|
||||||
|
curl_close($curlHnd);
|
||||||
|
} // end if (!empty($curlHnd))
|
||||||
|
} // end if (function_exists("curl_init"))
|
||||||
|
|
||||||
|
// check if PECL's fileinfo library exist
|
||||||
|
$finfo = NULL;
|
||||||
|
|
||||||
|
if (function_exists("finfo_open"))
|
||||||
|
$finfo = finfo_open(FILEINFO_MIME);
|
||||||
|
|
||||||
|
// fileinfo library exists, set necessary variable and close resource
|
||||||
|
if (!empty($finfo))
|
||||||
|
{
|
||||||
|
$PMA_Config->set('FILEINFO_EXISTS', TRUE);
|
||||||
|
finfo_close($finfo);
|
||||||
|
} // end if (!empty($finfo))
|
||||||
|
} // end if ($allPluginsExist)
|
||||||
|
else
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
$bs_tables = array();
|
||||||
|
|
||||||
|
// specify table structure for BS reference table
|
||||||
|
$bs_tables[$PMA_Config->get('PBMS_NAME') . '_reference'] = array();
|
||||||
|
$bs_tables[$PMA_Config->get('PBMS_NAME') . '_reference']['struct'] = <<<EOD
|
||||||
|
CREATE TABLE {$PMA_Config->get('PBMS_NAME')}_reference
|
||||||
|
(
|
||||||
|
Table_name CHAR(64) COMMENT 'The name of the referencing table',
|
||||||
|
Blob_id BIGINT COMMENT 'The BLOB reference number - part of the BLOB URL',
|
||||||
|
Column_name CHAR(64) COMMENT 'The column name of the referencing field',
|
||||||
|
Row_condition VARCHAR(255) COMMENT 'This condition identifies the row in the table',
|
||||||
|
Blob_url VARCHAR(200) COMMENT 'The BLOB URL for HTTP GET access',
|
||||||
|
Repository_id INT COMMENT 'The repository file number of the BLOB',
|
||||||
|
Repo_blob_offset BIGINT COMMENT 'The offset in the repository file',
|
||||||
|
Blob_size BIGINT COMMENT 'The size of the BLOB in bytes',
|
||||||
|
Deletion_time TIMESTAMP COMMENT 'The time the BLOB was deleted',
|
||||||
|
Remove_in INT COMMENT 'The number of seconds before the reference/BLOB is removed perminently',
|
||||||
|
Temp_log_id INT COMMENT 'Temporary log number of the referencing deletion entry',
|
||||||
|
Temp_log_offset BIGINT COMMENT 'Temporary log offset of the referencing deletion entry'
|
||||||
|
) ENGINE=MyBS;
|
||||||
|
EOD;
|
||||||
|
|
||||||
|
// specify table structure for BS repository table
|
||||||
|
$bs_tables[$PMA_Config->get('PBMS_NAME') . '_repository'] = array();
|
||||||
|
$bs_tables[$PMA_Config->get('PBMS_NAME') . '_repository']['struct'] = <<<EOD
|
||||||
|
CREATE TABLE {$PMA_Config->get('PBMS_NAME')}_repository
|
||||||
|
(
|
||||||
|
Repository_id INT COMMENT 'The repository file number',
|
||||||
|
Repo_blob_offset BIGINT COMMENT 'The offset of the BLOB in the repository file',
|
||||||
|
Blob_size BIGINT COMMENT 'The size of the BLOB in bytes',
|
||||||
|
Head_size SMALLINT UNSIGNED COMMENT 'The size of the BLOB header - proceeds the BLOB data',
|
||||||
|
Access_code INT COMMENT 'The 4-byte authorisation code required to access the BLOB - part of the BLOB URL',
|
||||||
|
Creation_time TIMESTAMP COMMENT 'The time the BLOB was created',
|
||||||
|
Last_ref_time TIMESTAMP COMMENT 'The last time the BLOB was referenced',
|
||||||
|
Last_access_time TIMESTAMP COMMENT 'The last time the BLOB was accessed (read)',
|
||||||
|
Content_type CHAR(128) COMMENT 'The content type of the BLOB - returned by HTTP GET calls',
|
||||||
|
Blob_data LONGBLOB COMMENT 'The data of this BLOB'
|
||||||
|
// load PMA configuration
|
||||||
|
) ENGINE=MyBS;
|
||||||
|
EOD;
|
||||||
|
|
||||||
|
// specify table structure for BS custom content type table
|
||||||
|
$bs_tables[$PMA_Config->get('PBMS_NAME') . '_custom_content_type'] = array();
|
||||||
|
$bs_tables[$PMA_Config->get('PBMS_NAME') . '_custom_content_type']['struct'] = <<<EOD
|
||||||
|
CREATE TABLE {$PMA_Config->get('PBMS_NAME')}_custom_content_type
|
||||||
|
(
|
||||||
|
Blob_url VARCHAR(200) COMMENT 'The BLOB URL for HTTP GET access',
|
||||||
|
Content_type VARCHAR(255) COMMENT 'The custom MIME type for a given BLOB reference as specified by the user',
|
||||||
|
|
||||||
|
PRIMARY KEY(Blob_url)
|
||||||
|
);
|
||||||
|
EOD;
|
||||||
|
|
||||||
|
// add BS tables to PMA configuration
|
||||||
|
$PMA_Config->set('BLOBSTREAMING_TABLES', $bs_tables);
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* checks for databases that support BLOBStreaming
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @uses PMA_GetDatabases()
|
||||||
|
* @uses PMA_TablesExist()
|
||||||
|
* @uses PMA_Config::set()
|
||||||
|
*/
|
||||||
|
function checkBLOBStreamableDatabases()
|
||||||
|
{
|
||||||
|
// load PMA configuration
|
||||||
|
$PMA_Config = $_SESSION['PMA_Config'];
|
||||||
|
|
||||||
|
// return if unable to load PMA configuration
|
||||||
|
if (empty($PMA_Config))
|
||||||
|
return;
|
||||||
|
|
||||||
|
// retrieve BS tables from PMA configuration
|
||||||
|
$session_bs_tables = $PMA_Config->get('BLOBSTREAMING_TABLES');
|
||||||
|
|
||||||
|
$bs_databases = array();
|
||||||
|
$bs_tables = array();
|
||||||
|
|
||||||
|
// return if BS tables do not exist
|
||||||
|
if (!$session_bs_tables)
|
||||||
|
return;
|
||||||
|
|
||||||
|
foreach ($session_bs_tables as $table_key=>$table)
|
||||||
|
{
|
||||||
|
$bs_tables[$table_key] = array();
|
||||||
|
$bs_tables[$table_key]['Exists'] = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// retrieve MySQL databases
|
||||||
|
$databases = PMA_GetDatabases();
|
||||||
|
|
||||||
|
// check if BS tables exist for each database
|
||||||
|
foreach ($databases as $db_key=>$db_name)
|
||||||
|
{
|
||||||
|
$bs_databases[$db_name] = $bs_tables;
|
||||||
|
|
||||||
|
PMA_TablesExist($bs_databases[$db_name], $db_name);
|
||||||
|
}
|
||||||
|
|
||||||
|
// set BS databases in PMA configuration
|
||||||
|
$PMA_Config->set('BLOBSTREAMABLE_DATABASES', $bs_databases);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* checks whether a set of plugins exist
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @param array - a list of plugin names and accompanying library filenames to check for
|
||||||
|
* @uses PMA_DBI_query()
|
||||||
|
* @uses PMA_DBI_fetch_assoc()
|
||||||
|
*/
|
||||||
|
function PMA_PluginsExist(&$plugins)
|
||||||
|
{
|
||||||
|
if (PMA_MYSQL_INT_VERSION < 50109) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// run query to retrieve MySQL plugins
|
||||||
|
$query = "SHOW PLUGINS";
|
||||||
|
$result = PMA_DBI_query($query);
|
||||||
|
|
||||||
|
// while there are records to parse
|
||||||
|
while ($data = @PMA_DBI_fetch_assoc($result))
|
||||||
|
{
|
||||||
|
// reset plugin state
|
||||||
|
$state = TRUE;
|
||||||
|
|
||||||
|
// check if required plugins exist
|
||||||
|
foreach ($plugins as $plugin_key=>$plugin)
|
||||||
|
if (!$plugin['Exists'])
|
||||||
|
if (
|
||||||
|
strtolower($data['Library']) == strtolower($plugin['Library']) &&
|
||||||
|
$data['Status'] == "ACTIVE"
|
||||||
|
)
|
||||||
|
$plugins[$plugin_key]['Exists'] = TRUE;
|
||||||
|
else
|
||||||
|
if ($state)
|
||||||
|
$state = FALSE;
|
||||||
|
|
||||||
|
// break if all necessary plugins are found before all records are parsed
|
||||||
|
if ($state)
|
||||||
|
break;
|
||||||
|
} // end while ($data = @PMA_DBI_fetch_assoc($result))
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* checks whether a given set of tables exist in a given database
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @param array - list of tables to look for
|
||||||
|
* @param string - name of database
|
||||||
|
* @uses PMA_DBI_select_db()
|
||||||
|
* @uses PMA_DBI_query()
|
||||||
|
* @uses PMA_DBI_fetch_assoc()
|
||||||
|
*/
|
||||||
|
function PMA_TablesExist(&$tables, $db_name)
|
||||||
|
{
|
||||||
|
// select specified database
|
||||||
|
PMA_DBI_select_db($db_name);
|
||||||
|
|
||||||
|
// run query to retrieve tables in specified database
|
||||||
|
$query = "SHOW TABLES";
|
||||||
|
$result = PMA_DBI_query($query);
|
||||||
|
|
||||||
|
// while there are records to parse
|
||||||
|
while ($data = @PMA_DBI_fetch_assoc($result))
|
||||||
|
{
|
||||||
|
$state = TRUE;
|
||||||
|
|
||||||
|
// check if necessary tables exist
|
||||||
|
foreach ($tables as $table_key=>$table)
|
||||||
|
if (!$table['Exists'])
|
||||||
|
if ($data['Tables_in_' . $db_name] == $table_key)
|
||||||
|
$tables[$table_key]['Exists'] = TRUE;
|
||||||
|
else
|
||||||
|
if ($state)
|
||||||
|
$state = FALSE;
|
||||||
|
|
||||||
|
// break if necessary tables are found before all records are parsed
|
||||||
|
if ($state)
|
||||||
|
break;
|
||||||
|
} // end while ($data = @PMA_DBI_fetch_assoc($result))
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* returns a list of databases
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @uses PMA_DBI_query()
|
||||||
|
* @uses PMA_DBI_fetch_assoc()
|
||||||
|
* @return array - list of databases acquired via MySQL
|
||||||
|
*/
|
||||||
|
function PMA_GetDatabases()
|
||||||
|
{
|
||||||
|
// run query to retrieve databases
|
||||||
|
$query = "SHOW DATABASES";
|
||||||
|
$result = PMA_DBI_query($query);
|
||||||
|
|
||||||
|
$databases = array();
|
||||||
|
|
||||||
|
// while there are records to parse
|
||||||
|
while ($data = @PMA_DBI_fetch_assoc($result))
|
||||||
|
$databases[] = $data['Database'];
|
||||||
|
|
||||||
|
// return list of databases
|
||||||
|
return $databases;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sets BLOBStreaming variables to a list of specified arguments
|
||||||
|
* @access public
|
||||||
|
* @uses PMA_DBI_query()
|
||||||
|
* @returns boolean - success of variables setup
|
||||||
|
*/
|
||||||
|
|
||||||
|
function PMA_BS_SetVariables($bs_variables)
|
||||||
|
{
|
||||||
|
// if no variables exist in array, return false
|
||||||
|
if (empty($bs_variables) || count($bs_variables) == 0)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
// set BS variables to those specified in array
|
||||||
|
foreach ($bs_variables as $key=>$val)
|
||||||
|
if (!is_null($val) && strlen($val) > 0)
|
||||||
|
{
|
||||||
|
// set BS variable to specified value
|
||||||
|
$query = "SET GLOBAL $key=" . PMA_sqlAddSlashes($val);
|
||||||
|
$result = PMA_DBI_query($query);
|
||||||
|
|
||||||
|
// if query fails execution, return false
|
||||||
|
if (!$result)
|
||||||
|
return FALSE;
|
||||||
|
} // end if (!is_null($val) && strlen($val) > 0)
|
||||||
|
|
||||||
|
// return true on success
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* returns a list of BLOBStreaming variables used by MySQL
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @uses PMA_Config::get()
|
||||||
|
* @uses PMA_DBI_query()
|
||||||
|
* @uses PMA_DBI_fetch_assoc()
|
||||||
|
* @return array - list of BLOBStreaming variables
|
||||||
|
*/
|
||||||
|
function PMA_BS_GetVariables()
|
||||||
|
{
|
||||||
|
// load PMA configuration
|
||||||
|
$PMA_Config = $_SESSION['PMA_Config'];
|
||||||
|
|
||||||
|
// return if unable to load PMA configuration
|
||||||
|
if (empty($PMA_Config))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
// run query to retrieve BS variables
|
||||||
|
$query = "SHOW VARIABLES LIKE '%" . $PMA_Config->get('PBMS_NAME') . "%'";
|
||||||
|
$result = PMA_DBI_query($query);
|
||||||
|
|
||||||
|
$BS_Variables = array();
|
||||||
|
|
||||||
|
// while there are records to retrieve
|
||||||
|
while ($data = @PMA_DBI_fetch_assoc($result))
|
||||||
|
$BS_Variables[$data['Variable_name']] = $data['Value'];
|
||||||
|
|
||||||
|
// return BS variables
|
||||||
|
return $BS_Variables;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sets the BLOBStreaming global field references to ON/OFF
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @param string - ON or OFF
|
||||||
|
* @uses PMA_Config::get()
|
||||||
|
* @uses PMA_sqlAddslashes()
|
||||||
|
* @uses PMA_DBI_query()
|
||||||
|
* @return boolean - success/failure of query execution
|
||||||
|
*/
|
||||||
|
function PMA_BS_SetFieldReferences($val)
|
||||||
|
{
|
||||||
|
// load PMA configuration
|
||||||
|
$PMA_Config = $_SESSION['PMA_Config'];
|
||||||
|
|
||||||
|
// return if unable to load PMA configuration
|
||||||
|
if (empty($PMA_Config))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
// set field references to value specified
|
||||||
|
$query = "SET GLOBAL " . $PMA_Config->get('PBMS_NAME') . "_field_references=" . PMA_sqlAddslashes($val);
|
||||||
|
$result = PMA_DBI_query($query);
|
||||||
|
|
||||||
|
// return success of query execution
|
||||||
|
if ($result)
|
||||||
|
return TRUE;
|
||||||
|
else
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gets the SQL table definition for a given BLOBStreaming table
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @param string - table name
|
||||||
|
* @uses PMA_Config::get()
|
||||||
|
* @return string - SQL table definition
|
||||||
|
*/
|
||||||
|
function PMA_BS_GetTableStruct($tbl_name)
|
||||||
|
{
|
||||||
|
// retrieve table structures for BS tables
|
||||||
|
$bs_tables = $_SESSION['PMA_Config']->get('BLOBSTREAMING_TABLES');
|
||||||
|
|
||||||
|
// return if tables don't exist
|
||||||
|
if (!$bs_tables)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// return if specified table doesn't exist in collection of BS tables
|
||||||
|
if (!isset($bs_tables[$tbl_name]))
|
||||||
|
return;
|
||||||
|
|
||||||
|
// return specified table's structure
|
||||||
|
return $bs_tables[$tbl_name]['struct'];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* creates the BLOBStreaming tables for a given database
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @param string - database name
|
||||||
|
* @uses PMA_Config::get()
|
||||||
|
* @uses PMA_DBI_select_db()
|
||||||
|
* @uses PMA_DBI_query()
|
||||||
|
* @uses PMA_BS_GetTableStruct()
|
||||||
|
* @return boolean - success/failure of transactional query execution
|
||||||
|
*/
|
||||||
|
function PMA_BS_CreateTables($db_name)
|
||||||
|
{
|
||||||
|
// retrieve BS tables
|
||||||
|
$bs_tables = $_SESSION['PMA_Config']->get('BLOBSTREAMING_TABLES');
|
||||||
|
|
||||||
|
// select specified database
|
||||||
|
PMA_DBI_select_db($db_name);
|
||||||
|
|
||||||
|
// create necessary BS tables for specified database
|
||||||
|
foreach ($bs_tables as $table_key=>$table)
|
||||||
|
{
|
||||||
|
$result = PMA_DBI_query(PMA_BS_GetTableStruct($table_key));
|
||||||
|
|
||||||
|
// return false if query execution fails
|
||||||
|
if (!$result)
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// return true on success
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* drops BLOBStreaming tables for a given database
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @param string - database name
|
||||||
|
* @uses PMA_Config::get()
|
||||||
|
* @uses PMA_DBI_select_db()
|
||||||
|
* @uses PMA_backquote()
|
||||||
|
* @uses PMA_DBI_query()
|
||||||
|
* @return boolean - success/failure of transactional query execution
|
||||||
|
*/
|
||||||
|
function PMA_BS_DropTables($db_name)
|
||||||
|
{
|
||||||
|
// load PMA configuration
|
||||||
|
$PMA_Config = $_SESSION['PMA_Config'];
|
||||||
|
|
||||||
|
// return if unable to load PMA configuration
|
||||||
|
if (empty($PMA_Config))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
// retrieve BS tables
|
||||||
|
$bs_tables = $PMA_Config->get('BLOBSTREAMING_TABLES');
|
||||||
|
|
||||||
|
// select specified database
|
||||||
|
PMA_DBI_select_db($db_name);
|
||||||
|
|
||||||
|
// drop BS tables
|
||||||
|
foreach ($bs_tables as $table_key=>$table)
|
||||||
|
{
|
||||||
|
$query = "DROP TABLE IF EXISTS " . PMA_backquote($table_key);
|
||||||
|
$result = PMA_DBI_query($query);
|
||||||
|
|
||||||
|
// return false if query execution fails
|
||||||
|
if (!$result)
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// return true on success
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* returns the field name for a primary key of a given table in a given database
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @param string - database name
|
||||||
|
* @param string - table name
|
||||||
|
* @uses PMA_DBI_select_db()
|
||||||
|
* @uses PMA_backquote()
|
||||||
|
* @uses PMA_DBI_query()
|
||||||
|
* @uses PMA_DBI_fetch_assoc()
|
||||||
|
* @return string - field name for primary key
|
||||||
|
*/
|
||||||
|
function PMA_BS_GetPrimaryField($db_name, $tbl_name)
|
||||||
|
{
|
||||||
|
// load PMA configuration
|
||||||
|
$PMA_Config = $_SESSION['PMA_Config'];
|
||||||
|
|
||||||
|
// return if unable to load PMA configuration
|
||||||
|
if (empty($PMA_Config))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
// select specified database
|
||||||
|
PMA_DBI_select_db($db_name);
|
||||||
|
|
||||||
|
// retrieve table fields
|
||||||
|
$query = "SHOW FULL FIELDS FROM " . PMA_backquote($tbl_name);
|
||||||
|
$result = PMA_DBI_query($query);
|
||||||
|
|
||||||
|
// while there are records to parse
|
||||||
|
while ($data = PMA_DBI_fetch_assoc($result))
|
||||||
|
if ("PRI" == $data['Key'])
|
||||||
|
return $data['Field'];
|
||||||
|
|
||||||
|
// return NULL on no primary key
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* checks whether a BLOB reference exists in the BLOB repository
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @param string - BLOB reference
|
||||||
|
* @param string - database name
|
||||||
|
* @uses PMA_DBI_select_db()
|
||||||
|
* @uses PMA_backquote()
|
||||||
|
* @uses PMA_Config::get()
|
||||||
|
* @uses PMA_sqlAddslashes()
|
||||||
|
* @uses PMA_DBI_query()
|
||||||
|
* @return boolean - existence of BLOB reference
|
||||||
|
*/
|
||||||
|
function PMA_BS_ReferenceExists($bs_reference, $db_name)
|
||||||
|
{
|
||||||
|
$referenceExists = FALSE;
|
||||||
|
|
||||||
|
// return false on invalid BS reference
|
||||||
|
if (strlen ($bs_reference) < strlen ("~*$db_name/~") || "~*$db_name/~" != substr ($bs_reference, 0, strlen ($db_name) + 4))
|
||||||
|
return $referenceExists;
|
||||||
|
|
||||||
|
// load PMA configuration
|
||||||
|
$PMA_Config = $_SESSION['PMA_Config'];
|
||||||
|
|
||||||
|
// return if unable to load PMA configuration
|
||||||
|
if (empty($PMA_Config))
|
||||||
|
return $referenceExists;
|
||||||
|
|
||||||
|
// select specified database
|
||||||
|
PMA_DBI_select_db($db_name);
|
||||||
|
|
||||||
|
// run query on BS reference retrieval
|
||||||
|
$query = "SELECT * FROM " . PMA_backquote($PMA_Config->get('PBMS_NAME') . "_reference") . " WHERE Blob_url='" . PMA_sqlAddslashes($bs_reference) . "'";
|
||||||
|
$result = PMA_DBI_query($query);
|
||||||
|
|
||||||
|
// if record exists
|
||||||
|
if ($data = @PMA_DBI_fetch_assoc($result))
|
||||||
|
$referenceExists = TRUE;
|
||||||
|
|
||||||
|
// return reference existance
|
||||||
|
return $referenceExists;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* creates a HTTP link to a given blob reference for a given database
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @param string - BLOB reference
|
||||||
|
* @param string - database name
|
||||||
|
* @uses PMA_Config::get()
|
||||||
|
* @uses PMA_DBI_select_db()
|
||||||
|
* @uses PMA_backquote()
|
||||||
|
* @uses PMA_sqlAddslashes()
|
||||||
|
* @uses PMA_DBI_query()
|
||||||
|
* @uses PMA_DBI_fetch_assoc()
|
||||||
|
* @return string - HTTP link or Error
|
||||||
|
*/
|
||||||
|
function PMA_BS_CreateReferenceLink($bs_reference, $db_name)
|
||||||
|
{
|
||||||
|
// load PMA configuration
|
||||||
|
$PMA_Config = $_SESSION['PMA_Config'];
|
||||||
|
|
||||||
|
// return if unable to load PMA configuration
|
||||||
|
if (empty($PMA_Config))
|
||||||
|
return '';
|
||||||
|
|
||||||
|
// generate bs reference link
|
||||||
|
$bs_ref_link = 'http://' . $PMA_Config->get('BLOBSTREAMING_SERVER') . '/' . $bs_reference;
|
||||||
|
|
||||||
|
// select specified database
|
||||||
|
PMA_DBI_select_db($db_name);
|
||||||
|
|
||||||
|
$pbms_repo_bq = PMA_backquote($PMA_Config->get('PBMS_NAME') . "_repository");
|
||||||
|
$pbms_ref_bq = PMA_backquote($PMA_Config->get('PBMS_NAME') . "_reference");
|
||||||
|
$pbms_cust_content_bq = PMA_backquote($PMA_Config->get('PBMS_NAME') . "_custom_content_type");
|
||||||
|
|
||||||
|
// run query on determining specified BS reference
|
||||||
|
$query = "SELECT $pbms_repo_bq.Content_type, $pbms_cust_content_bq.Content_type AS Custom_type";
|
||||||
|
$query .= " FROM $pbms_repo_bq LEFT JOIN $pbms_ref_bq ON";
|
||||||
|
$query .= "$pbms_repo_bq.Repository_id=$pbms_ref_bq.Repository_id";
|
||||||
|
$query .= " AND $pbms_repo_bq.Blob_size=$pbms_ref_bq.Blob_size";
|
||||||
|
$query .= " AND $pbms_repo_bq.Repo_blob_offset=$pbms_ref_bq.Repo_blob_offset";
|
||||||
|
$query .= " LEFT JOIN $pbms_cust_content_bq ON $pbms_cust_content_bq.Blob_url=$pbms_ref_bq.Blob_url";
|
||||||
|
$query .= " WHERE $pbms_ref_bq.Blob_url='" . PMA_sqlAddslashes($bs_reference) . "'";
|
||||||
|
|
||||||
|
$result = PMA_DBI_query($query);
|
||||||
|
|
||||||
|
// if record exists
|
||||||
|
if ($data = @PMA_DBI_fetch_assoc($result))
|
||||||
|
{
|
||||||
|
// determine content-type for BS repository file (original or custom)
|
||||||
|
$content_type = isset($data['Custom_type']) ? $data['Custom_type'] : $data['Content_type'];
|
||||||
|
|
||||||
|
if (!$content_type)
|
||||||
|
$content_type = NULL;
|
||||||
|
|
||||||
|
$output = "<a href=\"#\" onclick=\"requestMIMETypeChange('" . urlencode($db_name) . "', '" . urlencode($GLOBALS['table']) . "', '" . urlencode($bs_reference) . "', '" . urlencode($content_type) . "')\">$content_type</a>";
|
||||||
|
|
||||||
|
// specify custom HTML for various content types
|
||||||
|
switch ($content_type)
|
||||||
|
{
|
||||||
|
// no content specified
|
||||||
|
case NULL:
|
||||||
|
$output = "NULL";
|
||||||
|
break;
|
||||||
|
// image content
|
||||||
|
case 'image/jpeg':
|
||||||
|
case 'image/png':
|
||||||
|
$output .= ' (<a href="' . $bs_ref_link . '" target="new">View Image</a>)';
|
||||||
|
break;
|
||||||
|
// audio content
|
||||||
|
case 'audio/mpeg':
|
||||||
|
$output .= ' (<a href="#" onclick="popupBSMedia(\'' . urlencode($bs_reference) . '\', \'' . $content_type . '\', 640, 120)">Play Audio</a>)';
|
||||||
|
break;
|
||||||
|
// video content
|
||||||
|
case 'application/x-flash-video':
|
||||||
|
case 'video/mpeg':
|
||||||
|
$output .= ' (<a href="#" onclick="popupBSMedia(\'' . urlencode($bs_reference) . '\', \'' . $content_type . '\', 640, 480)">View Video</a>)';
|
||||||
|
break;
|
||||||
|
// unsupported content. specify download
|
||||||
|
default:
|
||||||
|
$output .= ' (<a href="' . $bs_ref_link . '" target="new">Download File</a>)';
|
||||||
|
}
|
||||||
|
|
||||||
|
// return HTML
|
||||||
|
return $output;
|
||||||
|
} // end if ($data = @PMA_DBI_fetch_assoc($result))
|
||||||
|
|
||||||
|
// return on error
|
||||||
|
return 'Error';
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
@@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
* Order of sections for common.inc.php:
|
* Order of sections for common.inc.php:
|
||||||
*
|
*
|
||||||
* the authentication libraries must be loaded before db connections
|
* the authentication libraries must be before the connection to db
|
||||||
*
|
*
|
||||||
* ... so the required order is:
|
* ... so the required order is:
|
||||||
*
|
*
|
||||||
@@ -40,6 +40,7 @@ require_once './libraries/Error_Handler.class.php';
|
|||||||
* initialize the error handler
|
* initialize the error handler
|
||||||
*/
|
*/
|
||||||
$GLOBALS['error_handler'] = new PMA_Error_Handler();
|
$GLOBALS['error_handler'] = new PMA_Error_Handler();
|
||||||
|
$cfg['Error_Handler']['display'] = TRUE;
|
||||||
|
|
||||||
// at this point PMA_PHP_INT_VERSION is not yet defined
|
// at this point PMA_PHP_INT_VERSION is not yet defined
|
||||||
if (version_compare(phpversion(), '6', 'lt')) {
|
if (version_compare(phpversion(), '6', 'lt')) {
|
||||||
@@ -409,6 +410,10 @@ if (! PMA_isValid($_REQUEST['token']) || $_SESSION[' PMA_token '] != $_REQUEST['
|
|||||||
'pma_lang', 'pma_charset', 'pma_collation_connection',
|
'pma_lang', 'pma_charset', 'pma_collation_connection',
|
||||||
/* Possible login form */
|
/* Possible login form */
|
||||||
'pma_servername', 'pma_username', 'pma_password',
|
'pma_servername', 'pma_username', 'pma_password',
|
||||||
|
/* rajk - for playing blobstreamable media */
|
||||||
|
'media_type', 'bs_reference',
|
||||||
|
/* rajk - for changing BLOB repository file MIME type */
|
||||||
|
'bs_db', 'bs_table', 'bs_ref', 'bs_new_mime_type'
|
||||||
);
|
);
|
||||||
/**
|
/**
|
||||||
* Require cleanup functions
|
* Require cleanup functions
|
||||||
@@ -703,7 +708,7 @@ $GLOBALS['pmaThemeImage'] = $_SESSION['PMA_Theme']->getImgPath();
|
|||||||
if (@file_exists($_SESSION['PMA_Theme']->getLayoutFile())) {
|
if (@file_exists($_SESSION['PMA_Theme']->getLayoutFile())) {
|
||||||
include $_SESSION['PMA_Theme']->getLayoutFile();
|
include $_SESSION['PMA_Theme']->getLayoutFile();
|
||||||
/**
|
/**
|
||||||
* @todo remove if all themes are updated to use Navi instead of Left as frame name
|
* @todo remove if all themes are update use Navi instead of Left as frame name
|
||||||
*/
|
*/
|
||||||
if (! isset($GLOBALS['cfg']['NaviWidth'])
|
if (! isset($GLOBALS['cfg']['NaviWidth'])
|
||||||
&& isset($GLOBALS['cfg']['LeftWidth'])) {
|
&& isset($GLOBALS['cfg']['LeftWidth'])) {
|
||||||
@@ -931,6 +936,13 @@ if (! defined('PMA_MINIMUM_COMMON')) {
|
|||||||
unset($_SESSION['profiling']);
|
unset($_SESSION['profiling']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// rajk - library file for blobstreaming
|
||||||
|
require_once './libraries/blobstreaming.lib.php';
|
||||||
|
|
||||||
|
// rajk - checks for blobstreaming plugins and databases that support
|
||||||
|
// blobstreaming (by having the necessary tables for blobstreaming)
|
||||||
|
if (checkBLOBStreamingPlugins())
|
||||||
|
checkBLOBStreamableDatabases();
|
||||||
} // end if !defined('PMA_MINIMUM_COMMON')
|
} // end if !defined('PMA_MINIMUM_COMMON')
|
||||||
|
|
||||||
// remove sensitive values from session
|
// remove sensitive values from session
|
||||||
|
@@ -748,7 +748,23 @@ function PMA_getTableList($db, $tables = null, $limit_offset = 0, $limit_count =
|
|||||||
|
|
||||||
$table_groups = array();
|
$table_groups = array();
|
||||||
|
|
||||||
|
// for blobstreaming - list of blobstreaming tables - rajk
|
||||||
|
|
||||||
|
// load PMA configuration
|
||||||
|
$PMA_Config = $_SESSION['PMA_Config'];
|
||||||
|
|
||||||
|
// if PMA configuration exists
|
||||||
|
if (!empty($PMA_Config))
|
||||||
|
$session_bs_tables = $_SESSION['PMA_Config']->get('BLOBSTREAMING_TABLES');
|
||||||
|
|
||||||
foreach ($tables as $table_name => $table) {
|
foreach ($tables as $table_name => $table) {
|
||||||
|
// if BS tables exist
|
||||||
|
if (isset($session_bs_tables))
|
||||||
|
// compare table name to tables in list of blobstreaming tables
|
||||||
|
foreach ($session_bs_tables as $table_key=>$table_val)
|
||||||
|
// if table is in list, skip outer foreach loop
|
||||||
|
if ($table_name == $table_key)
|
||||||
|
continue 2;
|
||||||
|
|
||||||
// check for correct row count
|
// check for correct row count
|
||||||
if (null === $table['Rows']) {
|
if (null === $table['Rows']) {
|
||||||
@@ -1091,7 +1107,7 @@ function PMA_showMessage($message, $sql_query = null, $type = 'notice')
|
|||||||
if (! empty($cfg['SQLQuery']['Explain']) && ! $query_too_big) {
|
if (! empty($cfg['SQLQuery']['Explain']) && ! $query_too_big) {
|
||||||
$explain_params = $url_params;
|
$explain_params = $url_params;
|
||||||
// Detect if we are validating as well
|
// Detect if we are validating as well
|
||||||
// To preserve the validate URL data
|
// To preserve the validate uRL data
|
||||||
if (! empty($GLOBALS['validatequery'])) {
|
if (! empty($GLOBALS['validatequery'])) {
|
||||||
$explain_params['validatequery'] = 1;
|
$explain_params['validatequery'] = 1;
|
||||||
}
|
}
|
||||||
@@ -1490,7 +1506,7 @@ function PMA_getTab($tab)
|
|||||||
|
|
||||||
$tab = array_merge($defaults, $tab);
|
$tab = array_merge($defaults, $tab);
|
||||||
|
|
||||||
// determine additional style-class
|
// determine additionnal style-class
|
||||||
if (empty($tab['class'])) {
|
if (empty($tab['class'])) {
|
||||||
if ($tab['text'] == $GLOBALS['strEmpty']
|
if ($tab['text'] == $GLOBALS['strEmpty']
|
||||||
|| $tab['text'] == $GLOBALS['strDrop']) {
|
|| $tab['text'] == $GLOBALS['strDrop']) {
|
||||||
|
@@ -129,6 +129,12 @@ $cfg['Servers'][$i]['connect_type'] = 'tcp';
|
|||||||
*/
|
*/
|
||||||
$cfg['Servers'][$i]['extension'] = 'mysql';
|
$cfg['Servers'][$i]['extension'] = 'mysql';
|
||||||
|
|
||||||
|
/* rajk - added for blobstreaming */
|
||||||
|
$cfg['Servers'][$i]['bs_garbage_threshold'] = '';
|
||||||
|
$cfg['Servers'][$i]['bs_repository_threshold'] = '';
|
||||||
|
$cfg['Servers'][$i]['bs_temp_blob_timeout'] = '';
|
||||||
|
$cfg['Servers'][$i]['bs_temp_log_threshold'] = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use compressed protocol for the MySQL connection (requires PHP >= 4.3.0)
|
* Use compressed protocol for the MySQL connection (requires PHP >= 4.3.0)
|
||||||
*
|
*
|
||||||
|
@@ -297,6 +297,33 @@ function PMA_getTableCount($db)
|
|||||||
null, PMA_DBI_QUERY_STORE);
|
null, PMA_DBI_QUERY_STORE);
|
||||||
if ($tables) {
|
if ($tables) {
|
||||||
$num_tables = PMA_DBI_num_rows($tables);
|
$num_tables = PMA_DBI_num_rows($tables);
|
||||||
|
|
||||||
|
// for blobstreaming - get blobstreaming tables
|
||||||
|
// for use in determining if a table here is a blobstreaming table - rajk
|
||||||
|
|
||||||
|
// load PMA configuration
|
||||||
|
$PMA_Config = $_SESSION['PMA_Config'];
|
||||||
|
|
||||||
|
// if PMA configuration exists
|
||||||
|
if (!empty($PMA_Config))
|
||||||
|
{
|
||||||
|
// load BS tables
|
||||||
|
$session_bs_tables = $_SESSION['PMA_Config']->get('BLOBSTREAMING_TABLES');
|
||||||
|
|
||||||
|
// if BS tables exist
|
||||||
|
if (isset ($session_bs_tables))
|
||||||
|
while ($data = PMA_DBI_fetch_assoc($tables))
|
||||||
|
foreach ($session_bs_tables as $table_key=>$table_val)
|
||||||
|
// if the table is a blobstreaming table, reduce the table count
|
||||||
|
if ($data['Tables_in_' . $db] == $table_key)
|
||||||
|
{
|
||||||
|
if ($num_tables > 0)
|
||||||
|
$num_tables--;
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} // end if PMA configuration exists
|
||||||
|
|
||||||
PMA_DBI_free_result($tables);
|
PMA_DBI_free_result($tables);
|
||||||
} else {
|
} else {
|
||||||
$num_tables = 0;
|
$num_tables = 0;
|
||||||
@@ -472,9 +499,9 @@ function PMA_checkPageValidity(&$page, $whitelist)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* tries to find the value for the given environment variable name
|
* trys to find the value for the given environment vriable name
|
||||||
*
|
*
|
||||||
* searches in $_SERVER, $_ENV then tries getenv() and apache_getenv()
|
* searchs in $_SERVER, $_ENV than trys getenv() and apache_getenv()
|
||||||
* in this order
|
* in this order
|
||||||
*
|
*
|
||||||
* @uses $_SERVER
|
* @uses $_SERVER
|
||||||
@@ -517,7 +544,7 @@ function PMA_removeCookie($cookie)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* sets cookie if value is different from current cookie value,
|
* sets cookie if value is different from current cokkie value,
|
||||||
* or removes if value is equal to default
|
* or removes if value is equal to default
|
||||||
*
|
*
|
||||||
* @uses PMA_Config::isHttps()
|
* @uses PMA_Config::isHttps()
|
||||||
|
@@ -1223,7 +1223,7 @@ function PMA_displayTableBody(&$dt_result, &$is_display, $map, $analyzed_sql) {
|
|||||||
$nowrap = ' nowrap';
|
$nowrap = ' nowrap';
|
||||||
$where_comparison = ' = ' . $row[$i];
|
$where_comparison = ' = ' . $row[$i];
|
||||||
|
|
||||||
$vertical_display['data'][$row_no][$i] = '<td align="right"' . PMA_prepare_row_data($mouse_events, $class, $condition_field, $analyzed_sql, $meta, $map, $row[$i], $transform_function, $transform_options, $default_function, $nowrap, $where_comparison);
|
$vertical_display['data'][$row_no][$i] = '<td align="right"' . PMA_prepare_row_data($mouse_events, $class, $condition_field, $analyzed_sql, $meta, $map, $row[$i], $transform_function, $default_function, $nowrap, $where_comparison);
|
||||||
} else {
|
} else {
|
||||||
$vertical_display['data'][$row_no][$i] = ' <td align="right"' . $mouse_events . ' class="' . $class . ' nowrap' . ($condition_field ? ' condition' : '') . '"> </td>' . "\n";
|
$vertical_display['data'][$row_no][$i] = ' <td align="right"' . $mouse_events . ' class="' . $class . ' nowrap' . ($condition_field ? ' condition' : '') . '"> </td>' . "\n";
|
||||||
}
|
}
|
||||||
@@ -1235,7 +1235,56 @@ function PMA_displayTableBody(&$dt_result, &$is_display, $map, $analyzed_sql) {
|
|||||||
// TEXT fields type so we have to ensure it's really a BLOB
|
// TEXT fields type so we have to ensure it's really a BLOB
|
||||||
$field_flags = PMA_DBI_field_flags($dt_result, $i);
|
$field_flags = PMA_DBI_field_flags($dt_result, $i);
|
||||||
if (stristr($field_flags, 'BINARY')) {
|
if (stristr($field_flags, 'BINARY')) {
|
||||||
|
// rajk - for blobstreaming
|
||||||
|
|
||||||
|
$bs_reference_exists = $allBSTablesExist = FALSE;
|
||||||
|
|
||||||
|
// load PMA configuration
|
||||||
|
$PMA_Config = $_SESSION['PMA_Config'];
|
||||||
|
|
||||||
|
// if PMA configuration exists
|
||||||
|
if ($PMA_Config)
|
||||||
|
{
|
||||||
|
// load BS variables
|
||||||
|
$pluginsExist = $PMA_Config->get('BLOBSTREAMING_PLUGINS_EXIST');
|
||||||
|
|
||||||
|
// if BS plugins exist
|
||||||
|
if ($pluginsExist)
|
||||||
|
{
|
||||||
|
// load BS databases
|
||||||
|
$bs_tables = $PMA_Config->get('BLOBSTREAMABLE_DATABASES');
|
||||||
|
|
||||||
|
// if BS db array and specified db string not empty and valid
|
||||||
|
if (!empty($bs_tables) && strlen($db) > 0)
|
||||||
|
{
|
||||||
|
$bs_tables = $bs_tables[$db];
|
||||||
|
|
||||||
|
if (isset($bs_tables))
|
||||||
|
{
|
||||||
|
$allBSTablesExist = TRUE;
|
||||||
|
|
||||||
|
// check if BS tables exist for given database
|
||||||
|
foreach ($bs_tables as $table_key=>$bs_tbl)
|
||||||
|
if (!$bs_tables[$table_key]['Exists'])
|
||||||
|
{
|
||||||
|
$allBSTablesExist = FALSE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// if necessary BS tables exist
|
||||||
|
if ($allBSTablesExist)
|
||||||
|
$bs_reference_exists = PMA_BS_ReferenceExists($row[$i], $db);
|
||||||
|
|
||||||
|
// if valid BS reference exists
|
||||||
|
if ($bs_reference_exists)
|
||||||
|
$blobtext = PMA_BS_CreateReferenceLink($row[$i], $db);
|
||||||
|
else
|
||||||
$blobtext = PMA_handle_non_printable_contents('BLOB', (isset($row[$i]) ? $row[$i] : ''), $transform_function, $transform_options, $default_function, $meta);
|
$blobtext = PMA_handle_non_printable_contents('BLOB', (isset($row[$i]) ? $row[$i] : ''), $transform_function, $transform_options, $default_function, $meta);
|
||||||
|
|
||||||
$vertical_display['data'][$row_no][$i] = ' <td align="left"' . $mouse_events . ' class="' . $class . ($condition_field ? ' condition' : '') . '">' . $blobtext . '</td>';
|
$vertical_display['data'][$row_no][$i] = ' <td align="left"' . $mouse_events . ' class="' . $class . ($condition_field ? ' condition' : '') . '">' . $blobtext . '</td>';
|
||||||
unset($blobtext);
|
unset($blobtext);
|
||||||
} else {
|
} else {
|
||||||
@@ -1290,7 +1339,7 @@ function PMA_displayTableBody(&$dt_result, &$is_display, $map, $analyzed_sql) {
|
|||||||
// loic1: do not wrap if date field type
|
// loic1: do not wrap if date field type
|
||||||
$nowrap = ((preg_match('@DATE|TIME@i', $meta->type) || $bool_nowrap) ? ' nowrap' : '');
|
$nowrap = ((preg_match('@DATE|TIME@i', $meta->type) || $bool_nowrap) ? ' nowrap' : '');
|
||||||
$where_comparison = ' = \'' . PMA_sqlAddslashes($row[$i]) . '\'';
|
$where_comparison = ' = \'' . PMA_sqlAddslashes($row[$i]) . '\'';
|
||||||
$vertical_display['data'][$row_no][$i] = '<td ' . PMA_prepare_row_data($mouse_events, $class, $condition_field, $analyzed_sql, $meta, $map, $row[$i], $transform_function, $transform_options, $default_function, $nowrap, $where_comparison);
|
$vertical_display['data'][$row_no][$i] = '<td ' . PMA_prepare_row_data($mouse_events, $class, $condition_field, $analyzed_sql, $meta, $map, $row[$i], $transform_function, $default_function, $nowrap, $where_comparison);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$vertical_display['data'][$row_no][$i] = ' <td' . $mouse_events . ' class="' . $class . ($condition_field ? ' condition' : '') . '"> </td>' . "\n";
|
$vertical_display['data'][$row_no][$i] = ' <td' . $mouse_events . ' class="' . $class . ($condition_field ? ' condition' : '') . '"> </td>' . "\n";
|
||||||
@@ -2159,13 +2208,12 @@ function PMA_handle_non_printable_contents($category, $content, $transform_funct
|
|||||||
* @param string $map
|
* @param string $map
|
||||||
* @param string $data
|
* @param string $data
|
||||||
* @param string $transform_function
|
* @param string $transform_function
|
||||||
* @param string $transform_options
|
|
||||||
* @param string $default_function
|
* @param string $default_function
|
||||||
* @param string $nowrap
|
* @param string $nowrap
|
||||||
* @param string $where_comparison
|
* @param string $where_comparison
|
||||||
* @return string formatted data
|
* @return string formatted data
|
||||||
*/
|
*/
|
||||||
function PMA_prepare_row_data($mouse_events, $class, $condition_field, $analyzed_sql, $meta, $map, $data, $transform_function, $transform_options, $default_function, $nowrap, $where_comparison) {
|
function PMA_prepare_row_data($mouse_events, $class, $condition_field, $analyzed_sql, $meta, $map, $data, $transform_function, $default_function, $nowrap, $where_comparison) {
|
||||||
|
|
||||||
// continue the <td> tag started before calling this function:
|
// continue the <td> tag started before calling this function:
|
||||||
$result = $mouse_events . ' class="' . $class . ($condition_field ? ' condition' : '') . $nowrap . '">';
|
$result = $mouse_events . ' class="' . $class . ($condition_field ? ' condition' : '') . $nowrap . '">';
|
||||||
|
@@ -75,9 +75,17 @@ if (in_array('functions.js', $GLOBALS['js_include'])) {
|
|||||||
if ($GLOBALS['cfg']['Confirm']) {
|
if ($GLOBALS['cfg']['Confirm']) {
|
||||||
$GLOBALS['js_messages']['strDoYouReally'] = $GLOBALS['strDoYouReally'];
|
$GLOBALS['js_messages']['strDoYouReally'] = $GLOBALS['strDoYouReally'];
|
||||||
$GLOBALS['js_messages']['strDropDatabaseStrongWarning'] = $GLOBALS['strDropDatabaseStrongWarning'];
|
$GLOBALS['js_messages']['strDropDatabaseStrongWarning'] = $GLOBALS['strDropDatabaseStrongWarning'];
|
||||||
|
|
||||||
|
// rajk - for blobstreaming
|
||||||
|
$GLOBALS['js_messages']['strBLOBRepositoryDisableStrongWarning'] = $GLOBALS['strBLOBRepositoryDisableStrongWarning'];
|
||||||
|
$GLOBALS['js_messages']['strBLOBRepositoryDisableAreYouSure'] = sprintf($GLOBALS['strBLOBRepositoryDisableAreYouSure'], $GLOBALS['db']);
|
||||||
} else {
|
} else {
|
||||||
$GLOBALS['js_messages']['strDoYouReally'] = '';
|
$GLOBALS['js_messages']['strDoYouReally'] = '';
|
||||||
$GLOBALS['js_messages']['strDropDatabaseStrongWarning'] = '';
|
$GLOBALS['js_messages']['strDropDatabaseStrongWarning'] = '';
|
||||||
|
|
||||||
|
// rajk - for blobstreaming
|
||||||
|
$GLOBALS['js_messages']['strBLOBRepositoryDisableStrongWarning'] = '';
|
||||||
|
$GLOBALS['js_messages']['strBLOBRepositoryDisableAreYouSure'] = '';
|
||||||
}
|
}
|
||||||
} elseif (in_array('indexes.js', $GLOBALS['js_include'])) {
|
} elseif (in_array('indexes.js', $GLOBALS['js_include'])) {
|
||||||
$GLOBALS['js_messages']['strFormEmpty'] = $GLOBALS['strFormEmpty'];
|
$GLOBALS['js_messages']['strFormEmpty'] = $GLOBALS['strFormEmpty'];
|
||||||
|
@@ -999,6 +999,12 @@ function show_server_form($defaults = array(), $number = FALSE) {
|
|||||||
array('Server socket', 'socket', 'Socket on which MySQL server is listening, leave empty for default'),
|
array('Server socket', 'socket', 'Socket on which MySQL server is listening, leave empty for default'),
|
||||||
array('Connection type', 'connect_type', 'How to connect to server, keep tcp if unsure', array('tcp', 'socket')),
|
array('Connection type', 'connect_type', 'How to connect to server, keep tcp if unsure', array('tcp', 'socket')),
|
||||||
array('PHP extension to use', 'extension', 'What PHP extension to use, use mysqli if supported', array('mysql', 'mysqli')),
|
array('PHP extension to use', 'extension', 'What PHP extension to use, use mysqli if supported', array('mysql', 'mysqli')),
|
||||||
|
/* added by rajk - for blobstreaming */
|
||||||
|
array('PBMS Garbage Threshold', 'bs_garbage_threshold', 'The size in percentage of the garbage level of a BLOB repository file that must be reached for compaction'),
|
||||||
|
array('PBMS Repository Threshold', 'bs_repository_threshold', 'The size in bytes of a repository file before it is unlocked'),
|
||||||
|
array('PBMS Temporary BLOB Timeout', 'bs_temp_blob_timeout', 'The time in seconds before a temporary BLOB reference is scheduled for deletion'),
|
||||||
|
array('PBMS Temporary Log Threshold', 'bs_temp_log_threshold', 'The maximum size in bytes of a PBMS temporary log file'),
|
||||||
|
/* end of blobstreaming additions */
|
||||||
array('Compress connection', 'compress', 'Whether to compress connection to MySQL server', FALSE),
|
array('Compress connection', 'compress', 'Whether to compress connection to MySQL server', FALSE),
|
||||||
array('Authentication type', 'auth_type', 'Authentication method to use', array('cookie', 'http', 'config', 'signon')),
|
array('Authentication type', 'auth_type', 'Authentication method to use', array('cookie', 'http', 'config', 'signon')),
|
||||||
array('User for config auth', 'user', 'Leave empty if not using config auth'),
|
array('User for config auth', 'user', 'Leave empty if not using config auth'),
|
||||||
|
115
tbl_change.php
115
tbl_change.php
@@ -790,6 +790,60 @@ foreach ($rows as $row_id => $vrow) {
|
|||||||
if (($cfg['ProtectBinary'] && $field['is_blob'])
|
if (($cfg['ProtectBinary'] && $field['is_blob'])
|
||||||
|| ($cfg['ProtectBinary'] == 'all' && $field['is_binary'])) {
|
|| ($cfg['ProtectBinary'] == 'all' && $field['is_binary'])) {
|
||||||
echo "\n";
|
echo "\n";
|
||||||
|
// rajk - for blobstreaming
|
||||||
|
$bs_reference_exists = FALSE;
|
||||||
|
|
||||||
|
if (isset ($tbl_type) && strlen ($tbl_type) > 0)
|
||||||
|
{
|
||||||
|
// load PMA_Config
|
||||||
|
$PMA_Config = $_SESSION['PMA_Config'];
|
||||||
|
|
||||||
|
if (!empty($PMA_Config))
|
||||||
|
{
|
||||||
|
$requiredTblType = $PMA_Config->get('PBXT_NAME');
|
||||||
|
|
||||||
|
if ($requiredTblType == strtolower ($tbl_type))
|
||||||
|
{
|
||||||
|
$pluginsExist = $PMA_Config->get('BLOBSTREAMING_PLUGINS_EXIST');
|
||||||
|
|
||||||
|
// check if blobstreaming plugins exist
|
||||||
|
if ($pluginsExist)
|
||||||
|
{
|
||||||
|
$bs_tables = $PMA_Config->get('BLOBSTREAMABLE_DATABASES');
|
||||||
|
|
||||||
|
if (!empty($bs_tables) && strlen($db) > 0)
|
||||||
|
{
|
||||||
|
$bs_tables = $bs_tables[$db];
|
||||||
|
|
||||||
|
if (isset($bs_tables))
|
||||||
|
{
|
||||||
|
$allBSTablesExist = TRUE;
|
||||||
|
|
||||||
|
foreach ($bs_tables as $table_key=>$bs_tbl)
|
||||||
|
if (!$bs_tables[$table_key]['Exists'])
|
||||||
|
{
|
||||||
|
$allBSTablesExist = FALSE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($allBSTablesExist)
|
||||||
|
$bs_reference_exists = PMA_BS_ReferenceExists($data, $db);
|
||||||
|
} // end if (isset($bs_tables))
|
||||||
|
} // end if (!empty($bs_tables) && strlen($db) > 0)
|
||||||
|
} // end if ($pluginsExist)
|
||||||
|
} // end if ($requiredTblType == strtolower ($tbl_type))
|
||||||
|
} // end if (!empty($PMA_Config))
|
||||||
|
} // end if (isset ($tbl_type) && strlen ($tbl_type) > 0)
|
||||||
|
|
||||||
|
if ($bs_reference_exists)
|
||||||
|
{
|
||||||
|
echo '<input type="hidden" name="remove_blob_ref_' . $field['Field_html'] . $vkey . '" value="' . $data . '" />';
|
||||||
|
echo '<input type="checkbox" name="remove_blob_repo_' . $field['Field_html'] . $vkey . '" /> ' . $strBLOBRepositoryRemove . "<br />";
|
||||||
|
echo PMA_BS_CreateReferenceLink($data, $db);
|
||||||
|
echo "<br />";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
echo $strBinaryDoNotEdit;
|
echo $strBinaryDoNotEdit;
|
||||||
if (isset($data)) {
|
if (isset($data)) {
|
||||||
$data_size = PMA_formatByteDown(strlen(stripslashes($data)), 3, 1);
|
$data_size = PMA_formatByteDown(strlen(stripslashes($data)), 3, 1);
|
||||||
@@ -797,6 +851,7 @@ foreach ($rows as $row_id => $vrow) {
|
|||||||
unset($data_size);
|
unset($data_size);
|
||||||
}
|
}
|
||||||
echo "\n";
|
echo "\n";
|
||||||
|
} // end if ($bs_reference_exists)
|
||||||
?>
|
?>
|
||||||
<input type="hidden" name="fields_type<?php echo $field_name_appendix; ?>" value="protected" />
|
<input type="hidden" name="fields_type<?php echo $field_name_appendix; ?>" value="protected" />
|
||||||
<input type="hidden" name="fields<?php echo $field_name_appendix; ?>" value="" />
|
<input type="hidden" name="fields<?php echo $field_name_appendix; ?>" value="" />
|
||||||
@@ -834,6 +889,66 @@ foreach ($rows as $row_id => $vrow) {
|
|||||||
// (displayed whatever value the ProtectBinary has)
|
// (displayed whatever value the ProtectBinary has)
|
||||||
|
|
||||||
if ($is_upload && $field['is_blob']) {
|
if ($is_upload && $field['is_blob']) {
|
||||||
|
// added by rajk
|
||||||
|
// check if field type is of longblob
|
||||||
|
if ($field['pma_type'] == "longblob")
|
||||||
|
{
|
||||||
|
if (isset ($tbl_type) && strlen ($tbl_type) > 0)
|
||||||
|
{
|
||||||
|
// load PMA Config
|
||||||
|
$PMA_Config = $_SESSION['PMA_Config'];
|
||||||
|
|
||||||
|
// is PMA_Config's data loaded? continue only if it is
|
||||||
|
if (!empty($PMA_Config))
|
||||||
|
{
|
||||||
|
$requiredTblType = $PMA_Config->get('PBXT_NAME');
|
||||||
|
|
||||||
|
if ($requiredTblType == strtolower ($tbl_type))
|
||||||
|
{
|
||||||
|
$pluginsExist = $PMA_Config->get('BLOBSTREAMING_PLUGINS_EXIST');
|
||||||
|
|
||||||
|
// check if blobstreaming plugins exist
|
||||||
|
if ($pluginsExist)
|
||||||
|
{
|
||||||
|
$curlExists = $PMA_Config->get('CURL_EXISTS');
|
||||||
|
|
||||||
|
// check if CURL exists
|
||||||
|
if ($curlExists)
|
||||||
|
{
|
||||||
|
$bs_tables = $PMA_Config->get('BLOBSTREAMABLE_DATABASES');
|
||||||
|
|
||||||
|
// check for BLOBStreamable databases and if current database name is provided
|
||||||
|
if (!empty($bs_tables) && strlen($db) > 0)
|
||||||
|
{
|
||||||
|
$bs_tables = $bs_tables[$db];
|
||||||
|
|
||||||
|
// check if reference to BLOBStreaming tables exists
|
||||||
|
if (isset($bs_tables))
|
||||||
|
{
|
||||||
|
$allBSTablesExist = TRUE;
|
||||||
|
|
||||||
|
foreach ($bs_tables as $table_key=>$bs_tbl)
|
||||||
|
if (!$bs_tables[$table_key]['Exists'])
|
||||||
|
{
|
||||||
|
$allBSTablesExist = FALSE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// check if necessary BLOBStreaming tables exist
|
||||||
|
if ($allBSTablesExist)
|
||||||
|
{
|
||||||
|
echo '<br />';
|
||||||
|
echo '<input type="checkbox" name="upload_blob_repo_' . $field['Field_html'] . $vkey . '" /> ' . $strBLOBRepositoryUpload;
|
||||||
|
} // end if ($allBSTablesExist)
|
||||||
|
} // end if (isset($bs_tables)
|
||||||
|
} // end if (!empty($bs_tables) && strlen ($db) > 0)
|
||||||
|
} // end if ($curlExists)
|
||||||
|
} // end if ($pluginsExist)
|
||||||
|
} // end if ($requiredTblType == strtolower ($tbl_type))
|
||||||
|
} // end if (!empty($PMA_Config))
|
||||||
|
} // end if (isset ($tbl_type) && strlen ($tbl_type) > 0)
|
||||||
|
}
|
||||||
|
|
||||||
echo '<br />';
|
echo '<br />';
|
||||||
echo '<input type="file" name="fields_upload_' . $field['Field_html'] . $vkey . '" class="textfield" id="field_' . $idindex . '_3" size="10" /> ';
|
echo '<input type="file" name="fields_upload_' . $field['Field_html'] . $vkey . '" class="textfield" id="field_' . $idindex . '_3" size="10" /> ';
|
||||||
|
|
||||||
|
@@ -35,6 +35,7 @@
|
|||||||
* @uses $GLOBALS['table']
|
* @uses $GLOBALS['table']
|
||||||
* @uses $GLOBALS['goto']
|
* @uses $GLOBALS['goto']
|
||||||
* @uses $GLOBALS['sql_query']
|
* @uses $GLOBALS['sql_query']
|
||||||
|
* @uses PMA_File::getRecentBLOBReference()
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -199,10 +200,41 @@ foreach ($loop_array as $rowcount => $primary_key) {
|
|||||||
? $_REQUEST['auto_increment']['multi_edit'][$rowcount]
|
? $_REQUEST['auto_increment']['multi_edit'][$rowcount]
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
|
$primary_field = PMA_BS_GetPrimaryField($GLOBALS['db'], $GLOBALS['table']);
|
||||||
|
|
||||||
foreach ($me_fields as $key => $val) {
|
foreach ($me_fields as $key => $val) {
|
||||||
|
|
||||||
require './libraries/tbl_replace_fields.inc.php';
|
require './libraries/tbl_replace_fields.inc.php';
|
||||||
|
|
||||||
|
// rajk - for blobstreaming
|
||||||
|
if (NULL != $primary_field || strlen($primary_field) > 0)
|
||||||
|
{
|
||||||
|
$remove_blob_repo = isset($_REQUEST['remove_blob_repo_' . $key]) ? $_REQUEST['remove_blob_repo_' . $key] : NULL;
|
||||||
|
$upload_blob_repo = isset($_REQUEST['upload_blob_repo_' . $key]) ? $_REQUEST['upload_blob_repo_' . $key] : NULL;
|
||||||
|
|
||||||
|
// checks if an existing blob repository reference should be removed
|
||||||
|
if (isset($remove_blob_repo) && !isset($upload_blob_repo))
|
||||||
|
{
|
||||||
|
$remove_blob_reference = $_REQUEST['remove_blob_ref_' . $key];
|
||||||
|
|
||||||
|
if (isset($remove_blob_reference))
|
||||||
|
$val = "''";
|
||||||
|
}
|
||||||
|
|
||||||
|
// checks if this field requires a bs reference attached to it
|
||||||
|
$requires_bs_reference = isset($upload_blob_repo);
|
||||||
|
|
||||||
|
if ($requires_bs_reference)
|
||||||
|
{
|
||||||
|
// get the most recent BLOB reference
|
||||||
|
$bs_reference = PMA_File::getRecentBLOBReference();
|
||||||
|
|
||||||
|
// if the most recent BLOB reference exists, set it as a field value
|
||||||
|
if (!is_null($bs_reference))
|
||||||
|
$val = "'" . PMA_sqlAddslashes($bs_reference) . "'";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (empty($me_funcs[$key])) {
|
if (empty($me_funcs[$key])) {
|
||||||
$cur_value = $val;
|
$cur_value = $val;
|
||||||
} elseif ('UNIX_TIMESTAMP' === $me_funcs[$key] && $val != "''") {
|
} elseif ('UNIX_TIMESTAMP' === $me_funcs[$key] && $val != "''") {
|
||||||
|
Reference in New Issue
Block a user