示例#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;
 }
 function save_custom_design_for_later_ajax()
 {
     $final_canvas_parts = $_POST["final_canvas_parts"];
     $variation_id = $_POST["variation_id"];
     $design_index = $_POST["design_index"];
     $cart_item_key = "";
     if (isset($_POST["cart_item_key"])) {
         $cart_item_key = $_POST["cart_item_key"];
     }
     $is_logged = 0;
     $result = 0;
     $message = "";
     $customization_url = WPD_Product::get_url($variation_id);
     $url = wp_login_url($customization_url);
     if (is_user_logged_in()) {
         global $current_user;
         get_currentuserinfo();
         $message = $current_user->ID;
         $is_logged = 1;
         $today = date("Y-m-d H:i:s");
         $tmp_dir = uniqid();
         $upload_dir = wp_upload_dir();
         $generation_path = $upload_dir["basedir"] . "/WPC/{$tmp_dir}";
         $generation_url = $upload_dir["baseurl"] . "/WPC/{$tmp_dir}";
         if (wp_mkdir_p($generation_path)) {
             $generation_url = $upload_dir["baseurl"] . "/WPC/{$tmp_dir}";
             $zip_name = uniqid("wpc_") . ".zip";
             $export_result = $this->export_data_to_files($generation_path, $final_canvas_parts, $variation_id, $zip_name);
             if (!empty($export_result) && is_array($export_result)) {
                 $final_canvas_parts["output"]["files"] = $export_result;
                 $final_canvas_parts["output"]["working_dir"] = $tmp_dir;
                 $final_canvas_parts["output"]["zip"] = $zip_name;
                 $to_save = array($variation_id, $today, $final_canvas_parts);
                 $user_designs = get_user_meta($current_user->ID, 'wpc_saved_designs');
                 if ($design_index != -1) {
                     $user_designs[$design_index] = $to_save;
                 } else {
                     array_push($user_designs, $to_save);
                 }
                 delete_user_meta($current_user->ID, "wpc_saved_designs");
                 foreach ($user_designs as $index => $design) {
                     $result = add_user_meta($current_user->ID, "wpc_saved_designs", $design);
                     if (!$result) {
                         break;
                     }
                 }
                 if ($result) {
                     $result = 1;
                     $message = "<div class='wpc_notification success'>" . __("The design has successfully been saved to your account.", "wpd") . "</div>";
                     //$user_designs=get_user_meta($current_user->ID, 'wpc_saved_designs');
                     if ($design_index == -1) {
                         $design_index = count($user_designs) - 1;
                     }
                     $url = WPD_Product::get_url($variation_id, $design_index);
                 } else {
                     $result = 0;
                     $message = "<div class='wpc_notification failure'>" . __("An error has occured. Please try again later or contact the administrator.", "wpd") . "</div>";
                 }
             }
         }
     } else {
         if (!isset($_SESSION['wpc_designs_to_save'])) {
             $_SESSION['wpc_designs_to_save'] = array();
         }
         if (!isset($_SESSION['wpc_designs_to_save'][$variation_id])) {
             $_SESSION['wpc_designs_to_save'][$variation_id] = array();
         }
         array_push($_SESSION['wpc_designs_to_save'][$variation_id], $final_canvas_parts);
     }
     echo json_encode(array("is_logged" => $is_logged, "success" => $result, "message" => $message, "url" => $url));
     die;
 }
 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;
 }