예제 #1
0
 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">&times;</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">&times;</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;
 }