#jpgraph
#pma
doc
examples
js
codemirror
jqplot
jquery
openlayers
pmd
tracekit
transformations
ajax.js
big_ints.js
chart.js
common.js
config.js
console.js
cross_framing_protection.js
db_central_columns.js
db_operations.js
db_qbe.js
db_search.js
db_structure.js
db_tracking.js
doclinks.js
error_report.js
export.js
functions.js
get_image.js.php
get_scripts.js.php
gis_data_editor.js
import.js
indexes.js
keyhandler.js
line_counts.php
makegrid.js
menu-resizer.js
messages.php
microhistory.js
multi_column_sort.js
navigation.js
normalization.js
page_settings.js
replication.js
rte.js
server_databases.js
server_plugins.js
server_privileges.js
server_status_advisor.js
server_status_monitor.js
server_status_processes.js
server_status_queries.js
server_status_sorter.js
server_status_variables.js
server_user_groups.js
server_variables.js
sprintf.js
sql.js
tbl_change.js
tbl_chart.js
tbl_find_replace.js
tbl_gis_visualization.js
tbl_operations.js
tbl_relation.js
tbl_select.js
tbl_structure.js
tbl_tracking.js
tbl_zoom_plot_jqplot.js
whitelist.php
libraries
locale
setup
sql
templates
test
themes
CONTRIBUTING.md
ChangeLog
DCO
LICENSE
README
RELEASE-DATE-4.6.5.2
browse_foreigners.php
build.xml
changelog.php
chk_rel.php
composer.json
config.inc.php
config.sample.inc.php
db_central_columns.php
db_datadict.php
db_designer.php
db_events.php
db_export.php
db_import.php
db_operations.php
db_qbe.php
db_routines.php
db_search.php
db_sql.php
db_sql_autocomplete.php
db_sql_format.php
db_structure.php
db_tracking.php
db_triggers.php
error_report.php
export.php
favicon.ico
file_echo.php
gis_data_editor.php
import.php
import_status.php
index.php
license.php
lint.php
logout.php
navigation.php
normalization.php
phpmyadmin.css.php
phpunit.xml.dist
phpunit.xml.hhvm
phpunit.xml.nocoverage
prefs_forms.php
prefs_manage.php
print.css
robots.txt
schema_export.php
server_binlog.php
server_collations.php
server_databases.php
server_engines.php
server_export.php
server_import.php
server_plugins.php
server_privileges.php
server_replication.php
server_sql.php
server_status.php
server_status_advisor.php
server_status_monitor.php
server_status_processes.php
server_status_queries.php
server_status_variables.php
server_user_groups.php
server_variables.php
show_config_errors.php
sql.php
tbl_addfield.php
tbl_change.php
tbl_chart.php
tbl_create.php
tbl_export.php
tbl_find_replace.php
tbl_get_field.php
tbl_gis_visualization.php
tbl_import.php
tbl_indexes.php
tbl_operations.php
tbl_recent_favorite.php
tbl_relation.php
tbl_replace.php
tbl_row_action.php
tbl_select.php
tbl_sql.php
tbl_structure.php
tbl_tracking.php
tbl_triggers.php
tbl_zoom_select.php
themes.php
transformation_overview.php
transformation_wrapper.php
url.php
user_password.php
version_check.php
view_create.php
view_operations.php
CKEditor_4.6.1
Date
backup
bibelpopup
classes
config
fetch_bibel
fetch_chorbuch
html2pdf-master
html2pdf_v4.03
images
jpgraph
kalender
language
lib
lieder
livesearch
msd
msd2
overlib
pma
templates
templates_c
validation
++ Umstellung Luther 2017.sql
.gitattributes
.htaccess
Version8_bugs.txt
ajax.js_20170928
ansicht.php
ansicht.php_20200212
ansicht.php_20200915
ansicht.php_lut84_20180219
ansicht2.php
ansicht2.php_20200212
ansicht2.php_20200915
ansicht2.php_lut84_20180219
ausgabe.php
bes_gd.php
bibellookup.php_lut84_20180219
bibellookup_1984.php
bibellookup_2017.php
bibellookup_2017.php_20200212
changelog.php
config.inc.php
copy.js
faq_text.php
faq_text_ber.php
favicon.ico
fetch_data.php
ftp_ansicht.php
ftp_ansicht.php_20181214
func_agent.php
func_ansicht.php
func_ansicht.php_20200212
func_ansicht.php_20200915
func_ansicht.php_lut84_20180219
func_genUser.php
func_highlight.php
func_htmlclean.php
func_make_knk.php
func_make_knk_fa.php
func_make_knk_fa.php_lut84_20180219
func_make_reference_fa.php
func_make_reference_fa.php_lut84_20180219
func_rollenrechte.php
func_rollenrechte_20220202.php
func_write_lue_kat.php
further_publication.php
getSubCat.php
graph.php
graph_einzel.php
graph_hauptframe.php
graph_user.php
graph_user_hauptframe.php
hauptframe.php
hello.cgi
hello.pl
hilfe.php
historie.php
index.php
index2.php
indexframe.php
info.php
job_mail_delete_neue_user.php
job_mail_inaktiv.php
job_user_delete_neue_user.php
job_user_inaktiv.php
jquery.min.js
kat_cont.php
kat_cont.php_20201230
kat_cont.php_20221013
kat_cont_fa.php
kat_main.php
kat_main.php_lut84_20180219
kat_main_fa.php
kat_main_fa.php_lut84_20180219
katechismus.php
katechismus_fa.php
lesung.php
lieder.php
lieder.zip
livesearch.php
livestat.js
livestat.php
livestat2.php
login_log.php
logininfo.php
logout_admin.php
lue_ansicht.php
lue_bearbeiten.php
lue_erfassen.php
lue_inhalt.php
lue_inhalt.php_20200915
lue_inhalt.php_lut84_20180219
lue_notizen.php
lue_suche.php
lue_wahl.php
mail.php
make_ical.php
menuframe.php
nachsenden.php
notizen.php
outlook.php
outlook.php_20200212
outlook_ics.php
outlook_vcs.php
passwort_switch.php
pdf_gen.php
pdf_gen.php_20200915
pdf_gen.php_lut84_20180219
preview.php
profil.php
rollen.php
search_note.php
stichworte.php
suche.php
suche.php_20170928
suche_change.php
suche_simp.php
systemmail.php
test.php
test2.php
testmail.php
testmail2.php
topframe.php
upload.php
user_anlegen.php
user_bearbeiten.php
useronline.php
verweise.php
wort_bearbeiten.php
wort_bearbeiten.php_20170928
wort_erfassen.php
wort_erfassen.php_20170928
wort_exegese.php
wort_wahl.php
65 lines
1.9 KiB
PHP
65 lines
1.9 KiB
PHP
<?php
|
|
/* vim: set expandtab sw=4 ts=4 sts=4: */
|
|
/**
|
|
* Concatenates several js files to reduce the number of
|
|
* http requests sent to the server
|
|
*
|
|
* @package PhpMyAdmin
|
|
*/
|
|
|
|
chdir('..');
|
|
|
|
// Close session early as we won't write anything there
|
|
session_write_close();
|
|
|
|
// Send correct type
|
|
header('Content-Type: text/javascript; charset=UTF-8');
|
|
// Enable browser cache for 1 hour
|
|
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 3600) . ' GMT');
|
|
|
|
// When a token is not presented, even though whitelisted arrays are removed
|
|
// in PMA_removeRequestVars(). This is a workaround for that.
|
|
$_GET['scripts'] = json_encode($_GET['scripts']);
|
|
|
|
// Avoid loading the full common.inc.php because this would add many
|
|
// non-js-compatible stuff like DOCTYPE
|
|
define('PMA_MINIMUM_COMMON', true);
|
|
define('PMA_PATH_TO_BASEDIR', '../');
|
|
require_once './libraries/common.inc.php';
|
|
|
|
$buffer = PMA\libraries\OutputBuffering::getInstance();
|
|
$buffer->start();
|
|
register_shutdown_function(
|
|
function () {
|
|
echo PMA\libraries\OutputBuffering::getInstance()->getContents();
|
|
}
|
|
);
|
|
|
|
$_GET['scripts'] = json_decode($_GET['scripts']);
|
|
if (! empty($_GET['scripts']) && is_array($_GET['scripts'])) {
|
|
// Only up to 10 scripts as this is what we generate
|
|
foreach (array_slice($_GET['scripts'], 0, 10) as $script) {
|
|
// Sanitise filename
|
|
$script_name = 'js';
|
|
|
|
$path = explode("/", $script);
|
|
foreach ($path as $index => $filename) {
|
|
// Allow alphanumeric, "." and "-" chars only, no files starting
|
|
// with .
|
|
if (preg_match("@^[\w][\w\.-]+$@", $filename)) {
|
|
$script_name .= DIRECTORY_SEPARATOR . $filename;
|
|
}
|
|
}
|
|
|
|
// Output file contents
|
|
if (preg_match("@\.js$@", $script_name) && is_readable($script_name)) {
|
|
readfile($script_name);
|
|
echo ";\n\n";
|
|
}
|
|
}
|
|
}
|
|
|
|
if (isset($_GET['call_done'])) {
|
|
echo "AJAX.scriptHandler.done();";
|
|
}
|