Version Description
- Feature - Use featured images to store company logos.
- Feature - Search term names for keywords.
- Feature - Search custom fields in backend job listing search.
- Tweak - Allow job expiry field to be localised.
- Fix - The above change avoids creation of duplicate images in media library.
- Dev - Added methods to WP_Job_Manager_Form; get_steps, get_step_key, set_step.
- Dev - Made WP_Job_Manager_Form call the next 'handler' if no view is defined for the next step.
- Dev - Added template to control job preview form.
Download this release
Release Info
Developer | mikejolley |
Plugin | WP Job Manager |
Version | 1.24.0 |
Comparing to | |
See all releases |
Code changes from version 1.23.13 to 1.24.0
- assets/css/frontend.css +1 -1
- assets/css/frontend.less +3 -0
- assets/js/admin.js +9 -3
- assets/js/admin.min.js +1 -1
- includes/abstracts/abstract-wp-job-manager-form.php +52 -9
- includes/admin/class-wp-job-manager-admin.php +5 -1
- includes/admin/class-wp-job-manager-cpt.php +53 -0
- includes/admin/class-wp-job-manager-writepanels.php +2 -8
- includes/class-wp-job-manager-post-types.php +7 -58
- includes/forms/class-wp-job-manager-form-edit-job.php +3 -0
- includes/forms/class-wp-job-manager-form-submit-job.php +61 -57
- languages/wp-job-manager.pot +121 -108
- readme.txt +13 -4
- templates/content-summary-job_listing.php +2 -2
- templates/form-fields/uploaded-file-html.php +10 -4
- templates/job-preview.php +16 -0
- wp-job-manager-functions.php +1 -0
- wp-job-manager-template.php +16 -9
- wp-job-manager.php +14 -19
assets/css/frontend.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
.clearfix{zoom:1}.clearfix:after,.clearfix:before{content:"";display:table}.clearfix:after{clear:both}@font-face{font-family:job-manager;src:url(../font/job-manager.eot?4963673);src:url(../font/job-manager.eot?4963673#iefix) format('embedded-opentype'),url(../font/job-manager.woff?4963673) format('woff'),url(../font/job-manager.ttf?4963673) format('truetype'),url(../font/job-manager.svg?4963673#job-manager) format('svg');font-weight:400;font-style:normal}@font-face{font-family:jm-logo;src:url(../font/jm-logo/jm.eot?ycsbky);src:url(../font/jm-logo/jm.eot?#iefixycsbky) format('embedded-opentype'),url(../font/jm-logo/jm.woff?ycsbky) format('woff'),url(../font/jm-logo/jm.ttf?ycsbky) format('truetype'),url(../font/jm-logo/jm.svg?ycsbky#icomoon) format('svg');font-weight:400;font-style:normal}.jm-icon{font-family:job-manager!important;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;text-align:center;font-variant:normal;text-transform:none;line-height:1em}.display-icon{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:job-manager!important;text-decoration:none;font-weight:400;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline}.job-manager-error,.job-manager-info,.job-manager-message{padding:1em 2em 1em 3.5em!important;margin:0 0 2em!important;position:relative;background-color:#fff;color:#666;border-top:3px solid #999;list-style:none outside!important;width:auto;zoom:1;box-shadow:0 1px 1px rgba(0,0,0,.2)}.job-manager-error:after,.job-manager-error:before,.job-manager-info:after,.job-manager-info:before,.job-manager-message:after,.job-manager-message:before{content:"";display:table}.job-manager-error:after,.job-manager-info:after,.job-manager-message:after{clear:both}.job-manager-error:before,.job-manager-info:before,.job-manager-message:before{content:"";font-family:sans-serif;display:inline-block;position:absolute;top:1em;left:1.5em}.job-manager-error li,.job-manager-info li,.job-manager-message li{list-style:none outside!important;padding-left:0!important;margin-left:0!important}.job-manager-error.job-manager-message,.job-manager-info.job-manager-message,.job-manager-message.job-manager-message{border-top-color:#8fae1b}.job-manager-error.job-manager-message:before,.job-manager-info.job-manager-message:before,.job-manager-message.job-manager-message:before{color:#8fae1b;content:"\2713"}.job-manager-error.job-manager-info,.job-manager-info.job-manager-info,.job-manager-message.job-manager-info{border-top-color:#1e85be}.job-manager-error.job-manager-info:before,.job-manager-info.job-manager-info:before,.job-manager-message.job-manager-info:before{color:#1e85be;content:"i";font-family:Times,Georgia,serif;font-style:italic}.job-manager-error.job-manager-error,.job-manager-info.job-manager-error,.job-manager-message.job-manager-error{border-top-color:#b81c23}.job-manager-error.job-manager-error:before,.job-manager-info.job-manager-error:before,.job-manager-message.job-manager-error:before{color:#b81c23;content:"\00d7";font-weight:700}.job-manager-form fieldset{margin:0 0 1em;padding:0 0 1em;line-height:2em;border:0;border-bottom:1px solid #eee;zoom:1}.job-manager-form fieldset:after,.job-manager-form fieldset:before{content:"";display:table}.job-manager-form fieldset:after{clear:both}.job-manager-form fieldset label{display:block;margin:0;width:29%;float:left;vertical-align:middle}.job-manager-form fieldset label small{opacity:.75;font-size:.83em}.job-manager-form fieldset div.field{width:70%;float:right;vertical-align:middle}.job-manager-form fieldset .wp-editor-container{border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.job-manager-form fieldset .account-sign-in .button{margin-right:.5em}.job-manager-form fieldset .account-sign-in .button:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:job-manager!important;text-decoration:none;font-weight:400;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\e808'}.job-manager-form fieldset abbr.required{color:red;font-weight:700;border:0}.job-manager-form fieldset input.input-text,.job-manager-form fieldset select,.job-manager-form fieldset textarea{margin:0;vertical-align:middle;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.job-manager-form fieldset small.description{opacity:.75;font-size:.83em;margin:1.2em 0 0;display:block;line-height:1.2em}.job-manager-form fieldset .job-manager-uploaded-files{display:table}.job-manager-form fieldset .job-manager-uploaded-files .job-manager-uploaded-file{line-height:2em;font-style:italic;margin-bottom:1em;display:block}.job-manager-form fieldset .job-manager-uploaded-files .job-manager-uploaded-file .job-manager-uploaded-file-preview img{height:64px;margin:0;vertical-align:top}.job-manager-form fieldset .job-manager-uploaded-files .job-manager-uploaded-file .job-manager-uploaded-file-preview a{line-height:64px;display:inline-block;padding:0 0 0 1em}.job-manager-form fieldset .job-manager-uploaded-files .job-manager-uploaded-file .job-manager-uploaded-file-name{display:block}.job-manager-form .submit-job{padding:1em 0}.job-manager-form .job-manager-term-checklist{list-style:none outside;max-height:200px;overflow:auto;margin:0}.job-manager-form .job-manager-term-checklist li{list-style:none outside;margin:0;display:block;float:none}.job-manager-form .job-manager-term-checklist li label{width:auto;float:none}.job-manager-form .job-manager-term-checklist li li{margin:0 0 0 2em}div.job_listings{margin-bottom:1em}div.job_listings ul.job_listings{margin:0}.rp4wp-related-job_listing>ul,ul.job_listings{padding:0;margin:0;border-top:1px solid #eee}.rp4wp-related-job_listing>ul.loading,ul.job_listings.loading{min-height:96px;border-bottom:1px solid #eee;background:url(../images/ajax-loader.gif) no-repeat center 32px}.rp4wp-related-job_listing>ul li.job_listing,.rp4wp-related-job_listing>ul li.no_job_listings_found,ul.job_listings li.job_listing,ul.job_listings li.no_job_listings_found{list-style:none outside;padding:0;margin:0;border-bottom:1px solid #eee}.rp4wp-related-job_listing>ul li.job_listing.job_position_filled a,.rp4wp-related-job_listing>ul li.no_job_listings_found.job_position_filled a,ul.job_listings li.job_listing.job_position_filled a,ul.job_listings li.no_job_listings_found.job_position_filled a{opacity:.25}.rp4wp-related-job_listing>ul li.job_listing.no_job_listings_found,.rp4wp-related-job_listing>ul li.no_job_listings_found.no_job_listings_found,ul.job_listings li.job_listing.no_job_listings_found,ul.job_listings li.no_job_listings_found.no_job_listings_found{padding:1em;border-bottom:1px solid #eee}.rp4wp-related-job_listing>ul li.job_listing a,.rp4wp-related-job_listing>ul li.no_job_listings_found a,ul.job_listings li.job_listing a,ul.job_listings li.no_job_listings_found a{display:block;padding:1em 1em 1em 2em;border:0;overflow:hidden;zoom:1;position:relative;line-height:1.5em;text-decoration:none}.rp4wp-related-job_listing>ul li.job_listing a:focus,.rp4wp-related-job_listing>ul li.job_listing a:hover,.rp4wp-related-job_listing>ul li.no_job_listings_found a:focus,.rp4wp-related-job_listing>ul li.no_job_listings_found a:hover,ul.job_listings li.job_listing a:focus,ul.job_listings li.job_listing a:hover,ul.job_listings li.no_job_listings_found a:focus,ul.job_listings li.no_job_listings_found a:hover{background-color:#fcfcfc}.rp4wp-related-job_listing>ul li.job_listing a img.company_logo,.rp4wp-related-job_listing>ul li.no_job_listings_found a img.company_logo,ul.job_listings li.job_listing a img.company_logo,ul.job_listings li.no_job_listings_found a img.company_logo{width:42px;height:42px;position:absolute;left:1em;float:left;margin-right:1em;vertical-align:middle;box-shadow:none}.rp4wp-related-job_listing>ul li.job_listing a div.location,.rp4wp-related-job_listing>ul li.job_listing a div.position,.rp4wp-related-job_listing>ul li.job_listing a ul.meta,.rp4wp-related-job_listing>ul li.no_job_listings_found a div.location,.rp4wp-related-job_listing>ul li.no_job_listings_found a div.position,.rp4wp-related-job_listing>ul li.no_job_listings_found a ul.meta,ul.job_listings li.job_listing a div.location,ul.job_listings li.job_listing a div.position,ul.job_listings li.job_listing a ul.meta,ul.job_listings li.no_job_listings_found a div.location,ul.job_listings li.no_job_listings_found a div.position,ul.job_listings li.no_job_listings_found a ul.meta{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.rp4wp-related-job_listing>ul li.job_listing a div.position,.rp4wp-related-job_listing>ul li.no_job_listings_found a div.position,ul.job_listings li.job_listing a div.position,ul.job_listings li.no_job_listings_found a div.position{float:left;width:55%;padding:0 0 0 42px;line-height:1.5em}.rp4wp-related-job_listing>ul li.job_listing a div.position h3,.rp4wp-related-job_listing>ul li.no_job_listings_found a div.position h3,ul.job_listings li.job_listing a div.position h3,ul.job_listings li.no_job_listings_found a div.position h3{margin:0;padding:0;line-height:inherit;font-size:inherit}.rp4wp-related-job_listing>ul li.job_listing a div.position .company,.rp4wp-related-job_listing>ul li.no_job_listings_found a div.position .company,ul.job_listings li.job_listing a div.position .company,ul.job_listings li.no_job_listings_found a div.position .company{color:#999}.rp4wp-related-job_listing>ul li.job_listing a div.position .company .tagline,.rp4wp-related-job_listing>ul li.no_job_listings_found a div.position .company .tagline,ul.job_listings li.job_listing a div.position .company .tagline,ul.job_listings li.no_job_listings_found a div.position .company .tagline{margin-left:.5em}.rp4wp-related-job_listing>ul li.job_listing a div.location,.rp4wp-related-job_listing>ul li.no_job_listings_found a div.location,ul.job_listings li.job_listing a div.location,ul.job_listings li.no_job_listings_found a div.location{float:left;text-align:left;width:25%;padding:0 0 0 1em;color:#999;line-height:1.5em}.rp4wp-related-job_listing>ul li.job_listing a .meta,.rp4wp-related-job_listing>ul li.no_job_listings_found a .meta,ul.job_listings li.job_listing a .meta,ul.job_listings li.no_job_listings_found a .meta{float:right;text-align:right;width:20%;padding:0 0 0 1em;margin:0;line-height:1.5em;color:#999;list-style:none outside}.rp4wp-related-job_listing>ul li.job_listing a .meta li,.rp4wp-related-job_listing>ul li.no_job_listings_found a .meta li,ul.job_listings li.job_listing a .meta li,ul.job_listings li.no_job_listings_found a .meta li{list-style:none outside;display:block;margin:0}.rp4wp-related-job_listing>ul li.job_listing a .meta .job-type,.rp4wp-related-job_listing>ul li.no_job_listings_found a .meta .job-type,ul.job_listings li.job_listing a .meta .job-type,ul.job_listings li.no_job_listings_found a .meta .job-type{font-weight:700}.rp4wp-related-job_listing>ul li.job_listing.job_position_featured a,.rp4wp-related-job_listing>ul li.no_job_listings_found.job_position_featured a,ul.job_listings li.job_listing.job_position_featured a,ul.job_listings li.no_job_listings_found.job_position_featured a{background:#fefee5}.rp4wp-related-job_listing>ul li.job_listing.job_position_featured a:focus,.rp4wp-related-job_listing>ul li.job_listing.job_position_featured a:hover,.rp4wp-related-job_listing>ul li.no_job_listings_found.job_position_featured a:focus,.rp4wp-related-job_listing>ul li.no_job_listings_found.job_position_featured a:hover,ul.job_listings li.job_listing.job_position_featured a:focus,ul.job_listings li.job_listing.job_position_featured a:hover,ul.job_listings li.no_job_listings_found.job_position_featured a:focus,ul.job_listings li.no_job_listings_found.job_position_featured a:hover{background-color:#fefed8}.widget ul.job_listings li.job_listing a{padding:1em 0}.widget ul.job_listings li.job_listing .position{float:none;width:auto;padding:0}.widget ul.job_listings li.job_listing ul.meta{float:none;width:auto;padding:0;margin:0;text-align:left}.widget ul.job_listings li.job_listing ul.meta li{float:none;display:inline;padding:0;margin:0 .5em 0 0;font-weight:400}.widget ul.job_listings li.job_listing ul.meta li:after{padding:0 0 0 .5em;content:"\2023"}.widget ul.job_listings li.job_listing ul.meta li:last-child:after{content:''}.job-manager .job-type,.job-types .job-type,.job_listing .job-type{color:#f08d3c}.job-manager .full-time,.job-types .full-time,.job_listing .full-time{color:#90da36}.job-manager .part-time,.job-types .part-time,.job_listing .part-time{color:#f08d3c}.job-manager .temporary,.job-types .temporary,.job_listing .temporary{color:#d93674}.job-manager .freelance,.job-types .freelance,.job_listing .freelance{color:#39c}.job-manager .internship,.job-types .internship,.job_listing .internship{color:#6033cc}.single_job_listing .company{position:relative;border:1px solid #eee;padding:1em;margin:0 0 2em;display:block;clear:both;min-height:3em;box-shadow:0 1px 1px rgba(0,0,0,.1)}.single_job_listing .company img{width:3em;height:3em;position:absolute;left:1em;float:left;vertical-align:middle;box-shadow:none}.single_job_listing .company .name{margin:0 0 0 3em;padding:0 0 0 1em;line-height:1.5em}.single_job_listing .company .name a{float:right;margin-left:1em}.single_job_listing .company .tagline{display:block;margin:0 0 0 42px;padding:0 0 0 1em;line-height:1.5em;font-style:italic;color:#999}.single_job_listing .company .website:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:job-manager!important;text-decoration:none;font-weight:400;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\e809'}.single_job_listing .company .company_twitter:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:job-manager!important;text-decoration:none;font-weight:400;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\e80a'}.single_job_listing .company .company_video{border-top:1px solid #eee;padding:1em 0 0;margin:1em 0 0;position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.single_job_listing .company .company_video embed,.single_job_listing .company .company_video iframe,.single_job_listing .company .company_video object{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;display:block}.single_job_listing .meta{list-style:none outside;padding:0;margin:0 0 1.5em;overflow:hidden;zoom:1;clear:both}.single_job_listing .meta li{margin:0 1em 0 0;padding:.5em;float:left;line-height:1em;color:#999}.single_job_listing .meta .job-type{color:#fff;background-color:#f08d3c}.single_job_listing .meta .full-time{background-color:#90da36}.single_job_listing .meta .part-time{background-color:#f08d3c}.single_job_listing .meta .temporary{background-color:#d93674}.single_job_listing .meta .freelance{background-color:#39c}.single_job_listing .meta .internship{background-color:#6033cc}.single_job_listing .meta .listing-expired,.single_job_listing .meta .position-filled{color:#b81c23}.single_job_listing .meta .location:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:job-manager!important;text-decoration:none;font-weight:400;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\e81d'}.single_job_listing .meta .date-posted:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:job-manager!important;text-decoration:none;font-weight:400;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\e80f'}.single_job_listing .meta .listing-expired:before,.single_job_listing .meta .position-filled:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:job-manager!important;text-decoration:none;font-weight:400;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\e80e'}.single_job_listing .job_description{margin:0 0 1.5em}.job-manager-application-wrapper{clear:both;border:1px solid #eee;padding:.75em 1em 0;margin:1em 0;line-height:1.5em;display:block;position:relative;box-shadow:0 1px 1px rgba(0,0,0,.1)}.job-manager-application-wrapper .application,.single_job_listing .application{padding:0;margin:0 0 1em;overflow:hidden}.job-manager-application-wrapper .application .application_button,.job-manager-application-wrapper .application .application_details,.single_job_listing .application .application_button,.single_job_listing .application .application_details{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.job-manager-application-wrapper .application .application_button,.single_job_listing .application .application_button{text-align:center;font-size:1.1em;line-height:1em;display:inline-block;margin:0 .5em 0 0;padding:.90909091em 2em;outline:0}.job-manager-application-wrapper .application .application_details,.single_job_listing .application .application_details{clear:both;border:1px solid #eee;padding:.75em 1em 0;margin:1em 0;line-height:1.5em;display:block;position:relative;box-shadow:0 1px 1px rgba(0,0,0,.1)}.job-manager-application-wrapper .application .application_details p,.single_job_listing .application .application_details p{margin:0 0 .75em}.job-manager-application-wrapper .application .application_details:before,.single_job_listing .application .application_details:before{content:"";position:absolute;margin:-10px 0 0 0;top:0;left:5em;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid #eee}.job-manager-application-wrapper .application .application_details:after,.single_job_listing .application .application_details:after{content:"";position:absolute;margin:-9px 0 0 1px;left:5em;top:0;width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:9px solid #fff}.job_filters{background:#eee;zoom:1}.job_filters:after,.job_filters:before{content:"";display:table}.job_filters:after{clear:both}.job_filters .search_jobs{padding:1em;zoom:1}.job_filters .search_jobs:after,.job_filters .search_jobs:before{content:"";display:table}.job_filters .search_jobs:after{clear:both}.job_filters .search_jobs div{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.job_filters .search_jobs div label{display:none}.job_filters .search_jobs div.filter_first,.job_filters .search_jobs div.search_keywords{float:left;padding-right:.5em;width:50%}.job_filters .search_jobs div.filter_last,.job_filters .search_jobs div.search_location{float:right;padding-left:.5em;width:50%}.job_filters .search_jobs div.filter_wide,.job_filters .search_jobs div.search_categories{padding-top:.5em;clear:both;width:100%}.job_filters .search_jobs div .showing_jobs a{padding:.25em}.job_filters .search_jobs div .showing_jobs a.active{background:#ddd;text-decoration:none}.job_filters .search_jobs input,.job_filters .search_jobs select{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%}.job_filters .job_types{list-style:none outside;margin:0;padding:0;font-size:.83em;background:#f9f9f9;border-top:1px solid #e5e5e5;zoom:1}.job_filters .job_types:after,.job_filters .job_types:before{content:"";display:table}.job_filters .job_types:after{clear:both}.job_filters .job_types li{margin:0;padding:.5em 1em;float:left;border-right:1px solid #eee}.job_filters .job_types li:last-child{border-right:0}.job_filters .showing_jobs{padding:.5em 1em;display:none;font-size:.83em;background:#f9f9f9;border-top:1px solid #e5e5e5}.job_filters .showing_jobs a{float:right;padding-left:10px;border:0}div.job_listings .job-manager-pagination{text-align:center;display:block;padding:1em 0;border-bottom:1px solid #eee;line-height:1}div.job_listings .load_previous{border-top:1px solid #eee}div.job_listings .load_more_jobs+ul.job_listings{border-top:0}div.job_listings .load_more_jobs{text-align:center;display:block;padding:1em 1em 1em 2em;border-bottom:1px solid #eee;font-weight:700}div.job_listings .load_more_jobs.loading{background:url(../images/ajax-loader.gif) no-repeat center}div.job_listings .load_more_jobs.loading strong{visibility:hidden}div.job_listings .load_more_jobs:focus,div.job_listings .load_more_jobs:hover{background-color:#fcfcfc;border-bottom:1px solid #eee}.job_listing_preview{padding:0 1em 1em;border:5px solid #eee}.entry-content .job_listing_preview_title,.job_listing_preview_title{padding:.5em 1em;vertical-align:middle;position:relative;background:#eee}.entry-content .job_listing_preview_title h2,.job_listing_preview_title h2{margin:0;clear:none}.entry-content .job_listing_preview_title .button,.job_listing_preview_title .button{float:right;margin-left:.25em}.job_summary_shortcode{border:1px solid #ccc;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;text-align:center;position:relative;box-shadow:0 2px 4px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.4);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.job_summary_shortcode.aligncenter{display:block;margin:2em auto}.job_summary_shortcode.alignleft{float:left;margin:0 2em 2em 0}.job_summary_shortcode.alignright{float:right;margin:0 0 2em 2em}.job_summary_shortcode a{text-decoration:none;color:inherit}.job_summary_shortcode img{margin:0;padding:0;display:block;width:100%;-moz-border-radius:0;-webkit-border-radius:0;-moz-border-top-left-radius:3px;-moz-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-radius:0;border-top-left-radius:3px;border-top-right-radius:3px;box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}.job_summary_shortcode .job_summary_content{padding:0 1em}.job_summary_shortcode .meta{font-style:italic;color:#777}.job_summary_shortcode .job-type{-moz-border-radius:1em;-webkit-border-radius:1em;border-radius:1em;color:#fff;text-shadow:0 1px 0 rgba(255,255,255,.5);box-shadow:0 2px 4px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.4);position:absolute;top:0;right:0;padding:.5em;height:1em;width:auto;min-width:1em;font-size:1em;text-align:center;vertical-align:middle;line-height:1em;margin:-.5em -.5em 0 0}.job_summary_shortcode .job-type.full-time{background-color:#90da36}.job_summary_shortcode .job-type.part-time{background-color:#f08d3c}.job_summary_shortcode .job-type.temporary{background-color:#d93674}.job_summary_shortcode .job-type.freelance{background-color:#39c}.job_summary_shortcode .job-type.internship{background-color:#6033cc}#job-manager-job-dashboard .account-sign-in .button{margin-right:.5em}#job-manager-job-dashboard .account-sign-in .button:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:job-manager!important;text-decoration:none;font-weight:400;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\e808'}#job-manager-job-dashboard table ul.job-dashboard-actions{margin:0;padding:0;visibility:hidden;font-size:.92em}#job-manager-job-dashboard table ul.job-dashboard-actions li{float:none;display:inline;padding:0;margin:0 .5em 0 0;font-weight:400;list-style:none outside}#job-manager-job-dashboard table ul.job-dashboard-actions li:after{padding:0 0 0 .5em;content:"\2023"}#job-manager-job-dashboard table ul.job-dashboard-actions li:last-child:after{content:''}#job-manager-job-dashboard table ul.job-dashboard-actions li .job-dashboard-action-delete{color:red}#job-manager-job-dashboard table tr:focus ul.job-dashboard-actions,#job-manager-job-dashboard table tr:hover ul.job-dashboard-actions{visibility:visible}#job-manager-job-dashboard table td,#job-manager-job-dashboard table th{padding:.5em 1em .5em 0}#job-manager-job-dashboard table .job_title small{color:#999}#content nav.job-manager-pagination,#job-manager-job-dashboard table .applications,#job-manager-job-dashboard table .expires,#job-manager-job-dashboard table .filled,nav.job-manager-pagination{text-align:center}#content nav.job-manager-pagination ul,nav.job-manager-pagination ul{display:inline-block;white-space:nowrap;padding:0;clear:both;border-left:1px solid #eee;margin:1px}#content nav.job-manager-pagination ul li,nav.job-manager-pagination ul li{border-right:1px solid #eee;border-top:1px solid #eee;border-bottom:1px solid #eee;padding:0;margin:0;float:left;display:inline;overflow:hidden}#content nav.job-manager-pagination ul li a,#content nav.job-manager-pagination ul li span,nav.job-manager-pagination ul li a,nav.job-manager-pagination ul li span{margin:0;text-decoration:none;line-height:1em;font-size:1em;font-weight:400;padding:.5em;min-width:1em;display:block;border:0}#content nav.job-manager-pagination ul li a:focus,#content nav.job-manager-pagination ul li a:hover,#content nav.job-manager-pagination ul li span.current,nav.job-manager-pagination ul li a:focus,nav.job-manager-pagination ul li a:hover,nav.job-manager-pagination ul li span.current{background:#eee;color:#888}@media only screen and (max-width:767px){ul.job_listings li.job_listing a,ul.job_listings li.no_job_listings_found a{padding:1em}ul.job_listings li.job_listing a img.company_logo,ul.job_listings li.no_job_listings_found a img.company_logo{visibility:hidden}ul.job_listings li.job_listing a div.position,ul.job_listings li.no_job_listings_found a div.position{float:left;width:60%;padding:0}ul.job_listings li.job_listing a div.location,ul.job_listings li.no_job_listings_found a div.location{float:right;width:40%;line-height:2em;font-size:.75em;padding:0 0 0 1em;text-align:right}ul.job_listings li.job_listing a .meta,ul.job_listings li.no_job_listings_found a .meta{float:right;width:40%;line-height:2em;font-size:.75em}ul.job_listings li.job_listing a .meta li,ul.job_listings li.no_job_listings_found a .meta li{font-size:1em}}.chosen-container{width:100%!important}.twenty-eleven ul.job_listings li.job_listing,.twenty-eleven ul.job_listings li.no_job_listings_found{padding:0!important}.twenty-ten .chosen-choices,.twenty-ten .job_types{margin:0!important}.rtl .job-manager-form label{float:right}.rtl .entry-content .job_listing_preview_title .button,.rtl .job-manager-form div.field,.rtl .job_listing_preview_title .button{float:left}.rtl .single_job_listing .meta li{float:right;margin:0 0 0 1em}
|
1 |
+
.clearfix{zoom:1}.clearfix:after,.clearfix:before{content:"";display:table}.clearfix:after{clear:both}@font-face{font-family:job-manager;src:url(../font/job-manager.eot?4963673);src:url(../font/job-manager.eot?4963673#iefix) format('embedded-opentype'),url(../font/job-manager.woff?4963673) format('woff'),url(../font/job-manager.ttf?4963673) format('truetype'),url(../font/job-manager.svg?4963673#job-manager) format('svg');font-weight:400;font-style:normal}@font-face{font-family:jm-logo;src:url(../font/jm-logo/jm.eot?ycsbky);src:url(../font/jm-logo/jm.eot?#iefixycsbky) format('embedded-opentype'),url(../font/jm-logo/jm.woff?ycsbky) format('woff'),url(../font/jm-logo/jm.ttf?ycsbky) format('truetype'),url(../font/jm-logo/jm.svg?ycsbky#icomoon) format('svg');font-weight:400;font-style:normal}.jm-icon{font-family:job-manager!important;font-style:normal;font-weight:400;speak:none;display:inline-block;text-decoration:inherit;width:1em;text-align:center;font-variant:normal;text-transform:none;line-height:1em}.display-icon{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:job-manager!important;text-decoration:none;font-weight:400;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline}.job-manager-error,.job-manager-info,.job-manager-message{padding:1em 2em 1em 3.5em!important;margin:0 0 2em!important;position:relative;background-color:#fff;color:#666;border-top:3px solid #999;list-style:none outside!important;width:auto;zoom:1;box-shadow:0 1px 1px rgba(0,0,0,.2)}.job-manager-error:after,.job-manager-error:before,.job-manager-info:after,.job-manager-info:before,.job-manager-message:after,.job-manager-message:before{content:"";display:table}.job-manager-error:after,.job-manager-info:after,.job-manager-message:after{clear:both}.job-manager-error:before,.job-manager-info:before,.job-manager-message:before{content:"";font-family:sans-serif;display:inline-block;position:absolute;top:1em;left:1.5em}.job-manager-error li,.job-manager-info li,.job-manager-message li{list-style:none outside!important;padding-left:0!important;margin-left:0!important}.job-manager-error.job-manager-message,.job-manager-info.job-manager-message,.job-manager-message.job-manager-message{border-top-color:#8fae1b}.job-manager-error.job-manager-message:before,.job-manager-info.job-manager-message:before,.job-manager-message.job-manager-message:before{color:#8fae1b;content:"\2713"}.job-manager-error.job-manager-info,.job-manager-info.job-manager-info,.job-manager-message.job-manager-info{border-top-color:#1e85be}.job-manager-error.job-manager-info:before,.job-manager-info.job-manager-info:before,.job-manager-message.job-manager-info:before{color:#1e85be;content:"i";font-family:Times,Georgia,serif;font-style:italic}.job-manager-error.job-manager-error,.job-manager-info.job-manager-error,.job-manager-message.job-manager-error{border-top-color:#b81c23}.job-manager-error.job-manager-error:before,.job-manager-info.job-manager-error:before,.job-manager-message.job-manager-error:before{color:#b81c23;content:"\00d7";font-weight:700}.job-manager-form fieldset{margin:0 0 1em;padding:0 0 1em;line-height:2em;border:0;border-bottom:1px solid #eee;zoom:1}.job-manager-form fieldset:after,.job-manager-form fieldset:before{content:"";display:table}.job-manager-form fieldset:after{clear:both}.job-manager-form fieldset label{display:block;margin:0;width:29%;float:left;vertical-align:middle}.job-manager-form fieldset label small{opacity:.75;font-size:.83em}.job-manager-form fieldset div.field{width:70%;float:right;vertical-align:middle}.job-manager-form fieldset .wp-editor-container{border:1px solid #ccc;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.job-manager-form fieldset .account-sign-in .button{margin-right:.5em}.job-manager-form fieldset .account-sign-in .button:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:job-manager!important;text-decoration:none;font-weight:400;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\e808'}.job-manager-form fieldset abbr.required{color:red;font-weight:700;border:0}.job-manager-form fieldset input.input-text,.job-manager-form fieldset select,.job-manager-form fieldset textarea{margin:0;vertical-align:middle;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.job-manager-form fieldset small.description{opacity:.75;font-size:.83em;margin:1.2em 0 0;display:block;line-height:1.2em}.job-manager-form fieldset .job-manager-uploaded-files{display:table}.job-manager-form fieldset .job-manager-uploaded-files .job-manager-uploaded-file{line-height:2em;font-style:italic;margin-bottom:1em;display:block}.job-manager-form fieldset .job-manager-uploaded-files .job-manager-uploaded-file .job-manager-uploaded-file-preview img{height:64px;margin:0;vertical-align:top}.job-manager-form fieldset .job-manager-uploaded-files .job-manager-uploaded-file .job-manager-uploaded-file-preview a{line-height:64px;display:inline-block;padding:0 0 0 1em}.job-manager-form fieldset .job-manager-uploaded-files .job-manager-uploaded-file .job-manager-uploaded-file-name{display:block}.job-manager-form .submit-job{padding:1em 0}.job-manager-form .job-manager-term-checklist{list-style:none outside;max-height:200px;overflow:auto;margin:0}.job-manager-form .job-manager-term-checklist li{list-style:none outside;margin:0;display:block;float:none}.job-manager-form .job-manager-term-checklist li label{width:auto;float:none}.job-manager-form .job-manager-term-checklist li li{margin:0 0 0 2em}div.job_listings{margin-bottom:1em}div.job_listings ul.job_listings{margin:0}.rp4wp-related-job_listing>ul,ul.job_listings{padding:0;margin:0;border-top:1px solid #eee}.rp4wp-related-job_listing>ul.loading,ul.job_listings.loading{min-height:96px;border-bottom:1px solid #eee;background:url(../images/ajax-loader.gif) no-repeat center 32px}.rp4wp-related-job_listing>ul li.job_listing,.rp4wp-related-job_listing>ul li.no_job_listings_found,ul.job_listings li.job_listing,ul.job_listings li.no_job_listings_found{list-style:none outside;padding:0;margin:0;border-bottom:1px solid #eee}.rp4wp-related-job_listing>ul li.job_listing.job_position_filled a,.rp4wp-related-job_listing>ul li.no_job_listings_found.job_position_filled a,ul.job_listings li.job_listing.job_position_filled a,ul.job_listings li.no_job_listings_found.job_position_filled a{opacity:.25}.rp4wp-related-job_listing>ul li.job_listing.no_job_listings_found,.rp4wp-related-job_listing>ul li.no_job_listings_found.no_job_listings_found,ul.job_listings li.job_listing.no_job_listings_found,ul.job_listings li.no_job_listings_found.no_job_listings_found{padding:1em;border-bottom:1px solid #eee}.rp4wp-related-job_listing>ul li.job_listing a,.rp4wp-related-job_listing>ul li.no_job_listings_found a,ul.job_listings li.job_listing a,ul.job_listings li.no_job_listings_found a{display:block;padding:1em 1em 1em 2em;border:0;overflow:hidden;zoom:1;position:relative;line-height:1.5em;text-decoration:none}.rp4wp-related-job_listing>ul li.job_listing a:focus,.rp4wp-related-job_listing>ul li.job_listing a:hover,.rp4wp-related-job_listing>ul li.no_job_listings_found a:focus,.rp4wp-related-job_listing>ul li.no_job_listings_found a:hover,ul.job_listings li.job_listing a:focus,ul.job_listings li.job_listing a:hover,ul.job_listings li.no_job_listings_found a:focus,ul.job_listings li.no_job_listings_found a:hover{background-color:#fcfcfc}.rp4wp-related-job_listing>ul li.job_listing a img.company_logo,.rp4wp-related-job_listing>ul li.no_job_listings_found a img.company_logo,ul.job_listings li.job_listing a img.company_logo,ul.job_listings li.no_job_listings_found a img.company_logo{width:42px;height:42px;position:absolute;left:1em;float:left;margin-right:1em;vertical-align:middle;box-shadow:none}.rp4wp-related-job_listing>ul li.job_listing a div.location,.rp4wp-related-job_listing>ul li.job_listing a div.position,.rp4wp-related-job_listing>ul li.job_listing a ul.meta,.rp4wp-related-job_listing>ul li.no_job_listings_found a div.location,.rp4wp-related-job_listing>ul li.no_job_listings_found a div.position,.rp4wp-related-job_listing>ul li.no_job_listings_found a ul.meta,ul.job_listings li.job_listing a div.location,ul.job_listings li.job_listing a div.position,ul.job_listings li.job_listing a ul.meta,ul.job_listings li.no_job_listings_found a div.location,ul.job_listings li.no_job_listings_found a div.position,ul.job_listings li.no_job_listings_found a ul.meta{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.rp4wp-related-job_listing>ul li.job_listing a div.position,.rp4wp-related-job_listing>ul li.no_job_listings_found a div.position,ul.job_listings li.job_listing a div.position,ul.job_listings li.no_job_listings_found a div.position{float:left;width:55%;padding:0 0 0 42px;line-height:1.5em}.rp4wp-related-job_listing>ul li.job_listing a div.position h3,.rp4wp-related-job_listing>ul li.no_job_listings_found a div.position h3,ul.job_listings li.job_listing a div.position h3,ul.job_listings li.no_job_listings_found a div.position h3{margin:0;padding:0;line-height:inherit;font-size:inherit}.rp4wp-related-job_listing>ul li.job_listing a div.position .company,.rp4wp-related-job_listing>ul li.no_job_listings_found a div.position .company,ul.job_listings li.job_listing a div.position .company,ul.job_listings li.no_job_listings_found a div.position .company{color:#999}.rp4wp-related-job_listing>ul li.job_listing a div.position .company .tagline,.rp4wp-related-job_listing>ul li.no_job_listings_found a div.position .company .tagline,ul.job_listings li.job_listing a div.position .company .tagline,ul.job_listings li.no_job_listings_found a div.position .company .tagline{margin-left:.5em}.rp4wp-related-job_listing>ul li.job_listing a div.location,.rp4wp-related-job_listing>ul li.no_job_listings_found a div.location,ul.job_listings li.job_listing a div.location,ul.job_listings li.no_job_listings_found a div.location{float:left;text-align:left;width:25%;padding:0 0 0 1em;color:#999;line-height:1.5em}.rp4wp-related-job_listing>ul li.job_listing a .meta,.rp4wp-related-job_listing>ul li.no_job_listings_found a .meta,ul.job_listings li.job_listing a .meta,ul.job_listings li.no_job_listings_found a .meta{float:right;text-align:right;width:20%;padding:0 0 0 1em;margin:0;line-height:1.5em;color:#999;list-style:none outside}.rp4wp-related-job_listing>ul li.job_listing a .meta li,.rp4wp-related-job_listing>ul li.no_job_listings_found a .meta li,ul.job_listings li.job_listing a .meta li,ul.job_listings li.no_job_listings_found a .meta li{list-style:none outside;display:block;margin:0}.rp4wp-related-job_listing>ul li.job_listing a .meta .job-type,.rp4wp-related-job_listing>ul li.no_job_listings_found a .meta .job-type,ul.job_listings li.job_listing a .meta .job-type,ul.job_listings li.no_job_listings_found a .meta .job-type{font-weight:700}.rp4wp-related-job_listing>ul li.job_listing.job_position_featured a,.rp4wp-related-job_listing>ul li.no_job_listings_found.job_position_featured a,ul.job_listings li.job_listing.job_position_featured a,ul.job_listings li.no_job_listings_found.job_position_featured a{background:#fefee5}.rp4wp-related-job_listing>ul li.job_listing.job_position_featured a:focus,.rp4wp-related-job_listing>ul li.job_listing.job_position_featured a:hover,.rp4wp-related-job_listing>ul li.no_job_listings_found.job_position_featured a:focus,.rp4wp-related-job_listing>ul li.no_job_listings_found.job_position_featured a:hover,ul.job_listings li.job_listing.job_position_featured a:focus,ul.job_listings li.job_listing.job_position_featured a:hover,ul.job_listings li.no_job_listings_found.job_position_featured a:focus,ul.job_listings li.no_job_listings_found.job_position_featured a:hover{background-color:#fefed8}.widget ul.job_listings li.job_listing a{padding:1em 0}.widget ul.job_listings li.job_listing .position{float:none;width:auto;padding:0}.widget ul.job_listings li.job_listing ul.meta{float:none;width:auto;padding:0;margin:0;text-align:left}.widget ul.job_listings li.job_listing ul.meta li{float:none;display:inline;padding:0;margin:0 .5em 0 0;font-weight:400}.widget ul.job_listings li.job_listing ul.meta li:after{padding:0 0 0 .5em;content:"\2023"}.widget ul.job_listings li.job_listing ul.meta li:last-child:after{content:''}.job-manager .job-type,.job-types .job-type,.job_listing .job-type{color:#f08d3c}.job-manager .full-time,.job-types .full-time,.job_listing .full-time{color:#90da36}.job-manager .part-time,.job-types .part-time,.job_listing .part-time{color:#f08d3c}.job-manager .temporary,.job-types .temporary,.job_listing .temporary{color:#d93674}.job-manager .freelance,.job-types .freelance,.job_listing .freelance{color:#39c}.job-manager .internship,.job-types .internship,.job_listing .internship{color:#6033cc}.single_job_listing .company{position:relative;border:1px solid #eee;padding:1em;margin:0 0 2em;display:block;clear:both;min-height:3em;box-shadow:0 1px 1px rgba(0,0,0,.1)}.single_job_listing .company img{width:3em;height:3em;position:absolute;left:1em;float:left;vertical-align:middle;box-shadow:none}.single_job_listing .company .name{margin:0 0 0 3em;padding:0 0 0 1em;line-height:1.5em}.single_job_listing .company .name a{float:right;margin-left:1em}.single_job_listing .company .tagline{display:block;margin:0 0 0 42px;padding:0 0 0 1em;line-height:1.5em;font-style:italic;color:#999}.single_job_listing .company .website:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:job-manager!important;text-decoration:none;font-weight:400;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\e809'}.single_job_listing .company .company_twitter:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:job-manager!important;text-decoration:none;font-weight:400;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\e80a'}.single_job_listing .company .company_video{border-top:1px solid #eee;padding:1em 0 0;margin:1em 0 0;position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden}.single_job_listing .company .company_video embed,.single_job_listing .company .company_video iframe,.single_job_listing .company .company_video object{position:absolute;top:0;left:0;width:100%;height:100%;margin:0;display:block}.single_job_listing .meta{list-style:none outside;padding:0;margin:0 0 1.5em;overflow:hidden;zoom:1;clear:both}.single_job_listing .meta li{margin:0 1em 0 0;padding:.5em;float:left;line-height:1em;color:#999}.single_job_listing .meta .job-type{color:#fff;background-color:#f08d3c}.single_job_listing .meta .full-time{background-color:#90da36}.single_job_listing .meta .part-time{background-color:#f08d3c}.single_job_listing .meta .temporary{background-color:#d93674}.single_job_listing .meta .freelance{background-color:#39c}.single_job_listing .meta .internship{background-color:#6033cc}.single_job_listing .meta .listing-expired,.single_job_listing .meta .position-filled{color:#b81c23}.single_job_listing .meta .location:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:job-manager!important;text-decoration:none;font-weight:400;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\e81d'}.single_job_listing .meta .date-posted:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:job-manager!important;text-decoration:none;font-weight:400;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\e80f'}.single_job_listing .meta .listing-expired:before,.single_job_listing .meta .position-filled:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:job-manager!important;text-decoration:none;font-weight:400;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\e80e'}.single_job_listing .job_description{margin:0 0 1.5em}.job-manager-application-wrapper{clear:both;border:1px solid #eee;padding:.75em 1em 0;margin:1em 0;line-height:1.5em;display:block;position:relative;box-shadow:0 1px 1px rgba(0,0,0,.1)}.job-manager-application-wrapper .application,.single_job_listing .application{padding:0;margin:0 0 1em;overflow:hidden}.job-manager-application-wrapper .application .application_button,.job-manager-application-wrapper .application .application_details,.single_job_listing .application .application_button,.single_job_listing .application .application_details{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.job-manager-application-wrapper .application .application_button,.single_job_listing .application .application_button{text-align:center;font-size:1.1em;line-height:1em;display:inline-block;margin:0 .5em 0 0;padding:.90909091em 2em;outline:0}.job-manager-application-wrapper .application .application_details,.single_job_listing .application .application_details{clear:both;border:1px solid #eee;padding:.75em 1em 0;margin:1em 0;line-height:1.5em;display:block;position:relative;box-shadow:0 1px 1px rgba(0,0,0,.1)}.job-manager-application-wrapper .application .application_details p,.single_job_listing .application .application_details p{margin:0 0 .75em}.job-manager-application-wrapper .application .application_details:before,.single_job_listing .application .application_details:before{content:"";position:absolute;margin:-10px 0 0 0;top:0;left:5em;width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid #eee}.job-manager-application-wrapper .application .application_details:after,.single_job_listing .application .application_details:after{content:"";position:absolute;margin:-9px 0 0 1px;left:5em;top:0;width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:9px solid #fff}.job_filters{background:#eee;zoom:1}.job_filters:after,.job_filters:before{content:"";display:table}.job_filters:after{clear:both}.job_filters .search_jobs{padding:1em;zoom:1}.job_filters .search_jobs:after,.job_filters .search_jobs:before{content:"";display:table}.job_filters .search_jobs:after{clear:both}.job_filters .search_jobs div{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.job_filters .search_jobs div label{display:none}.job_filters .search_jobs div.filter_first,.job_filters .search_jobs div.search_keywords{float:left;padding-right:.5em;width:50%}.job_filters .search_jobs div.filter_last,.job_filters .search_jobs div.search_location{float:right;padding-left:.5em;width:50%}.job_filters .search_jobs div.filter_wide,.job_filters .search_jobs div.search_categories{padding-top:.5em;clear:both;width:100%}.job_filters .search_jobs div .showing_jobs a{padding:.25em}.job_filters .search_jobs div .showing_jobs a.active{background:#ddd;text-decoration:none}.job_filters .search_jobs input,.job_filters .search_jobs select{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;width:100%}.job_filters .job_types{list-style:none outside;margin:0;padding:0;font-size:.83em;background:#f9f9f9;border-top:1px solid #e5e5e5;zoom:1}.job_filters .job_types:after,.job_filters .job_types:before{content:"";display:table}.job_filters .job_types:after{clear:both}.job_filters .job_types li{margin:0;padding:.5em 1em;float:left;border-right:1px solid #eee}.job_filters .job_types li:last-child{border-right:0}.job_filters .showing_jobs{padding:.5em 1em;display:none;font-size:.83em;background:#f9f9f9;border-top:1px solid #e5e5e5}.job_filters .showing_jobs a{float:right;padding-left:10px;border:0}div.job_listings .job-manager-pagination{text-align:center;display:block;padding:1em 0;border-bottom:1px solid #eee;line-height:1}div.job_listings .load_previous{border-top:1px solid #eee}div.job_listings .load_more_jobs+ul.job_listings{border-top:0}div.job_listings .load_more_jobs{text-align:center;display:block;padding:1em 1em 1em 2em;border-bottom:1px solid #eee;font-weight:700}div.job_listings .load_more_jobs.loading{background:url(../images/ajax-loader.gif) no-repeat center}div.job_listings .load_more_jobs.loading strong{visibility:hidden}div.job_listings .load_more_jobs:focus,div.job_listings .load_more_jobs:hover{background-color:#fcfcfc;border-bottom:1px solid #eee}.job_listing_preview{padding:0 1em 1em;border:5px solid #eee}.entry-header .attachment-post-thumbnail{display:none}.entry-content .job_listing_preview_title,.job_listing_preview_title{padding:.5em 1em;vertical-align:middle;position:relative;background:#eee}.entry-content .job_listing_preview_title h2,.job_listing_preview_title h2{margin:0;clear:none}.entry-content .job_listing_preview_title .button,.job_listing_preview_title .button{float:right;margin-left:.25em}.job_summary_shortcode{border:1px solid #ccc;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;text-align:center;position:relative;box-shadow:0 2px 4px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.4);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.job_summary_shortcode.aligncenter{display:block;margin:2em auto}.job_summary_shortcode.alignleft{float:left;margin:0 2em 2em 0}.job_summary_shortcode.alignright{float:right;margin:0 0 2em 2em}.job_summary_shortcode a{text-decoration:none;color:inherit}.job_summary_shortcode img{margin:0;padding:0;display:block;width:100%;-moz-border-radius:0;-webkit-border-radius:0;-moz-border-top-left-radius:3px;-moz-border-top-right-radius:3px;-webkit-border-top-left-radius:3px;-webkit-border-top-right-radius:3px;border-radius:0;border-top-left-radius:3px;border-top-right-radius:3px;box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}.job_summary_shortcode .job_summary_content{padding:0 1em}.job_summary_shortcode .meta{font-style:italic;color:#777}.job_summary_shortcode .job-type{-moz-border-radius:1em;-webkit-border-radius:1em;border-radius:1em;color:#fff;text-shadow:0 1px 0 rgba(255,255,255,.5);box-shadow:0 2px 4px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.4);position:absolute;top:0;right:0;padding:.5em;height:1em;width:auto;min-width:1em;font-size:1em;text-align:center;vertical-align:middle;line-height:1em;margin:-.5em -.5em 0 0}.job_summary_shortcode .job-type.full-time{background-color:#90da36}.job_summary_shortcode .job-type.part-time{background-color:#f08d3c}.job_summary_shortcode .job-type.temporary{background-color:#d93674}.job_summary_shortcode .job-type.freelance{background-color:#39c}.job_summary_shortcode .job-type.internship{background-color:#6033cc}#job-manager-job-dashboard .account-sign-in .button{margin-right:.5em}#job-manager-job-dashboard .account-sign-in .button:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:job-manager!important;text-decoration:none;font-weight:400;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\e808'}#job-manager-job-dashboard table ul.job-dashboard-actions{margin:0;padding:0;visibility:hidden;font-size:.92em}#job-manager-job-dashboard table ul.job-dashboard-actions li{float:none;display:inline;padding:0;margin:0 .5em 0 0;font-weight:400;list-style:none outside}#job-manager-job-dashboard table ul.job-dashboard-actions li:after{padding:0 0 0 .5em;content:"\2023"}#job-manager-job-dashboard table ul.job-dashboard-actions li:last-child:after{content:''}#job-manager-job-dashboard table ul.job-dashboard-actions li .job-dashboard-action-delete{color:red}#job-manager-job-dashboard table tr:focus ul.job-dashboard-actions,#job-manager-job-dashboard table tr:hover ul.job-dashboard-actions{visibility:visible}#job-manager-job-dashboard table td,#job-manager-job-dashboard table th{padding:.5em 1em .5em 0}#job-manager-job-dashboard table .job_title small{color:#999}#content nav.job-manager-pagination,#job-manager-job-dashboard table .applications,#job-manager-job-dashboard table .expires,#job-manager-job-dashboard table .filled,nav.job-manager-pagination{text-align:center}#content nav.job-manager-pagination ul,nav.job-manager-pagination ul{display:inline-block;white-space:nowrap;padding:0;clear:both;border-left:1px solid #eee;margin:1px}#content nav.job-manager-pagination ul li,nav.job-manager-pagination ul li{border-right:1px solid #eee;border-top:1px solid #eee;border-bottom:1px solid #eee;padding:0;margin:0;float:left;display:inline;overflow:hidden}#content nav.job-manager-pagination ul li a,#content nav.job-manager-pagination ul li span,nav.job-manager-pagination ul li a,nav.job-manager-pagination ul li span{margin:0;text-decoration:none;line-height:1em;font-size:1em;font-weight:400;padding:.5em;min-width:1em;display:block;border:0}#content nav.job-manager-pagination ul li a:focus,#content nav.job-manager-pagination ul li a:hover,#content nav.job-manager-pagination ul li span.current,nav.job-manager-pagination ul li a:focus,nav.job-manager-pagination ul li a:hover,nav.job-manager-pagination ul li span.current{background:#eee;color:#888}@media only screen and (max-width:767px){ul.job_listings li.job_listing a,ul.job_listings li.no_job_listings_found a{padding:1em}ul.job_listings li.job_listing a img.company_logo,ul.job_listings li.no_job_listings_found a img.company_logo{visibility:hidden}ul.job_listings li.job_listing a div.position,ul.job_listings li.no_job_listings_found a div.position{float:left;width:60%;padding:0}ul.job_listings li.job_listing a div.location,ul.job_listings li.no_job_listings_found a div.location{float:right;width:40%;line-height:2em;font-size:.75em;padding:0 0 0 1em;text-align:right}ul.job_listings li.job_listing a .meta,ul.job_listings li.no_job_listings_found a .meta{float:right;width:40%;line-height:2em;font-size:.75em}ul.job_listings li.job_listing a .meta li,ul.job_listings li.no_job_listings_found a .meta li{font-size:1em}}.chosen-container{width:100%!important}.twenty-eleven ul.job_listings li.job_listing,.twenty-eleven ul.job_listings li.no_job_listings_found{padding:0!important}.twenty-ten .chosen-choices,.twenty-ten .job_types{margin:0!important}.rtl .job-manager-form label{float:right}.rtl .entry-content .job_listing_preview_title .button,.rtl .job-manager-form div.field,.rtl .job_listing_preview_title .button{float:left}.rtl .single_job_listing .meta li{float:right;margin:0 0 0 1em}
|
assets/css/frontend.less
CHANGED
@@ -671,6 +671,9 @@ div.job_listings {
|
|
671 |
padding: 0 1em 1em;
|
672 |
border: 5px solid #eee;
|
673 |
}
|
|
|
|
|
|
|
674 |
.job_listing_preview_title, .entry-content .job_listing_preview_title {
|
675 |
padding: .5em 1em;
|
676 |
vertical-align: middle;
|
671 |
padding: 0 1em 1em;
|
672 |
border: 5px solid #eee;
|
673 |
}
|
674 |
+
.entry-header .attachment-post-thumbnail {
|
675 |
+
display: none;
|
676 |
+
}
|
677 |
.job_listing_preview_title, .entry-content .job_listing_preview_title {
|
678 |
padding: .5em 1em;
|
679 |
vertical-align: middle;
|
assets/js/admin.js
CHANGED
@@ -16,10 +16,16 @@ jQuery(document).ready(function($) {
|
|
16 |
|
17 |
// Datepicker
|
18 |
$( "input#_job_expires" ).datepicker({
|
19 |
-
|
20 |
-
|
|
|
21 |
});
|
22 |
|
|
|
|
|
|
|
|
|
|
|
23 |
// Uploading files
|
24 |
var file_frame;
|
25 |
var file_target_input;
|
@@ -69,4 +75,4 @@ jQuery(document).ready(function($) {
|
|
69 |
// Finally, open the modal
|
70 |
file_frame.open();
|
71 |
});
|
72 |
-
});
|
16 |
|
17 |
// Datepicker
|
18 |
$( "input#_job_expires" ).datepicker({
|
19 |
+
altFormat : 'yy-mm-dd',
|
20 |
+
dateFormat : job_manager_admin.date_format,
|
21 |
+
minDate : 0
|
22 |
});
|
23 |
|
24 |
+
if ( $( "input#_job_expires" ).val() ) {
|
25 |
+
var date = new Date( $( "input#_job_expires" ).val() );
|
26 |
+
$( "input#_job_expires" ).datepicker( "setDate", date );
|
27 |
+
}
|
28 |
+
|
29 |
// Uploading files
|
30 |
var file_frame;
|
31 |
var file_target_input;
|
75 |
// Finally, open the modal
|
76 |
file_frame.open();
|
77 |
});
|
78 |
+
});
|
assets/js/admin.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
jQuery(document).ready(function(a){a(".tips, .help_tip").tipTip({attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200}),a("p.form-field-author").on("click","a.change-author",function(){return a(this).closest("p").find(".current-author").hide(),a(this).closest("p").find(".change-author").show(),!1}),a("input#_job_expires").datepicker({
|
1 |
+
jQuery(document).ready(function(a){if(a(".tips, .help_tip").tipTip({attribute:"data-tip",fadeIn:50,fadeOut:50,delay:200}),a("p.form-field-author").on("click","a.change-author",function(){return a(this).closest("p").find(".current-author").hide(),a(this).closest("p").find(".change-author").show(),!1}),a("input#_job_expires").datepicker({altFormat:"yy-mm-dd",dateFormat:job_manager_admin.date_format,minDate:0}),a("input#_job_expires").val()){var b=new Date(a("input#_job_expires").val());a("input#_job_expires").datepicker("setDate",b),a("input#_job_expires").attr("placeholder",job_manager_admin.date_format)}var c,d,e;a(".wp_job_manager_add_another_file_button").live("click",function(b){b.preventDefault();var c=(a(this).closest(".form-field"),a(this).data("field_name")),d=a(this).data("field_placeholder"),e=a(this).data("uploader_button_text"),f=a(this).data("uploader_button");a(this).before('<span class="file_url"><input type="text" name="'+c+'[]" placeholder="'+d+'" /><button class="button button-small wp_job_manager_upload_file_button" data-uploader_button_text="'+e+'">'+f+"</button></span>")}),a(".wp_job_manager_upload_file_button").live("click",function(b){return b.preventDefault(),e=a(this).closest(".file_url"),d=e.find("input"),c?void c.open():(c=wp.media.frames.file_frame=wp.media({title:a(this).data("uploader_title"),button:{text:a(this).data("uploader_button_text")},multiple:!1}),c.on("select",function(){attachment=c.state().get("selection").first().toJSON(),a(d).val(attachment.url)}),void c.open())})});
|
includes/abstracts/abstract-wp-job-manager-form.php
CHANGED
@@ -32,23 +32,29 @@ abstract class WP_Job_Manager_Form {
|
|
32 |
* Process function. all processing code if needed - can also change view if step is complete
|
33 |
*/
|
34 |
public function process() {
|
35 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
-
if
|
38 |
-
|
|
|
39 |
}
|
40 |
}
|
41 |
|
42 |
/**
|
43 |
-
*
|
44 |
*/
|
45 |
public function output( $atts = array() ) {
|
46 |
-
$
|
47 |
-
|
48 |
$this->show_errors();
|
49 |
|
50 |
-
if (
|
51 |
-
call_user_func( $this->steps[ $
|
52 |
}
|
53 |
}
|
54 |
|
@@ -79,6 +85,23 @@ abstract class WP_Job_Manager_Form {
|
|
79 |
return esc_url_raw( $this->action ? $this->action : wp_unslash( $_SERVER['REQUEST_URI'] ) );
|
80 |
}
|
81 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
/**
|
83 |
* Get step from outside of the class
|
84 |
*/
|
@@ -86,6 +109,26 @@ abstract class WP_Job_Manager_Form {
|
|
86 |
return $this->step;
|
87 |
}
|
88 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
/**
|
90 |
* Increase step from outside of the class
|
91 |
*/
|
@@ -311,4 +354,4 @@ abstract class WP_Job_Manager_Form {
|
|
311 |
}
|
312 |
}
|
313 |
}
|
314 |
-
}
|
32 |
* Process function. all processing code if needed - can also change view if step is complete
|
33 |
*/
|
34 |
public function process() {
|
35 |
+
$step_key = $this->get_step_key( $this->step );
|
36 |
+
|
37 |
+
if ( $step_key && is_callable( $this->steps[ $step_key ]['handler'] ) ) {
|
38 |
+
call_user_func( $this->steps[ $step_key ]['handler'] );
|
39 |
+
}
|
40 |
+
|
41 |
+
$next_step_key = $this->get_step_key( $this->step );
|
42 |
|
43 |
+
// if the step changed, but the next step has no 'view', call the next handler in sequence.
|
44 |
+
if ( $next_step_key && $step_key !== $next_step_key && ! is_callable( $this->steps[ $next_step_key ]['view'] ) ) {
|
45 |
+
$this->process();
|
46 |
}
|
47 |
}
|
48 |
|
49 |
/**
|
50 |
+
* Call the view handler if set, otherwise call the next handler.
|
51 |
*/
|
52 |
public function output( $atts = array() ) {
|
53 |
+
$step_key = $this->get_step_key( $this->step );
|
|
|
54 |
$this->show_errors();
|
55 |
|
56 |
+
if ( $step_key && is_callable( $this->steps[ $step_key ]['view'] ) ) {
|
57 |
+
call_user_func( $this->steps[ $step_key ]['view'], $atts );
|
58 |
}
|
59 |
}
|
60 |
|
85 |
return esc_url_raw( $this->action ? $this->action : wp_unslash( $_SERVER['REQUEST_URI'] ) );
|
86 |
}
|
87 |
|
88 |
+
/**
|
89 |
+
* Get formn name.
|
90 |
+
* @since 1.24.0
|
91 |
+
* @return string
|
92 |
+
*/
|
93 |
+
public function get_form_name() {
|
94 |
+
return $this->form_name;
|
95 |
+
}
|
96 |
+
|
97 |
+
/**
|
98 |
+
* Get steps from outside of the class
|
99 |
+
* @since 1.24.0
|
100 |
+
*/
|
101 |
+
public function get_steps() {
|
102 |
+
return $this->steps;
|
103 |
+
}
|
104 |
+
|
105 |
/**
|
106 |
* Get step from outside of the class
|
107 |
*/
|
109 |
return $this->step;
|
110 |
}
|
111 |
|
112 |
+
/**
|
113 |
+
* Get step key from outside of the class
|
114 |
+
* @since 1.24.0
|
115 |
+
*/
|
116 |
+
public function get_step_key( $step = '' ) {
|
117 |
+
if ( ! $step ) {
|
118 |
+
$step = $this->step;
|
119 |
+
}
|
120 |
+
$keys = array_keys( $this->steps );
|
121 |
+
return isset( $keys[ $step ] ) ? $keys[ $step ] : '';
|
122 |
+
}
|
123 |
+
|
124 |
+
/**
|
125 |
+
* Get step from outside of the class
|
126 |
+
* @since 1.24.0
|
127 |
+
*/
|
128 |
+
public function set_step( $step ) {
|
129 |
+
$this->step = absint( $step );
|
130 |
+
}
|
131 |
+
|
132 |
/**
|
133 |
* Increase step from outside of the class
|
134 |
*/
|
354 |
}
|
355 |
}
|
356 |
}
|
357 |
+
}
|
includes/admin/class-wp-job-manager-admin.php
CHANGED
@@ -43,6 +43,10 @@ class WP_Job_Manager_Admin {
|
|
43 |
wp_enqueue_style( 'job_manager_admin_css', JOB_MANAGER_PLUGIN_URL . '/assets/css/admin.css' );
|
44 |
wp_register_script( 'jquery-tiptip', JOB_MANAGER_PLUGIN_URL. '/assets/js/jquery-tiptip/jquery.tipTip.min.js', array( 'jquery' ), JOB_MANAGER_VERSION, true );
|
45 |
wp_enqueue_script( 'job_manager_admin_js', JOB_MANAGER_PLUGIN_URL. '/assets/js/admin.min.js', array( 'jquery', 'jquery-tiptip', 'jquery-ui-datepicker' ), JOB_MANAGER_VERSION, true );
|
|
|
|
|
|
|
|
|
46 |
}
|
47 |
|
48 |
wp_enqueue_style( 'job_manager_admin_menu_css', JOB_MANAGER_PLUGIN_URL . '/assets/css/menu.css' );
|
@@ -70,4 +74,4 @@ class WP_Job_Manager_Admin {
|
|
70 |
}
|
71 |
}
|
72 |
|
73 |
-
new WP_Job_Manager_Admin();
|
43 |
wp_enqueue_style( 'job_manager_admin_css', JOB_MANAGER_PLUGIN_URL . '/assets/css/admin.css' );
|
44 |
wp_register_script( 'jquery-tiptip', JOB_MANAGER_PLUGIN_URL. '/assets/js/jquery-tiptip/jquery.tipTip.min.js', array( 'jquery' ), JOB_MANAGER_VERSION, true );
|
45 |
wp_enqueue_script( 'job_manager_admin_js', JOB_MANAGER_PLUGIN_URL. '/assets/js/admin.min.js', array( 'jquery', 'jquery-tiptip', 'jquery-ui-datepicker' ), JOB_MANAGER_VERSION, true );
|
46 |
+
|
47 |
+
wp_localize_script( 'job_manager_admin_js', 'job_manager_admin', array(
|
48 |
+
'date_format' => _x( 'yy-mm-dd', 'Date format for jQuery datepicker', 'wp-job-manager' )
|
49 |
+
) );
|
50 |
}
|
51 |
|
52 |
wp_enqueue_style( 'job_manager_admin_menu_css', JOB_MANAGER_PLUGIN_URL . '/assets/css/menu.css' );
|
74 |
}
|
75 |
}
|
76 |
|
77 |
+
new WP_Job_Manager_Admin();
|
includes/admin/class-wp-job-manager-cpt.php
CHANGED
@@ -19,6 +19,8 @@ class WP_Job_Manager_CPT {
|
|
19 |
add_action( 'manage_job_listing_posts_custom_column', array( $this, 'custom_columns' ), 2 );
|
20 |
add_filter( 'manage_edit-job_listing_sortable_columns', array( $this, 'sortable_columns' ) );
|
21 |
add_filter( 'request', array( $this, 'sort_columns' ) );
|
|
|
|
|
22 |
add_filter( 'post_updated_messages', array( $this, 'post_updated_messages' ) );
|
23 |
add_action( 'admin_footer-edit.php', array( $this, 'add_bulk_actions' ) );
|
24 |
add_action( 'load-edit.php', array( $this, 'do_bulk_actions' ) );
|
@@ -419,6 +421,57 @@ class WP_Job_Manager_CPT {
|
|
419 |
return $vars;
|
420 |
}
|
421 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
422 |
/**
|
423 |
* Adds post status to the "submitdiv" Meta Box and post type WP List Table screens. Based on https://gist.github.com/franz-josef-kaiser/2930190
|
424 |
*
|
19 |
add_action( 'manage_job_listing_posts_custom_column', array( $this, 'custom_columns' ), 2 );
|
20 |
add_filter( 'manage_edit-job_listing_sortable_columns', array( $this, 'sortable_columns' ) );
|
21 |
add_filter( 'request', array( $this, 'sort_columns' ) );
|
22 |
+
add_action( 'parse_query', array( $this, 'search_meta' ) );
|
23 |
+
add_filter( 'get_search_query', array( $this, 'search_meta_label' ) );
|
24 |
add_filter( 'post_updated_messages', array( $this, 'post_updated_messages' ) );
|
25 |
add_action( 'admin_footer-edit.php', array( $this, 'add_bulk_actions' ) );
|
26 |
add_action( 'load-edit.php', array( $this, 'do_bulk_actions' ) );
|
421 |
return $vars;
|
422 |
}
|
423 |
|
424 |
+
/**
|
425 |
+
* Search custom fields as well as content.
|
426 |
+
* @param WP_Query $wp
|
427 |
+
*/
|
428 |
+
public function search_meta( $wp ) {
|
429 |
+
global $pagenow, $wpdb;
|
430 |
+
|
431 |
+
if ( 'edit.php' !== $pagenow || empty( $wp->query_vars['s'] ) || 'job_listing' !== $wp->query_vars['post_type'] ) {
|
432 |
+
return;
|
433 |
+
}
|
434 |
+
|
435 |
+
$post_ids = array_unique( array_merge(
|
436 |
+
$wpdb->get_col(
|
437 |
+
$wpdb->prepare( "
|
438 |
+
SELECT posts.ID
|
439 |
+
FROM {$wpdb->posts} posts
|
440 |
+
INNER JOIN {$wpdb->postmeta} p1 ON posts.ID = p1.post_id
|
441 |
+
WHERE p1.meta_value LIKE '%%%s%%'
|
442 |
+
OR posts.post_title LIKE '%%%s%%'
|
443 |
+
OR posts.post_content LIKE '%%%s%%'
|
444 |
+
AND posts.post_type = 'job_listing'
|
445 |
+
",
|
446 |
+
esc_sql( $wp->query_vars['s'] ),
|
447 |
+
esc_sql( $wp->query_vars['s'] ),
|
448 |
+
esc_sql( $wp->query_vars['s'] )
|
449 |
+
)
|
450 |
+
),
|
451 |
+
array( 0 )
|
452 |
+
) );
|
453 |
+
|
454 |
+
// Adjust the query vars
|
455 |
+
unset( $wp->query_vars['s'] );
|
456 |
+
$wp->query_vars['job_listing_search'] = true;
|
457 |
+
$wp->query_vars['post__in'] = $post_ids;
|
458 |
+
}
|
459 |
+
|
460 |
+
/**
|
461 |
+
* Change the label when searching meta.
|
462 |
+
* @param string $query
|
463 |
+
* @return string
|
464 |
+
*/
|
465 |
+
public function search_meta_label( $query ) {
|
466 |
+
global $pagenow, $typenow;
|
467 |
+
|
468 |
+
if ( 'edit.php' !== $pagenow || $typenow !== 'job_listing' || ! get_query_var( 'job_listing_search' ) ) {
|
469 |
+
return $query;
|
470 |
+
}
|
471 |
+
|
472 |
+
return wp_unslash( sanitize_text_field( $_GET['s'] ) );
|
473 |
+
}
|
474 |
+
|
475 |
/**
|
476 |
* Adds post status to the "submitdiv" Meta Box and post type WP List Table screens. Based on https://gist.github.com/franz-josef-kaiser/2930190
|
477 |
*
|
includes/admin/class-wp-job-manager-writepanels.php
CHANGED
@@ -60,12 +60,6 @@ class WP_Job_Manager_Writepanels {
|
|
60 |
'placeholder' => '@yourcompany',
|
61 |
'priority' => 6
|
62 |
),
|
63 |
-
'_company_logo' => array(
|
64 |
-
'label' => __( 'Company Logo', 'wp-job-manager' ),
|
65 |
-
'placeholder' => __( 'URL to the company logo', 'wp-job-manager' ),
|
66 |
-
'type' => 'file',
|
67 |
-
'priority' => 7
|
68 |
-
),
|
69 |
'_company_video' => array(
|
70 |
'label' => __( 'Company Video', 'wp-job-manager' ),
|
71 |
'placeholder' => __( 'URL to the company video', 'wp-job-manager' ),
|
@@ -88,8 +82,8 @@ class WP_Job_Manager_Writepanels {
|
|
88 |
);
|
89 |
$fields['_job_expires'] = array(
|
90 |
'label' => __( 'Listing Expiry Date', 'wp-job-manager' ),
|
91 |
-
'placeholder' => __( 'yyyy-mm-dd', 'wp-job-manager' ),
|
92 |
'priority' => 11,
|
|
|
93 |
'value' => metadata_exists( 'post', $post->ID, '_job_expires' ) ? get_post_meta( $post->ID, '_job_expires', true ) : calculate_job_expiry( $post->ID ),
|
94 |
);
|
95 |
}
|
@@ -496,4 +490,4 @@ class WP_Job_Manager_Writepanels {
|
|
496 |
}
|
497 |
}
|
498 |
|
499 |
-
new WP_Job_Manager_Writepanels();
|
60 |
'placeholder' => '@yourcompany',
|
61 |
'priority' => 6
|
62 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
63 |
'_company_video' => array(
|
64 |
'label' => __( 'Company Video', 'wp-job-manager' ),
|
65 |
'placeholder' => __( 'URL to the company video', 'wp-job-manager' ),
|
82 |
);
|
83 |
$fields['_job_expires'] = array(
|
84 |
'label' => __( 'Listing Expiry Date', 'wp-job-manager' ),
|
|
|
85 |
'priority' => 11,
|
86 |
+
'placeholder' => _x( 'yyyy-mm-dd', 'Date format placeholder', 'wp-job-manager' ),
|
87 |
'value' => metadata_exists( 'post', $post->ID, '_job_expires' ) ? get_post_meta( $post->ID, '_job_expires', true ) : calculate_job_expiry( $post->ID ),
|
88 |
);
|
89 |
}
|
490 |
}
|
491 |
}
|
492 |
|
493 |
+
new WP_Job_Manager_Writepanels();
|
includes/class-wp-job-manager-post-types.php
CHANGED
@@ -34,8 +34,6 @@ class WP_Job_Manager_Post_Types {
|
|
34 |
add_action( 'update_post_meta', array( $this, 'update_post_meta' ), 10, 4 );
|
35 |
add_action( 'wp_insert_post', array( $this, 'maybe_add_default_meta_data' ), 10, 2 );
|
36 |
|
37 |
-
add_action( 'before_delete_post', array( $this, 'before_delete_job' ) );
|
38 |
-
|
39 |
// WP ALL Import
|
40 |
add_action( 'pmxi_saved_post', array( $this, 'pmxi_saved_post' ), 10, 1 );
|
41 |
|
@@ -192,7 +190,11 @@ class WP_Job_Manager_Post_Types {
|
|
192 |
'search_items' => sprintf( __( 'Search %s', 'wp-job-manager' ), $plural ),
|
193 |
'not_found' => sprintf( __( 'No %s found', 'wp-job-manager' ), $plural ),
|
194 |
'not_found_in_trash' => sprintf( __( 'No %s found in trash', 'wp-job-manager' ), $plural ),
|
195 |
-
'parent' => sprintf( __( 'Parent %s', 'wp-job-manager' ), $singular )
|
|
|
|
|
|
|
|
|
196 |
),
|
197 |
'description' => sprintf( __( 'This is where you can create and manage %s.', 'wp-job-manager' ), $plural ),
|
198 |
'public' => true,
|
@@ -204,7 +206,7 @@ class WP_Job_Manager_Post_Types {
|
|
204 |
'hierarchical' => false,
|
205 |
'rewrite' => $rewrite,
|
206 |
'query_var' => true,
|
207 |
-
'supports' => array( 'title', 'editor', 'custom-fields', 'publicize' ),
|
208 |
'has_archive' => $has_archive,
|
209 |
'show_in_nav_menus' => false
|
210 |
) )
|
@@ -220,7 +222,7 @@ class WP_Job_Manager_Post_Types {
|
|
220 |
*/
|
221 |
register_post_status( 'expired', array(
|
222 |
'label' => _x( 'Expired', 'post status', 'wp-job-manager' ),
|
223 |
-
'public' =>
|
224 |
'protected' => true,
|
225 |
'exclude_from_search' => true,
|
226 |
'show_in_admin_all_list' => true,
|
@@ -543,9 +545,6 @@ class WP_Job_Manager_Post_Types {
|
|
543 |
case '_featured' :
|
544 |
$this->maybe_update_menu_order( $meta_id, $object_id, $meta_key, $meta_value );
|
545 |
break;
|
546 |
-
case '_company_logo' :
|
547 |
-
$this->maybe_unattach_attachment( $meta_id, $object_id, $meta_key, $meta_value );
|
548 |
-
break;
|
549 |
}
|
550 |
}
|
551 |
}
|
@@ -572,36 +571,6 @@ class WP_Job_Manager_Post_Types {
|
|
572 |
clean_post_cache( $object_id );
|
573 |
}
|
574 |
|
575 |
-
/**
|
576 |
-
* Remove old attachment from listing
|
577 |
-
*/
|
578 |
-
public function maybe_unattach_attachment( $meta_id, $object_id, $meta_key, $meta_value ) {
|
579 |
-
global $wpdb;
|
580 |
-
|
581 |
-
$dir = wp_upload_dir();
|
582 |
-
$old_attachment_url = get_post_meta( $object_id, '_company_logo', true );
|
583 |
-
$path = $old_attachment_url;
|
584 |
-
|
585 |
-
if ( 0 === strpos( $path, $dir['baseurl'] . '/' ) ) {
|
586 |
-
$path = substr( $path, strlen( $dir['baseurl'] . '/' ) );
|
587 |
-
}
|
588 |
-
|
589 |
-
$sql = $wpdb->prepare( "SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_wp_attached_file' AND meta_value = %s", $path );
|
590 |
-
$attachment_ids = $wpdb->get_col( $sql );
|
591 |
-
|
592 |
-
if ( $attachment_ids ) {
|
593 |
-
foreach ( $attachment_ids as $attachment_id ) {
|
594 |
-
if ( $object_id === wp_get_post_parent_id( $attachment_id ) ) {
|
595 |
-
wp_update_post( array(
|
596 |
-
'ID' => $attachment_id,
|
597 |
-
'post_parent' => 0
|
598 |
-
) );
|
599 |
-
break;
|
600 |
-
}
|
601 |
-
}
|
602 |
-
}
|
603 |
-
}
|
604 |
-
|
605 |
/**
|
606 |
* Legacy
|
607 |
* @deprecated 1.19.1
|
@@ -677,24 +646,4 @@ class WP_Job_Manager_Post_Types {
|
|
677 |
}
|
678 |
return $weight;
|
679 |
}
|
680 |
-
|
681 |
-
/**
|
682 |
-
* When deleting a job, delete its attachments
|
683 |
-
* @param int $post_id
|
684 |
-
*/
|
685 |
-
public function before_delete_job( $post_id ) {
|
686 |
-
if ( 'job_listing' === get_post_type( $post_id ) ) {
|
687 |
-
$attachments = get_children( array(
|
688 |
-
'post_parent' => $post_id,
|
689 |
-
'post_type' => 'attachment'
|
690 |
-
) );
|
691 |
-
|
692 |
-
if ( $attachments ) {
|
693 |
-
foreach ( $attachments as $attachment ) {
|
694 |
-
wp_delete_attachment( $attachment->ID );
|
695 |
-
@unlink( get_attached_file( $attachment->ID ) );
|
696 |
-
}
|
697 |
-
}
|
698 |
-
}
|
699 |
-
}
|
700 |
}
|
34 |
add_action( 'update_post_meta', array( $this, 'update_post_meta' ), 10, 4 );
|
35 |
add_action( 'wp_insert_post', array( $this, 'maybe_add_default_meta_data' ), 10, 2 );
|
36 |
|
|
|
|
|
37 |
// WP ALL Import
|
38 |
add_action( 'pmxi_saved_post', array( $this, 'pmxi_saved_post' ), 10, 1 );
|
39 |
|
190 |
'search_items' => sprintf( __( 'Search %s', 'wp-job-manager' ), $plural ),
|
191 |
'not_found' => sprintf( __( 'No %s found', 'wp-job-manager' ), $plural ),
|
192 |
'not_found_in_trash' => sprintf( __( 'No %s found in trash', 'wp-job-manager' ), $plural ),
|
193 |
+
'parent' => sprintf( __( 'Parent %s', 'wp-job-manager' ), $singular ),
|
194 |
+
'featured_image' => __( 'Company Logo', 'woocommerce' ),
|
195 |
+
'set_featured_image' => __( 'Set company logo', 'woocommerce' ),
|
196 |
+
'remove_featured_image' => __( 'Remove company logo', 'woocommerce' ),
|
197 |
+
'use_featured_image' => __( 'Use as company logo', 'woocommerce' ),
|
198 |
),
|
199 |
'description' => sprintf( __( 'This is where you can create and manage %s.', 'wp-job-manager' ), $plural ),
|
200 |
'public' => true,
|
206 |
'hierarchical' => false,
|
207 |
'rewrite' => $rewrite,
|
208 |
'query_var' => true,
|
209 |
+
'supports' => array( 'title', 'editor', 'custom-fields', 'publicize', 'thumbnail' ),
|
210 |
'has_archive' => $has_archive,
|
211 |
'show_in_nav_menus' => false
|
212 |
) )
|
222 |
*/
|
223 |
register_post_status( 'expired', array(
|
224 |
'label' => _x( 'Expired', 'post status', 'wp-job-manager' ),
|
225 |
+
'public' => true,
|
226 |
'protected' => true,
|
227 |
'exclude_from_search' => true,
|
228 |
'show_in_admin_all_list' => true,
|
545 |
case '_featured' :
|
546 |
$this->maybe_update_menu_order( $meta_id, $object_id, $meta_key, $meta_value );
|
547 |
break;
|
|
|
|
|
|
|
548 |
}
|
549 |
}
|
550 |
}
|
571 |
clean_post_cache( $object_id );
|
572 |
}
|
573 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
574 |
/**
|
575 |
* Legacy
|
576 |
* @deprecated 1.19.1
|
646 |
}
|
647 |
return $weight;
|
648 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
649 |
}
|
includes/forms/class-wp-job-manager-form-edit-job.php
CHANGED
@@ -63,6 +63,9 @@ class WP_Job_Manager_Form_Edit_Job extends WP_Job_Manager_Form_Submit_Job {
|
|
63 |
} elseif ( 'job_description' === $key ) {
|
64 |
$this->fields[ $group_key ][ $key ]['value'] = $job->post_content;
|
65 |
|
|
|
|
|
|
|
66 |
} elseif ( ! empty( $field['taxonomy'] ) ) {
|
67 |
$this->fields[ $group_key ][ $key ]['value'] = wp_get_object_terms( $job->ID, $field['taxonomy'], array( 'fields' => 'ids' ) );
|
68 |
|
63 |
} elseif ( 'job_description' === $key ) {
|
64 |
$this->fields[ $group_key ][ $key ]['value'] = $job->post_content;
|
65 |
|
66 |
+
} elseif ( 'company_logo' === $key ) {
|
67 |
+
$this->fields[ $group_key ][ $key ]['value'] = has_post_thumbnail( $job->ID ) ? get_post_thumbnail_id( $job->ID ) : get_post_meta( $job->ID, '_' . $key, true );
|
68 |
+
|
69 |
} elseif ( ! empty( $field['taxonomy'] ) ) {
|
70 |
$this->fields[ $group_key ][ $key ]['value'] = wp_get_object_terms( $job->ID, $field['taxonomy'], array( 'fields' => 'ids' ) );
|
71 |
|
includes/forms/class-wp-job-manager-form-submit-job.php
CHANGED
@@ -257,10 +257,11 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
|
|
257 |
}
|
258 |
if ( ! empty( $check_value ) ) {
|
259 |
foreach ( $check_value as $file_url ) {
|
260 |
-
$file_url
|
|
|
261 |
|
262 |
-
if (
|
263 |
-
throw new Exception( sprintf( __( '"%s" (filetype %s) needs to be one of the following file types: %s', 'wp-job-manager' ), $field['label'], $
|
264 |
}
|
265 |
}
|
266 |
}
|
@@ -505,6 +506,38 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
|
|
505 |
}
|
506 |
}
|
507 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
508 |
/**
|
509 |
* Set job meta + terms based on posted values
|
510 |
*
|
@@ -528,20 +561,25 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
|
|
528 |
wp_set_object_terms( $this->job_id, array( $values[ $group_key ][ $key ] ), $field['taxonomy'], false );
|
529 |
}
|
530 |
|
|
|
|
|
|
|
|
|
|
|
|
|
531 |
// Save meta data
|
532 |
} else {
|
533 |
update_post_meta( $this->job_id, '_' . $key, $values[ $group_key ][ $key ] );
|
534 |
-
}
|
535 |
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
|
|
|
|
542 |
}
|
543 |
-
} else {
|
544 |
-
$maybe_attach[] = str_replace( array( WP_CONTENT_URL, site_url() ), array( WP_CONTENT_DIR, ABSPATH ), $values[ $group_key ][ $key ] );
|
545 |
}
|
546 |
}
|
547 |
}
|
@@ -551,38 +589,18 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
|
|
551 |
|
552 |
// Handle attachments
|
553 |
if ( sizeof( $maybe_attach ) && apply_filters( 'job_manager_attach_uploaded_files', true ) ) {
|
554 |
-
/** WordPress Administration Image API */
|
555 |
-
include_once( ABSPATH . 'wp-admin/includes/image.php' );
|
556 |
-
include_once( ABSPATH . 'wp-admin/includes/media.php' );
|
557 |
-
|
558 |
// Get attachments
|
559 |
$attachments = get_posts( 'post_parent=' . $this->job_id . '&post_type=attachment&fields=ids&post_mime_type=image&numberposts=-1' );
|
560 |
$attachment_urls = array();
|
561 |
|
562 |
// Loop attachments already attached to the job
|
563 |
-
foreach ( $attachments as $
|
564 |
-
$attachment_urls[] =
|
565 |
}
|
566 |
|
567 |
foreach ( $maybe_attach as $attachment_url ) {
|
568 |
if ( ! in_array( $attachment_url, $attachment_urls ) ) {
|
569 |
-
$
|
570 |
-
'post_title' => get_the_title( $this->job_id ),
|
571 |
-
'post_content' => '',
|
572 |
-
'post_status' => 'inherit',
|
573 |
-
'post_parent' => $this->job_id,
|
574 |
-
'guid' => $attachment_url
|
575 |
-
);
|
576 |
-
|
577 |
-
if ( $info = wp_check_filetype( $attachment_url ) ) {
|
578 |
-
$attachment['post_mime_type'] = $info['type'];
|
579 |
-
}
|
580 |
-
|
581 |
-
$attachment_id = wp_insert_attachment( $attachment, $attachment_url, $this->job_id );
|
582 |
-
|
583 |
-
if ( ! is_wp_error( $attachment_id ) ) {
|
584 |
-
wp_update_attachment_metadata( $attachment_id, wp_generate_attachment_metadata( $attachment_id, $attachment_url ) );
|
585 |
-
}
|
586 |
}
|
587 |
}
|
588 |
}
|
@@ -593,7 +611,6 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
|
|
593 |
update_user_meta( get_current_user_id(), '_company_website', isset( $values['company']['company_website'] ) ? $values['company']['company_website'] : '' );
|
594 |
update_user_meta( get_current_user_id(), '_company_tagline', isset( $values['company']['company_tagline'] ) ? $values['company']['company_tagline'] : '' );
|
595 |
update_user_meta( get_current_user_id(), '_company_twitter', isset( $values['company']['company_twitter'] ) ? $values['company']['company_twitter'] : '' );
|
596 |
-
update_user_meta( get_current_user_id(), '_company_logo', isset( $values['company']['company_logo'] ) ? $values['company']['company_logo'] : '' );
|
597 |
update_user_meta( get_current_user_id(), '_company_video', isset( $values['company']['company_video'] ) ? $values['company']['company_video'] : '' );
|
598 |
}
|
599 |
|
@@ -608,28 +625,15 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
|
|
608 |
|
609 |
if ( $this->job_id ) {
|
610 |
$job_preview = true;
|
611 |
-
$action = $this->get_action();
|
612 |
$post = get_post( $this->job_id );
|
613 |
-
setup_postdata( $post );
|
614 |
$post->post_status = 'preview';
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
<input type="hidden" name="job_manager_form" value="<?php echo $this->form_name; ?>" />
|
623 |
-
<h2>
|
624 |
-
<?php _e( 'Preview', 'wp-job-manager' ); ?>
|
625 |
-
</h2>
|
626 |
-
</div>
|
627 |
-
<div class="job_listing_preview single_job_listing">
|
628 |
-
<h1><?php the_title(); ?></h1>
|
629 |
-
<?php get_job_manager_template_part( 'content-single', 'job_listing' ); ?>
|
630 |
-
</div>
|
631 |
-
</form>
|
632 |
-
<?php
|
633 |
wp_reset_postdata();
|
634 |
}
|
635 |
}
|
@@ -658,7 +662,7 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
|
|
658 |
// Update job listing
|
659 |
$update_job = array();
|
660 |
$update_job['ID'] = $job->ID;
|
661 |
-
$update_job['post_status'] = get_option( 'job_manager_submission_requires_approval' ) ? 'pending' : 'publish';
|
662 |
$update_job['post_date'] = current_time( 'mysql' );
|
663 |
$update_job['post_date_gmt'] = current_time( 'mysql', 1 );
|
664 |
$update_job['post_author'] = get_current_user_id();
|
257 |
}
|
258 |
if ( ! empty( $check_value ) ) {
|
259 |
foreach ( $check_value as $file_url ) {
|
260 |
+
$file_url = current( explode( '?', $file_url ) );
|
261 |
+
$file_info = wp_check_filetype( $file_url );
|
262 |
|
263 |
+
if ( ! is_numeric( $file_url ) && $file_info && ! in_array( $file_info['type'], $field['allowed_mime_types'] ) ) {
|
264 |
+
throw new Exception( sprintf( __( '"%s" (filetype %s) needs to be one of the following file types: %s', 'wp-job-manager' ), $field['label'], $file_info['ext'], implode( ', ', array_keys( $field['allowed_mime_types'] ) ) ) );
|
265 |
}
|
266 |
}
|
267 |
}
|
506 |
}
|
507 |
}
|
508 |
|
509 |
+
/**
|
510 |
+
* Create an attachment
|
511 |
+
* @param string $attachment_url
|
512 |
+
* @return int attachment id
|
513 |
+
*/
|
514 |
+
protected function create_attachment( $attachment_url ) {
|
515 |
+
include_once( ABSPATH . 'wp-admin/includes/image.php' );
|
516 |
+
include_once( ABSPATH . 'wp-admin/includes/media.php' );
|
517 |
+
|
518 |
+
$attachment_url = str_replace( array( WP_CONTENT_URL, site_url() ), array( WP_CONTENT_DIR, ABSPATH ), $attachment_url );
|
519 |
+
$attachment = array(
|
520 |
+
'post_title' => get_the_title( $this->job_id ),
|
521 |
+
'post_content' => '',
|
522 |
+
'post_status' => 'inherit',
|
523 |
+
'post_parent' => $this->job_id,
|
524 |
+
'guid' => $attachment_url
|
525 |
+
);
|
526 |
+
|
527 |
+
if ( $info = wp_check_filetype( $attachment_url ) ) {
|
528 |
+
$attachment['post_mime_type'] = $info['type'];
|
529 |
+
}
|
530 |
+
|
531 |
+
$attachment_id = wp_insert_attachment( $attachment, $attachment_url, $this->job_id );
|
532 |
+
|
533 |
+
if ( ! is_wp_error( $attachment_id ) ) {
|
534 |
+
wp_update_attachment_metadata( $attachment_id, wp_generate_attachment_metadata( $attachment_id, $attachment_url ) );
|
535 |
+
return $attachment_id;
|
536 |
+
}
|
537 |
+
|
538 |
+
return 0;
|
539 |
+
}
|
540 |
+
|
541 |
/**
|
542 |
* Set job meta + terms based on posted values
|
543 |
*
|
561 |
wp_set_object_terms( $this->job_id, array( $values[ $group_key ][ $key ] ), $field['taxonomy'], false );
|
562 |
}
|
563 |
|
564 |
+
// Company logo is a featured image
|
565 |
+
} elseif ( 'company_logo' === $key ) {
|
566 |
+
$attachment_id = is_numeric( $values[ $group_key ][ $key ] ) ? absint( $values[ $group_key ][ $key ] ) : $this->create_attachment( $values[ $group_key ][ $key ] );
|
567 |
+
set_post_thumbnail( $this->job_id, $attachment_id );
|
568 |
+
update_user_meta( get_current_user_id(), '_company_logo', $attachment_id );
|
569 |
+
|
570 |
// Save meta data
|
571 |
} else {
|
572 |
update_post_meta( $this->job_id, '_' . $key, $values[ $group_key ][ $key ] );
|
|
|
573 |
|
574 |
+
// Handle attachments
|
575 |
+
if ( 'file' === $field['type'] ) {
|
576 |
+
if ( is_array( $values[ $group_key ][ $key ] ) ) {
|
577 |
+
foreach ( $values[ $group_key ][ $key ] as $file_url ) {
|
578 |
+
$maybe_attach[] = $file_url;
|
579 |
+
}
|
580 |
+
} else {
|
581 |
+
$maybe_attach[] = $values[ $group_key ][ $key ];
|
582 |
}
|
|
|
|
|
583 |
}
|
584 |
}
|
585 |
}
|
589 |
|
590 |
// Handle attachments
|
591 |
if ( sizeof( $maybe_attach ) && apply_filters( 'job_manager_attach_uploaded_files', true ) ) {
|
|
|
|
|
|
|
|
|
592 |
// Get attachments
|
593 |
$attachments = get_posts( 'post_parent=' . $this->job_id . '&post_type=attachment&fields=ids&post_mime_type=image&numberposts=-1' );
|
594 |
$attachment_urls = array();
|
595 |
|
596 |
// Loop attachments already attached to the job
|
597 |
+
foreach ( $attachments as $attachment_id ) {
|
598 |
+
$attachment_urls[] = wp_get_attachment_url( $attachment_id );
|
599 |
}
|
600 |
|
601 |
foreach ( $maybe_attach as $attachment_url ) {
|
602 |
if ( ! in_array( $attachment_url, $attachment_urls ) ) {
|
603 |
+
$this->create_attachment( $attachment_url );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
604 |
}
|
605 |
}
|
606 |
}
|
611 |
update_user_meta( get_current_user_id(), '_company_website', isset( $values['company']['company_website'] ) ? $values['company']['company_website'] : '' );
|
612 |
update_user_meta( get_current_user_id(), '_company_tagline', isset( $values['company']['company_tagline'] ) ? $values['company']['company_tagline'] : '' );
|
613 |
update_user_meta( get_current_user_id(), '_company_twitter', isset( $values['company']['company_twitter'] ) ? $values['company']['company_twitter'] : '' );
|
|
|
614 |
update_user_meta( get_current_user_id(), '_company_video', isset( $values['company']['company_video'] ) ? $values['company']['company_video'] : '' );
|
615 |
}
|
616 |
|
625 |
|
626 |
if ( $this->job_id ) {
|
627 |
$job_preview = true;
|
|
|
628 |
$post = get_post( $this->job_id );
|
|
|
629 |
$post->post_status = 'preview';
|
630 |
+
|
631 |
+
setup_postdata( $post );
|
632 |
+
|
633 |
+
get_job_manager_template( 'job-preview.php', array(
|
634 |
+
'form' => $this
|
635 |
+
) );
|
636 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
637 |
wp_reset_postdata();
|
638 |
}
|
639 |
}
|
662 |
// Update job listing
|
663 |
$update_job = array();
|
664 |
$update_job['ID'] = $job->ID;
|
665 |
+
$update_job['post_status'] = apply_filters( 'submit_job_post_status', get_option( 'job_manager_submission_requires_approval' ) ? 'pending' : 'publish', $job );
|
666 |
$update_job['post_date'] = current_time( 'mysql' );
|
667 |
$update_job['post_date_gmt'] = current_time( 'mysql', 1 );
|
668 |
$update_job['post_author'] = get_current_user_id();
|
languages/wp-job-manager.pot
CHANGED
@@ -1,19 +1,19 @@
|
|
1 |
-
# Copyright (C)
|
2 |
# This file is distributed under the same license as the WP Job Manager package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: WP Job Manager 1.
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/WP-Job-Manager\n"
|
7 |
-
"POT-Creation-Date:
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
11 |
-
"PO-Revision-Date:
|
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
|
15 |
#: includes/admin/class-wp-job-manager-addons.php:57
|
16 |
-
#: includes/admin/class-wp-job-manager-admin.php:
|
17 |
msgid "WP Job Manager Add-ons"
|
18 |
msgstr ""
|
19 |
|
@@ -25,11 +25,16 @@ msgstr ""
|
|
25 |
msgid "Check out the core add-on bundle →"
|
26 |
msgstr ""
|
27 |
|
28 |
-
#: includes/admin/class-wp-job-manager-admin.php:
|
|
|
|
|
|
|
|
|
|
|
29 |
msgid "Settings"
|
30 |
msgstr ""
|
31 |
|
32 |
-
#: includes/admin/class-wp-job-manager-admin.php:
|
33 |
msgid "Add-ons"
|
34 |
msgstr ""
|
35 |
|
@@ -176,7 +181,7 @@ msgid "View"
|
|
176 |
msgstr ""
|
177 |
|
178 |
#: includes/admin/class-wp-job-manager-cpt.php:352
|
179 |
-
#: includes/class-wp-job-manager-post-types.php:
|
180 |
#: templates/job-dashboard.php:33 templates/job-dashboard.php:49
|
181 |
msgid "Edit"
|
182 |
msgstr ""
|
@@ -187,8 +192,8 @@ msgid "Delete"
|
|
187 |
msgstr ""
|
188 |
|
189 |
#: includes/admin/class-wp-job-manager-settings.php:42
|
190 |
-
#: includes/class-wp-job-manager-post-types.php:
|
191 |
-
#: includes/class-wp-job-manager-post-types.php:
|
192 |
msgid "Job Listings"
|
193 |
msgstr ""
|
194 |
|
@@ -666,80 +671,73 @@ msgid "Company Twitter"
|
|
666 |
msgstr ""
|
667 |
|
668 |
#: includes/admin/class-wp-job-manager-writepanels.php:64
|
669 |
-
msgid "Company Logo"
|
670 |
-
msgstr ""
|
671 |
-
|
672 |
-
#: includes/admin/class-wp-job-manager-writepanels.php:65
|
673 |
-
msgid "URL to the company logo"
|
674 |
-
msgstr ""
|
675 |
-
|
676 |
-
#: includes/admin/class-wp-job-manager-writepanels.php:70
|
677 |
msgid "Company Video"
|
678 |
msgstr ""
|
679 |
|
680 |
-
#: includes/admin/class-wp-job-manager-writepanels.php:
|
681 |
msgid "URL to the company video"
|
682 |
msgstr ""
|
683 |
|
684 |
-
#: includes/admin/class-wp-job-manager-writepanels.php:
|
685 |
msgid "Position Filled"
|
686 |
msgstr ""
|
687 |
|
688 |
-
#: includes/admin/class-wp-job-manager-writepanels.php:
|
689 |
msgid "Filled listings will no longer accept applications."
|
690 |
msgstr ""
|
691 |
|
692 |
-
#: includes/admin/class-wp-job-manager-writepanels.php:
|
693 |
msgid "Featured Listing"
|
694 |
msgstr ""
|
695 |
|
696 |
-
#: includes/admin/class-wp-job-manager-writepanels.php:
|
697 |
msgid ""
|
698 |
"Featured listings will be sticky during searches, and can be styled "
|
699 |
"differently."
|
700 |
msgstr ""
|
701 |
|
702 |
-
#: includes/admin/class-wp-job-manager-writepanels.php:
|
703 |
msgid "Listing Expiry Date"
|
704 |
msgstr ""
|
705 |
|
706 |
-
#: includes/admin/class-wp-job-manager-writepanels.php:
|
|
|
707 |
msgid "yyyy-mm-dd"
|
708 |
msgstr ""
|
709 |
|
710 |
-
#: includes/admin/class-wp-job-manager-writepanels.php:
|
711 |
msgid "Posted by"
|
712 |
msgstr ""
|
713 |
|
714 |
-
#: includes/admin/class-wp-job-manager-writepanels.php:
|
715 |
msgid "%s Data"
|
716 |
msgstr ""
|
717 |
|
|
|
|
|
718 |
#: includes/admin/class-wp-job-manager-writepanels.php:159
|
719 |
-
#: includes/admin/class-wp-job-manager-writepanels.php:162
|
720 |
-
#: includes/admin/class-wp-job-manager-writepanels.php:165
|
721 |
msgid "Use file"
|
722 |
msgstr ""
|
723 |
|
|
|
|
|
724 |
#: includes/admin/class-wp-job-manager-writepanels.php:159
|
725 |
-
#: includes/admin/class-wp-job-manager-writepanels.php:162
|
726 |
-
#: includes/admin/class-wp-job-manager-writepanels.php:165
|
727 |
msgid "Upload"
|
728 |
msgstr ""
|
729 |
|
730 |
-
#: includes/admin/class-wp-job-manager-writepanels.php:
|
731 |
msgid "Add file"
|
732 |
msgstr ""
|
733 |
|
734 |
-
#: includes/admin/class-wp-job-manager-writepanels.php:
|
735 |
msgid "Guest User"
|
736 |
msgstr ""
|
737 |
|
738 |
-
#: includes/admin/class-wp-job-manager-writepanels.php:
|
739 |
msgid "Change"
|
740 |
msgstr ""
|
741 |
|
742 |
-
#: includes/admin/class-wp-job-manager-writepanels.php:
|
743 |
msgid "Enter the ID of the user, or leave blank if submitted by a guest."
|
744 |
msgstr ""
|
745 |
|
@@ -769,144 +767,160 @@ msgstr ""
|
|
769 |
msgid "Employer"
|
770 |
msgstr ""
|
771 |
|
772 |
-
#: includes/class-wp-job-manager-post-types.php:
|
773 |
#: includes/forms/class-wp-job-manager-form-submit-job.php:146
|
774 |
msgid "Job category"
|
775 |
msgstr ""
|
776 |
|
777 |
-
#: includes/class-wp-job-manager-post-types.php:
|
778 |
msgid "Job categories"
|
779 |
msgstr ""
|
780 |
|
781 |
-
#: includes/class-wp-job-manager-post-types.php:
|
782 |
msgctxt "Job category slug - resave permalinks after changing this"
|
783 |
msgid "job-category"
|
784 |
msgstr ""
|
785 |
|
786 |
-
#: includes/class-wp-job-manager-post-types.php:
|
787 |
-
#: includes/class-wp-job-manager-post-types.php:
|
788 |
-
#: includes/class-wp-job-manager-post-types.php:
|
789 |
msgid "Search %s"
|
790 |
msgstr ""
|
791 |
|
792 |
-
#: includes/class-wp-job-manager-post-types.php:
|
793 |
-
#: includes/class-wp-job-manager-post-types.php:
|
794 |
-
#: includes/class-wp-job-manager-post-types.php:
|
795 |
msgid "All %s"
|
796 |
msgstr ""
|
797 |
|
798 |
-
#: includes/class-wp-job-manager-post-types.php:
|
799 |
-
#: includes/class-wp-job-manager-post-types.php:
|
800 |
-
#: includes/class-wp-job-manager-post-types.php:
|
801 |
msgid "Parent %s"
|
802 |
msgstr ""
|
803 |
|
804 |
-
#: includes/class-wp-job-manager-post-types.php:
|
805 |
-
#: includes/class-wp-job-manager-post-types.php:
|
806 |
msgid "Parent %s:"
|
807 |
msgstr ""
|
808 |
|
809 |
-
#: includes/class-wp-job-manager-post-types.php:
|
810 |
-
#: includes/class-wp-job-manager-post-types.php:
|
811 |
-
#: includes/class-wp-job-manager-post-types.php:
|
812 |
msgid "Edit %s"
|
813 |
msgstr ""
|
814 |
|
815 |
-
#: includes/class-wp-job-manager-post-types.php:
|
816 |
-
#: includes/class-wp-job-manager-post-types.php:
|
817 |
msgid "Update %s"
|
818 |
msgstr ""
|
819 |
|
820 |
-
#: includes/class-wp-job-manager-post-types.php:
|
821 |
-
#: includes/class-wp-job-manager-post-types.php:
|
822 |
msgid "Add New %s"
|
823 |
msgstr ""
|
824 |
|
825 |
-
#: includes/class-wp-job-manager-post-types.php:
|
826 |
-
#: includes/class-wp-job-manager-post-types.php:
|
827 |
msgid "New %s Name"
|
828 |
msgstr ""
|
829 |
|
830 |
-
#: includes/class-wp-job-manager-post-types.php:
|
831 |
#: includes/forms/class-wp-job-manager-form-submit-job.php:137
|
832 |
msgid "Job type"
|
833 |
msgstr ""
|
834 |
|
835 |
-
#: includes/class-wp-job-manager-post-types.php:
|
836 |
msgid "Job types"
|
837 |
msgstr ""
|
838 |
|
839 |
-
#: includes/class-wp-job-manager-post-types.php:
|
840 |
msgctxt "Job type slug - resave permalinks after changing this"
|
841 |
msgid "job-type"
|
842 |
msgstr ""
|
843 |
|
844 |
-
#: includes/class-wp-job-manager-post-types.php:
|
845 |
msgid "Job"
|
846 |
msgstr ""
|
847 |
|
848 |
-
#: includes/class-wp-job-manager-post-types.php:
|
849 |
msgid "Jobs"
|
850 |
msgstr ""
|
851 |
|
852 |
-
#: includes/class-wp-job-manager-post-types.php:
|
853 |
msgctxt "Post type archive slug - resave permalinks after changing this"
|
854 |
msgid "jobs"
|
855 |
msgstr ""
|
856 |
|
857 |
-
#: includes/class-wp-job-manager-post-types.php:
|
858 |
msgctxt "Job permalink - resave permalinks after changing this"
|
859 |
msgid "job"
|
860 |
msgstr ""
|
861 |
|
862 |
-
#: includes/class-wp-job-manager-post-types.php:
|
863 |
msgid "Add New"
|
864 |
msgstr ""
|
865 |
|
866 |
-
#: includes/class-wp-job-manager-post-types.php:
|
867 |
msgid "Add %s"
|
868 |
msgstr ""
|
869 |
|
870 |
-
#: includes/class-wp-job-manager-post-types.php:
|
871 |
msgid "New %s"
|
872 |
msgstr ""
|
873 |
|
874 |
-
#: includes/class-wp-job-manager-post-types.php:
|
875 |
-
#: includes/class-wp-job-manager-post-types.php:
|
876 |
msgid "View %s"
|
877 |
msgstr ""
|
878 |
|
879 |
-
#: includes/class-wp-job-manager-post-types.php:
|
880 |
msgid "No %s found"
|
881 |
msgstr ""
|
882 |
|
883 |
-
#: includes/class-wp-job-manager-post-types.php:
|
884 |
msgid "No %s found in trash"
|
885 |
msgstr ""
|
886 |
|
887 |
-
#: includes/class-wp-job-manager-post-types.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
888 |
msgid "This is where you can create and manage %s."
|
889 |
msgstr ""
|
890 |
|
891 |
-
#: includes/class-wp-job-manager-post-types.php:
|
892 |
#: wp-job-manager-functions.php:197
|
893 |
msgctxt "post status"
|
894 |
msgid "Expired"
|
895 |
msgstr ""
|
896 |
|
897 |
-
#: includes/class-wp-job-manager-post-types.php:
|
898 |
msgid "Expired <span class=\"count\">(%s)</span>"
|
899 |
msgid_plural "Expired <span class=\"count\">(%s)</span>"
|
900 |
msgstr[0] ""
|
901 |
msgstr[1] ""
|
902 |
|
903 |
-
#: includes/class-wp-job-manager-post-types.php:
|
904 |
#: wp-job-manager-functions.php:198
|
905 |
msgctxt "post status"
|
906 |
msgid "Preview"
|
907 |
msgstr ""
|
908 |
|
909 |
-
#: includes/class-wp-job-manager-post-types.php:
|
910 |
msgid "Preview <span class=\"count\">(%s)</span>"
|
911 |
msgid_plural "Preview <span class=\"count\">(%s)</span>"
|
912 |
msgstr[0] ""
|
@@ -988,16 +1002,16 @@ msgstr ""
|
|
988 |
msgid "Invalid listing"
|
989 |
msgstr ""
|
990 |
|
991 |
-
#: includes/forms/class-wp-job-manager-form-edit-job.php:
|
992 |
msgid "Save changes"
|
993 |
msgstr ""
|
994 |
|
995 |
-
#: includes/forms/class-wp-job-manager-form-edit-job.php:116
|
996 |
#: includes/forms/class-wp-job-manager-form-edit-job.php:119
|
|
|
997 |
msgid "Your changes have been saved."
|
998 |
msgstr ""
|
999 |
|
1000 |
-
#: includes/forms/class-wp-job-manager-form-edit-job.php:
|
1001 |
msgid "View →"
|
1002 |
msgstr ""
|
1003 |
|
@@ -1006,8 +1020,8 @@ msgid "Submit Details"
|
|
1006 |
msgstr ""
|
1007 |
|
1008 |
#: includes/forms/class-wp-job-manager-form-submit-job.php:39
|
1009 |
-
#: includes/forms/class-wp-job-manager-form-submit-job.php:
|
1010 |
-
#:
|
1011 |
msgid "Preview"
|
1012 |
msgstr ""
|
1013 |
|
@@ -1102,43 +1116,35 @@ msgstr ""
|
|
1102 |
msgid "%s is invalid"
|
1103 |
msgstr ""
|
1104 |
|
1105 |
-
#: includes/forms/class-wp-job-manager-form-submit-job.php:
|
1106 |
#: wp-job-manager-functions.php:702
|
1107 |
msgid "\"%s\" (filetype %s) needs to be one of the following file types: %s"
|
1108 |
msgstr ""
|
1109 |
|
1110 |
-
#: includes/forms/class-wp-job-manager-form-submit-job.php:
|
1111 |
msgid "Please enter a valid application email address"
|
1112 |
msgstr ""
|
1113 |
|
1114 |
-
#: includes/forms/class-wp-job-manager-form-submit-job.php:
|
1115 |
msgid "Please enter a valid application URL"
|
1116 |
msgstr ""
|
1117 |
|
1118 |
-
#: includes/forms/class-wp-job-manager-form-submit-job.php:
|
1119 |
msgid "Please enter a valid application email address or URL"
|
1120 |
msgstr ""
|
1121 |
|
1122 |
-
#: includes/forms/class-wp-job-manager-form-submit-job.php:
|
1123 |
msgid "Please enter a username."
|
1124 |
msgstr ""
|
1125 |
|
1126 |
-
#: includes/forms/class-wp-job-manager-form-submit-job.php:
|
1127 |
msgid "Please enter your email address."
|
1128 |
msgstr ""
|
1129 |
|
1130 |
-
#: includes/forms/class-wp-job-manager-form-submit-job.php:
|
1131 |
msgid "You must be signed in to post a new listing."
|
1132 |
msgstr ""
|
1133 |
|
1134 |
-
#: includes/forms/class-wp-job-manager-form-submit-job.php:618
|
1135 |
-
msgid "Submit Listing"
|
1136 |
-
msgstr ""
|
1137 |
-
|
1138 |
-
#: includes/forms/class-wp-job-manager-form-submit-job.php:619
|
1139 |
-
msgid "Edit listing"
|
1140 |
-
msgstr ""
|
1141 |
-
|
1142 |
#: templates/account-signin.php:4
|
1143 |
msgid "Your account"
|
1144 |
msgstr ""
|
@@ -1230,8 +1236,8 @@ msgstr ""
|
|
1230 |
msgid "Select Some Options"
|
1231 |
msgstr ""
|
1232 |
|
1233 |
-
#: templates/form-fields/uploaded-file-html.php:
|
1234 |
-
#: templates/form-fields/uploaded-file-html.php:
|
1235 |
msgid "remove"
|
1236 |
msgstr ""
|
1237 |
|
@@ -1295,6 +1301,14 @@ msgid ""
|
|
1295 |
"be enabled in order to view listings."
|
1296 |
msgstr ""
|
1297 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1298 |
#: templates/job-submit.php:35
|
1299 |
msgid "Company Details"
|
1300 |
msgstr ""
|
@@ -1364,19 +1378,19 @@ msgstr ""
|
|
1364 |
msgid "Application via \"%s\" listing on %s"
|
1365 |
msgstr ""
|
1366 |
|
1367 |
-
#: wp-job-manager-template.php:
|
1368 |
msgid "Anywhere"
|
1369 |
msgstr ""
|
1370 |
|
1371 |
-
#: wp-job-manager.php:
|
1372 |
msgid "Invalid file type. Accepted types:"
|
1373 |
msgstr ""
|
1374 |
|
1375 |
-
#: wp-job-manager.php:
|
1376 |
msgid "Load previous listings"
|
1377 |
msgstr ""
|
1378 |
|
1379 |
-
#: wp-job-manager.php:
|
1380 |
msgid "Are you sure you want to delete this listing?"
|
1381 |
msgstr ""
|
1382 |
|
@@ -1384,7 +1398,10 @@ msgstr ""
|
|
1384 |
msgid "WP Job Manager"
|
1385 |
msgstr ""
|
1386 |
|
|
|
1387 |
#. Plugin URI of the plugin/theme
|
|
|
|
|
1388 |
msgid "https://wpjobmanager.com/"
|
1389 |
msgstr ""
|
1390 |
|
@@ -1395,9 +1412,5 @@ msgid ""
|
|
1395 |
msgstr ""
|
1396 |
|
1397 |
#. Author of the plugin/theme
|
1398 |
-
msgid "
|
1399 |
-
msgstr ""
|
1400 |
-
|
1401 |
-
#. Author URI of the plugin/theme
|
1402 |
-
msgid "http://mikejolley.com"
|
1403 |
msgstr ""
|
1 |
+
# Copyright (C) 2016 WP Job Manager
|
2 |
# This file is distributed under the same license as the WP Job Manager package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: WP Job Manager 1.24.0\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/WP-Job-Manager\n"
|
7 |
+
"POT-Creation-Date: 2016-02-04 12:06:33+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
11 |
+
"PO-Revision-Date: 2016-MO-DA HO:MI+ZONE\n"
|
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
|
15 |
#: includes/admin/class-wp-job-manager-addons.php:57
|
16 |
+
#: includes/admin/class-wp-job-manager-admin.php:65
|
17 |
msgid "WP Job Manager Add-ons"
|
18 |
msgstr ""
|
19 |
|
25 |
msgid "Check out the core add-on bundle →"
|
26 |
msgstr ""
|
27 |
|
28 |
+
#: includes/admin/class-wp-job-manager-admin.php:48
|
29 |
+
msgctxt "Date format for jQuery datepicker"
|
30 |
+
msgid "yy-mm-dd"
|
31 |
+
msgstr ""
|
32 |
+
|
33 |
+
#: includes/admin/class-wp-job-manager-admin.php:62
|
34 |
msgid "Settings"
|
35 |
msgstr ""
|
36 |
|
37 |
+
#: includes/admin/class-wp-job-manager-admin.php:65
|
38 |
msgid "Add-ons"
|
39 |
msgstr ""
|
40 |
|
181 |
msgstr ""
|
182 |
|
183 |
#: includes/admin/class-wp-job-manager-cpt.php:352
|
184 |
+
#: includes/class-wp-job-manager-post-types.php:185
|
185 |
#: templates/job-dashboard.php:33 templates/job-dashboard.php:49
|
186 |
msgid "Edit"
|
187 |
msgstr ""
|
192 |
msgstr ""
|
193 |
|
194 |
#: includes/admin/class-wp-job-manager-settings.php:42
|
195 |
+
#: includes/class-wp-job-manager-post-types.php:181
|
196 |
+
#: includes/class-wp-job-manager-post-types.php:248
|
197 |
msgid "Job Listings"
|
198 |
msgstr ""
|
199 |
|
671 |
msgstr ""
|
672 |
|
673 |
#: includes/admin/class-wp-job-manager-writepanels.php:64
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
674 |
msgid "Company Video"
|
675 |
msgstr ""
|
676 |
|
677 |
+
#: includes/admin/class-wp-job-manager-writepanels.php:65
|
678 |
msgid "URL to the company video"
|
679 |
msgstr ""
|
680 |
|
681 |
+
#: includes/admin/class-wp-job-manager-writepanels.php:70
|
682 |
msgid "Position Filled"
|
683 |
msgstr ""
|
684 |
|
685 |
+
#: includes/admin/class-wp-job-manager-writepanels.php:73
|
686 |
msgid "Filled listings will no longer accept applications."
|
687 |
msgstr ""
|
688 |
|
689 |
+
#: includes/admin/class-wp-job-manager-writepanels.php:78
|
690 |
msgid "Featured Listing"
|
691 |
msgstr ""
|
692 |
|
693 |
+
#: includes/admin/class-wp-job-manager-writepanels.php:80
|
694 |
msgid ""
|
695 |
"Featured listings will be sticky during searches, and can be styled "
|
696 |
"differently."
|
697 |
msgstr ""
|
698 |
|
699 |
+
#: includes/admin/class-wp-job-manager-writepanels.php:84
|
700 |
msgid "Listing Expiry Date"
|
701 |
msgstr ""
|
702 |
|
703 |
+
#: includes/admin/class-wp-job-manager-writepanels.php:86
|
704 |
+
msgctxt "Date format placeholder"
|
705 |
msgid "yyyy-mm-dd"
|
706 |
msgstr ""
|
707 |
|
708 |
+
#: includes/admin/class-wp-job-manager-writepanels.php:92
|
709 |
msgid "Posted by"
|
710 |
msgstr ""
|
711 |
|
712 |
+
#: includes/admin/class-wp-job-manager-writepanels.php:124
|
713 |
msgid "%s Data"
|
714 |
msgstr ""
|
715 |
|
716 |
+
#: includes/admin/class-wp-job-manager-writepanels.php:153
|
717 |
+
#: includes/admin/class-wp-job-manager-writepanels.php:156
|
718 |
#: includes/admin/class-wp-job-manager-writepanels.php:159
|
|
|
|
|
719 |
msgid "Use file"
|
720 |
msgstr ""
|
721 |
|
722 |
+
#: includes/admin/class-wp-job-manager-writepanels.php:153
|
723 |
+
#: includes/admin/class-wp-job-manager-writepanels.php:156
|
724 |
#: includes/admin/class-wp-job-manager-writepanels.php:159
|
|
|
|
|
725 |
msgid "Upload"
|
726 |
msgstr ""
|
727 |
|
728 |
+
#: includes/admin/class-wp-job-manager-writepanels.php:159
|
729 |
msgid "Add file"
|
730 |
msgstr ""
|
731 |
|
732 |
+
#: includes/admin/class-wp-job-manager-writepanels.php:327
|
733 |
msgid "Guest User"
|
734 |
msgstr ""
|
735 |
|
736 |
+
#: includes/admin/class-wp-job-manager-writepanels.php:329
|
737 |
msgid "Change"
|
738 |
msgstr ""
|
739 |
|
740 |
+
#: includes/admin/class-wp-job-manager-writepanels.php:333
|
741 |
msgid "Enter the ID of the user, or leave blank if submitted by a guest."
|
742 |
msgstr ""
|
743 |
|
767 |
msgid "Employer"
|
768 |
msgstr ""
|
769 |
|
770 |
+
#: includes/class-wp-job-manager-post-types.php:65
|
771 |
#: includes/forms/class-wp-job-manager-form-submit-job.php:146
|
772 |
msgid "Job category"
|
773 |
msgstr ""
|
774 |
|
775 |
+
#: includes/class-wp-job-manager-post-types.php:66
|
776 |
msgid "Job categories"
|
777 |
msgstr ""
|
778 |
|
779 |
+
#: includes/class-wp-job-manager-post-types.php:70
|
780 |
msgctxt "Job category slug - resave permalinks after changing this"
|
781 |
msgid "job-category"
|
782 |
msgstr ""
|
783 |
|
784 |
+
#: includes/class-wp-job-manager-post-types.php:90
|
785 |
+
#: includes/class-wp-job-manager-post-types.php:136
|
786 |
+
#: includes/class-wp-job-manager-post-types.php:190
|
787 |
msgid "Search %s"
|
788 |
msgstr ""
|
789 |
|
790 |
+
#: includes/class-wp-job-manager-post-types.php:91
|
791 |
+
#: includes/class-wp-job-manager-post-types.php:137
|
792 |
+
#: includes/class-wp-job-manager-post-types.php:182
|
793 |
msgid "All %s"
|
794 |
msgstr ""
|
795 |
|
796 |
+
#: includes/class-wp-job-manager-post-types.php:92
|
797 |
+
#: includes/class-wp-job-manager-post-types.php:138
|
798 |
+
#: includes/class-wp-job-manager-post-types.php:193
|
799 |
msgid "Parent %s"
|
800 |
msgstr ""
|
801 |
|
802 |
+
#: includes/class-wp-job-manager-post-types.php:93
|
803 |
+
#: includes/class-wp-job-manager-post-types.php:139
|
804 |
msgid "Parent %s:"
|
805 |
msgstr ""
|
806 |
|
807 |
+
#: includes/class-wp-job-manager-post-types.php:94
|
808 |
+
#: includes/class-wp-job-manager-post-types.php:140
|
809 |
+
#: includes/class-wp-job-manager-post-types.php:186
|
810 |
msgid "Edit %s"
|
811 |
msgstr ""
|
812 |
|
813 |
+
#: includes/class-wp-job-manager-post-types.php:95
|
814 |
+
#: includes/class-wp-job-manager-post-types.php:141
|
815 |
msgid "Update %s"
|
816 |
msgstr ""
|
817 |
|
818 |
+
#: includes/class-wp-job-manager-post-types.php:96
|
819 |
+
#: includes/class-wp-job-manager-post-types.php:142
|
820 |
msgid "Add New %s"
|
821 |
msgstr ""
|
822 |
|
823 |
+
#: includes/class-wp-job-manager-post-types.php:97
|
824 |
+
#: includes/class-wp-job-manager-post-types.php:143
|
825 |
msgid "New %s Name"
|
826 |
msgstr ""
|
827 |
|
828 |
+
#: includes/class-wp-job-manager-post-types.php:112
|
829 |
#: includes/forms/class-wp-job-manager-form-submit-job.php:137
|
830 |
msgid "Job type"
|
831 |
msgstr ""
|
832 |
|
833 |
+
#: includes/class-wp-job-manager-post-types.php:113
|
834 |
msgid "Job types"
|
835 |
msgstr ""
|
836 |
|
837 |
+
#: includes/class-wp-job-manager-post-types.php:117
|
838 |
msgctxt "Job type slug - resave permalinks after changing this"
|
839 |
msgid "job-type"
|
840 |
msgstr ""
|
841 |
|
842 |
+
#: includes/class-wp-job-manager-post-types.php:160
|
843 |
msgid "Job"
|
844 |
msgstr ""
|
845 |
|
846 |
+
#: includes/class-wp-job-manager-post-types.php:161
|
847 |
msgid "Jobs"
|
848 |
msgstr ""
|
849 |
|
850 |
+
#: includes/class-wp-job-manager-post-types.php:164
|
851 |
msgctxt "Post type archive slug - resave permalinks after changing this"
|
852 |
msgid "jobs"
|
853 |
msgstr ""
|
854 |
|
855 |
+
#: includes/class-wp-job-manager-post-types.php:170
|
856 |
msgctxt "Job permalink - resave permalinks after changing this"
|
857 |
msgid "job"
|
858 |
msgstr ""
|
859 |
|
860 |
+
#: includes/class-wp-job-manager-post-types.php:183
|
861 |
msgid "Add New"
|
862 |
msgstr ""
|
863 |
|
864 |
+
#: includes/class-wp-job-manager-post-types.php:184
|
865 |
msgid "Add %s"
|
866 |
msgstr ""
|
867 |
|
868 |
+
#: includes/class-wp-job-manager-post-types.php:187
|
869 |
msgid "New %s"
|
870 |
msgstr ""
|
871 |
|
872 |
+
#: includes/class-wp-job-manager-post-types.php:188
|
873 |
+
#: includes/class-wp-job-manager-post-types.php:189
|
874 |
msgid "View %s"
|
875 |
msgstr ""
|
876 |
|
877 |
+
#: includes/class-wp-job-manager-post-types.php:191
|
878 |
msgid "No %s found"
|
879 |
msgstr ""
|
880 |
|
881 |
+
#: includes/class-wp-job-manager-post-types.php:192
|
882 |
msgid "No %s found in trash"
|
883 |
msgstr ""
|
884 |
|
885 |
+
#: includes/class-wp-job-manager-post-types.php:194
|
886 |
+
msgid "Company Logo"
|
887 |
+
msgstr ""
|
888 |
+
|
889 |
+
#: includes/class-wp-job-manager-post-types.php:195
|
890 |
+
msgid "Set company logo"
|
891 |
+
msgstr ""
|
892 |
+
|
893 |
+
#: includes/class-wp-job-manager-post-types.php:196
|
894 |
+
msgid "Remove company logo"
|
895 |
+
msgstr ""
|
896 |
+
|
897 |
+
#: includes/class-wp-job-manager-post-types.php:197
|
898 |
+
msgid "Use as company logo"
|
899 |
+
msgstr ""
|
900 |
+
|
901 |
+
#: includes/class-wp-job-manager-post-types.php:199
|
902 |
msgid "This is where you can create and manage %s."
|
903 |
msgstr ""
|
904 |
|
905 |
+
#: includes/class-wp-job-manager-post-types.php:224
|
906 |
#: wp-job-manager-functions.php:197
|
907 |
msgctxt "post status"
|
908 |
msgid "Expired"
|
909 |
msgstr ""
|
910 |
|
911 |
+
#: includes/class-wp-job-manager-post-types.php:230
|
912 |
msgid "Expired <span class=\"count\">(%s)</span>"
|
913 |
msgid_plural "Expired <span class=\"count\">(%s)</span>"
|
914 |
msgstr[0] ""
|
915 |
msgstr[1] ""
|
916 |
|
917 |
+
#: includes/class-wp-job-manager-post-types.php:233
|
918 |
#: wp-job-manager-functions.php:198
|
919 |
msgctxt "post status"
|
920 |
msgid "Preview"
|
921 |
msgstr ""
|
922 |
|
923 |
+
#: includes/class-wp-job-manager-post-types.php:238
|
924 |
msgid "Preview <span class=\"count\">(%s)</span>"
|
925 |
msgid_plural "Preview <span class=\"count\">(%s)</span>"
|
926 |
msgstr[0] ""
|
1002 |
msgid "Invalid listing"
|
1003 |
msgstr ""
|
1004 |
|
1005 |
+
#: includes/forms/class-wp-job-manager-form-edit-job.php:90
|
1006 |
msgid "Save changes"
|
1007 |
msgstr ""
|
1008 |
|
|
|
1009 |
#: includes/forms/class-wp-job-manager-form-edit-job.php:119
|
1010 |
+
#: includes/forms/class-wp-job-manager-form-edit-job.php:122
|
1011 |
msgid "Your changes have been saved."
|
1012 |
msgstr ""
|
1013 |
|
1014 |
+
#: includes/forms/class-wp-job-manager-form-edit-job.php:119
|
1015 |
msgid "View →"
|
1016 |
msgstr ""
|
1017 |
|
1020 |
msgstr ""
|
1021 |
|
1022 |
#: includes/forms/class-wp-job-manager-form-submit-job.php:39
|
1023 |
+
#: includes/forms/class-wp-job-manager-form-submit-job.php:379
|
1024 |
+
#: templates/job-preview.php:5
|
1025 |
msgid "Preview"
|
1026 |
msgstr ""
|
1027 |
|
1116 |
msgid "%s is invalid"
|
1117 |
msgstr ""
|
1118 |
|
1119 |
+
#: includes/forms/class-wp-job-manager-form-submit-job.php:264
|
1120 |
#: wp-job-manager-functions.php:702
|
1121 |
msgid "\"%s\" (filetype %s) needs to be one of the following file types: %s"
|
1122 |
msgstr ""
|
1123 |
|
1124 |
+
#: includes/forms/class-wp-job-manager-form-submit-job.php:279
|
1125 |
msgid "Please enter a valid application email address"
|
1126 |
msgstr ""
|
1127 |
|
1128 |
+
#: includes/forms/class-wp-job-manager-form-submit-job.php:288
|
1129 |
msgid "Please enter a valid application URL"
|
1130 |
msgstr ""
|
1131 |
|
1132 |
+
#: includes/forms/class-wp-job-manager-form-submit-job.php:298
|
1133 |
msgid "Please enter a valid application email address or URL"
|
1134 |
msgstr ""
|
1135 |
|
1136 |
+
#: includes/forms/class-wp-job-manager-form-submit-job.php:410
|
1137 |
msgid "Please enter a username."
|
1138 |
msgstr ""
|
1139 |
|
1140 |
+
#: includes/forms/class-wp-job-manager-form-submit-job.php:413
|
1141 |
msgid "Please enter your email address."
|
1142 |
msgstr ""
|
1143 |
|
1144 |
+
#: includes/forms/class-wp-job-manager-form-submit-job.php:431
|
1145 |
msgid "You must be signed in to post a new listing."
|
1146 |
msgstr ""
|
1147 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1148 |
#: templates/account-signin.php:4
|
1149 |
msgid "Your account"
|
1150 |
msgstr ""
|
1236 |
msgid "Select Some Options"
|
1237 |
msgstr ""
|
1238 |
|
1239 |
+
#: templates/form-fields/uploaded-file-html.php:12
|
1240 |
+
#: templates/form-fields/uploaded-file-html.php:14
|
1241 |
msgid "remove"
|
1242 |
msgstr ""
|
1243 |
|
1301 |
"be enabled in order to view listings."
|
1302 |
msgstr ""
|
1303 |
|
1304 |
+
#: templates/job-preview.php:3
|
1305 |
+
msgid "Submit Listing"
|
1306 |
+
msgstr ""
|
1307 |
+
|
1308 |
+
#: templates/job-preview.php:4
|
1309 |
+
msgid "Edit listing"
|
1310 |
+
msgstr ""
|
1311 |
+
|
1312 |
#: templates/job-submit.php:35
|
1313 |
msgid "Company Details"
|
1314 |
msgstr ""
|
1378 |
msgid "Application via \"%s\" listing on %s"
|
1379 |
msgstr ""
|
1380 |
|
1381 |
+
#: wp-job-manager-template.php:285
|
1382 |
msgid "Anywhere"
|
1383 |
msgstr ""
|
1384 |
|
1385 |
+
#: wp-job-manager.php:146
|
1386 |
msgid "Invalid file type. Accepted types:"
|
1387 |
msgstr ""
|
1388 |
|
1389 |
+
#: wp-job-manager.php:159
|
1390 |
msgid "Load previous listings"
|
1391 |
msgstr ""
|
1392 |
|
1393 |
+
#: wp-job-manager.php:162
|
1394 |
msgid "Are you sure you want to delete this listing?"
|
1395 |
msgstr ""
|
1396 |
|
1398 |
msgid "WP Job Manager"
|
1399 |
msgstr ""
|
1400 |
|
1401 |
+
#. #-#-#-#-# WP-Job-Manager.pot (WP Job Manager 1.24.0) #-#-#-#-#
|
1402 |
#. Plugin URI of the plugin/theme
|
1403 |
+
#. #-#-#-#-# WP-Job-Manager.pot (WP Job Manager 1.24.0) #-#-#-#-#
|
1404 |
+
#. Author URI of the plugin/theme
|
1405 |
msgid "https://wpjobmanager.com/"
|
1406 |
msgstr ""
|
1407 |
|
1412 |
msgstr ""
|
1413 |
|
1414 |
#. Author of the plugin/theme
|
1415 |
+
msgid "Automattic"
|
|
|
|
|
|
|
|
|
1416 |
msgstr ""
|
readme.txt
CHANGED
@@ -1,10 +1,9 @@
|
|
1 |
=== WP Job Manager ===
|
2 |
Contributors: mikejolley, automattic
|
3 |
-
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=mike.jolley@me.com¤cy_code=&amount=&return=&item_name=Buy+me+a+coffee+for+A+New+Job+Board+Plugin+for+WordPress
|
4 |
Tags: job manager, job listing, job board, job management, job lists, job list, job, jobs, company, hiring, employment, employer, employees, candidate, freelance, internship, job listings, positions, board, application, hiring, listing, manager, recruiting, recruitment, talent
|
5 |
Requires at least: 4.1
|
6 |
Tested up to: 4.4
|
7 |
-
Stable tag: 1.
|
8 |
License: GPLv3
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
@@ -63,13 +62,13 @@ You can get the above add-ons and several others at discount with our [Core Add-
|
|
63 |
|
64 |
= Contributing and reporting bugs =
|
65 |
|
66 |
-
You can contribute code to this plugin via GitHub: [https://github.com/mikejolley/wp-job-manager](https://github.com/
|
67 |
|
68 |
Thanks to all of our contributors.
|
69 |
|
70 |
= Support =
|
71 |
|
72 |
-
Use the WordPress.org forums for community support where we try to help all users. If you spot a bug, you can log it (or fix it) on [Github](https://github.com/
|
73 |
|
74 |
If you need help with one of our add-ons, [please raise a ticket in our help desk](https://wpjobmanager.com/support/).
|
75 |
|
@@ -142,6 +141,16 @@ You can view (and contribute) translations via the [translate.wordpress.org](htt
|
|
142 |
|
143 |
== Changelog ==
|
144 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
145 |
= 1.23.13 =
|
146 |
* Fix - Conflict between the_job_location() and the regions plugin.
|
147 |
* Tweak - Allow some HTML in the_job_location - uses wp_kses_post.
|
1 |
=== WP Job Manager ===
|
2 |
Contributors: mikejolley, automattic
|
|
|
3 |
Tags: job manager, job listing, job board, job management, job lists, job list, job, jobs, company, hiring, employment, employer, employees, candidate, freelance, internship, job listings, positions, board, application, hiring, listing, manager, recruiting, recruitment, talent
|
4 |
Requires at least: 4.1
|
5 |
Tested up to: 4.4
|
6 |
+
Stable tag: 1.24.0
|
7 |
License: GPLv3
|
8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
9 |
|
62 |
|
63 |
= Contributing and reporting bugs =
|
64 |
|
65 |
+
You can contribute code to this plugin via GitHub: [https://github.com/mikejolley/wp-job-manager](https://github.com/Automattic/WP-Job-Manager) and localizations via [https://translate.wordpress.org/projects/wp-plugins/wp-job-manager](https://translate.wordpress.org/projects/wp-plugins/wp-job-manager)
|
66 |
|
67 |
Thanks to all of our contributors.
|
68 |
|
69 |
= Support =
|
70 |
|
71 |
+
Use the WordPress.org forums for community support where we try to help all users. If you spot a bug, you can log it (or fix it) on [Github](https://github.com/Automattic/WP-Job-Manager) where we can act upon them more efficiently.
|
72 |
|
73 |
If you need help with one of our add-ons, [please raise a ticket in our help desk](https://wpjobmanager.com/support/).
|
74 |
|
141 |
|
142 |
== Changelog ==
|
143 |
|
144 |
+
= 1.24.0 =
|
145 |
+
* Feature - Use featured images to store company logos.
|
146 |
+
* Feature - Search term names for keywords.
|
147 |
+
* Feature - Search custom fields in backend job listing search.
|
148 |
+
* Tweak - Allow job expiry field to be localised.
|
149 |
+
* Fix - The above change avoids creation of duplicate images in media library.
|
150 |
+
* Dev - Added methods to WP_Job_Manager_Form; get_steps, get_step_key, set_step.
|
151 |
+
* Dev - Made WP_Job_Manager_Form call the next 'handler' if no view is defined for the next step.
|
152 |
+
* Dev - Added template to control job preview form.
|
153 |
+
|
154 |
= 1.23.13 =
|
155 |
* Fix - Conflict between the_job_location() and the regions plugin.
|
156 |
* Tweak - Allow some HTML in the_job_location - uses wp_kses_post.
|
templates/content-summary-job_listing.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
<div class="job-type <?php echo get_the_job_type() ? sanitize_title( get_the_job_type()->slug ) : ''; ?>"><?php the_job_type(); ?></div>
|
5 |
|
6 |
<?php if ( $logo = get_the_company_logo() ) : ?>
|
7 |
-
<img src="<?php echo $logo; ?>" alt="<?php the_company_name(); ?>" title="<?php the_company_name(); ?> - <?php the_company_tagline(); ?>" />
|
8 |
<?php endif; ?>
|
9 |
|
10 |
<div class="job_summary_content">
|
@@ -14,4 +14,4 @@
|
|
14 |
<p class="meta"><?php the_job_location( false ); ?> — <date><?php printf( __( 'Posted %s ago', 'wp-job-manager' ), human_time_diff( get_post_time( 'U' ), current_time( 'timestamp' ) ) ); ?></date></p>
|
15 |
|
16 |
</div>
|
17 |
-
</a>
|
4 |
<div class="job-type <?php echo get_the_job_type() ? sanitize_title( get_the_job_type()->slug ) : ''; ?>"><?php the_job_type(); ?></div>
|
5 |
|
6 |
<?php if ( $logo = get_the_company_logo() ) : ?>
|
7 |
+
<img src="<?php echo esc_attr( $logo ); ?>" alt="<?php the_company_name(); ?>" title="<?php the_company_name(); ?> - <?php the_company_tagline(); ?>" />
|
8 |
<?php endif; ?>
|
9 |
|
10 |
<div class="job_summary_content">
|
14 |
<p class="meta"><?php the_job_location( false ); ?> — <date><?php printf( __( 'Posted %s ago', 'wp-job-manager' ), human_time_diff( get_post_time( 'U' ), current_time( 'timestamp' ) ) ); ?></date></p>
|
15 |
|
16 |
</div>
|
17 |
+
</a>
|
templates/form-fields/uploaded-file-html.php
CHANGED
@@ -1,12 +1,18 @@
|
|
1 |
<div class="job-manager-uploaded-file">
|
2 |
<?php
|
3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
5 |
if ( 3 !== strlen( $extension ) || in_array( $extension, array( 'jpg', 'gif', 'png', 'jpeg', 'jpe' ) ) ) : ?>
|
6 |
-
<span class="job-manager-uploaded-file-preview"><img src="<?php echo esc_url( $
|
7 |
<?php else : ?>
|
8 |
-
<span class="job-manager-uploaded-file-name"><code><?php echo esc_html( basename( $
|
9 |
<?php endif; ?>
|
10 |
|
11 |
<input type="hidden" class="input-text" name="<?php echo esc_attr( $name ); ?>" value="<?php echo esc_attr( $value ); ?>" />
|
12 |
-
</div>
|
1 |
<div class="job-manager-uploaded-file">
|
2 |
<?php
|
3 |
+
if ( is_numeric( $value ) ) {
|
4 |
+
$image_src = wp_get_attachment_image_src( absint( $value ) );
|
5 |
+
$image_src = $image_src ? $image_src[0] : '';
|
6 |
+
} else {
|
7 |
+
$image_src = $value;
|
8 |
+
}
|
9 |
+
$extension = ! empty( $extension ) ? $extension : substr( strrchr( $image_src, '.' ), 1 );
|
10 |
|
11 |
if ( 3 !== strlen( $extension ) || in_array( $extension, array( 'jpg', 'gif', 'png', 'jpeg', 'jpe' ) ) ) : ?>
|
12 |
+
<span class="job-manager-uploaded-file-preview"><img src="<?php echo esc_url( $image_src ); ?>" /> <a class="job-manager-remove-uploaded-file" href="#">[<?php _e( 'remove', 'wp-job-manager' ); ?>]</a></span>
|
13 |
<?php else : ?>
|
14 |
+
<span class="job-manager-uploaded-file-name"><code><?php echo esc_html( basename( $image_src ) ); ?></code> <a class="job-manager-remove-uploaded-file" href="#">[<?php _e( 'remove', 'wp-job-manager' ); ?>]</a></span>
|
15 |
<?php endif; ?>
|
16 |
|
17 |
<input type="hidden" class="input-text" name="<?php echo esc_attr( $name ); ?>" value="<?php echo esc_attr( $value ); ?>" />
|
18 |
+
</div>
|
templates/job-preview.php
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<form method="post" id="job_preview" action="<?php echo esc_url( $form->get_action() ); ?>">
|
2 |
+
<div class="job_listing_preview_title">
|
3 |
+
<input type="submit" name="continue" id="job_preview_submit_button" class="button job-manager-button-submit-listing" value="<?php echo apply_filters( 'submit_job_step_preview_submit_text', __( 'Submit Listing', 'wp-job-manager' ) ); ?>" />
|
4 |
+
<input type="submit" name="edit_job" class="button job-manager-button-edit-listing" value="<?php _e( 'Edit listing', 'wp-job-manager' ); ?>" />
|
5 |
+
<h2><?php _e( 'Preview', 'wp-job-manager' ); ?></h2>
|
6 |
+
</div>
|
7 |
+
<div class="job_listing_preview single_job_listing">
|
8 |
+
<h1><?php the_title(); ?></h1>
|
9 |
+
|
10 |
+
<?php get_job_manager_template_part( 'content-single', 'job_listing' ); ?>
|
11 |
+
|
12 |
+
<input type="hidden" name="job_id" value="<?php echo esc_attr( $form->get_job_id() ); ?>" />
|
13 |
+
<input type="hidden" name="step" value="<?php echo esc_attr( $form->get_step() ); ?>" />
|
14 |
+
<input type="hidden" name="job_manager_form" value="<?php echo $form->get_form_name(); ?>" />
|
15 |
+
</div>
|
16 |
+
</form>
|
wp-job-manager-functions.php
CHANGED
@@ -156,6 +156,7 @@ if ( ! function_exists( 'get_job_listings_keyword_search' ) ) :
|
|
156 |
$conditions = array();
|
157 |
$conditions[] = "{$wpdb->posts}.post_title LIKE '%" . esc_sql( $job_manager_keyword ) . "%'";
|
158 |
$conditions[] = "{$wpdb->posts}.ID IN ( SELECT post_id FROM {$wpdb->postmeta} WHERE meta_value LIKE '%" . esc_sql( $job_manager_keyword ) . "%' )";
|
|
|
159 |
|
160 |
if ( ctype_alnum( $job_manager_keyword ) ) {
|
161 |
$conditions[] = "{$wpdb->posts}.post_content RLIKE '[[:<:]]" . esc_sql( $job_manager_keyword ) . "[[:>:]]'";
|
156 |
$conditions = array();
|
157 |
$conditions[] = "{$wpdb->posts}.post_title LIKE '%" . esc_sql( $job_manager_keyword ) . "%'";
|
158 |
$conditions[] = "{$wpdb->posts}.ID IN ( SELECT post_id FROM {$wpdb->postmeta} WHERE meta_value LIKE '%" . esc_sql( $job_manager_keyword ) . "%' )";
|
159 |
+
$conditions[] = "{$wpdb->posts}.ID IN ( SELECT object_id FROM {$wpdb->term_relationships} AS tr LEFT JOIN {$wpdb->terms} AS t ON tr.term_taxonomy_id = t.term_id WHERE t.name LIKE '%" . esc_sql( $job_manager_keyword ) . "%' )";
|
160 |
|
161 |
if ( ctype_alnum( $job_manager_keyword ) ) {
|
162 |
$conditions[] = "{$wpdb->posts}.post_content RLIKE '[[:<:]]" . esc_sql( $job_manager_keyword ) . "[[:>:]]'";
|
wp-job-manager-template.php
CHANGED
@@ -310,17 +310,18 @@ function get_the_job_location( $post = null ) {
|
|
310 |
* @param mixed $default (default: null)
|
311 |
* @return void
|
312 |
*/
|
313 |
-
function the_company_logo( $size = '
|
314 |
$logo = get_the_company_logo( $post );
|
315 |
|
316 |
-
if (
|
|
|
317 |
|
|
|
|
|
318 |
if ( $size !== 'full' ) {
|
319 |
$logo = job_manager_get_resized_image( $logo, $size );
|
320 |
}
|
321 |
-
|
322 |
echo '<img class="company_logo" src="' . esc_attr( $logo ) . '" alt="' . esc_attr( get_the_company_name( $post ) ) . '" />';
|
323 |
-
|
324 |
} elseif ( $default ) {
|
325 |
echo '<img class="company_logo" src="' . esc_attr( $default ) . '" alt="' . esc_attr( get_the_company_name( $post ) ) . '" />';
|
326 |
} else {
|
@@ -333,14 +334,20 @@ function the_company_logo( $size = 'full', $default = null, $post = null ) {
|
|
333 |
*
|
334 |
* @access public
|
335 |
* @param mixed $post (default: null)
|
336 |
-
* @return string
|
337 |
*/
|
338 |
-
function get_the_company_logo( $post = null ) {
|
339 |
$post = get_post( $post );
|
340 |
-
if ( $post->post_type !== 'job_listing' )
|
341 |
-
return;
|
342 |
|
343 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
344 |
}
|
345 |
|
346 |
/**
|
310 |
* @param mixed $default (default: null)
|
311 |
* @return void
|
312 |
*/
|
313 |
+
function the_company_logo( $size = 'thumbnail', $default = null, $post = null ) {
|
314 |
$logo = get_the_company_logo( $post );
|
315 |
|
316 |
+
if ( has_post_thumbnail( $post ) ) {
|
317 |
+
echo '<img class="company_logo" src="' . esc_attr( $logo ) . '" alt="' . esc_attr( get_the_company_name( $post ) ) . '" />';
|
318 |
|
319 |
+
// Before 1.24.0, logo URLs were stored in post meta.
|
320 |
+
} elseif ( ! empty( $logo ) && ( strstr( $logo, 'http' ) || file_exists( $logo ) ) ) {
|
321 |
if ( $size !== 'full' ) {
|
322 |
$logo = job_manager_get_resized_image( $logo, $size );
|
323 |
}
|
|
|
324 |
echo '<img class="company_logo" src="' . esc_attr( $logo ) . '" alt="' . esc_attr( get_the_company_name( $post ) ) . '" />';
|
|
|
325 |
} elseif ( $default ) {
|
326 |
echo '<img class="company_logo" src="' . esc_attr( $default ) . '" alt="' . esc_attr( get_the_company_name( $post ) ) . '" />';
|
327 |
} else {
|
334 |
*
|
335 |
* @access public
|
336 |
* @param mixed $post (default: null)
|
337 |
+
* @return string Image SRC
|
338 |
*/
|
339 |
+
function get_the_company_logo( $post = null, $size = 'thumbnail' ) {
|
340 |
$post = get_post( $post );
|
|
|
|
|
341 |
|
342 |
+
if ( has_post_thumbnail( $post->ID ) ) {
|
343 |
+
$src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), $size );
|
344 |
+
return $src ? $src[0] : '';
|
345 |
+
} elseif ( ! empty( $post->_company_logo ) ) {
|
346 |
+
// Before 1.24.0, logo URLs were stored in post meta.
|
347 |
+
return apply_filters( 'the_company_logo', $post->_company_logo, $post );
|
348 |
+
}
|
349 |
+
|
350 |
+
return '';
|
351 |
}
|
352 |
|
353 |
/**
|
wp-job-manager.php
CHANGED
@@ -1,22 +1,17 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
-
Plugin Name: WP Job Manager
|
4 |
-
Plugin URI: https://wpjobmanager.com/
|
5 |
-
Description: Manage job listings from the WordPress admin panel, and allow users to post jobs directly to your site.
|
6 |
-
Version: 1.
|
7 |
-
Author:
|
8 |
-
Author URI:
|
9 |
-
Requires at least: 4.1
|
10 |
-
Tested up to: 4.4
|
11 |
-
Text Domain: wp-job-manager
|
12 |
-
Domain Path: /languages/
|
13 |
-
|
14 |
-
|
15 |
-
License: GNU General Public License v3.0
|
16 |
-
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
17 |
-
*/
|
18 |
-
|
19 |
-
// Exit if accessed directly
|
20 |
if ( ! defined( 'ABSPATH' ) ) {
|
21 |
exit;
|
22 |
}
|
@@ -31,7 +26,7 @@ class WP_Job_Manager {
|
|
31 |
*/
|
32 |
public function __construct() {
|
33 |
// Define constants
|
34 |
-
define( 'JOB_MANAGER_VERSION', '1.
|
35 |
define( 'JOB_MANAGER_PLUGIN_DIR', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
|
36 |
define( 'JOB_MANAGER_PLUGIN_URL', untrailingslashit( plugins_url( basename( plugin_dir_path( __FILE__ ) ), basename( __FILE__ ) ) ) );
|
37 |
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Plugin Name: WP Job Manager
|
4 |
+
* Plugin URI: https://wpjobmanager.com/
|
5 |
+
* Description: Manage job listings from the WordPress admin panel, and allow users to post jobs directly to your site.
|
6 |
+
* Version: 1.24.0
|
7 |
+
* Author: Automattic
|
8 |
+
* Author URI: https://wpjobmanager.com/
|
9 |
+
* Requires at least: 4.1
|
10 |
+
* Tested up to: 4.4
|
11 |
+
* Text Domain: wp-job-manager
|
12 |
+
* Domain Path: /languages/
|
13 |
+
* License: GPL2+
|
14 |
+
*/
|
|
|
|
|
|
|
|
|
|
|
15 |
if ( ! defined( 'ABSPATH' ) ) {
|
16 |
exit;
|
17 |
}
|
26 |
*/
|
27 |
public function __construct() {
|
28 |
// Define constants
|
29 |
+
define( 'JOB_MANAGER_VERSION', '1.24.0' );
|
30 |
define( 'JOB_MANAGER_PLUGIN_DIR', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
|
31 |
define( 'JOB_MANAGER_PLUGIN_URL', untrailingslashit( plugins_url( basename( plugin_dir_path( __FILE__ ) ), basename( __FILE__ ) ) ) );
|
32 |
|