__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
const GitInfo = {
/**
* Version string to integer conversion.
* @param {string} str
* @return {number | false}
*/
parseVersionString: function (str) {
if (typeof str !== 'string') {
return false;
}
let add = 0;
// Parse possible alpha/beta/rc/
const state = str.split('-');
if (state.length >= 2) {
if (state[1].substr(0, 2) === 'rc') {
add = -20 - parseInt(state[1].substr(2), 10);
} else if (state[1].substr(0, 4) === 'beta') {
add = -40 - parseInt(state[1].substr(4), 10);
} else if (state[1].substr(0, 5) === 'alpha') {
add = -60 - parseInt(state[1].substr(5), 10);
} else if (state[1].substr(0, 3) === 'dev') {
/* We don't handle dev, it's git snapshot */
add = 0;
}
}
// Parse version
const x = str.split('.');
// Use 0 for non existing parts
const maj = parseInt(x[0], 10) || 0;
const min = parseInt(x[1], 10) || 0;
const pat = parseInt(x[2], 10) || 0;
const hotfix = parseInt(x[3], 10) || 0;
return maj * 100000000 + min * 1000000 + pat * 10000 + hotfix * 100 + add;
},
/**
* Indicates current available version on main page.
* @param {object} data
*/
currentVersion: function (data) {
if (data && data.version && data.date) {
const current = GitInfo.parseVersionString($('span.version').text());
const latest = GitInfo.parseVersionString(data.version);
const url = './url.php?url=https://www.phpmyadmin.net/files/' + Functions.escapeHtml(encodeURIComponent(data.version)) + '/';
let versionInformationMessage = document.createElement('span');
versionInformationMessage.className = 'latest';
const versionInformationMessageLink = document.createElement('a');
versionInformationMessageLink.href = url;
versionInformationMessageLink.className = 'disableAjax';
versionInformationMessageLink.target = '_blank';
versionInformationMessageLink.rel = 'noopener noreferrer';
const versionInformationMessageLinkText = document.createTextNode(data.version);
versionInformationMessageLink.appendChild(versionInformationMessageLinkText);
const prefixMessage = document.createTextNode(Messages.strLatestAvailable + ' ');
versionInformationMessage.appendChild(prefixMessage);
versionInformationMessage.appendChild(versionInformationMessageLink);
if (latest > current) {
const message = Functions.sprintf(Messages.strNewerVersion, Functions.escapeHtml(data.version), Functions.escapeHtml(data.date));
let htmlClass = 'alert alert-primary';
if (Math.floor(latest / 10000) === Math.floor(current / 10000)) {
/* Security update */
htmlClass = 'alert alert-danger';
}
$('#newer_version_notice').remove();
const mainContainerDiv = document.createElement('div');
mainContainerDiv.id = 'newer_version_notice';
mainContainerDiv.className = htmlClass;
const mainContainerDivLink = document.createElement('a');
mainContainerDivLink.href = url;
mainContainerDivLink.className = 'disableAjax';
mainContainerDivLink.target = '_blank';
mainContainerDivLink.rel = 'noopener noreferrer';
const mainContainerDivLinkText = document.createTextNode(message);
mainContainerDivLink.appendChild(mainContainerDivLinkText);
mainContainerDiv.appendChild(mainContainerDivLink);
$('#maincontainer').append($(mainContainerDiv));
}
if (latest === current) {
versionInformationMessage = document.createTextNode(' (' + Messages.strUpToDate + ')');
}
/* Remove extra whitespace */
const versionInfo = $('#li_pma_version').contents().get(2);
if (typeof versionInfo !== 'undefined') {
versionInfo.textContent = versionInfo.textContent.trim();
}
const $liPmaVersion = $('#li_pma_version');
$liPmaVersion.find('span.latest').remove();
$liPmaVersion.append($(versionInformationMessage));
}
},
/**
* Loads Git revision data from ajax for index.php
*/
displayGitRevision: function () {
$('#is_git_revision').remove();
$('#li_pma_version_git').remove();
$.get('index.php?route=/git-revision', {
'server': CommonParams.get('server'),
'ajax_request': true,
'no_debug': true
}, function (data) {
if (typeof data !== 'undefined' && data.success === true) {
$(data.message).insertAfter('#li_pma_version');
}
});
}
};
AJAX.registerTeardown('home.js', function () {
$('#themesModal').off('show.bs.modal');
});
AJAX.registerOnload('home.js', function () {
$('#themesModal').on('show.bs.modal', function () {
$.get('index.php?route=/themes', function (data) {
$('#themesModal .modal-body').html(data.themes);
});
});
/**
* Load version information asynchronously.
*/
if ($('li.jsversioncheck').length > 0) {
$.ajax({
dataType: 'json',
url: 'index.php?route=/version-check',
method: 'POST',
data: {
'server': CommonParams.get('server')
},
success: GitInfo.currentVersion
});
}
if ($('#is_git_revision').length > 0) {
setTimeout(GitInfo.displayGitRevision, 10);
}
});| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| codemirror | Folder | 0755 |
|
|
| database | Folder | 0755 |
|
|
| designer | Folder | 0755 |
|
|
| jqplot | Folder | 0755 |
|
|
| server | Folder | 0755 |
|
|
| setup | Folder | 0755 |
|
|
| table | Folder | 0755 |
|
|
| transformations | Folder | 0755 |
|
|
| ajax.js | File | 29.25 KB | 0644 |
|
| chart.js | File | 16.66 KB | 0644 |
|
| common.js | File | 4.42 KB | 0644 |
|
| config.js | File | 23.5 KB | 0644 |
|
| console.js | File | 48.39 KB | 0644 |
|
| cross_framing_protection.js | File | 405 B | 0644 |
|
| doclinks.js | File | 17.85 KB | 0644 |
|
| drag_drop_import.js | File | 12.14 KB | 0644 |
|
| error_report.js | File | 9.05 KB | 0644 |
|
| export.js | File | 30.6 KB | 0644 |
|
| export_output.js | File | 364 B | 0644 |
|
| functions.js | File | 144.6 KB | 0644 |
|
| gis_data_editor.js | File | 13.26 KB | 0644 |
|
| home.js | File | 5.15 KB | 0644 |
|
| import.js | File | 5.5 KB | 0644 |
|
| indexes.js | File | 26.33 KB | 0644 |
|
| jquery.sortable-table.js | File | 9.27 KB | 0644 |
|
| keyhandler.js | File | 2.01 KB | 0644 |
|
| makegrid.js | File | 79.11 KB | 0644 |
|
| menu_resizer.js | File | 5.59 KB | 0644 |
|
| multi_column_sort.js | File | 1.25 KB | 0644 |
|
| name-conflict-fixes.js | File | 43 B | 0644 |
|
| navigation.js | File | 50.62 KB | 0644 |
|
| normalization.js | File | 23.54 KB | 0644 |
|
| ol.js | File | 1.41 KB | 0644 |
|
| page_settings.js | File | 1.78 KB | 0644 |
|
| replication.js | File | 3.46 KB | 0644 |
|
| shortcuts_handler.js | File | 3.23 KB | 0644 |
|
| sql.js | File | 34.71 KB | 0644 |
|
| u2f.js | File | 2.87 KB | 0644 |
|
| webauthn.js | File | 3.86 KB | 0644 |
|