PluginProbe
JobWP – Job Board Plugin for WordPress | Job Listings, Career Page & Applications / 1.5
JobWP – Job Board Plugin for WordPress | Job Listings, Career Page & Applications v1.5
2.5.0 trunk 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 2.3.9 2.4.0 All 33 releases
jobwp / core / job_application.php

job_application.php in JobWP – Job Board Plugin for WordPress | Job Listings, Career Page & Applications 1.5, at core/job_application.php

114 lines 5.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) {
3 exit;
4 }
5
6 /**
7 * Trait: Job Application
8 */
9 trait Jobwp_Applicaiton
10 {
11 function jobwp_upload_resume($post, $file, $admin_email) {
12
13 if ( ! empty( $file['jobwp_upload_resume']['name'] ) && ! empty( $post['jobwp_full_name'] ) && ! empty( $post['jobwp_email'] ) ) {
14
15 if ( ! $file['jobwp_upload_resume']['error'] ) {
16
17 //can't be larger than 2mb
18 if ( $file['jobwp_upload_resume']['size'] > ( 2000000 ) ) {
19
20 return __('Your file size is to large', JOBWP_TXT_DOMAIN);
21
22 } else {
23
24 $jobwpDir = wp_upload_dir();
25 $jobwpDir = $jobwpDir['basedir'];
26 wp_mkdir_p( $jobwpDir . '/jobwp-resume' );
27
28 if ( ! is_writable( $jobwpDir . '/jobwp-resume' ) ) {
29
30 return 'The folder ' . __($jobwpDir . '/jobwp-resume') . ' cannot be created or is not writable. Ask for support to your hosting provider.';
31
32 } else {
33
34 if ( is_uploaded_file( $_FILES['jobwp_upload_resume']['tmp_name'] ) ) {
35
36 if ( file_exists( $jobwpDir . '/jobwp-resume/' . $_FILES['jobwp_upload_resume']['name'] ) ) {
37 unlink( $jobwpDir . '/jobwp-resume/' . $_FILES['jobwp_upload_resume']['name'] );
38 }
39
40 $r = move_uploaded_file( $_FILES['jobwp_upload_resume']['tmp_name'], $jobwpDir . '/jobwp-resume/' . $_FILES['jobwp_upload_resume']['name']);
41
42 if ( $r === false) {
43
44 return __('The file cannor be copied in the folder ' . $jobwpDir . '/jobwp-resume. Check if it exists and is writeable. You can also ask for support to your hosting provider.', JOBWP_TXT_DOMAIN);
45
46 } else {
47
48 global $wpdb;
49
50 $table_name = $wpdb->prefix . 'jobwp_applied';
51
52 $fullName = isset( $post['jobwp_full_name'] ) ? sanitize_text_field( $post['jobwp_full_name'] ) : null;
53 $applyFor = isset( $post['jobwp_apply_for'] ) ? sanitize_text_field( $post['jobwp_apply_for'] ) : null;
54 $email = isset( $post['jobwp_email'] ) ? sanitize_email( $post['jobwp_email'] ) : null;
55 $phoneNumber = isset( $post['phoneNumber'] ) ? sanitize_text_field( $post['phoneNumber'] ) : null;
56 $message = isset( $post['jobwp_cover_letter'] ) ? sanitize_textarea_field( $post['jobwp_cover_letter'] ) : null;
57
58 $wpdb->query('INSERT INTO ' . $table_name . '(
59 job_post_id,
60 applied_for,
61 applicant_name,
62 applicant_email,
63 applicant_phone,
64 applicant_message,
65 resume_name,
66 applied_on
67 ) VALUES (
68 ' . get_the_ID() . ',
69 "' . $applyFor . '",
70 "' . $fullName . '",
71 "' . $email . '",
72 "' . $phoneNumber . '",
73 "' . $message . '",
74 "' . $_FILES['jobwp_upload_resume']['name'] . '",
75 "' . date('Y-m-d h:i:s') . '"
76 )');
77
78 $attachments = array($jobwpDir . '/jobwp-resume/' . $_FILES['jobwp_upload_resume']['name']);
79
80 $headers = "MIME-Version: 1.0" . "\r\n";
81 $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
82 $headers .= 'From: Career <myname@mydomain.com>' . "\r\n";
83
84 $subject = __('Career - New Application');
85 $emailMessage = __( 'Applicant: ' ) . $fullName;
86 $emailMessage .= '<br>' . __( 'Applied For: ' ) . $applyFor;
87 $emailMessage .= '<br>' . __( 'Email: ' ) . $email;
88 //$emailMessage .= '<br>' . __( 'Phone: ' ) . $phoneNumber;
89 $emailMessage .= '<br>' . __( 'Cover Letter: ' ) . $message;
90 wp_mail(
91 esc_html( $admin_email ),
92 $subject,
93 $emailMessage,
94 $headers,
95 $attachments
96 );
97
98 return __('Thank you for your application', JOBWP_TXT_DOMAIN);
99 }
100
101 }
102
103 }
104
105 }
106 }
107 } else {
108
109 return $file['jobwp_upload_resume']['error'];
110
111 }
112 }
113 }
114 ?>