File manager - Edit - /home/premiey/www/wp-includes/images/media/print.tar
Back
bookings_print.php 0000666 00000010445 15165455702 0010326 0 ustar 00 <?php /** * @version 1.0 * @description AJX Bookings Print * @category AJX_Bookings Print Class * @author wpdevelop * * @web-site http://oplugins.com/ * @email info@oplugins.com * * @modified 2022-06-20 */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly class WPBC_Print { /** * Define HOOKs for loading CSS and JavaScript files */ public function init_load_css_js_tpl() { // JS & CSS // Load only at AJX_Bookings Settings Page if ( 'vm_booking_listing' == wpbc_ajx_booking_listing__get_default_view_mode() ) { //if ( strpos( $_SERVER['REQUEST_URI'], 'view_mode=vm_booking_listing' ) !== false ) { add_action( 'wpbc_enqueue_js_files', array( $this, 'js_load_files' ), 50 ); add_action( 'wpbc_enqueue_css_files', array( $this, 'enqueue_css_files' ), 50 ); add_action( 'wpbc_hook_settings_page_footer', array( $this, 'hook__page_footer_tmpl' ) ); } } /** * JSS */ public function js_load_files( $where_to_load ) { $in_footer = true; if ( ( is_admin() ) && ( in_array( $where_to_load, array( 'admin', 'both' ) ) ) ) { wp_enqueue_script( 'wpbc-booking_ajx_print', trailingslashit( plugins_url( '', __FILE__ ) ) . '_out/bookings_print.js' /* wpbc_plugin_url( '/_out/js/codemirror.js' ) */ , array( 'wpbc_all' ), WP_BK_VERSION_NUM, $in_footer ); /** wp_enqueue_script( 'wpbc-booking_ajx_actions' , trailingslashit( plugins_url( '', __FILE__ ) ) . '_out/bookings__actions.js' // wpbc_plugin_url( '/_out/js/codemirror.js' ) , array( 'wpbc_all' ), WP_BK_VERSION_NUM, $in_footer ); /** wp_localize_script( 'wpbc_all', 'wpbc_live_request_obj' , array( 'ajx_booking' => '', 'reminders' => '' ) ); */ } } /** * CSS */ public function enqueue_css_files( $where_to_load ) { if ( ( is_admin() ) && ( in_array( $where_to_load, array( 'admin', 'both' ) ) ) ) { wp_enqueue_style( 'wpbc-booking_ajx_print_css', trailingslashit( plugins_url( '', __FILE__ ) ) . '_out/bookings_print.css', array(), WP_BK_VERSION_NUM ); //wp_enqueue_style( 'wpbc-listing_ajx_booking', trailingslashit( plugins_url( '', __FILE__ ) ) . '_out/bookings__listing.css' , array(), WP_BK_VERSION_NUM ); } } /** * Templates * * @param $page * * @return void */ public function hook__page_footer_tmpl( $page ){ // page=wpbc&view_mode=vm_booking_listing if ( 'wpbc-ajx_booking' === $page ) { // it's from >> do_action( 'wpbc_hook_settings_page_footer', 'wpbc-ajx_booking' ); $this->wpbc_write_content_for_modal_print(); } } /** Print Layout - Modal Window structure */ private function wpbc_write_content_for_modal_print() { ?><span class="wpdevelop"><?php ?><div id="wpbc_ajx_print_modal" class="modal wpbc_popup_modal" tabindex="-1" role="dialog"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title"><?php _e('Print bookings' ,'booking'); ?> <div style="float:right;"> <a href="javascript:void(0);" onclick="javascript: wpbc_print_dialog__do_printing();" class="button button-primary" ><?php _e('Print' ,'booking'); ?></a> <a href="javascript:void(0)" class="button" data-dismiss="modal"><?php _e('Close' ,'booking'); ?></a> <?php /* <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> */ ?> </div></h4> </div> <div class="modal-body"> <div id="wpbc_content_for_js_print"> <div id="wpbc__print_frame__inner"> * </div> </div> </div> <?php /* ?> <div class="modal-footer"> <button type="button" class="button button-secondary" data-dismiss="modal">Close</button> <button type="button" class="button button-primary">Save changes</button> </div> <?php */ ?> </div><!-- /.modal-content --> </div><!-- /.modal-dialog --> </div><!-- /.modal --> <?php ?></span><?php } } /** * Just for loading CSS and JavaScript files */ if ( true ) { $ajx_booking_print = new WPBC_Print; $ajx_booking_print->init_load_css_js_tpl(); } _src/bookings_print.js 0000666 00000011443 15165455702 0011100 0 ustar 00 "use strict"; function wpbc_print_dialog__show( booking_id_arr ){ if ( 'function' === typeof (jQuery( '#wpbc_ajx_print_modal' ).wpbc_my_modal) ){ jQuery( '#wpbc_ajx_print_modal' ).wpbc_my_modal( 'show' ); if ( undefined == booking_id_arr ){ booking_id_arr = []; } if ( ! Array.isArray( booking_id_arr ) ){ booking_id_arr = [booking_id_arr] } wpbc_print_dialog__define_content( booking_id_arr ); } else { alert( 'Warning! Modal module( wpbc_my_modal ) had not define.' ) } } function wpbc_print_dialog__define_content( booking_id_arr = [] ){ // Set content jQuery( '#wpbc__print_frame__inner' ).html( jQuery( '.wpbc_ajx_booking_listing_container' ).html() ); // Define the same classes jQuery( '#wpbc__print_frame__inner' ).addClass( 'wpbc_listing_container wpbc_selectable_table wpbc_ajx_booking_listing_container' ); /* jQuery( '#wpbc__print_frame__inner .check-column').hide(); jQuery( '#wpbc__print_frame__inner .wpbc_actions_buttons').hide(); jQuery( '#wpbc_ajx_print_modal .modal-body').css({ maxHeight : "500px", overflowY: "scroll" }); */ // Hide some not selected rows, if user selected them var selected_rows_arr; if ( booking_id_arr.length == 0 ){ selected_rows_arr = wpbc_get_selected_row_id(); } else { selected_rows_arr = booking_id_arr; } if ( selected_rows_arr.length > 0 ){ jQuery( '#wpbc__print_frame__inner .wpbc_selectable_body .wpbc_listing_usual_row' ).hide(); for ( var i = 0; i < selected_rows_arr.length; ++i ){ jQuery( "#wpbc__print_frame__inner #row_id_" + selected_rows_arr[ i ] ).show(); } } // Add cost as text labels to print layout jQuery( '#wpbc__print_frame__inner .wpbc_selectable_body .wpbc_listing_usual_row' ).find( '.set_booking_cost_text_field' ).each( function ( index ){ var currency = jQuery( jQuery( this ).parent( '.ui_element' ).find( '.wpbc_ui_control_label' )[ 0 ] ).html(); jQuery( this ).parents( '.wpbc_listing_usual_row ' ).find( '.wpbc_col_booking_labels .content_text' ).append( '<span class="wpbc_label wpbc_label_booking_id">' + currency + ' ' + jQuery( this ).val() + '</span>' ); } ); // Add remark to the content of booking details jQuery( '#wpbc__print_frame__inner .wpbc_selectable_body .wpbc_listing_usual_row' ).find( '.set_booking_note_text' ).each( function ( index ){ var remark_text = jQuery( this ).val(); if ( '' != remark_text ){ jQuery( this ).parents( '.wpbc_listing_usual_row ' ).find( '.wpbc_col_data .content_text' ).append( '<div class="wpbc_remark_text">' + '<hr/><strong>Notes:</strong><br/>' + remark_text + '</div>' ); } } ); } function wpbc_print_dialog__do_printing(){ jQuery( '#wpbc_content_for_js_print' ).wpbc_js_print( { debug : false, // show the iframe for debugging importCSS : true, // import parent page css importStyle : true, // import style tags printContainer : true, // print outer container/$.selector loadCSS : "", // path to additional css file - use an array [] for multiple pageTitle : "", // add title to print page removeInline : false, // remove inline styles from print elements removeInlineSelector: "*", // custom selectors to filter inline styles. removeInline must be true printDelay : 300, // variable print delay header : null, // prefix to html footer : null, // postfix to html base : false, // preserve the BASE tag or accept a string for the URL formValues : true, // preserve input/form values canvas : true, // copy canvas content doctypeString : '<!DOCTYPE html>', // enter a different doctype for older markup removeScripts : false, // remove script tags from print content copyTagClasses : true, // copy classes from the html & body tag copyTagStyles : true, // copy styles from html & body tag (for CSS Variables) beforePrintEvent : null, // callback function for printEvent in iframe beforePrint : null, // function called before iframe is filled afterPrint : null // function called before iframe is removed } ); jQuery( '#wpbc_ajx_print_modal' ).wpbc_my_modal( 'hide' ); } _src/bookings_print.css 0000666 00000003343 15165455702 0011254 0 ustar 00 @media print { /* Fix issue of having 2 pages instead of 1 */ html, body { height: auto; } html.wp-toolbar { padding-top: 0; } /* Set exact colors for printing & text color to black! */ #wpbc__print_frame__inner *{ -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; color:#000 !important; } } /* Set print Modal window scrollable */ #wpbc_ajx_print_modal .modal-body { max-height: 550px; overflow-y: scroll; } /* Checkbox column */ #wpbc__print_frame__inner .check-column { display: none; } /* Creation dates line -- Move up*/ #wpbc__print_frame__inner .wpbc_item_actions .wpbc_actions_sysinfo{ margin-top: -2em; } /* Buttons -- hide */ #wpbc__print_frame__inner .wpbc_actions_buttons { display: none; } /* Dates icon in header -- hide */ #wpbc__print_frame__inner .wpbc_listing_header_action_icon { display: none; } /* Labels */ #wpbc__print_frame__inner .wpbc_col_labels .content_text .wpbc_label { padding: 0 5px; line-height: 2em; font-size: 12px; } /* Field Values without background */ #wpbc__print_frame__inner .wpbc_listing_usual_row .fieldvalue { background: transparent !important; color:#000 !important; } /* Set border & background to ROWs */ #wpbc__print_frame__inner .wpbc_listing_usual_row { border: 1px solid #ddd !important; background: transparent; } /* Header background */ #wpbc__print_frame__inner .wpbc_listing_usual_row.wpbc_list_header{ background: #eee; } /* Odd ROW background */ #wpbc__print_frame__inner .wpbc_listing_usual_row:nth-of-type(2n) { background: #fafafa; } /* New bookings*/ #wpbc__print_frame__inner .wpbc_is_new_button{ position: relative; margin-left: 0px; margin-right: 1em; } _out/bookings_print.min.css 0000666 00000007224 15165455702 0012060 0 ustar 00 @media print{body,html{height:auto}html.wp-toolbar{padding-top:0}#wpbc__print_frame__inner *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color:#000!important}}#wpbc_ajx_print_modal .modal-body{max-height:550px;overflow-y:scroll}#wpbc__print_frame__inner .check-column{display:none}#wpbc__print_frame__inner .wpbc_item_actions .wpbc_actions_sysinfo{margin-top:-2em}#wpbc__print_frame__inner .wpbc_actions_buttons,#wpbc__print_frame__inner .wpbc_listing_header_action_icon{display:none}#wpbc__print_frame__inner .wpbc_col_labels .content_text .wpbc_label{padding:0 5px;line-height:2em;font-size:12px}#wpbc__print_frame__inner .wpbc_listing_usual_row .fieldvalue{background:0 0!important;color:#000!important}#wpbc__print_frame__inner .wpbc_listing_usual_row{border:1px solid #ddd!important;background:0 0}#wpbc__print_frame__inner .wpbc_listing_usual_row.wpbc_list_header{background:#eee}#wpbc__print_frame__inner .wpbc_listing_usual_row:nth-of-type(2n){background:#fafafa}#wpbc__print_frame__inner .wpbc_is_new_button{position:relative;margin-left:0;margin-right:1em} /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluY2x1ZGVzL3ByaW50L19vdXQvYm9va2luZ3NfcHJpbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGFBQ0UsS0FDQSxLQUNFLE9BQVEsS0FFVixnQkFDRSxZQUFhLEVBRWYsNEJBQ0UsMkJBQTRCLGdCQUM1QixtQkFBb0IsZ0JBQ3BCLE1BQU8sZ0JBR1gsa0NBQ0UsV0FBWSxNQUNaLFdBQVksT0FFZCx3Q0FDRSxRQUFTLEtBRVgsbUVBQ0UsV0FBWSxLQUVkLGdEQUNBLDJEQUNFLFFBQVMsS0FFWCxxRUFDRSxRQUFTLEVBQUUsSUFDWCxZQUFhLElBQ2IsVUFBVyxLQUViLDhEQUNFLFdBQVksRUFBRSxZQUNkLE1BQU8sZUFFVCxrREFDRSxPQUFRLElBQUksTUFBTSxlQUNsQixXQUFZLEVBQUUsRUFFaEIsbUVBQ0UsV0FBWSxLQUVkLGtFQUNFLFdBQVksUUFFZCw4Q0FDRSxTQUFVLFNBQ1YsWUFBYSxFQUNiLGFBQWMiLCJmaWxlIjoiaW5jbHVkZXMvcHJpbnQvX291dC9ib29raW5nc19wcmludC5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQG1lZGlhIHByaW50IHtcclxuICBib2R5LFxyXG4gIGh0bWwge1xyXG4gICAgaGVpZ2h0OiBhdXRvXHJcbiAgfVxyXG4gIGh0bWwud3AtdG9vbGJhciB7XHJcbiAgICBwYWRkaW5nLXRvcDogMFxyXG4gIH1cclxuICAjd3BiY19fcHJpbnRfZnJhbWVfX2lubmVyICoge1xyXG4gICAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0IWltcG9ydGFudDtcclxuICAgIHByaW50LWNvbG9yLWFkanVzdDogZXhhY3QhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICMwMDAhaW1wb3J0YW50XHJcbiAgfVxyXG59XHJcbiN3cGJjX2FqeF9wcmludF9tb2RhbCAubW9kYWwtYm9keSB7XHJcbiAgbWF4LWhlaWdodDogNTUwcHg7XHJcbiAgb3ZlcmZsb3cteTogc2Nyb2xsXHJcbn1cclxuI3dwYmNfX3ByaW50X2ZyYW1lX19pbm5lciAuY2hlY2stY29sdW1uIHtcclxuICBkaXNwbGF5OiBub25lXHJcbn1cclxuI3dwYmNfX3ByaW50X2ZyYW1lX19pbm5lciAud3BiY19pdGVtX2FjdGlvbnMgLndwYmNfYWN0aW9uc19zeXNpbmZvIHtcclxuICBtYXJnaW4tdG9wOiAtMmVtXHJcbn1cclxuI3dwYmNfX3ByaW50X2ZyYW1lX19pbm5lciAud3BiY19hY3Rpb25zX2J1dHRvbnMsXHJcbiN3cGJjX19wcmludF9mcmFtZV9faW5uZXIgLndwYmNfbGlzdGluZ19oZWFkZXJfYWN0aW9uX2ljb24ge1xyXG4gIGRpc3BsYXk6IG5vbmVcclxufVxyXG4jd3BiY19fcHJpbnRfZnJhbWVfX2lubmVyIC53cGJjX2NvbF9sYWJlbHMgLmNvbnRlbnRfdGV4dCAud3BiY19sYWJlbCB7XHJcbiAgcGFkZGluZzogMCA1cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDJlbTtcclxuICBmb250LXNpemU6IDEycHhcclxufVxyXG4jd3BiY19fcHJpbnRfZnJhbWVfX2lubmVyIC53cGJjX2xpc3RpbmdfdXN1YWxfcm93IC5maWVsZHZhbHVlIHtcclxuICBiYWNrZ3JvdW5kOiAwIDAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAjMDAwIWltcG9ydGFudFxyXG59XHJcbiN3cGJjX19wcmludF9mcmFtZV9faW5uZXIgLndwYmNfbGlzdGluZ191c3VhbF9yb3cge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQ6IDAgMFxyXG59XHJcbiN3cGJjX19wcmludF9mcmFtZV9faW5uZXIgLndwYmNfbGlzdGluZ191c3VhbF9yb3cud3BiY19saXN0X2hlYWRlciB7XHJcbiAgYmFja2dyb3VuZDogI2VlZVxyXG59XHJcbiN3cGJjX19wcmludF9mcmFtZV9faW5uZXIgLndwYmNfbGlzdGluZ191c3VhbF9yb3c6bnRoLW9mLXR5cGUoMm4pIHtcclxuICBiYWNrZ3JvdW5kOiAjZmFmYWZhXHJcbn1cclxuI3dwYmNfX3ByaW50X2ZyYW1lX19pbm5lciAud3BiY19pc19uZXdfYnV0dG9uIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxZW1cclxufSJdfQ== */ _out/bookings_print.css 0000666 00000002432 15165455702 0011272 0 ustar 00 @media print { body, html { height: auto } html.wp-toolbar { padding-top: 0 } #wpbc__print_frame__inner * { -webkit-print-color-adjust: exact!important; print-color-adjust: exact!important; color: #000!important } } #wpbc_ajx_print_modal .modal-body { max-height: 550px; overflow-y: scroll } #wpbc__print_frame__inner .check-column { display: none } #wpbc__print_frame__inner .wpbc_item_actions .wpbc_actions_sysinfo { margin-top: -2em } #wpbc__print_frame__inner .wpbc_actions_buttons, #wpbc__print_frame__inner .wpbc_listing_header_action_icon { display: none } #wpbc__print_frame__inner .wpbc_col_labels .content_text .wpbc_label { padding: 0 5px; line-height: 2em; font-size: 12px } #wpbc__print_frame__inner .wpbc_listing_usual_row .fieldvalue { background: 0 0!important; color: #000!important } #wpbc__print_frame__inner .wpbc_listing_usual_row { border: 1px solid #ddd!important; background: 0 0 } #wpbc__print_frame__inner .wpbc_listing_usual_row.wpbc_list_header { background: #eee } #wpbc__print_frame__inner .wpbc_listing_usual_row:nth-of-type(2n) { background: #fafafa } #wpbc__print_frame__inner .wpbc_is_new_button { position: relative; margin-left: 0; margin-right: 1em } _out/bookings_print.js 0000666 00000037615 15165455702 0011131 0 ustar 00 "use strict"; function wpbc_print_dialog__show(booking_id_arr) { if ('function' === typeof jQuery('#wpbc_ajx_print_modal').wpbc_my_modal) { jQuery('#wpbc_ajx_print_modal').wpbc_my_modal('show'); if (undefined == booking_id_arr) { booking_id_arr = []; } if (!Array.isArray(booking_id_arr)) { booking_id_arr = [booking_id_arr]; } wpbc_print_dialog__define_content(booking_id_arr); } else { alert('Warning! Modal module( wpbc_my_modal ) had not define.'); } } function wpbc_print_dialog__define_content() { var booking_id_arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; // Set content jQuery('#wpbc__print_frame__inner').html(jQuery('.wpbc_ajx_booking_listing_container').html()); // Define the same classes jQuery('#wpbc__print_frame__inner').addClass('wpbc_listing_container wpbc_selectable_table wpbc_ajx_booking_listing_container'); /* jQuery( '#wpbc__print_frame__inner .check-column').hide(); jQuery( '#wpbc__print_frame__inner .wpbc_actions_buttons').hide(); jQuery( '#wpbc_ajx_print_modal .modal-body').css({ maxHeight : "500px", overflowY: "scroll" }); */ // Hide some not selected rows, if user selected them var selected_rows_arr; if (booking_id_arr.length == 0) { selected_rows_arr = wpbc_get_selected_row_id(); } else { selected_rows_arr = booking_id_arr; } if (selected_rows_arr.length > 0) { jQuery('#wpbc__print_frame__inner .wpbc_selectable_body .wpbc_listing_usual_row').hide(); for (var i = 0; i < selected_rows_arr.length; ++i) { jQuery("#wpbc__print_frame__inner #row_id_" + selected_rows_arr[i]).show(); } } // Add cost as text labels to print layout jQuery('#wpbc__print_frame__inner .wpbc_selectable_body .wpbc_listing_usual_row').find('.set_booking_cost_text_field').each(function (index) { var currency = jQuery(jQuery(this).parent('.ui_element').find('.wpbc_ui_control_label')[0]).html(); jQuery(this).parents('.wpbc_listing_usual_row ').find('.wpbc_col_booking_labels .content_text').append('<span class="wpbc_label wpbc_label_booking_id">' + currency + ' ' + jQuery(this).val() + '</span>'); }); // Add remark to the content of booking details jQuery('#wpbc__print_frame__inner .wpbc_selectable_body .wpbc_listing_usual_row').find('.set_booking_note_text').each(function (index) { var remark_text = jQuery(this).val(); if ('' != remark_text) { jQuery(this).parents('.wpbc_listing_usual_row ').find('.wpbc_col_data .content_text').append('<div class="wpbc_remark_text">' + '<hr/><strong>Notes:</strong><br/>' + remark_text + '</div>'); } }); } function wpbc_print_dialog__do_printing() { jQuery('#wpbc_content_for_js_print').wpbc_js_print({ debug: false, // show the iframe for debugging importCSS: true, // import parent page css importStyle: true, // import style tags printContainer: true, // print outer container/$.selector loadCSS: "", // path to additional css file - use an array [] for multiple pageTitle: "", // add title to print page removeInline: false, // remove inline styles from print elements removeInlineSelector: "*", // custom selectors to filter inline styles. removeInline must be true printDelay: 300, // variable print delay header: null, // prefix to html footer: null, // postfix to html base: false, // preserve the BASE tag or accept a string for the URL formValues: true, // preserve input/form values canvas: true, // copy canvas content doctypeString: '<!DOCTYPE html>', // enter a different doctype for older markup removeScripts: false, // remove script tags from print content copyTagClasses: true, // copy classes from the html & body tag copyTagStyles: true, // copy styles from html & body tag (for CSS Variables) beforePrintEvent: null, // callback function for printEvent in iframe beforePrint: null, // function called before iframe is filled afterPrint: null // function called before iframe is removed }); jQuery('#wpbc_ajx_print_modal').wpbc_my_modal('hide'); } //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jbHVkZXMvcHJpbnQvX291dC9ib29raW5nc19wcmludC5qcyIsIm5hbWVzIjpbIndwYmNfcHJpbnRfZGlhbG9nX19zaG93IiwiYm9va2luZ19pZF9hcnIiLCJqUXVlcnkiLCJ3cGJjX215X21vZGFsIiwidW5kZWZpbmVkIiwiQXJyYXkiLCJpc0FycmF5Iiwid3BiY19wcmludF9kaWFsb2dfX2RlZmluZV9jb250ZW50IiwiYWxlcnQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJodG1sIiwiYWRkQ2xhc3MiLCJzZWxlY3RlZF9yb3dzX2FyciIsIndwYmNfZ2V0X3NlbGVjdGVkX3Jvd19pZCIsImhpZGUiLCJpIiwic2hvdyIsImZpbmQiLCJlYWNoIiwiaW5kZXgiLCJjdXJyZW5jeSIsInBhcmVudCIsInBhcmVudHMiLCJhcHBlbmQiLCJ2YWwiLCJyZW1hcmtfdGV4dCIsIndwYmNfcHJpbnRfZGlhbG9nX19kb19wcmludGluZyIsIndwYmNfanNfcHJpbnQiLCJkZWJ1ZyIsImltcG9ydENTUyIsImltcG9ydFN0eWxlIiwicHJpbnRDb250YWluZXIiLCJsb2FkQ1NTIiwicGFnZVRpdGxlIiwicmVtb3ZlSW5saW5lIiwicmVtb3ZlSW5saW5lU2VsZWN0b3IiLCJwcmludERlbGF5IiwiaGVhZGVyIiwiZm9vdGVyIiwiYmFzZSIsImZvcm1WYWx1ZXMiLCJjYW52YXMiLCJkb2N0eXBlU3RyaW5nIiwicmVtb3ZlU2NyaXB0cyIsImNvcHlUYWdDbGFzc2VzIiwiY29weVRhZ1N0eWxlcyIsImJlZm9yZVByaW50RXZlbnQiLCJiZWZvcmVQcmludCIsImFmdGVyUHJpbnQiXSwic291cmNlcyI6WyJpbmNsdWRlcy9wcmludC9fc3JjL2Jvb2tpbmdzX3ByaW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuZnVuY3Rpb24gd3BiY19wcmludF9kaWFsb2dfX3Nob3coIGJvb2tpbmdfaWRfYXJyICl7XHJcblx0XHJcblx0aWYgKCAnZnVuY3Rpb24nID09PSB0eXBlb2YgKGpRdWVyeSggJyN3cGJjX2FqeF9wcmludF9tb2RhbCcgKS53cGJjX215X21vZGFsKSApe1xyXG5cdFx0alF1ZXJ5KCAnI3dwYmNfYWp4X3ByaW50X21vZGFsJyApLndwYmNfbXlfbW9kYWwoICdzaG93JyApO1xyXG5cclxuXHJcblx0XHRpZiAoIHVuZGVmaW5lZCA9PSBib29raW5nX2lkX2FyciApe1xyXG5cdFx0XHRib29raW5nX2lkX2FyciA9IFtdO1xyXG5cdFx0fVxyXG5cdFx0aWYgKCAhIEFycmF5LmlzQXJyYXkoIGJvb2tpbmdfaWRfYXJyICkgKXtcclxuXHRcdFx0Ym9va2luZ19pZF9hcnIgPSBbYm9va2luZ19pZF9hcnJdXHJcblx0XHR9XHJcblx0XHR3cGJjX3ByaW50X2RpYWxvZ19fZGVmaW5lX2NvbnRlbnQoIGJvb2tpbmdfaWRfYXJyICk7XHJcblx0fSBlbHNlIHtcclxuXHRcdGFsZXJ0KCAnV2FybmluZyEgTW9kYWwgbW9kdWxlKCB3cGJjX215X21vZGFsICkgaGFkIG5vdCBkZWZpbmUuJyApXHJcblx0fVxyXG59XHJcblxyXG5mdW5jdGlvbiB3cGJjX3ByaW50X2RpYWxvZ19fZGVmaW5lX2NvbnRlbnQoIGJvb2tpbmdfaWRfYXJyID0gW10gKXtcclxuXHQvLyBTZXQgY29udGVudFxyXG5cdGpRdWVyeSggJyN3cGJjX19wcmludF9mcmFtZV9faW5uZXInICkuaHRtbCggalF1ZXJ5KCAnLndwYmNfYWp4X2Jvb2tpbmdfbGlzdGluZ19jb250YWluZXInICkuaHRtbCgpICk7XHJcblx0Ly8gRGVmaW5lIHRoZSBzYW1lIGNsYXNzZXNcclxuXHRqUXVlcnkoICcjd3BiY19fcHJpbnRfZnJhbWVfX2lubmVyJyApLmFkZENsYXNzKCAnd3BiY19saXN0aW5nX2NvbnRhaW5lciB3cGJjX3NlbGVjdGFibGVfdGFibGUgd3BiY19hanhfYm9va2luZ19saXN0aW5nX2NvbnRhaW5lcicgKTtcclxuXHQvKlxyXG5cdGpRdWVyeSggJyN3cGJjX19wcmludF9mcmFtZV9faW5uZXIgLmNoZWNrLWNvbHVtbicpLmhpZGUoKTtcclxuXHRqUXVlcnkoICcjd3BiY19fcHJpbnRfZnJhbWVfX2lubmVyIC53cGJjX2FjdGlvbnNfYnV0dG9ucycpLmhpZGUoKTtcclxuXHRqUXVlcnkoICcjd3BiY19hanhfcHJpbnRfbW9kYWwgLm1vZGFsLWJvZHknKS5jc3Moe1xyXG5cdFx0ICBtYXhIZWlnaHQgOiBcIjUwMHB4XCIsXHJcblx0XHQgIG92ZXJmbG93WTogXCJzY3JvbGxcIlxyXG5cdFx0fSk7XHJcbiBcdCovXHJcblxyXG5cdC8vIEhpZGUgc29tZSBub3Qgc2VsZWN0ZWQgcm93cywgIGlmIHVzZXIgc2VsZWN0ZWQgdGhlbVxyXG5cdHZhciBzZWxlY3RlZF9yb3dzX2FycjtcclxuXHJcblx0aWYgKCBib29raW5nX2lkX2Fyci5sZW5ndGggPT0gMCApe1xyXG5cdFx0c2VsZWN0ZWRfcm93c19hcnIgPSB3cGJjX2dldF9zZWxlY3RlZF9yb3dfaWQoKTtcclxuXHR9IGVsc2Uge1xyXG5cdFx0c2VsZWN0ZWRfcm93c19hcnIgPSBib29raW5nX2lkX2FycjtcclxuXHR9XHJcblxyXG5cdGlmICggc2VsZWN0ZWRfcm93c19hcnIubGVuZ3RoID4gMCApe1xyXG5cclxuXHRcdGpRdWVyeSggJyN3cGJjX19wcmludF9mcmFtZV9faW5uZXIgLndwYmNfc2VsZWN0YWJsZV9ib2R5IC53cGJjX2xpc3RpbmdfdXN1YWxfcm93JyApLmhpZGUoKTtcclxuXHJcblx0XHRmb3IgKCB2YXIgaSA9IDA7IGkgPCBzZWxlY3RlZF9yb3dzX2Fyci5sZW5ndGg7ICsraSApe1xyXG5cdFx0XHRqUXVlcnkoIFwiI3dwYmNfX3ByaW50X2ZyYW1lX19pbm5lciAjcm93X2lkX1wiICsgc2VsZWN0ZWRfcm93c19hcnJbIGkgXSApLnNob3coKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIEFkZCBjb3N0IGFzIHRleHQgbGFiZWxzIHRvIHByaW50IGxheW91dFxyXG5cdGpRdWVyeSggJyN3cGJjX19wcmludF9mcmFtZV9faW5uZXIgLndwYmNfc2VsZWN0YWJsZV9ib2R5IC53cGJjX2xpc3RpbmdfdXN1YWxfcm93JyApLmZpbmQoICcuc2V0X2Jvb2tpbmdfY29zdF90ZXh0X2ZpZWxkJyApLmVhY2goIGZ1bmN0aW9uICggaW5kZXggKXtcclxuXHJcblx0XHR2YXIgY3VycmVuY3kgPSBqUXVlcnkoIGpRdWVyeSggdGhpcyApLnBhcmVudCggJy51aV9lbGVtZW50JyApLmZpbmQoICcud3BiY191aV9jb250cm9sX2xhYmVsJyApWyAwIF0gKS5odG1sKCk7XHJcblxyXG5cdFx0alF1ZXJ5KCB0aGlzICkucGFyZW50cyggJy53cGJjX2xpc3RpbmdfdXN1YWxfcm93ICcgKS5maW5kKCAnLndwYmNfY29sX2Jvb2tpbmdfbGFiZWxzIC5jb250ZW50X3RleHQnICkuYXBwZW5kKCAnPHNwYW4gY2xhc3M9XCJ3cGJjX2xhYmVsIHdwYmNfbGFiZWxfYm9va2luZ19pZFwiPicgKyBjdXJyZW5jeSArICcgJyArIGpRdWVyeSggdGhpcyApLnZhbCgpICsgJzwvc3Bhbj4nICk7XHJcblx0fSApO1xyXG5cclxuXHJcblx0Ly8gQWRkIHJlbWFyayB0byB0aGUgY29udGVudCBvZiBib29raW5nIGRldGFpbHNcclxuXHRqUXVlcnkoICcjd3BiY19fcHJpbnRfZnJhbWVfX2lubmVyIC53cGJjX3NlbGVjdGFibGVfYm9keSAud3BiY19saXN0aW5nX3VzdWFsX3JvdycgKS5maW5kKCAnLnNldF9ib29raW5nX25vdGVfdGV4dCcgKS5lYWNoKCBmdW5jdGlvbiAoIGluZGV4ICl7XHJcblxyXG5cdFx0dmFyIHJlbWFya190ZXh0ID0galF1ZXJ5KCB0aGlzICkudmFsKCk7XHJcblxyXG5cdFx0aWYgKCAnJyAhPSByZW1hcmtfdGV4dCApe1xyXG5cclxuXHRcdFx0alF1ZXJ5KCB0aGlzICkucGFyZW50cyggJy53cGJjX2xpc3RpbmdfdXN1YWxfcm93ICcgKS5maW5kKCAnLndwYmNfY29sX2RhdGEgLmNvbnRlbnRfdGV4dCcgKS5hcHBlbmQoXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0JzxkaXYgY2xhc3M9XCJ3cGJjX3JlbWFya190ZXh0XCI+J1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCsgJzxoci8+PHN0cm9uZz5Ob3Rlczo8L3N0cm9uZz48YnIvPidcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQrIHJlbWFya190ZXh0XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KyAnPC9kaXY+J1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpO1xyXG5cdFx0fVxyXG5cclxuXHR9ICk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHdwYmNfcHJpbnRfZGlhbG9nX19kb19wcmludGluZygpe1xyXG4gICAgalF1ZXJ5KCAnI3dwYmNfY29udGVudF9mb3JfanNfcHJpbnQnICkud3BiY19qc19wcmludChcclxuXHRcdHtcclxuXHRcdFx0ZGVidWcgICAgICAgICAgICAgICA6IGZhbHNlLCAgICAgICAgICAgICAgICAgICAgICAgXHQvLyBzaG93IHRoZSBpZnJhbWUgZm9yIGRlYnVnZ2luZ1xyXG5cdFx0XHRpbXBvcnRDU1MgICAgICAgICAgIDogdHJ1ZSwgICAgICAgICAgICAgICAgICAgIFx0XHQvLyBpbXBvcnQgcGFyZW50IHBhZ2UgY3NzXHJcblx0XHRcdGltcG9ydFN0eWxlICAgICAgICAgOiB0cnVlLCAgICAgICAgICAgICAgICAgIFx0XHQvLyBpbXBvcnQgc3R5bGUgdGFnc1xyXG5cdFx0XHRwcmludENvbnRhaW5lciAgICAgIDogdHJ1ZSwgICAgICAgICAgICAgICBcdFx0XHQvLyBwcmludCBvdXRlciBjb250YWluZXIvJC5zZWxlY3RvclxyXG5cdFx0XHRsb2FkQ1NTICAgICAgICAgICAgIDogXCJcIiwgICAgICAgICAgICAgICAgICAgICAgICBcdC8vIHBhdGggdG8gYWRkaXRpb25hbCBjc3MgZmlsZSAtIHVzZSBhbiBhcnJheSBbXSBmb3IgbXVsdGlwbGVcclxuXHRcdFx0cGFnZVRpdGxlICAgICAgICAgICA6IFwiXCIsICAgICAgICAgICAgICAgICAgICAgIFx0XHQvLyBhZGQgdGl0bGUgdG8gcHJpbnQgcGFnZVxyXG5cdFx0XHRyZW1vdmVJbmxpbmUgICAgICAgIDogZmFsc2UsICAgICAgICAgICAgICAgIFx0XHQvLyByZW1vdmUgaW5saW5lIHN0eWxlcyBmcm9tIHByaW50IGVsZW1lbnRzXHJcblx0XHRcdHJlbW92ZUlubGluZVNlbGVjdG9yOiBcIipcIiwgICAgICAgICAgXHRcdFx0XHQvLyBjdXN0b20gc2VsZWN0b3JzIHRvIGZpbHRlciBpbmxpbmUgc3R5bGVzLiByZW1vdmVJbmxpbmUgbXVzdCBiZSB0cnVlXHJcblx0XHRcdHByaW50RGVsYXkgICAgICAgICAgOiAzMDAsICAgICAgICAgICAgICAgICAgIFx0XHQvLyB2YXJpYWJsZSBwcmludCBkZWxheVxyXG5cdFx0XHRoZWFkZXIgICAgICAgICAgICAgIDogbnVsbCwgICAgICAgICAgICAgICAgICAgICAgIFx0Ly8gcHJlZml4IHRvIGh0bWxcclxuXHRcdFx0Zm9vdGVyICAgICAgICAgICAgICA6IG51bGwsICAgICAgICAgICAgICAgICAgICAgICBcdC8vIHBvc3RmaXggdG8gaHRtbFxyXG5cdFx0XHRiYXNlICAgICAgICAgICAgICAgIDogZmFsc2UsICAgICAgICAgICAgICAgICAgICAgICAgLy8gcHJlc2VydmUgdGhlIEJBU0UgdGFnIG9yIGFjY2VwdCBhIHN0cmluZyBmb3IgdGhlIFVSTFxyXG5cdFx0XHRmb3JtVmFsdWVzICAgICAgICAgIDogdHJ1ZSwgICAgICAgICAgICAgICAgICAgXHRcdC8vIHByZXNlcnZlIGlucHV0L2Zvcm0gdmFsdWVzXHJcblx0XHRcdGNhbnZhcyAgICAgICAgICAgICAgOiB0cnVlLCAgICAgICAgICAgICAgICAgICAgICAgXHQvLyBjb3B5IGNhbnZhcyBjb250ZW50XHJcblx0XHRcdGRvY3R5cGVTdHJpbmcgICAgICAgOiAnPCFET0NUWVBFIGh0bWw+JywgICBcdFx0XHQvLyBlbnRlciBhIGRpZmZlcmVudCBkb2N0eXBlIGZvciBvbGRlciBtYXJrdXBcclxuXHRcdFx0cmVtb3ZlU2NyaXB0cyAgICAgICA6IGZhbHNlLCAgICAgICAgICAgICAgIFx0XHRcdC8vIHJlbW92ZSBzY3JpcHQgdGFncyBmcm9tIHByaW50IGNvbnRlbnRcclxuXHRcdFx0Y29weVRhZ0NsYXNzZXMgICAgICA6IHRydWUsICAgICAgICAgICAgICAgXHRcdFx0Ly8gY29weSBjbGFzc2VzIGZyb20gdGhlIGh0bWwgJiBib2R5IHRhZ1xyXG5cdFx0XHRjb3B5VGFnU3R5bGVzICAgICAgIDogdHJ1ZSwgICAgICAgICAgICAgICAgXHRcdFx0Ly8gY29weSBzdHlsZXMgZnJvbSBodG1sICYgYm9keSB0YWcgKGZvciBDU1MgVmFyaWFibGVzKVxyXG5cdFx0XHRiZWZvcmVQcmludEV2ZW50ICAgIDogbnVsbCwgICAgICAgICAgICAgXHRcdFx0Ly8gY2FsbGJhY2sgZnVuY3Rpb24gZm9yIHByaW50RXZlbnQgaW4gaWZyYW1lXHJcblx0XHRcdGJlZm9yZVByaW50ICAgICAgICAgOiBudWxsLCAgICAgICAgICAgICAgICAgIFx0XHQvLyBmdW5jdGlvbiBjYWxsZWQgYmVmb3JlIGlmcmFtZSBpcyBmaWxsZWRcclxuXHRcdFx0YWZ0ZXJQcmludCAgICAgICAgICA6IG51bGwgICAgICAgICAgICAgICAgICAgIFx0XHQvLyBmdW5jdGlvbiBjYWxsZWQgYmVmb3JlIGlmcmFtZSBpcyByZW1vdmVkXHJcblx0XHR9XHJcblx0KTtcclxuXHRqUXVlcnkoICcjd3BiY19hanhfcHJpbnRfbW9kYWwnICkud3BiY19teV9tb2RhbCggJ2hpZGUnICk7XHJcbn0iXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7O0FBRVosU0FBU0EsdUJBQXVC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
| ver. 1.4 |
Github
|
.
| PHP 5.4.45 | Generation time: 0 |
proxy
|
phpinfo
|
Settings