PluginProbe
JobWP – Job Board Plugin for WordPress | Job Listings, Career Page & Applications / 2.3.9
JobWP – Job Board Plugin for WordPress | Job Listings, Career Page & Applications v2.3.9
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 2.3.9, at core/job_application.php

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