403Webshell
Server IP : 85.158.181.41  /  Your IP : 216.73.217.7
Web Server : Apache
System : Linux cloud9-vm129 6.1.178+1-ph #ph SMP PREEMPT_DYNAMIC Wed Jul 29 09:00:54 UTC 2026 x86_64
User : moncbefd ( 1024)
PHP Version : 7.3.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/moncbefd/www.moneta.at/GXModules/Gambio/Hub/Build/Admin/Javascript/extenders/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/moncbefd/www.moneta.at/GXModules/Gambio/Hub/Build/Admin/Javascript/extenders/order_details.js
'use strict';

/* --------------------------------------------------------------
 order_details.js 2019-02-05
 Gambio GmbH
 http://www.gambio.de
 Copyright (c) 2018 Gambio GmbH
 Released under the GNU General Public License (Version 2)
 [http://www.gnu.org/licenses/gpl-2.0.html]
 --------------------------------------------------------------
 */

/**
 * Gambio Hub Order Details Module
 *
 * This file will make sure that the order details page will display the correct order data. It can be included through
 * the use of an extender.
 *
 * It requires an element with the "data-gambio-hub-payment-module" and the "data-gambio-hub-target-selector"
 * attributes which contain the module name and target element selector, for the replacement of the payment module name
 * in the order details page.
 * 
 * Order Status Comments Support: 
 * 
 * Hub module frontend iframe can send the "hub:status:comments" message in order to display the order status change
 * modal with pre-filled comments. 
 * 
 * The child iframe document must post the following message: 
 * 
 * ```javascript
 * parent.postMessage({
 *   type: 'hub:status:comments', 
 *   comments: 'Value for the comment box.' 
 * }, '*');
 * ```
 */
