function get_wpd_data($thumbnail_code, $values, $cart_item_key) { $variation_id = $values["variation_id"]; if (isset($_SESSION["wpc_design_pricing_options"][$cart_item_key]) && !empty($_SESSION["wpc_design_pricing_options"][$cart_item_key])) { $wpc_design_pricing_options_data = WPD_Design::get_design_pricing_options_data($_SESSION["wpc_design_pricing_options"][$cart_item_key]); $thumbnail_code .= "<br>" . $wpc_design_pricing_options_data; } if (isset($_SESSION["wpc_generated_data"][$variation_id][$cart_item_key]) && isset($_SESSION["wpc_generated_data"][$variation_id][$cart_item_key]["output"])) { $thumbnail_code .= "<br>"; $customization_list = $_SESSION["wpc_generated_data"][$variation_id][$cart_item_key]; $upload_dir = wp_upload_dir(); $modals = ""; // var_dump($customization_list["output"]); $i = 0; foreach ($customization_list["output"]["files"] as $customisation_key => $customization) { $tmp_dir = $customization_list["output"]["working_dir"]; $generation_url = $upload_dir["baseurl"] . "/WPC/{$tmp_dir}/{$customisation_key}/"; if (isset($customization["preview"])) { $image = $generation_url . $customization["preview"]; } else { $image = $generation_url . $customization["image"]; } $original_part_img_url = $customization_list[$customisation_key]["original_part_img"]; //$modal_id=$variation_id."_".$cart_item_key."$customisation_key-". uniqid();//Creates issue on checkout page $modal_id = $variation_id . "_" . $cart_item_key . "{$customisation_key}-{$i}"; $thumbnail_code .= '<span><a class="button" data-toggle="modal" data-target="#' . $modal_id . '">' . ucfirst($customisation_key) . '</a></span>'; $modals .= '<div class="modal fade wpc-modal wpc_part" id="' . $modal_id . '" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title">Preview</h4> </div> <div class="modal-body txt-center"> <div style="background-image:url(' . $original_part_img_url . ')"><img src="' . $image . '"></div> </div> </div> </div> </div>'; $i++; } array_push(wpd_retarded_actions::$code, $modals); add_action('wp_footer', array('wpd_retarded_actions', 'display_code'), 10, 1); $edit_item_url = ''; if (get_option('permalink_structure')) { $edit_item_url .= WPD_Product::get_url(false) . "edit/{$variation_id}/{$cart_item_key}/"; } else { $edit_item_url = WPD_Product::get_url($variation_id) . '&edit=' . $cart_item_key; } $thumbnail_code .= '<a class="button alt" href="' . $edit_item_url . '">Edit</a>'; } else { if (isset($_SESSION["wpc-uploaded-designs"][$cart_item_key])) { $thumbnail_code .= "<br>"; foreach ($_SESSION["wpc-uploaded-designs"][$cart_item_key] as $custom_design) { $thumbnail_code .= '<span class="wpd-custom-design"><a class="button" href=' . $custom_design . '>' . __("Custom design", "wpd") . '</a></span>'; } } } return $thumbnail_code; }
private function generate_pdf_layers($variation_id, $layers_array, $output_file) { global $wpc_options_settings; $product_id = WPD_Product::get_parent($variation_id); $wpc_metas = get_post_meta($product_id, 'wpc-metas', true); $product_metas = WPD_Admin::get_proper_value($wpc_metas, $variation_id, array()); $variation_output_settings = WPD_Admin::get_proper_value($product_metas, "output-settings", array()); $global_output_settings = $wpc_options_settings['wpc-output-options']; $pdf_format = WPD_Product::get_option($variation_output_settings, $global_output_settings, "pdf-format", "A0"); //WPD_Admin::get_proper_value($wpc_output_options, "pdf-format", "A0"); $pdf_orientation = WPD_Product::get_option($variation_output_settings, $global_output_settings, "pdf-orientation", "P"); //WPD_Admin::get_proper_value($wpc_output_options, "pdf-orientation", "P"); $pdf_margin_lr = WPD_Product::get_option($variation_output_settings, $global_output_settings, "pdf-margin-lr", 20); //WPD_Admin::get_proper_value($wpc_output_options, "pdf-margin-lr", 20); $pdf_margin_tb = WPD_Product::get_option($variation_output_settings, $global_output_settings, "pdf-margin-tb", 20); //WPD_Admin::get_proper_value($wpc_output_options, "pdf-margin-tb", 20); /*if ($nbCol <= 0 || $total <= 0) { $nbCol = 1; $total = 1; }*/ $pdf = new TCPDF($pdf_orientation, PDF_UNIT, $pdf_format, true, 'UTF-8', false); $pdf->SetCreator("Woocommerce Products Designer by ORION"); $pdf->SetAuthor('Woocommerce Products Designer by ORION'); $pdf->SetTitle('Output'); $pdf->setPrintHeader(false); $pdf->setPrintFooter(false); // set default monospaced font $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); // set margins $pdf->SetMargins($pdf_margin_lr, $pdf_margin_tb, -1, true); $pdf->SetHeaderMargin(PDF_MARGIN_HEADER); $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); // set auto page breaks $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); // set image scale factor $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); // set some language-dependent strings (optional) if (@file_exists(dirname(__FILE__) . '/lang/eng.php')) { require_once dirname(__FILE__) . '/lang/eng.php'; $pdf->setLanguageArray($l); } $pdf->AddPage(); //$pdf->Image($input_file, '', '', '', '', '', false, 'C', false, 300, 'C', false, false, 0, false, false, false); $layers_id = 0; foreach ($layers_array as $layer) { $pdf->startLayer('layer' . $layers_id, true, true, false); $pdf->Image($layer, '', '', '', '', '', '', 'C', true, 300, 'C', false, false, 0, '', false, false); $pdf->endLayer(); $layers_id++; } // $defaultImageSize = getimagesize($img_output_file_path); // $pageWidth = $pdf->getPageWidth(); // $pagHeight = $pdf->getPageHeight(); // // $nblign = $total / $nbCol; // $marge = 10; // // //Set width and height // $w = ($pageWidth - $marge * ($nbCol + 1)) / $nbCol; // $h = ($defaultImageSize[1] * $w) / $defaultImageSize[0]; // if ($h * ($nblign + 1) + 20 > $pagHeight) { // $h = ($pagHeight - 2 * ($nblign + 1) - 20) / ($nblign + 1); // $w = ($defaultImageSize[0] * $h) / $defaultImageSize[1]; // $marge = ($pageWidth - ($w * $nbCol)) / ($nbCol + 1); // } // // //Print images // $x = $marge; // $y = 20; // $i = 0; // $layers_id = 0; // while ($i < $total) { // for ($i2 = 0; $i2 < $nbCol; $i2++) { // if ($i < $total) { // foreach ($layers_array as $layer) { // $pdf->startLayer('layer' . $layers_id, true, true, false); // $pdf->Image($layer, $x, $y, $w, $h, '', '', '', true, 300, '', false, false, 0, '', false, false); // $pdf->endLayer(); // $layers_id ++; // } // // $x += ($w + $marge); // $i ++; // } // } // $x = $marge; // $y += $h; // } $pdf->Output($output_file, 'F'); }
private function get_user_design_output_block($user_designs) { $output = ""; foreach ($user_designs as $s_index => $user_design) { if (!empty($user_design)) { $variation_id = $user_design[0]; $save_time = $user_design[1]; $design_data = $user_design[2]; $order_item_id = ""; //Comes from an order if (count($user_design) >= 4) { $order_item_id = $user_design[3]; } $output .= "<div class='wpc_order_item' data-item='{$variation_id}'>"; if (count($user_design) > 1) { $output .= "<span data-original-title='{$save_time}' class='info-icon'></span>"; } if (is_array($design_data)) { // var_dump($design_data); $new_version = false; $upload_dir = wp_upload_dir(); if (isset($design_data["output"]["files"])) { $tmp_dir = $design_data["output"]["working_dir"]; $design_data = $design_data["output"]["files"]; $new_version = true; } foreach ($design_data as $data_key => $data) { if (!empty($data)) { if ($new_version) { $generation_url = $upload_dir["baseurl"] . "/WPC/{$tmp_dir}/{$data_key}/"; $img_src = $generation_url . $data["image"]; $original_part_img_url = ""; } else { if (!isset($data["image"])) { continue; } $img_src = $data["image"]; $original_part_img_url = $data["original_part_img"]; } if ($order_item_id) { $modal_id = $order_item_id . "_{$variation_id}" . "_{$data_key}"; } else { $modal_id = $s_index . "_{$variation_id}" . "_{$data_key}"; } $output .= '<span><a class="wpd-button" data-toggle="modal" data-target="#' . $modal_id . '">' . ucfirst($data_key) . '</a></span>'; $modal = '<div class="modal fade wpc-modal wpc_part" id="' . $modal_id . '" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title" id="myModalLabel' . $modal_id . '">Preview</h4> </div> <div class="modal-body"> <div style="background-image:url(' . $original_part_img_url . ')"><img src="' . $img_src . '"></div> </div> </div> </div> </div>'; array_push(wpd_retarded_actions::$code, $modal); add_action('wp_footer', array('wpd_retarded_actions', 'display_code'), 10, 1); } } if ($order_item_id) { $output .= '<a class="wpd-button" href="' . WPD_Product::get_url($variation_id, false, false, $order_item_id) . '">' . __("Load", "wpc") . '</a>'; } else { $output .= '<a class="wpd-button" href="' . WPD_Product::get_url($variation_id, $s_index) . '">' . __("Load", "wpc") . '</a>'; $output .= '<a class="wpd-button wpd-delete-design" data-index="' . $s_index . '">' . __("Delete", "wpc") . '</a>'; } } $output .= "</div>"; } } return $output; }