prefix."p3dlite_price_requests set admin_attachment='', admin_attachment_url='' where id='".(int)$price_request_id."'";
$wpdb->query($sql);
unlink($price_request['admin_attachment']);
$price_request['admin_attachment']=$price_request['admin_attachment_url']='';
}
if (isset($_FILES['p3dlite_admin_attachment']['tmp_name'][$price_request_id]) && strlen($_FILES['p3dlite_admin_attachment']['tmp_name'][$price_request_id])>0) {
#$uploaded_file = p3d_upload_file('3dp_settings', 'p3d_admin_attachment');
$uploadedfile = array(
'name' => $_FILES['p3dlite_admin_attachment']['name'][$price_request_id],
'type' => $_FILES['p3dlite_admin_attachment']['type'][$price_request_id],
'tmp_name' => $_FILES['p3dlite_admin_attachment']['tmp_name'][$price_request_id],
'error' => $_FILES['p3dlite_admin_attachment']['error'][$price_request_id],
'size' => $_FILES['p3dlite_admin_attachment']['size'][$price_request_id]
);
if (isset($_FILES['p3dlite_admin_attachment']['error'][$price_request_id]) && $_FILES['p3dlite_admin_attachment']['error'][$price_request_id]) {
echo '
Upload error code: '.$_FILES['p3dlite_admin_attachment']['error'][$price_request_id].'
';
$post_error = true;
}
$upload_overrides = array( 'test_form' => false );
$movefile = wp_handle_upload( $uploadedfile, $upload_overrides );
#print_r($movefile);exit;
if (isset( $movefile['error']) && $movefile['error']) {
echo 'Upload error: '.$movefile['error'].'
';
$post_error = true;
}
else {
$admin_attachment_file = $movefile['file'];
$admin_attachment_url = $movefile['url'];
}
}
else {
$admin_attachment_file = $price_request['admin_attachment'];
$admin_attachment_url = $price_request['admin_attachment_url'];
}
}
if ( isset($_POST['action']) && $_POST['action']=='save') {
if ( ! isset( $_POST['p3d_price_requests_edit'] ) || ! wp_verify_nonce( $_POST['p3d_price_requests_edit'], 'update' ) ) {
print 'Sorry, your nonce did not verify.';
exit;
}
foreach ( $_POST['p3dlite_buynow'] as $id=>$price ) {
$product_id = (int)$price_request['product_id'];
$comments = sanitize_textarea_field(wp_unslash($_POST['p3dlite_comments'][$id]));
$weight = (float)$_POST['p3dlite_weight'][$id];
$quantity = (int)$_POST['p3dlite_quantity'][$id];
$length = (float)$_POST['p3dlite_length'][$id];
$width = (float)$_POST['p3dlite_width'][$id];
$height = (float)$_POST['p3dlite_height'][$id];
$price = (float)$price;
$printer = sanitize_text_field(wp_unslash($_POST['p3dlite_printer'][$id]));
$material = sanitize_text_field(wp_unslash($_POST['p3dlite_material'][$id]));
$infill = (float)$_POST['p3dlite_infill'][$id];
if (isset($_POST['p3dlite_coating'])) {
$coating = sanitize_text_field(wp_unslash($_POST['p3dlite_coating'][$id]));
}
else {
$coating = '';
}
$admin_delivery = sanitize_text_field(wp_unslash($_POST['p3dlite_admin_delivery'][$id]));
$update_array = array('admin_comment'=>$comments, 'printer'=>$printer, 'material'=>$material, 'coating'=>$coating, 'infill'=>$infill, 'price'=>$price, 'weight'=>$weight, 'quantity'=>$quantity, 'scale_x'=>$length, 'scale_y'=>$width, 'scale_z'=>$height, 'admin_attachment' => $admin_attachment_file, 'admin_attachment_url' => $admin_attachment_url, 'admin_delivery' => $admin_delivery);
// if ((float)$price>0) {
// $update_array['status']=1;
// }
$wpdb->update($wpdb->prefix.'p3dlite_price_requests', $update_array, array('id'=>$id));
#var_dump($wpdb->last_error);
#var_dump($wpdb->last_query);
wp_redirect( admin_url( 'admin.php?page=p3dlite_price_requests&action=edit&price_request='.(int)$_GET['price_request'] ) );
}
}
if ( isset($_POST['action']) && $_POST['action']=='update' && isset( $_POST['p3dlite_buynow'] ) && count( $_POST['p3dlite_buynow'] )>0 ) {
if ( ! isset( $_POST['p3d_price_requests_edit'] ) || ! wp_verify_nonce( $_POST['p3d_price_requests_edit'], 'update' ) ) {
print 'Sorry, your nonce did not verify.';
exit;
}
$is_bundle = false;
$body='';
foreach ( $_POST['p3dlite_buynow'] as $id=>$price ) {
$comments = sanitize_textarea_field(wp_unslash($_POST['p3dlite_comments'][$id]));
$weight = (float)$_POST['p3dlite_weight'][$id];
$quantity = (int)$_POST['p3dlite_quantity'][$id];
$length = (float)$_POST['p3dlite_length'][$id];
$width = (float)$_POST['p3dlite_width'][$id];
$height = (float)$_POST['p3dlite_height'][$id];
$price = (float)$price;
$admin_delivery = sanitize_text_field(wp_unslash($_POST['p3dlite_admin_delivery'][$id]));
$printer = sanitize_text_field(wp_unslash($_POST['p3dlite_printer'][$id]));
$material = sanitize_text_field(wp_unslash($_POST['p3dlite_material'][$id]));
$infill = (float)$_POST['p3dlite_infill'][$id];
$infills_array = p3dlite_get_option( 'p3dlite_infills' );
$infill_id = 0;
$infill_name = '';
if (is_array($infills_array) && count($infills_array)) {
foreach ($infills_array as $inf_id => $inf_value) {
if ($inf_value['infill']==$infill) {
$infill_id = $inf_value['id'];
$infill_name = $inf_value['name'];
}
}
}
if (isset($_POST['p3dlite_coating'])) {
$coating = sanitize_text_field(wp_unslash($_POST['p3dlite_coating'][$id]));
}
else {
$coating = '';
}
$custom_attributes = '';
$message = '';
if ( count( $price_request ) ) {
$email=$price_request['email'];
if (strlen($email)==0) $email=$price_request['email_address'];
# $variation=json_decode($price_request['attributes'], true);
$filename=$price_request['model_file'];
# $variation['attribute_pa_p3dlite_model']=rawurlencode( $variation['attribute_pa_p3dlite_model'] );
if ( true ) {
//echo $product_url;
$price_request['price']=$price;
$current_templates = get_option( 'p3dlite_email_templates' );
$template_body = $current_templates['client_email_body'];
$template_subject = $current_templates['client_email_subject'];
$from = $current_templates['client_email_from'];
$upload_dir = wp_upload_dir();
$link = esc_url($upload_dir['baseurl'] ."/p3d/".rawurlencode($filename));
$subject=esc_html__( "Your model's price" , '3dprint-lite' );
$model_link = "".esc_html($filename)."";
$dimensions=$price_request['scale_x']." × ".$price_request['scale_y']." × ".$price_request['scale_z']." ".esc_html__('cm', '3dprint-lite')."
";
$replace_from = array('[quantity]', '[printer_name]', '[material_name]', '[coating_name]', '[infill]', '[infill_name]', '[model_file]', '[dimensions]', '[weight]', '[price]', '[price_total]', '[admin_comments]', '[admin_delivery]');
$replace_to = array ($quantity, $printer, $material,
$coating, (isset($infill) ? $infill : ''), $infill_name, $link, $dimensions, $weight,
p3dlite_format_price($price, $settings['currency'], $settings['currency_position']), p3dlite_format_price($price*$quantity, $settings['currency'], $settings['currency_position']), $comments, $admin_delivery);
$subject=str_ireplace($replace_from, $replace_to, $template_subject);
$body=str_ireplace($replace_from, $replace_to, $template_body);
do_action('p3dlite_send_quote', $message);
$headers = array();
$headers[] = "From: $from";
$headers[] = 'Content-Type: text/html; charset=UTF-8';
$wpdb->update($wpdb->prefix.'p3dlite_price_requests', array('status'=>1, 'admin_comment'=>$comments, 'price'=>$price, 'printer'=>$printer, 'material'=>$material, 'coating'=>$coating, 'quantity'=>$quantity, 'weight'=>$weight, 'scale_x'=>$length, 'scale_y'=>$width, 'scale_z'=>$height, 'admin_attachment' => $admin_attachment_file, 'admin_attachment_url' => $admin_attachment_url, 'admin_delivery' => $admin_delivery), array('id'=>$id));
}
# else {
# echo '' . esc_html__('Please set the price.' ,'3dprint-lite').'
';
# }
}//if ( count( $price_requests ) )
}//foreach ( $_POST['p3dlite_buynow'] as $key=>$price )
/*
*/
$price_request_id = (int)$_GET['price_request'];
$attachments = array();
if (strlen($admin_attachment_file)) { //uploaded
$attachments[]=$admin_attachment_file;
}
else if (isset($price_request['admin_attachment']) && strlen($price_request['admin_attachment'])) {
$attachments[]=$price_request['admin_attachment'];
}
#print_r($attachments);exit;
if (wp_mail( $email, $subject, stripslashes($body), $headers, $attachments )) {
//p3dlite_update_option( 'p3dlite_price_requests', $price_request );
wp_redirect( admin_url( 'admin.php?page=p3dlite_price_requests' ) );
} else {
$wpdb->update($wpdb->prefix.'p3dlite_price_requests', array('status'=>3), array('id'=>$price_request_id));
echo '' . esc_html__('Could not email the quote! Check if your wordpress site can send emails and consider installing Easy WP SMTP plugin.' ,'3dprint-lite').'
';
}
$price_request_result = $wpdb->get_results( "select * from {$wpdb->prefix}p3dlite_price_requests where id='$price_request_id'", ARRAY_A );
if (!count($price_request_result)) {
wp_redirect( admin_url( 'admin.php?page=p3dlite_price_requests' ) );
}
$price_request = $price_request_result[0];
do_action('p3dlite_after_send_quotes');
}//if ( isset( $_POST['p3dlite_buynow'] ) && count( $_POST['p3dlite_buynow'] )>0 )
# $price_requests=p3dlite_get_option( 'p3dlite_price_requests' );
// wp_redirect( admin_url( 'admin.php?page=p3dlite_printers' ) );
#p3dlite_check_install();
#echo
$currency_rate = 1;
if (isset($price_request['estimated_price_currency']) && strlen($price_request['estimated_price_currency'])) {
$currency_rate = p3dlite_get_currency_rate($price_request['estimated_price_currency']);
}
$price_requests = array();
$price_requests[]=$price_request;
?>