(function () {

	'use strict';

	// Callbacks for messages coming from hub module boxes.

	var messageHandlers = {
		'hub:status:comments': function hubStatusComments(data) {
			// Open the status change modal and pre-fill the comment box.
			var clickEvent = document.createEvent('HTMLEvents');
			clickEvent.initEvent('click', true, false);
			document.querySelector('.btn.update-order-status').dispatchEvent(clickEvent);

			var textarea = document.querySelector('form[name="update_orders_status_form"] textarea[name="gm_comments"]');
			textarea.value = data.comments;
		},
		'hub:load_url': function hubLoad_url(data) {
			document.location = data.url;
		}
	};

	// Initialize the page modifications.
	function initialize() {
		var paymentModule = $('[data-gambio-hub-payment-module]').data('gambioHubPaymentModule');
		var paymentModuleTitle = $('[data-gambio-hub-payment-module-title]').data('gambioHubPaymentModuleTitle');
		var $target = $('[title="gambio_hub"]');
		$target.html(paymentModuleTitle);
		$target.attr('title', paymentModule);

		// Remove default frame from #hub-order-frontend iframe. 
		var $iframes = $('#hub-order-frontend, #hub-order-frontend-cft');

		$iframes.each(function (index, iframe) {
			if (iframe) {
				iframe.parentNode.style.padding = '0';
				iframe.parentNode.previousElementSibling.style.display = 'none';
				iframe.parentNode.parentNode.style.border = 'none';

				// Display loading spinner.
				$(document).on('JSENGINE_INIT_FINISHED', function () {
					var postfix = jse.core.config.get('environment') === 'production' ? '.min' : '';
					var loadingSpinnerUrl = jse.core.config.get('appUrl') + '/JSEngine/build/libs/loading_spinner' + postfix + '.js';

					jse.core.module_loader.require([loadingSpinnerUrl], function () {
						var $spinner = jse.libs.loading_spinner.show($(iframe));

						iframe.onload = function () {
							jse.libs.loading_spinner.hide($spinner);
							iframe.onload = null;
						};

						setTimeout(function () {
							if ($spinner.length) {
								$spinner.remove();
								iframe.height = 0;
							}
						}, 3000);
					});
				});
			}
		});

		// Listen for iframe messages. 
		window.addEventListener('message', function (event) {
			var messageType = event.data.type;

			if (messageHandlers[messageType]) {
				messageHandlers[messageType](event.data);
			}
		}, false);
	}

	// Initialize the module once the page is ready (without jQuery).
	if (document.readyState !== 'loading') {
		initialize();
	} else {
		document.addEventListener('DOMContentLoaded', initialize);
	}
})();
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFkbWluL0phdmFzY3JpcHQvZXh0ZW5kZXJzL29yZGVyX2RldGFpbHMuanMiXSwibmFtZXMiOlsibWVzc2FnZUhhbmRsZXJzIiwiY2xpY2tFdmVudCIsImRvY3VtZW50IiwiY3JlYXRlRXZlbnQiLCJpbml0RXZlbnQiLCJxdWVyeVNlbGVjdG9yIiwiZGlzcGF0Y2hFdmVudCIsInRleHRhcmVhIiwidmFsdWUiLCJkYXRhIiwiY29tbWVudHMiLCJsb2NhdGlvbiIsInVybCIsImluaXRpYWxpemUiLCJwYXltZW50TW9kdWxlIiwiJCIsInBheW1lbnRNb2R1bGVUaXRsZSIsIiR0YXJnZXQiLCJodG1sIiwiYXR0ciIsIiRpZnJhbWVzIiwiZWFjaCIsImluZGV4IiwiaWZyYW1lIiwicGFyZW50Tm9kZSIsInN0eWxlIiwicGFkZGluZyIsInByZXZpb3VzRWxlbWVudFNpYmxpbmciLCJkaXNwbGF5IiwiYm9yZGVyIiwib24iLCJwb3N0Zml4IiwianNlIiwiY29yZSIsImNvbmZpZyIsImdldCIsImxvYWRpbmdTcGlubmVyVXJsIiwibW9kdWxlX2xvYWRlciIsInJlcXVpcmUiLCIkc3Bpbm5lciIsImxpYnMiLCJsb2FkaW5nX3NwaW5uZXIiLCJzaG93Iiwib25sb2FkIiwiaGlkZSIsInNldFRpbWVvdXQiLCJsZW5ndGgiLCJyZW1vdmUiLCJoZWlnaHQiLCJ3aW5kb3ciLCJhZGRFdmVudExpc3RlbmVyIiwibWVzc2FnZVR5cGUiLCJldmVudCIsInR5cGUiLCJyZWFkeVN0YXRlIl0sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7Ozs7O0FBVUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdCQSxDQUFDLFlBQVc7O0FBRVg7O0FBRUE7O0FBQ0EsS0FBTUEsa0JBQWtCO0FBQ3ZCLHlCQUF1QixpQ0FBUTtBQUM5QjtBQUNBLE9BQU1DLGFBQWFDLFNBQVNDLFdBQVQsQ0FBcUIsWUFBckIsQ0FBbkI7QUFDQUYsY0FBV0csU0FBWCxDQUFxQixPQUFyQixFQUE4QixJQUE5QixFQUFx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OENyQyxVQUE5QztBQUNBO0FBQ0QsQ0E3RUQiLCJmaWxlIjoiQWRtaW4vSmF2YXNjcmlwdC9leHRlbmRlcnMvb3JkZXJfZGV0YWlscy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gb3JkZXJfZGV0YWlscy5qcyAyMDE5LTAyLTA1XG4gR2FtYmlvIEdtYkhcbiBodHRwOi8vd3d3LmdhbWJpby5kZVxuIENvcHlyaWdodCAoYykgMjAxOCBHYW1iaW8gR21iSFxuIFJlbGVhc2VkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoVmVyc2lvbiAyKVxuIFtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXVxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiBHYW1iaW8gSHViIE9yZGVyIERldGFpbHMgTW9kdWxlXG4gKlxuICogVGhpcyBmaWxlIHdpbGwgbWFrZSBzdXJlIHRoYXQgdGhlIG9yZGVyIGRldGFpbHMgcGFnZSB3aWxsIGRpc3BsYXkgdGhlIGNvcnJlY3Qgb3JkZXIgZGF0YS4gSXQgY2FuIGJlIGluY2x1ZGVkIHRocm91Z2hcbiAqIHRoZSB1c2Ugb2YgYW4gZXh0ZW5kZXIuXG4gKlxuICogSXQgcmVxdWlyZXMgYW4gZWxlbWVudCB3aXRoIHRoZSBcImRhdGEtZ2FtYmlvLWh1Yi1wYXltZW50LW1vZHVsZVwiIGFuZCB0aGUgXCJkYXRhLWdhbWJpby1odWItdGFyZ2V0LXNlbGVjdG9yXCJcbiAqIGF0dHJpYnV0ZXMgd2hpY2ggY29udGFpbiB0aGUgbW9kdWxlIG5hbWUgYW5kIHRhcmdldCBlbGVtZW50IHNlbGVjdG9yLCBmb3IgdGhlIHJlcGxhY2VtZW50IG9mIHRoZSBwYXltZW50IG1vZHVsZSBuYW1lXG4gKiBpbiB0aGUgb3JkZXIgZGV0YWlscyBwYWdlLlxuICogXG4gKiBPcmRlciBTdGF0dXMgQ29tbWVudHMgU3VwcG9ydDogXG4gKiBcbiAqIEh1YiBtb2R1bGUgZnJvbnRlbmQgaWZyYW1lIGNhbiBzZW5kIHRoZSBcImh1YjpzdGF0dXM6Y29tbWVudHNcIiBtZXNzYWdlIGluIG9yZGVyIHRvIGRpc3BsYXkgdGhlIG9yZGVyIHN0YXR1cyBjaGFuZ2VcbiAqIG1vZGFsIHdpdGggcHJlLWZpbGxlZCBjb21tZW50cy4gXG4gKiBcbiAqIFRoZSBjaGlsZCBpZnJhbWUgZG9jdW1lbnQgbXVzdCBwb3N0IHRoZSBmb2xsb3dpbmcgbWVzc2FnZTogXG4gKiBcbiAqIGBgYGphdmFzY3JpcHRcbiAqIHBhcmVudC5wb3N0TWVzc2FnZSh7XG4gKiAgIHR5cGU6ICdodWI6c3RhdHVzOmNvbW1lbnRzJywgXG4gKiAgIGNvbW1lbnRzOiAnVmFsdWUgZm9yIHRoZSBjb21tZW50IGJveC4nIFxuICogfSwgJyonKTtcbiAqIGBgYFxuICovXG4oZnVuY3Rpb24oKSB7XG5cdFxuXHQndXNlIHN0cmljdCc7XG5cdFxuXHQvLyBDYWxsYmFja3MgZm9yIG1lc3NhZ2VzIGNvbWluZyBmcm9tIGh1YiBtb2R1bGUgYm94ZXMuXG5cdGNvbnN0IG1lc3NhZ2VIYW5kbGVycyA9IHtcblx0XHQnaHViOnN0YXR1czpjb21tZW50cyc6IGRhdGEgPT4ge1xuXHRcdFx0Ly8gT3BlbiB0aGUgc3RhdHVzIGNoYW5nZSBtb2RhbCBhbmQgcHJlLWZpbGwgdGhlIGNvbW1lbnQgYm94LlxuXHRcdFx0Y29uc3QgY2xpY2tFdmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdIVE1MRXZlbnRzJyk7XG5cdFx0XHRjbGlja0V2ZW50LmluaXRFdmVudCgnY2xpY2snLCB0cnVlLCAgZmFsc2UpO1xuXHRcdFx0ZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmJ0bi51cGRhdGUtb3JkZXItc3RhdHVzJykuZGlzcGF0Y2hFdmVudChjbGlja0V2ZW50KTtcblx0XHRcdFxuXHRcdFx0Y29uc3QgdGV4dGFyZWEgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdmb3JtW25hbWU9XCJ1cGRhdGVfb3JkZXJzX3N0YXR1c19mb3JtXCJdIHRleHRhcmVhW25hbWU9XCJnbV9jb21tZW50c1wiXScpO1xuXHRcdFx0dGV4dGFyZWEudmFsdWUgPSBkYXRhLmNvbW1lbnRzO1xuXHRcdH0sXG5cdFx0J2h1Yjpsb2FkX3VybCc6IGRhdGEgPT4ge1xuXHRcdFx0ZG9jdW1lbnQubG9jYXRpb24gPSBkYXRhLnVybDtcblx0XHR9XG5cdH07XG5cdFxuXHQvLyBJbml0aWFsaXplIHRoZSBwYWdlIG1vZGlmaWNhdGlvbnMuXG5cdGZ1bmN0aW9uIGluaXRpYWxpemUoKSB7XG5cdFx0Y29uc3QgcGF5bWVudE1vZHVsZSA9ICQoJ1tkYXRhLWdhbWJpby1odWItcGF5bWVudC1tb2R1bGVdJykuZGF0YSgnZ2FtYmlvSHViUGF5bWVudE1vZHVsZScpO1xuXHRcdGNvbnN0IHBheW1lbnRNb2R1bGVUaXRsZSA9ICQoJ1tkYXRhLWdhbWJpby1odWItcGF5bWVudC1tb2R1bGUtdGl0bGVdJykuZGF0YSgnZ2FtYmlvSHViUGF5bWVudE1vZHVsZVRpdGxlJyk7XG5cdFx0Y29uc3QgJHRhcmdldCA9ICQoJ1t0aXRsZT1cImdhbWJpb19odWJcIl0nKTtcblx0XHQkdGFyZ2V0Lmh0bWwocGF5bWVudE1vZHVsZVRpdGxlKTtcblx0XHQkdGFyZ2V0LmF0dHIoJ3RpdGxlJywgcGF5bWVudE1vZHVsZSk7XG5cdFx0XG5cdFx0Ly8gUmVtb3ZlIGRlZmF1bHQgZnJhbWUgZnJvbSAjaHViLW9yZGVyLWZyb250ZW5kIGlmcmFtZS4gXG5cdFx0Y29uc3QgJGlmcmFtZXMgPSAkKCcjaHViLW9yZGVyLWZyb250ZW5kLCAjaHViLW9yZGVyLWZyb250ZW5kLWNmdCcpO1xuXHRcdFxuXHRcdCRpZnJhbWVzLmVhY2goZnVuY3Rpb24oaW5kZXgsIGlmcmFtZSkge1xuXHRcdFx0aWYgKGlmcmFtZSkge1xuXHRcdFx0XHRpZnJhbWUucGFyZW50Tm9kZS5zdHlsZS5wYWRkaW5nID0gJzAnOyBcblx0XHRcdFx0aWZyYW1lLnBhcmVudE5vZGUucHJldmlvdXNFbGVtZW50U2libGluZy5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuXHRcdFx0XHRpZnJhbWUucGFyZW50Tm9kZS5wYXJlbnROb2RlLnN0eWxlLmJvcmRlciA9ICdub25lJztcblx0XHRcdFx0XG5cdFx0XHRcdC8vIERpc3BsYXkgbG9hZGluZyBzcGlubmVyLlxuXHRcdFx0XHQkKGRvY3VtZW50KS5vbignSlNFTkdJTkVfSU5JVF9GSU5JU0hFRCcsICgpID0+IHtcblx0XHRcdFx0XHRjb25zdCBwb3N0Zml4ID0ganNlLmNvcmUuY29uZmlnLmdldCgnZW52aXJvbm1lbnQnKSA9PT0gJ3Byb2R1Y3Rpb24nID8gJy5taW4nIDogJyc7XG5cdFx0XHRcdFx0Y29uc3QgbG9hZGluZ1NwaW5uZXJVcmwgPSBgJHtqc2UuY29yZS5jb25maWcuZ2V0KCdhcHBVcmwnKX0vSlNFbmdpbmUvYnVpbGQvbGlicy9sb2FkaW5nX3NwaW5uZXIke3Bvc3RmaXh9LmpzYDtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHRqc2UuY29yZS5tb2R1bGVfbG9hZGVyLnJlcXVpcmUoW2xvYWRpbmdTcGlubmVyVXJsXSwgKCkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc3QgJHNwaW5uZXIgPSBqc2UubGlicy5sb2FkaW5nX3NwaW5uZXIuc2hvdygkKGlmcmFtZSkpO1xuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0XHRpZnJhbWUub25sb2FkID0gKCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRqc2UubGlicy5sb2FkaW5nX3NwaW5uZXIuaGlkZSgkc3Bpbm5lcik7XG5cdFx0XHRcdFx0XHRcdGlmcmFtZS5vbmxvYWQgPSBudWxsO1xuXHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0c2V0VGltZW91dChmdW5jdGlvbigpIHtcblx0XHRcdFx0XHRcdFx0aWYgKCRzcGlubmVyLmxlbmd0aCkge1xuXHRcdFx0XHRcdFx0XHRcdCRzcGlubmVyLnJlbW92ZSgpO1xuXHRcdFx0XHRcdFx0XHRcdGlmcmFtZS5oZWlnaHQgPSAwO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9LCAzMDAwKTtcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fSk7IFxuXHRcdFxuXHRcdC8vIExpc3RlbiBmb3IgaWZyYW1lIG1lc3NhZ2VzLiBcblx0XHR3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGV2ZW50ID0+IHtcblx0XHRcdGNvbnN0IG1lc3NhZ2VUeXBlID0gZXZlbnQuZGF0YS50eXBlO1xuXHRcdFx0XG5cdFx0XHRpZiAobWVzc2FnZUhhbmRsZXJzW21lc3NhZ2VUeXBlXSkge1xuXHRcdFx0XHRtZXNzYWdlSGFuZGxlcnNbbWVzc2FnZVR5cGVdKGV2ZW50LmRhdGEpO1xuXHRcdFx0fVxuXHRcdH0sIGZhbHNlKTtcblx0fVxuXHRcblx0Ly8gSW5pdGlhbGl6ZSB0aGUgbW9kdWxlIG9uY2UgdGhlIHBhZ2UgaXMgcmVhZHkgKHdpdGhvdXQgalF1ZXJ5KS5cblx0aWYgKGRvY3VtZW50LnJlYWR5U3RhdGUgIT09ICdsb2FkaW5nJykge1xuXHRcdGluaXRpYWxpemUoKTtcblx0fSBlbHNlIHtcblx0XHRkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgaW5pdGlhbGl6ZSk7XG5cdH1cbn0pKCk7XG4iXX0=

Youez - 2016 - github.com/yon3zu
LinuXploit