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; }
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">×</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; }