HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/zaklada/wp-content/plugins/sitepress-multilingual-cms/res/js/post-edit-languages.js
/*globals jQuery, post_edit_languages_data, icl_ajx_url */

function build_language_links(data, $, container) {
	"use strict";

	const getNewQueryString = function(sourceUrl, newQueryArgs) {
		const url = new URL(sourceUrl),
			search = url.searchParams;

		for (let key in newQueryArgs) {
			if (Object.prototype.hasOwnProperty.call(newQueryArgs, key)) {
				search.set(key, newQueryArgs[key]);
			}
		}

		return search.toString();
	};

	var urlData;
	if (data.hasOwnProperty('language_links')) {
		var languages_container = $('<ul></ul>');
		languages_container.prependTo(container);

		/** @namespace data.language_links */
		/** @namespace data.statuses */
		for (var i = 0; i < data.language_links.length; i++) {
			var item = data.language_links[i];
			var is_current = item.current || false;
			var language_code = item.code;
			var language_count = item.count;
			var language_name = item.name;
			var statuses = item.statuses;
			var type = item.type;

			var language_item = $('<li></li>');
			language_item.addClass('language_' + language_code);
			if (i > 0) {
				language_item.append('&nbsp;|&nbsp;');
			}

			var language_summary = $('<span></span>');
			language_summary.addClass('count');
			language_summary.addClass(language_code);
			language_summary.text(' (' + ( language_count < 0 ? "0" : language_count ) + ')');

			var current;
			if (is_current) {
				current = $('<strong></strong>');
			} else if (language_count >= 0) {
				current = $('<a></a>');
				urlData = {
					post_type: type,
					lang:      language_code
				};

				if (statuses && statuses.length) {
					urlData.post_status = statuses.join(',');
				}

				current.attr('href', '?' + getNewQueryString(location.href, urlData));
			} else {
				current = $('<span></span>');
			}

			current.append(language_name);
			current.appendTo(language_item);
			current.append(language_summary);

			language_item.appendTo(languages_container);
		}

		$(document).trigger('wpml_language_links_added', [languages_container]);
	}
}

jQuery(document).ready(function ($) {
	"use strict";

	var data = post_edit_languages_data;
	var subsubsub = $('.subsubsub');
	var container = subsubsub.next('.icl_subsubsub');

	if (container.length === 0) {
		container = $('<div></div>');
		container.addClass('icl_subsubsub');

		subsubsub.after(container);
	}

	build_language_links(data, $, container);
});