403Webshell
Server IP : 85.158.181.41  /  Your IP : 216.73.217.12
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/admin/javascript/modules/shipcloud/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/moncbefd/www.moneta.at/admin/javascript/modules/shipcloud/shipcloud.js
/* --------------------------------------------------------------
	shipcloud.js 2018-10-15
	Gambio GmbH
	http://www.gambio.de
	Copyright (c) 2015 Gambio GmbH
	Released under the GNU General Public License (Version 2)
	[http://www.gnu.org/licenses/gpl-2.0.html]
	--------------------------------------------------------------
*/

$(function () {
    'use strict';

    const _openSingleFormModal = function (event) {
        const orderId = $(event.target).parents('tr').attr('id') || $('body').find('#gm_order_id').val();
        $('#sc_modal_content').empty().addClass('sc_loading');
        const button_create_label = jse.core.lang.translate('create_label', 'shipcloud');
        let shipcloud_modal_buttons = [];

        shipcloud_modal_buttons.push({
            'text': jse.core.lang.translate('close', 'buttons'),
            'class': 'btn',
            'click': function () {
                $(this).dialog('close');
                $('#sc_get_quote').show();
            }
        });
        shipcloud_modal_buttons.push({
            'text': jse.core.lang.translate('show_existing_labels', 'shipcloud'),
            'class': 'btn',
            'click': _showLabelsHandler,
            'id': 'sc_show_labels'
        });
        shipcloud_modal_buttons.push({
            'text': jse.core.lang.translate('get_quotes', 'shipcloud'),
            'class': 'btn btn-primary',
            'click': _singleFormGetQuoteHandler,
            'id': 'sc_get_quote'
        });

        $('#shipcloud_modal').dialog({
            autoOpen: false,
            modal: true,
            'title': jse.core.lang.translate('create_label', 'shipcloud'),
            'dialogClass': 'gx-container',
            buttons: shipcloud_modal_buttons,
            width: 1200,
            position: {my: 'center top', at: 'center bottom', of: '#main-header'}
        });
        $('#shipcloud_modal').dialog('open');
        //$('#sc_modal_content').html('<p>Hallo!</p>');
        $('#sc_modal_content').load('admin.php?do=Shipcloud/CreateLabelForm&template_version=2&orders_id=' + orderId, _singleFormInit);
    };

    const _showLabelsHandler = function (e) {
        const orders_id = $('#sc_single_form input[name="orders_id"]').val();
        $('#sc_modal_content').empty().addClass('sc_loading');
        _loadLabelList(orders_id);
        $('#sc_show_labels').hide();
        $('#sc_get_quote').hide();
        return false;
    };

    const _loadLabelList = function (orders_id) {
        $('#sc_modal_content').load('admin.php?do=Shipcloud/LoadLabelList&orders_id=' + orders_id + '&template_version=2',
            function () {
                gx.widgets.init($('#sc_modal_content'));
                $('#shipcloud_modal').dialog({
                    'title': jse.core.lang.translate('labellist_for', 'shipcloud') + ' ' + orders_id
                });
                $('#sc_modal_content').removeClass('sc_loading');

                $('form#sc_pickup').on('submit', function (e) {
                    e.preventDefault();
                });
                $('#download_labels').on('click', _packedDownloadHandler);
                $('#order_pickups').on('click', _pickupSubmitHandler);
                $('input.pickup_checkbox').on('click', _labellistPickupCheckboxHandler);
                setTimeout(_labellistPickupCheckboxHandler, 200);
                $('input.pickup_checkbox_all').on('click', function () {
                    if ($(this).prop('checked') === true) {
                        $('input.pickup_checkbox').prop('checked', true);
                        $('input.pickup_checkbox').parent().addClass('checked');
                    } else {
                        $('input.pickup_checkbox').prop('checked', false);
                        $('input.pickup_checkbox').parent().removeClass('checked');
                    }
                    _labellistPickupCheckboxHandler();
                });
                $('a.sc-del-label').on('click', function (e) {
                    e.preventDefault();
                    const shipment_id = $(this).data('shipment-id'),
                        $row = $(this).closest('tr');
                    $.ajax({
                        type: 'POST',
                        url: jse.core.config.get('appUrl') + '/admin/admin.php?do=Shipcloud/DeleteShipment',
                        data: {shipment_id: shipment_id},
                        dataType: 'json'
                    })
                        .done(function (data) {
                            if (data.result === 'ERROR') {
                                $('#status-output').html(data.error_message).show();
                                $('#status-output').addClass('alert alert-danger');
                            } else {
                                $('#status-output')
                                    .html(jse.core.lang.translate('shipment_deleted', 'shipcloud'))
                                    .removeClass()
                                    .addClass('alert alert-info')
                                    .show();
                                $('a, input, td.checkbox > *', $row).remove();
                                $row.addClass('deleted-shipment');
                            }
                        })
                        .fail(function (data) {
                            $buttonPlace.html(jse.core.lang.translate('submit_error', 'shipcloud'));
                        });
                });
            });
    };

    const _packedDownloadHandler = function (e) {
        e.preventDefault();
        let urls = [], request = {};
        $('input.pickup_checkbox:checked').each(function () {
            const href = $('a.label-link', $(this).closest('tr')).attr('href');
            urls.push(href);
        });
        if (urls) {
            $('#download_result').show();
            $('#download_result').html(jse.core.lang.translate('loading', 'shipcloud'));
            request.urls = urls;
            request.page_token = $('#sc_modal_content input[name="page_token"]').val();

            $.ajax({
                type: 'POST',
                url: jse.core.config.get('appUrl') + '/admin/admin.php?do=PackedDownload/DownloadByJson',
                data: JSON.stringify(request),
                dataType: 'json'
            })
                .done(function (data) {
                    const downloadlink =
                        jse.core.config.get('appUrl') +
                        '/admin/admin.php?do=PackedDownload/DownloadPackage&key=' +
                        data.downloadKey;
                    if (data.result === 'OK') {
                        $('#download_result').html('<iframe class="download_iframe" src="' + downloadlink + '"></iframe>');
                    }
                    if (data.result === 'ERROR') {
                        $('#download_result').html(data.error_message);
                    }
                })
                .fail(function (data) {
                    $('#download_result').html(jse.core.lang.translate('submit_error', 'shipcloud'));
                });
        }
        return true;
    };

    const _pickupSubmitHandler = function (e) {
        e.preventDefault();
        if ($('input.pickup_checkbox:checked').length > 0) {
            const formdata = $('form#sc_pickup').serialize();
            $('#pickup_result').html(jse.core.lang.translate('sending_pickup_request', 'shipcloud'));
            $('#pickup_result').show();
            $('#pickup_result').addClass('alert alert-warning');
            $.ajax({
                type: 'POST',
                url: jse.core.config.get('appUrl') + '/admin/admin.php?do=Shipcloud/PickupShipments',
                data: formdata,
                dataType: 'json'
            })
                .done(function (data) {
                    let result_message = '';
                    data.result_messages.forEach(function (message) {
                        result_message = result_message + message + '<br>';
                    });
                    $('#pickup_result').html(result_message);
                })
                .fail(function (data) {
                    alert(jse.core.lang.translate('submit_error', 'shipcloud'));
                });
        }
        return true;
    };

    const _labellistPickupCheckboxHandler = function () {
        $('#sc-labellist-dropdown button, div.pickup_time input')
            .prop('disabled', $('input.pickup_checkbox:checked').length === 0);
    };

    const _loadUnconfiguredNote = function () {
        $('#sc_modal_content').load('admin.php?do=Shipcloud/UnconfiguredNote');
    };


    const _singleFormGetQuoteHandler = function () {
        const $form = $('#sc_single_form');
        let quote = '';

        $('#sc_single_form .sc_quote').html('');
        $('#sc_single_form .sc_quote').attr('title', '');

        $('input[name="quote_carriers[]"]:checked').each(function () {
            const carrier = $(this).val(),
                $create_label = $('input.create_label', $(this).closest('tr'));
            $('input[name="carrier"]', $form).val(carrier);
            $('#sc_quote_' + carrier).html(jse.core.lang.translate('loading', 'shipcloud'));
            $.ajax({
                type: 'POST',
                url: jse.core.config.get('appUrl') + '/admin/admin.php?do=Shipcloud/GetShipmentQuote',
                data: $form.serialize(),
                dataType: 'json'
            })
                .done(function (data) {
                    if (data.result === 'OK') {
                        quote = data.shipment_quote;
                        $('#sc_quote_' + carrier).html(quote);
                    } else if (data.result === 'ERROR') {
                        $('#sc_quote_' + carrier).html(jse.core.lang.translate('not_possible', 'shipcloud'));
                        $('#sc_quote_' + carrier).attr('title', data.error_message);
                    } else if (data.result === 'UNCONFIGURED') {
                        _loadUnconfiguredNote();
                    }
                })
                .fail(function (data) {
                    quote = jse.core.lang.translate('get_quote_error', 'shipcloud');
                    $('#sc_quote_' + carrier).html(quote);
                });
        });

        $('input[name="carrier"]', $form).val('');
    };

    const _singleFormInit = function () {
        gx.widgets.init($('#shipcloud_modal'));
        $('#sc_modal_content').removeClass('sc_loading');
        if ($('#sc_single_container').data('is_configured') === 1) {
            $('#sc_show_labels').show();
        } else {
            $('#sc_show_labels').hide();
        }
        $('#sc_single_form').on('submit', function (e) {
            e.preventDefault();
        });
        $('#sc_single_form input.create_label').on('click', _singleFormSubmitHandler);
        $('#sc_single_form select[name="carrier"]').on('change', function (e) {
            $('#sc_single_form input[type="text"]').trigger('change');
            $('#sc_single_form .carrier-specific').not('.carrier-' + $(this).val()).hide('fast');
            $('#sc_single_form .carrier-' + $(this).val()).not(':visible').show('fast');
        });
        $('#sc_single_form .price_value').on('change', function () {
            $('#sc_single_form div.sc_quote').html('');
        });
        $('#sc_package_template').on('change', _templateSelectionHandler);
        $('#sc_package_template').trigger('change');
        $('#sc_single_form input.template_value').on('change', function () {
            $('#sc_package_template').val('-1');
        });
        $('#sc_get_quote').button('disable');
        $('#sc_single_form input[name="quote_carriers[]"]').on('change', function () {
            if ($('#sc_single_form input[name="quote_carriers[]"]:checked').length > 0) {
                $('#sc_get_quote').button('enable');
            } else {
                $('#sc_get_quote').button('disable');
            }
        });
        $('#sc_single_form input[name="quote_carriers[]"]:first').trigger('change');
    };

    const _templateSelectionHandler = function (e) {
        const $form = $(this).closest('form'),
            $template = $('option:selected', $(this));
        if ($template.val() !== '-1') {
            $('input[name="package[weight]"]', $form).val($template.data('weight'));
            $('input[name="package[height]"]', $form).val($template.data('height'));
            $('input[name="package[width]"]', $form).val($template.data('width'));
            $('input[name="package[length]"]', $form).val($template.data('length'));
            $('select[name="package[type]"]', $form).val($template.data('type'));
        }
    };

    const _singleFormSubmitHandler = function (e) {
        $('#sc_show_labels').hide();
        $('#sc_get_quote').hide();
        const carrier = $(this).attr('name');
        $('input[name="carrier"]').val(carrier);
        const formdata = $('#sc_single_form').serialize();
        $('#sc_modal_content').empty().addClass('sc_loading');
        // alert('data: '+formdata);
        $.ajax({
            type: 'POST',
            url: jse.core.config.get('appUrl') + '/admin/admin.php?do=Shipcloud/CreateLabelFormSubmit',
            data: formdata,
            dataType: 'json'
        })
            .done(function (data) {
                $('#sc_modal_content').removeClass('sc_loading');
                if (data.result === 'UNCONFIGURED') {
                    _loadUnconfiguredNote();
                } else if (data.result === 'OK') {
                    _loadLabelList(data.orders_id);
                } else {
                    if (data.error_message) {
                        $('#sc_modal_content').html('<div class="sc_error">' + data.error_message + '</div>');
                    }
                }

                $('.orders .table-main').DataTable().ajax.reload();
                $('.orders .table-main').orders_overview_filter('reload');
            })
            .fail(function (data) {
                alert(jse.core.lang.translate('submit_error', 'shipcloud'));
            });
        return false;
    };

    /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

    const _multiDropdownHandler = function (e) {
        let selected_orders = [], orders_param = '';
        $('table.table tbody tr').each(function () {
            const order_id = $(this).attr('id'),
                $checkbox = $('td:nth-child(1) span.single-checkbox', this);
            if ($checkbox.hasClass('checked')) {
                selected_orders.push(order_id);
            }
        });
        $('#sc_modal_content').empty().addClass('sc_loading');
        let shipcloud_modal_buttons = [];
        shipcloud_modal_buttons.push({
            'text': jse.core.lang.translate('get_quotes', 'shipcloud'),
            'class': 'btn btn-primary',
            'click': _multiFormGetQuoteHandler,
            'id': 'sc_get_quote'
        });
        shipcloud_modal_buttons.push({
            'text': jse.core.lang.translate('close', 'buttons'),
            'class': 'btn',
            'click': function () {
                $(this).dialog('close');
                $('#sc_get_quote').show();
            }
        });

        $('#shipcloud_modal').dialog({
            autoOpen: false,
            modal: true,
            'title': jse.core.lang.translate('create_labels', 'shipcloud'),
            'dialogClass': 'gx-container',
            buttons: shipcloud_modal_buttons,
            width: 1200,
            position: {my: 'center top', at: 'center bottom', of: '#main-header'}
        });

        $('#shipcloud_modal').dialog('open');
        selected_orders.forEach(function (item) {
            orders_param += 'orders[]=' + item + '&';
        });
        $('#sc_modal_content').load('admin.php?do=Shipcloud/CreateMultiLabelForm&template_version=2&' + orders_param, _multiFormInit);
    };

    const _multiFormInit = function () {
        gx.widgets.init($('#shipcloud_modal'));
        $('#shipcloud_modal').dialog({
            'title': jse.core.lang.translate('create_labels', 'shipcloud')
        });
        $('#sc_modal_content').removeClass('sc_loading');
        $('#sc_multi_form').on('submit', function (e) {
            e.preventDefault();
            return false;
        });
        $('#sc_create_label').hide();
        $('#sc_show_labels').hide();
        $('#sc_modal_content input, #sc_modal_content select').on('change', function () {
            $('.sc_multi_quote').hide();
        });
        $('#sc_package_template').on('change', _templateSelectionHandler);
        $('input.create_label').on('click', _multiFormSubmitHandler);
    };

    const _multiFormSubmitHandler = function (event) {
        const carrier = $(this).attr('name');
        $('#sc_multi_form input[name="carrier"]').val(carrier);
        const formdata = $('#sc_multi_form').serialize();
        $('#sc_modal_content').empty().addClass('sc_loading');
        $.ajax({
            type: 'POST',
            url: jse.core.config.get('appUrl') + '/admin/admin.php?do=Shipcloud/CreateMultiLabelFormSubmit',
            data: formdata,
            dataType: 'json'
        })
            .done(function (data) {
                $('#sc_modal_content').removeClass('sc_loading');
                if (data.result === 'UNCONFIGURED') {
                    _loadUnconfiguredNote();
                } else if (data.result === 'OK') {
                    _loadMultiLabelList(data.orders_ids, data.shipments);
                } else {
                    if (data.error_message) {
                        $('#sc_modal_content').html('<div class="sc_error">' + data.error_message + '</div>');
                    }
                }

                $('.orders .table-main').DataTable().ajax.reload();
                $('.orders .table-main').orders_overview_filter('reload');
            })
            .fail(function (data) {
                alert(jse.core.lang.translate('submit_error', 'shipcloud'));
            });
        return false;
    };

    const _loadMultiLabelList = function (orders_ids, shipments) {
        const multiLabelListParams = {'orders_ids': orders_ids, 'shipments': shipments};

        $('#sc_modal_content').load(
            jse.core.config.get('appUrl') + '/admin/admin.php?do=Shipcloud/LoadMultiLabelList&template_version=2',
            {"json": JSON.stringify(multiLabelListParams)},
            function () {
                gx.widgets.init($('#shipcloud_modal'));
                $('#shipcloud_modal').dialog({
                    'title': jse.core.lang.translate('labellist', 'shipcloud')
                });
                $('#sc_modal_content').removeClass('sc_loading');
                $('#sc_get_quote').hide();

                $('form#sc_pickup').on('submit', function (e) {
                    e.preventDefault();
                });
                $('#download_labels').on('click', _packedDownloadHandler);
                $('#order_pickups').on('click', _pickupSubmitHandler);
                $('input.pickup_checkbox').on('click', _labellistPickupCheckboxHandler);
                setTimeout(_labellistPickupCheckboxHandler, 200);
                $('input.pickup_checkbox_all').on('click', function () {
                    if ($(this).prop('checked') === true) {
                        $('input.pickup_checkbox').prop('checked', true);
                        $('input.pickup_checkbox').parent().addClass('checked');
                    } else {
                        $('input.pickup_checkbox').prop('checked', false);
                        $('input.pickup_checkbox').parent().removeClass('checked');
                    }
                    _labellistPickupCheckboxHandler();
                });
            }
        );
    };

    const _multiPickupSubmitHandler = _pickupSubmitHandler;

    const _multiFormGetQuoteHandler = function () {
        const formdata = $('#sc_multi_form').serialize();
        $('div.sc_quote').html('');
        $.ajax({
            type: 'POST',
            url: jse.core.config.get('appUrl') + '/admin/admin.php?do=Shipcloud/GetMultiShipmentQuote',
            data: formdata,
            dataType: 'json'
        })
            .done(function (data) {
                if (data.result === 'OK') {
                    for (let squote in data.shipment_quotes) {
                        $('#sc_multi_quote_' + data.shipment_quotes[squote].orders_id)
                            .html(data.shipment_quotes[squote].shipment_quote);
                    }
                    $('div.sc_multi_quote').show('fast');

                    for (let carrier in data.carriers_total) {
                        $('#sc_quote_' + carrier).html(data.carriers_total[carrier]);
                    }
                }
            })
            .fail(function (data) {
                alert(jse.core.lang.translate('submit_error', 'shipcloud'));
            });
        return false;
    };

    /* =========================================================================================================== */

    $('body').prepend($('<div id="shipcloud_modal" title="' + jse.core.lang.translate(
        'create_label_window_title', 'shipcloud') +
        '" style="display: none;"><div id="sc_modal_content"></div></div>'));

    const $table = $('.orders .table-main');

    $table.on('init.dt', function () {
        var addRowAction = function () {
            $table.find('.btn-group.dropdown').each(function () {
                const orderId = $(this).parents('tr').data('id'),
                    defaultRowAction = $table.data('init-default-row-action') || 'edit';

                jse.libs.button_dropdown.addAction($(this), {
                    text: jse.core.lang.translate('admin_menu_entry', 'shipcloud'),
                    href: `orders.php?oID=${orderId}&action=edit`,
                    class: 'sc-single',
                    data: {configurationValue: 'sc-single'},
                    isDefault: defaultRowAction === 'sc-single',
                    callback: function (e) {
                        e.preventDefault();
                        _openSingleFormModal(e);
                    }
                });
            });
        };
        $table.on('draw.dt', addRowAction);
        addRowAction();

        const $bulkActions = $('.bulk-action'),
            defaultBulkAction = $table.data('init-default-bulk-action') || 'edit';
        jse.libs.button_dropdown.addAction($bulkActions, {
            text: jse.core.lang.translate('admin_menu_entry', 'shipcloud'),
            class: 'sc-multi',
            data: {configurationValue: 'sc-multi'},
            isDefault: defaultBulkAction === 'sc-multi',
            callback: function (e) {
                e.preventDefault();
                _multiDropdownHandler(e);
            }
        });
    });

});

Youez - 2016 - github.com/yon3zu
LinuXploit