WP Job Manager - Version 1.25.0

Version Description

  • Feature - Ability to duplicate listings from job dashboard.
  • Fix - Support WP_EMBED in job descriptions.
  • Fix - Ensure logo is displayed on edit, before submission.
  • Fix - Attachment URLs on multisite.
  • Fix - Refactored WPML workaround, which was causing no job listings on non-default languages. (https://github.com/Automattic/WP-Job-Manager/issues/617)
  • Fix - No need to decode URLs anymore https://core.trac.wordpress.org/ticket/23605.
  • Dev - submit_job_form_end/submit_job_form_start actions.
  • Dev - job-manager-datepicker class for backend date fields.
Download this release

Release Info

Developer mikejolley
Plugin Icon 128x128 WP Job Manager
Version 1.25.0
Comparing to
See all releases

Code changes from version 1.24.0 to 1.25.0

.github/ISSUE_TEMPLATE.md ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!--
2
+ Thanks for contributing to WP Job Manager! Enter a clear title (e.g. "Search error when using plus sign") and proceed.
3
+ -->
4
+
5
+ #### What I Expected To Happen
6
+
7
+ #### What Happened Instead
8
+
9
+ #### Steps to Reproduce the Bug
10
+
11
+ <!--
12
+ PLEASE NOTE:
13
+ - These comments won't show up when you submit the issue.
14
+ - Try to add as much detail as possible. Be specific!
15
+ - GitHub issues aren't for support! If you have questions, use this form: https://wpjobmanager.com/support/
16
+ - If you're requesting a new feature, explain why you'd like it to be added.
17
+ -->
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-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}
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}.single-job_listing .entry-header .attachment-post-thumbnail,.single-job_listing .job_listing.has-post-thumbnail .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,7 +671,8 @@ div.job_listings {
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 {
671
  padding: 0 1em 1em;
672
  border: 5px solid #eee;
673
  }
674
+ .single-job_listing .entry-header .attachment-post-thumbnail,
675
+ .single-job_listing .job_listing.has-post-thumbnail .post-thumbnail {
676
  display: none;
677
  }
678
  .job_listing_preview_title, .entry-content .job_listing_preview_title {
assets/js/admin.js CHANGED
@@ -15,16 +15,18 @@ jQuery(document).ready(function($) {
15
  });
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;
15
  });
16
 
17
  // Datepicker
18
+ $( 'input.job-manager-datepicker, input#_job_expires' ).datepicker({
19
  altFormat : 'yy-mm-dd',
20
  dateFormat : job_manager_admin.date_format,
21
  minDate : 0
22
  });
23
 
24
+ $( 'input.job-manager-datepicker, input#_job_expires' ).each( function(){
25
+ if ( $(this).val() ) {
26
+ var date = new Date( $(this).val() );
27
+ $(this).datepicker( "setDate", date );
28
+ }
29
+ });
30
 
31
  // Uploading files
32
  var file_frame;
assets/js/admin.min.js CHANGED
@@ -1 +1 @@
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())})});
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-manager-datepicker, input#_job_expires").datepicker({altFormat:"yy-mm-dd",dateFormat:job_manager_admin.date_format,minDate:0}),a("input.job-manager-datepicker, input#_job_expires").each(function(){if(a(this).val()){var b=new Date(a(this).val());a(this).datepicker("setDate",b)}});var b,c,d;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(e){return e.preventDefault(),d=a(this).closest(".file_url"),c=d.find("input"),b?void b.open():(b=wp.media.frames.file_frame=wp.media({title:a(this).data("uploader_title"),button:{text:a(this).data("uploader_button_text")},multiple:!1}),b.on("select",function(){attachment=b.state().get("selection").first().toJSON(),a(c).val(attachment.url)}),void b.open())})});
includes/abstracts/abstract-wp-job-manager-form.php CHANGED
@@ -219,11 +219,6 @@ abstract class WP_Job_Manager_Form {
219
  * @return array|string $value The sanitized array (or string from the callback).
220
  */
221
  protected function sanitize_posted_field( $value ) {
222
- // Decode URLs
223
- if ( is_string( $value ) && ( strstr( $value, 'http:' ) || strstr( $value, 'https:' ) ) ) {
224
- $value = urldecode( $value );
225
- }
226
-
227
  // Santize value
228
  $value = is_array( $value ) ? array_map( array( $this, 'sanitize_posted_field' ), $value ) : sanitize_text_field( stripslashes( trim( $value ) ) );
229
 
219
  * @return array|string $value The sanitized array (or string from the callback).
220
  */
221
  protected function sanitize_posted_field( $value ) {
 
 
 
 
 
222
  // Santize value
223
  $value = is_array( $value ) ? array_map( array( $this, 'sanitize_posted_field' ), $value ) : sanitize_text_field( stripslashes( trim( $value ) ) );
224
 
includes/admin/class-wp-job-manager-writepanels.php CHANGED
@@ -83,6 +83,7 @@ class WP_Job_Manager_Writepanels {
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
  );
@@ -180,10 +181,15 @@ class WP_Job_Manager_Writepanels {
180
  } else {
181
  $name = $key;
182
  }
 
 
 
 
 
183
  ?>
184
  <p class="form-field">
185
  <label for="<?php echo esc_attr( $key ); ?>"><?php echo esc_html( $field['label'] ) ; ?>: <?php if ( ! empty( $field['description'] ) ) : ?><span class="tips" data-tip="<?php echo esc_attr( $field['description'] ); ?>">[?]</span><?php endif; ?></label>
186
- <input type="text" name="<?php echo esc_attr( $name ); ?>" id="<?php echo esc_attr( $key ); ?>" placeholder="<?php echo esc_attr( $field['placeholder'] ); ?>" value="<?php echo esc_attr( $field['value'] ); ?>" />
187
  </p>
188
  <?php
189
  }
83
  $fields['_job_expires'] = array(
84
  'label' => __( 'Listing Expiry Date', 'wp-job-manager' ),
85
  'priority' => 11,
86
+ 'classes' => array( 'job-manager-datepicker' ),
87
  'placeholder' => _x( 'yyyy-mm-dd', 'Date format placeholder', 'wp-job-manager' ),
88
  'value' => metadata_exists( 'post', $post->ID, '_job_expires' ) ? get_post_meta( $post->ID, '_job_expires', true ) : calculate_job_expiry( $post->ID ),
89
  );
181
  } else {
182
  $name = $key;
183
  }
184
+ if ( ! empty( $field['classes'] ) ) {
185
+ $classes = implode( ' ', is_array( $field['classes'] ) ? $field['classes'] : array( $field['classes'] ) );
186
+ } else {
187
+ $classes = '';
188
+ }
189
  ?>
190
  <p class="form-field">
191
  <label for="<?php echo esc_attr( $key ); ?>"><?php echo esc_html( $field['label'] ) ; ?>: <?php if ( ! empty( $field['description'] ) ) : ?><span class="tips" data-tip="<?php echo esc_attr( $field['description'] ); ?>">[?]</span><?php endif; ?></label>
192
+ <input type="text" name="<?php echo esc_attr( $name ); ?>" class="<?php echo esc_attr( $classes ); ?>" id="<?php echo esc_attr( $key ); ?>" placeholder="<?php echo esc_attr( $field['placeholder'] ); ?>" value="<?php echo esc_attr( $field['value'] ); ?>" />
193
  </p>
194
  <?php
195
  }
includes/class-wp-job-manager-post-types.php CHANGED
@@ -25,6 +25,10 @@ class WP_Job_Manager_Post_Types {
25
  add_filter( 'the_job_description', 'wpautop' );
26
  add_filter( 'the_job_description', 'shortcode_unautop' );
27
  add_filter( 'the_job_description', 'prepend_attachment' );
 
 
 
 
28
 
29
  add_action( 'job_manager_application_details_email', array( $this, 'application_details_email' ) );
30
  add_action( 'job_manager_application_details_url', array( $this, 'application_details_url' ) );
25
  add_filter( 'the_job_description', 'wpautop' );
26
  add_filter( 'the_job_description', 'shortcode_unautop' );
27
  add_filter( 'the_job_description', 'prepend_attachment' );
28
+ if ( ! empty( $GLOBALS['wp_embed'] ) ) {
29
+ add_filter( 'the_job_description', array( $GLOBALS['wp_embed'], 'run_shortcode' ), 8 );
30
+ add_filter( 'the_job_description', array( $GLOBALS['wp_embed'], 'autoembed' ), 8 );
31
+ }
32
 
33
  add_action( 'job_manager_application_details_email', array( $this, 'application_details_email' ) );
34
  add_action( 'job_manager_application_details_url', array( $this, 'application_details_url' ) );
includes/class-wp-job-manager-shortcodes.php CHANGED
@@ -93,10 +93,28 @@ class WP_Job_Manager_Shortcodes {
93
  // Message
94
  $this->job_dashboard_message = '<div class="job-manager-message">' . sprintf( __( '%s has been deleted', 'wp-job-manager' ), $job->post_title ) . '</div>';
95
 
 
 
 
 
 
 
 
 
 
 
 
 
 
96
  break;
97
  case 'relist' :
 
 
 
 
98
  // redirect to post page
99
  wp_redirect( add_query_arg( array( 'job_id' => absint( $job_id ) ), job_manager_get_permalink( 'submit_job_form' ) ) );
 
100
 
101
  break;
102
  default :
93
  // Message
94
  $this->job_dashboard_message = '<div class="job-manager-message">' . sprintf( __( '%s has been deleted', 'wp-job-manager' ), $job->post_title ) . '</div>';
95
 
96
+ break;
97
+ case 'duplicate' :
98
+ if ( ! job_manager_get_permalink( 'submit_job_form' ) ) {
99
+ throw new Exception( __( 'Missing submission page.', 'wp-job-manager' ) );
100
+ }
101
+
102
+ $new_job_id = job_manager_duplicate_listing( $job_id );
103
+
104
+ if ( $new_job_id ) {
105
+ wp_redirect( add_query_arg( array( 'job_id' => absint( $new_job_id ) ), job_manager_get_permalink( 'submit_job_form' ) ) );
106
+ exit;
107
+ }
108
+
109
  break;
110
  case 'relist' :
111
+ if ( ! job_manager_get_permalink( 'submit_job_form' ) ) {
112
+ throw new Exception( __( 'Missing submission page.', 'wp-job-manager' ) );
113
+ }
114
+
115
  // redirect to post page
116
  wp_redirect( add_query_arg( array( 'job_id' => absint( $job_id ) ), job_manager_get_permalink( 'submit_job_form' ) ) );
117
+ exit;
118
 
119
  break;
120
  default :
includes/forms/class-wp-job-manager-form-submit-job.php CHANGED
@@ -341,6 +341,9 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
341
  case 'job_category' :
342
  $this->fields[ $group_key ][ $key ]['value'] = wp_get_object_terms( $job->ID, 'job_listing_category', array( 'fields' => 'ids' ) );
343
  break;
 
 
 
344
  default:
345
  $this->fields[ $group_key ][ $key ]['value'] = get_post_meta( $job->ID, '_' . $key, true );
346
  break;
@@ -515,7 +518,13 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
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' => '',
341
  case 'job_category' :
342
  $this->fields[ $group_key ][ $key ]['value'] = wp_get_object_terms( $job->ID, 'job_listing_category', array( 'fields' => 'ids' ) );
343
  break;
344
+ case 'company_logo' :
345
+ $this->fields[ $group_key ][ $key ]['value'] = has_post_thumbnail( $job->ID ) ? get_post_thumbnail_id( $job->ID ) : get_post_meta( $job->ID, '_' . $key, true );
346
+ break;
347
  default:
348
  $this->fields[ $group_key ][ $key ]['value'] = get_post_meta( $job->ID, '_' . $key, true );
349
  break;
518
  include_once( ABSPATH . 'wp-admin/includes/image.php' );
519
  include_once( ABSPATH . 'wp-admin/includes/media.php' );
520
 
521
+ $upload_dir = wp_upload_dir();
522
+ $attachment_url = str_replace( array( $upload_dir['baseurl'], WP_CONTENT_URL, site_url( '/' ) ), array( $upload_dir['basedir'], WP_CONTENT_DIR, ABSPATH ), $attachment_url );
523
+
524
+ if ( empty( $attachment_url ) || ! is_string( $attachment_url ) ) {
525
+ return 0;
526
+ }
527
+
528
  $attachment = array(
529
  'post_title' => get_the_title( $this->job_id ),
530
  'post_content' => '',
languages/wp-job-manager.pot CHANGED
@@ -2,9 +2,9 @@
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"
@@ -38,86 +38,86 @@ msgstr ""
38
  msgid "Add-ons"
39
  msgstr ""
40
 
41
- #: includes/admin/class-wp-job-manager-cpt.php:48
42
- #: includes/admin/class-wp-job-manager-cpt.php:49
43
  msgid "Approve %s"
44
  msgstr ""
45
 
46
- #: includes/admin/class-wp-job-manager-cpt.php:51
47
- #: includes/admin/class-wp-job-manager-cpt.php:52
48
  msgid "Expire %s"
49
  msgstr ""
50
 
51
- #: includes/admin/class-wp-job-manager-cpt.php:140
52
  #: includes/admin/class-wp-job-manager-cpt.php:142
 
53
  msgid "%s approved"
54
  msgstr ""
55
 
56
- #: includes/admin/class-wp-job-manager-cpt.php:160
57
  #: includes/admin/class-wp-job-manager-cpt.php:162
 
58
  msgid "%s expired"
59
  msgstr ""
60
 
61
- #: includes/admin/class-wp-job-manager-cpt.php:194
62
  msgid "Select category"
63
  msgstr ""
64
 
65
- #: includes/admin/class-wp-job-manager-cpt.php:209
66
- #: includes/admin/class-wp-job-manager-cpt.php:255
67
  msgid "Position"
68
  msgstr ""
69
 
70
- #: includes/admin/class-wp-job-manager-cpt.php:225
71
  msgid "%s updated. <a href=\"%s\">View</a>"
72
  msgstr ""
73
 
74
- #: includes/admin/class-wp-job-manager-cpt.php:226
75
  msgid "Custom field updated."
76
  msgstr ""
77
 
78
- #: includes/admin/class-wp-job-manager-cpt.php:227
79
  msgid "Custom field deleted."
80
  msgstr ""
81
 
82
- #: includes/admin/class-wp-job-manager-cpt.php:228
83
  msgid "%s updated."
84
  msgstr ""
85
 
86
- #: includes/admin/class-wp-job-manager-cpt.php:229
87
  msgid "%s restored to revision from %s"
88
  msgstr ""
89
 
90
- #: includes/admin/class-wp-job-manager-cpt.php:230
91
  msgid "%s published. <a href=\"%s\">View</a>"
92
  msgstr ""
93
 
94
- #: includes/admin/class-wp-job-manager-cpt.php:231
95
  msgid "%s saved."
96
  msgstr ""
97
 
98
- #: includes/admin/class-wp-job-manager-cpt.php:232
99
  msgid "%s submitted. <a target=\"_blank\" href=\"%s\">Preview</a>"
100
  msgstr ""
101
 
102
- #: includes/admin/class-wp-job-manager-cpt.php:233
103
  msgid ""
104
  "%s scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href=\"%2$s"
105
  "\">Preview</a>"
106
  msgstr ""
107
 
108
- #: includes/admin/class-wp-job-manager-cpt.php:234
109
  msgid "M j, Y @ G:i"
110
  msgstr ""
111
 
112
- #: includes/admin/class-wp-job-manager-cpt.php:235
113
  msgid "%s draft updated. <a target=\"_blank\" href=\"%s\">Preview</a>"
114
  msgstr ""
115
 
116
- #: includes/admin/class-wp-job-manager-cpt.php:254
117
  msgid "Type"
118
  msgstr ""
119
 
120
- #: includes/admin/class-wp-job-manager-cpt.php:256
121
  #: includes/admin/class-wp-job-manager-writepanels.php:31
122
  #: includes/class-wp-job-manager-widgets.php:165
123
  #: includes/forms/class-wp-job-manager-form-submit-job.php:129
@@ -125,75 +125,75 @@ msgstr ""
125
  msgid "Location"
126
  msgstr ""
127
 
128
- #: includes/admin/class-wp-job-manager-cpt.php:257
129
  msgid "Status"
130
  msgstr ""
131
 
132
- #: includes/admin/class-wp-job-manager-cpt.php:258
133
  msgid "Posted"
134
  msgstr ""
135
 
136
- #: includes/admin/class-wp-job-manager-cpt.php:259
137
  msgid "Expires"
138
  msgstr ""
139
 
140
- #: includes/admin/class-wp-job-manager-cpt.php:260
141
  #: includes/admin/class-wp-job-manager-settings.php:73
142
  msgid "Categories"
143
  msgstr ""
144
 
145
- #: includes/admin/class-wp-job-manager-cpt.php:261
146
  msgid "Featured?"
147
  msgstr ""
148
 
149
- #: includes/admin/class-wp-job-manager-cpt.php:262
150
- #: includes/class-wp-job-manager-shortcodes.php:163
151
  msgid "Filled?"
152
  msgstr ""
153
 
154
- #: includes/admin/class-wp-job-manager-cpt.php:263
155
  msgid "Actions"
156
  msgstr ""
157
 
158
- #: includes/admin/class-wp-job-manager-cpt.php:290
159
  msgid "ID: %d"
160
  msgstr ""
161
 
162
- #: includes/admin/class-wp-job-manager-cpt.php:318
163
- #: includes/admin/class-wp-job-manager-cpt.php:323
164
  msgid "M j, Y"
165
  msgstr ""
166
 
167
- #: includes/admin/class-wp-job-manager-cpt.php:319
168
  msgid "by a guest"
169
  msgstr ""
170
 
171
- #: includes/admin/class-wp-job-manager-cpt.php:319
172
  msgid "by %s"
173
  msgstr ""
174
 
175
- #: includes/admin/class-wp-job-manager-cpt.php:337
176
  msgid "Approve"
177
  msgstr ""
178
 
179
- #: includes/admin/class-wp-job-manager-cpt.php:345
180
  msgid "View"
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 ""
188
 
189
- #: includes/admin/class-wp-job-manager-cpt.php:359
190
- #: templates/job-dashboard.php:54
191
  msgid "Delete"
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
 
@@ -700,44 +700,44 @@ msgstr ""
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,160 +767,160 @@ msgstr ""
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] ""
@@ -950,22 +950,27 @@ msgstr ""
950
  msgid "%s has been deleted"
951
  msgstr ""
952
 
953
- #: includes/class-wp-job-manager-shortcodes.php:162
 
 
 
 
 
954
  #: includes/class-wp-job-manager-widgets.php:155
955
  #: includes/class-wp-job-manager-widgets.php:260
956
  msgid "Title"
957
  msgstr ""
958
 
959
- #: includes/class-wp-job-manager-shortcodes.php:164
960
  msgid "Date Posted"
961
  msgstr ""
962
 
963
- #: includes/class-wp-job-manager-shortcodes.php:165
964
  msgid "Listing Expires"
965
  msgstr ""
966
 
967
- #: includes/class-wp-job-manager-shortcodes.php:260
968
- #: includes/class-wp-job-manager-shortcodes.php:294
969
  msgid "Load more listings"
970
  msgstr ""
971
 
@@ -1020,7 +1025,7 @@ msgid "Submit Details"
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 ""
@@ -1117,7 +1122,7 @@ 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
 
@@ -1133,15 +1138,15 @@ msgstr ""
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
 
@@ -1185,7 +1190,7 @@ msgid "Username"
1185
  msgstr ""
1186
 
1187
  #: templates/account-signin.php:40 templates/account-signin.php:47
1188
- #: templates/job-submit.php:24 templates/job-submit.php:41
1189
  msgid "(optional)"
1190
  msgstr ""
1191
 
@@ -1227,12 +1232,12 @@ msgid "Maximum file size: %s."
1227
  msgstr ""
1228
 
1229
  #: templates/form-fields/multiselect-field.php:3
1230
- #: wp-job-manager-functions.php:533
1231
  msgid "No results match"
1232
  msgstr ""
1233
 
1234
  #: templates/form-fields/multiselect-field.php:3
1235
- #: wp-job-manager-functions.php:534
1236
  msgid "Select Some Options"
1237
  msgstr ""
1238
 
@@ -1279,7 +1284,11 @@ msgstr ""
1279
  msgid "Mark filled"
1280
  msgstr ""
1281
 
1282
- #: templates/job-dashboard.php:43
 
 
 
 
1283
  msgid "Relist"
1284
  msgstr ""
1285
 
@@ -1309,7 +1318,7 @@ msgstr ""
1309
  msgid "Edit listing"
1310
  msgstr ""
1311
 
1312
- #: templates/job-submit.php:35
1313
  msgid "Company Details"
1314
  msgstr ""
1315
 
@@ -1322,51 +1331,51 @@ msgstr ""
1322
  msgid "%s submitted successfully. Your listing will be visible once approved."
1323
  msgstr ""
1324
 
1325
- #: wp-job-manager-functions.php:196
1326
  msgctxt "post status"
1327
  msgid "Draft"
1328
  msgstr ""
1329
 
1330
- #: wp-job-manager-functions.php:199
1331
  msgctxt "post status"
1332
  msgid "Pending approval"
1333
  msgstr ""
1334
 
1335
- #: wp-job-manager-functions.php:200
1336
  msgctxt "post status"
1337
  msgid "Pending payment"
1338
  msgstr ""
1339
 
1340
- #: wp-job-manager-functions.php:201
1341
  msgctxt "post status"
1342
  msgid "Active"
1343
  msgstr ""
1344
 
1345
- #: wp-job-manager-functions.php:286
1346
  msgid "Reset"
1347
  msgstr ""
1348
 
1349
- #: wp-job-manager-functions.php:290
1350
  msgid "RSS"
1351
  msgstr ""
1352
 
1353
- #: wp-job-manager-functions.php:377
1354
  msgid "Invalid email address."
1355
  msgstr ""
1356
 
1357
- #: wp-job-manager-functions.php:385
1358
  msgid "Your email address isn&#8217;t correct."
1359
  msgstr ""
1360
 
1361
- #: wp-job-manager-functions.php:389
1362
  msgid "This email is already registered, please choose another one."
1363
  msgstr ""
1364
 
1365
- #: wp-job-manager-functions.php:532
1366
  msgid "Choose a category&hellip;"
1367
  msgstr ""
1368
 
1369
- #: wp-job-manager-functions.php:704
1370
  msgid "Uploaded files need to be one of the following file types: %s"
1371
  msgstr ""
1372
 
@@ -1382,15 +1391,15 @@ msgstr ""
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,9 +1407,9 @@ msgstr ""
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 ""
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.25.0\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/WP-Job-Manager\n"
7
+ "POT-Creation-Date: 2016-03-11 14:13:03+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
38
  msgid "Add-ons"
39
  msgstr ""
40
 
41
+ #: includes/admin/class-wp-job-manager-cpt.php:50
42
+ #: includes/admin/class-wp-job-manager-cpt.php:51
43
  msgid "Approve %s"
44
  msgstr ""
45
 
46
+ #: includes/admin/class-wp-job-manager-cpt.php:53
47
+ #: includes/admin/class-wp-job-manager-cpt.php:54
48
  msgid "Expire %s"
49
  msgstr ""
50
 
 
51
  #: includes/admin/class-wp-job-manager-cpt.php:142
52
+ #: includes/admin/class-wp-job-manager-cpt.php:144
53
  msgid "%s approved"
54
  msgstr ""
55
 
 
56
  #: includes/admin/class-wp-job-manager-cpt.php:162
57
+ #: includes/admin/class-wp-job-manager-cpt.php:164
58
  msgid "%s expired"
59
  msgstr ""
60
 
61
+ #: includes/admin/class-wp-job-manager-cpt.php:196
62
  msgid "Select category"
63
  msgstr ""
64
 
65
+ #: includes/admin/class-wp-job-manager-cpt.php:211
66
+ #: includes/admin/class-wp-job-manager-cpt.php:257
67
  msgid "Position"
68
  msgstr ""
69
 
70
+ #: includes/admin/class-wp-job-manager-cpt.php:227
71
  msgid "%s updated. <a href=\"%s\">View</a>"
72
  msgstr ""
73
 
74
+ #: includes/admin/class-wp-job-manager-cpt.php:228
75
  msgid "Custom field updated."
76
  msgstr ""
77
 
78
+ #: includes/admin/class-wp-job-manager-cpt.php:229
79
  msgid "Custom field deleted."
80
  msgstr ""
81
 
82
+ #: includes/admin/class-wp-job-manager-cpt.php:230
83
  msgid "%s updated."
84
  msgstr ""
85
 
86
+ #: includes/admin/class-wp-job-manager-cpt.php:231
87
  msgid "%s restored to revision from %s"
88
  msgstr ""
89
 
90
+ #: includes/admin/class-wp-job-manager-cpt.php:232
91
  msgid "%s published. <a href=\"%s\">View</a>"
92
  msgstr ""
93
 
94
+ #: includes/admin/class-wp-job-manager-cpt.php:233
95
  msgid "%s saved."
96
  msgstr ""
97
 
98
+ #: includes/admin/class-wp-job-manager-cpt.php:234
99
  msgid "%s submitted. <a target=\"_blank\" href=\"%s\">Preview</a>"
100
  msgstr ""
101
 
102
+ #: includes/admin/class-wp-job-manager-cpt.php:235
103
  msgid ""
104
  "%s scheduled for: <strong>%1$s</strong>. <a target=\"_blank\" href=\"%2$s"
105
  "\">Preview</a>"
106
  msgstr ""
107
 
108
+ #: includes/admin/class-wp-job-manager-cpt.php:236
109
  msgid "M j, Y @ G:i"
110
  msgstr ""
111
 
112
+ #: includes/admin/class-wp-job-manager-cpt.php:237
113
  msgid "%s draft updated. <a target=\"_blank\" href=\"%s\">Preview</a>"
114
  msgstr ""
115
 
116
+ #: includes/admin/class-wp-job-manager-cpt.php:256
117
  msgid "Type"
118
  msgstr ""
119
 
120
+ #: includes/admin/class-wp-job-manager-cpt.php:258
121
  #: includes/admin/class-wp-job-manager-writepanels.php:31
122
  #: includes/class-wp-job-manager-widgets.php:165
123
  #: includes/forms/class-wp-job-manager-form-submit-job.php:129
125
  msgid "Location"
126
  msgstr ""
127
 
128
+ #: includes/admin/class-wp-job-manager-cpt.php:259
129
  msgid "Status"
130
  msgstr ""
131
 
132
+ #: includes/admin/class-wp-job-manager-cpt.php:260
133
  msgid "Posted"
134
  msgstr ""
135
 
136
+ #: includes/admin/class-wp-job-manager-cpt.php:261
137
  msgid "Expires"
138
  msgstr ""
139
 
140
+ #: includes/admin/class-wp-job-manager-cpt.php:262
141
  #: includes/admin/class-wp-job-manager-settings.php:73
142
  msgid "Categories"
143
  msgstr ""
144
 
145
+ #: includes/admin/class-wp-job-manager-cpt.php:263
146
  msgid "Featured?"
147
  msgstr ""
148
 
149
+ #: includes/admin/class-wp-job-manager-cpt.php:264
150
+ #: includes/class-wp-job-manager-shortcodes.php:181
151
  msgid "Filled?"
152
  msgstr ""
153
 
154
+ #: includes/admin/class-wp-job-manager-cpt.php:265
155
  msgid "Actions"
156
  msgstr ""
157
 
158
+ #: includes/admin/class-wp-job-manager-cpt.php:292
159
  msgid "ID: %d"
160
  msgstr ""
161
 
162
+ #: includes/admin/class-wp-job-manager-cpt.php:320
163
+ #: includes/admin/class-wp-job-manager-cpt.php:325
164
  msgid "M j, Y"
165
  msgstr ""
166
 
167
+ #: includes/admin/class-wp-job-manager-cpt.php:321
168
  msgid "by a guest"
169
  msgstr ""
170
 
171
+ #: includes/admin/class-wp-job-manager-cpt.php:321
172
  msgid "by %s"
173
  msgstr ""
174
 
175
+ #: includes/admin/class-wp-job-manager-cpt.php:339
176
  msgid "Approve"
177
  msgstr ""
178
 
179
+ #: includes/admin/class-wp-job-manager-cpt.php:347
180
  msgid "View"
181
  msgstr ""
182
 
183
+ #: includes/admin/class-wp-job-manager-cpt.php:354
184
+ #: includes/class-wp-job-manager-post-types.php:189
185
+ #: templates/job-dashboard.php:33 templates/job-dashboard.php:51
186
  msgid "Edit"
187
  msgstr ""
188
 
189
+ #: includes/admin/class-wp-job-manager-cpt.php:361
190
+ #: templates/job-dashboard.php:56
191
  msgid "Delete"
192
  msgstr ""
193
 
194
  #: includes/admin/class-wp-job-manager-settings.php:42
195
+ #: includes/class-wp-job-manager-post-types.php:185
196
+ #: includes/class-wp-job-manager-post-types.php:252
197
  msgid "Job Listings"
198
  msgstr ""
199
 
700
  msgid "Listing Expiry Date"
701
  msgstr ""
702
 
703
+ #: includes/admin/class-wp-job-manager-writepanels.php:87
704
  msgctxt "Date format placeholder"
705
  msgid "yyyy-mm-dd"
706
  msgstr ""
707
 
708
+ #: includes/admin/class-wp-job-manager-writepanels.php:93
709
  msgid "Posted by"
710
  msgstr ""
711
 
712
+ #: includes/admin/class-wp-job-manager-writepanels.php:125
713
  msgid "%s Data"
714
  msgstr ""
715
 
716
+ #: includes/admin/class-wp-job-manager-writepanels.php:154
717
+ #: includes/admin/class-wp-job-manager-writepanels.php:157
718
+ #: includes/admin/class-wp-job-manager-writepanels.php:160
719
  msgid "Use file"
720
  msgstr ""
721
 
722
+ #: includes/admin/class-wp-job-manager-writepanels.php:154
723
+ #: includes/admin/class-wp-job-manager-writepanels.php:157
724
+ #: includes/admin/class-wp-job-manager-writepanels.php:160
725
  msgid "Upload"
726
  msgstr ""
727
 
728
+ #: includes/admin/class-wp-job-manager-writepanels.php:160
729
  msgid "Add file"
730
  msgstr ""
731
 
732
+ #: includes/admin/class-wp-job-manager-writepanels.php:333
733
  msgid "Guest User"
734
  msgstr ""
735
 
736
+ #: includes/admin/class-wp-job-manager-writepanels.php:335
737
  msgid "Change"
738
  msgstr ""
739
 
740
+ #: includes/admin/class-wp-job-manager-writepanels.php:339
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:69
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:70
776
  msgid "Job categories"
777
  msgstr ""
778
 
779
+ #: includes/class-wp-job-manager-post-types.php:74
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:94
785
+ #: includes/class-wp-job-manager-post-types.php:140
786
+ #: includes/class-wp-job-manager-post-types.php:194
787
  msgid "Search %s"
788
  msgstr ""
789
 
790
+ #: includes/class-wp-job-manager-post-types.php:95
791
+ #: includes/class-wp-job-manager-post-types.php:141
792
+ #: includes/class-wp-job-manager-post-types.php:186
793
  msgid "All %s"
794
  msgstr ""
795
 
796
+ #: includes/class-wp-job-manager-post-types.php:96
797
+ #: includes/class-wp-job-manager-post-types.php:142
798
+ #: includes/class-wp-job-manager-post-types.php:197
799
  msgid "Parent %s"
800
  msgstr ""
801
 
802
+ #: includes/class-wp-job-manager-post-types.php:97
803
+ #: includes/class-wp-job-manager-post-types.php:143
804
  msgid "Parent %s:"
805
  msgstr ""
806
 
807
+ #: includes/class-wp-job-manager-post-types.php:98
808
+ #: includes/class-wp-job-manager-post-types.php:144
809
+ #: includes/class-wp-job-manager-post-types.php:190
810
  msgid "Edit %s"
811
  msgstr ""
812
 
813
+ #: includes/class-wp-job-manager-post-types.php:99
814
+ #: includes/class-wp-job-manager-post-types.php:145
815
  msgid "Update %s"
816
  msgstr ""
817
 
818
+ #: includes/class-wp-job-manager-post-types.php:100
819
+ #: includes/class-wp-job-manager-post-types.php:146
820
  msgid "Add New %s"
821
  msgstr ""
822
 
823
+ #: includes/class-wp-job-manager-post-types.php:101
824
+ #: includes/class-wp-job-manager-post-types.php:147
825
  msgid "New %s Name"
826
  msgstr ""
827
 
828
+ #: includes/class-wp-job-manager-post-types.php:116
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:117
834
  msgid "Job types"
835
  msgstr ""
836
 
837
+ #: includes/class-wp-job-manager-post-types.php:121
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:164
843
  msgid "Job"
844
  msgstr ""
845
 
846
+ #: includes/class-wp-job-manager-post-types.php:165
847
  msgid "Jobs"
848
  msgstr ""
849
 
850
+ #: includes/class-wp-job-manager-post-types.php:168
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:174
856
  msgctxt "Job permalink - resave permalinks after changing this"
857
  msgid "job"
858
  msgstr ""
859
 
860
+ #: includes/class-wp-job-manager-post-types.php:187
861
  msgid "Add New"
862
  msgstr ""
863
 
864
+ #: includes/class-wp-job-manager-post-types.php:188
865
  msgid "Add %s"
866
  msgstr ""
867
 
868
+ #: includes/class-wp-job-manager-post-types.php:191
869
  msgid "New %s"
870
  msgstr ""
871
 
872
+ #: includes/class-wp-job-manager-post-types.php:192
873
+ #: includes/class-wp-job-manager-post-types.php:193
874
  msgid "View %s"
875
  msgstr ""
876
 
877
+ #: includes/class-wp-job-manager-post-types.php:195
878
  msgid "No %s found"
879
  msgstr ""
880
 
881
+ #: includes/class-wp-job-manager-post-types.php:196
882
  msgid "No %s found in trash"
883
  msgstr ""
884
 
885
+ #: includes/class-wp-job-manager-post-types.php:198
886
  msgid "Company Logo"
887
  msgstr ""
888
 
889
+ #: includes/class-wp-job-manager-post-types.php:199
890
  msgid "Set company logo"
891
  msgstr ""
892
 
893
+ #: includes/class-wp-job-manager-post-types.php:200
894
  msgid "Remove company logo"
895
  msgstr ""
896
 
897
+ #: includes/class-wp-job-manager-post-types.php:201
898
  msgid "Use as company logo"
899
  msgstr ""
900
 
901
+ #: includes/class-wp-job-manager-post-types.php:203
902
  msgid "This is where you can create and manage %s."
903
  msgstr ""
904
 
905
+ #: includes/class-wp-job-manager-post-types.php:228
906
+ #: wp-job-manager-functions.php:203
907
  msgctxt "post status"
908
  msgid "Expired"
909
  msgstr ""
910
 
911
+ #: includes/class-wp-job-manager-post-types.php:234
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:237
918
+ #: wp-job-manager-functions.php:204
919
  msgctxt "post status"
920
  msgid "Preview"
921
  msgstr ""
922
 
923
+ #: includes/class-wp-job-manager-post-types.php:242
924
  msgid "Preview <span class=\"count\">(%s)</span>"
925
  msgid_plural "Preview <span class=\"count\">(%s)</span>"
926
  msgstr[0] ""
950
  msgid "%s has been deleted"
951
  msgstr ""
952
 
953
+ #: includes/class-wp-job-manager-shortcodes.php:99
954
+ #: includes/class-wp-job-manager-shortcodes.php:112
955
+ msgid "Missing submission page."
956
+ msgstr ""
957
+
958
+ #: includes/class-wp-job-manager-shortcodes.php:180
959
  #: includes/class-wp-job-manager-widgets.php:155
960
  #: includes/class-wp-job-manager-widgets.php:260
961
  msgid "Title"
962
  msgstr ""
963
 
964
+ #: includes/class-wp-job-manager-shortcodes.php:182
965
  msgid "Date Posted"
966
  msgstr ""
967
 
968
+ #: includes/class-wp-job-manager-shortcodes.php:183
969
  msgid "Listing Expires"
970
  msgstr ""
971
 
972
+ #: includes/class-wp-job-manager-shortcodes.php:278
973
+ #: includes/class-wp-job-manager-shortcodes.php:312
974
  msgid "Load more listings"
975
  msgstr ""
976
 
1025
  msgstr ""
1026
 
1027
  #: includes/forms/class-wp-job-manager-form-submit-job.php:39
1028
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:382
1029
  #: templates/job-preview.php:5
1030
  msgid "Preview"
1031
  msgstr ""
1122
  msgstr ""
1123
 
1124
  #: includes/forms/class-wp-job-manager-form-submit-job.php:264
1125
+ #: wp-job-manager-functions.php:708
1126
  msgid "\"%s\" (filetype %s) needs to be one of the following file types: %s"
1127
  msgstr ""
1128
 
1138
  msgid "Please enter a valid application email address or URL"
1139
  msgstr ""
1140
 
1141
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:413
1142
  msgid "Please enter a username."
1143
  msgstr ""
1144
 
1145
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:416
1146
  msgid "Please enter your email address."
1147
  msgstr ""
1148
 
1149
+ #: includes/forms/class-wp-job-manager-form-submit-job.php:434
1150
  msgid "You must be signed in to post a new listing."
1151
  msgstr ""
1152
 
1190
  msgstr ""
1191
 
1192
  #: templates/account-signin.php:40 templates/account-signin.php:47
1193
+ #: templates/job-submit.php:26 templates/job-submit.php:43
1194
  msgid "(optional)"
1195
  msgstr ""
1196
 
1232
  msgstr ""
1233
 
1234
  #: templates/form-fields/multiselect-field.php:3
1235
+ #: wp-job-manager-functions.php:539
1236
  msgid "No results match"
1237
  msgstr ""
1238
 
1239
  #: templates/form-fields/multiselect-field.php:3
1240
+ #: wp-job-manager-functions.php:540
1241
  msgid "Select Some Options"
1242
  msgstr ""
1243
 
1284
  msgid "Mark filled"
1285
  msgstr ""
1286
 
1287
+ #: templates/job-dashboard.php:41
1288
+ msgid "Duplicate"
1289
+ msgstr ""
1290
+
1291
+ #: templates/job-dashboard.php:45
1292
  msgid "Relist"
1293
  msgstr ""
1294
 
1318
  msgid "Edit listing"
1319
  msgstr ""
1320
 
1321
+ #: templates/job-submit.php:37
1322
  msgid "Company Details"
1323
  msgstr ""
1324
 
1331
  msgid "%s submitted successfully. Your listing will be visible once approved."
1332
  msgstr ""
1333
 
1334
+ #: wp-job-manager-functions.php:202
1335
  msgctxt "post status"
1336
  msgid "Draft"
1337
  msgstr ""
1338
 
1339
+ #: wp-job-manager-functions.php:205
1340
  msgctxt "post status"
1341
  msgid "Pending approval"
1342
  msgstr ""
1343
 
1344
+ #: wp-job-manager-functions.php:206
1345
  msgctxt "post status"
1346
  msgid "Pending payment"
1347
  msgstr ""
1348
 
1349
+ #: wp-job-manager-functions.php:207
1350
  msgctxt "post status"
1351
  msgid "Active"
1352
  msgstr ""
1353
 
1354
+ #: wp-job-manager-functions.php:292
1355
  msgid "Reset"
1356
  msgstr ""
1357
 
1358
+ #: wp-job-manager-functions.php:296
1359
  msgid "RSS"
1360
  msgstr ""
1361
 
1362
+ #: wp-job-manager-functions.php:383
1363
  msgid "Invalid email address."
1364
  msgstr ""
1365
 
1366
+ #: wp-job-manager-functions.php:391
1367
  msgid "Your email address isn&#8217;t correct."
1368
  msgstr ""
1369
 
1370
+ #: wp-job-manager-functions.php:395
1371
  msgid "This email is already registered, please choose another one."
1372
  msgstr ""
1373
 
1374
+ #: wp-job-manager-functions.php:538
1375
  msgid "Choose a category&hellip;"
1376
  msgstr ""
1377
 
1378
+ #: wp-job-manager-functions.php:710
1379
  msgid "Uploaded files need to be one of the following file types: %s"
1380
  msgstr ""
1381
 
1391
  msgid "Anywhere"
1392
  msgstr ""
1393
 
1394
+ #: wp-job-manager.php:119
1395
+ msgid "Load previous listings"
1396
  msgstr ""
1397
 
1398
+ #: wp-job-manager.php:156
1399
+ msgid "Invalid file type. Accepted types:"
1400
  msgstr ""
1401
 
1402
+ #: wp-job-manager.php:167
1403
  msgid "Are you sure you want to delete this listing?"
1404
  msgstr ""
1405
 
1407
  msgid "WP Job Manager"
1408
  msgstr ""
1409
 
1410
+ #. #-#-#-#-# WP-Job-Manager.pot (WP Job Manager 1.25.0) #-#-#-#-#
1411
  #. Plugin URI of the plugin/theme
1412
+ #. #-#-#-#-# WP-Job-Manager.pot (WP Job Manager 1.25.0) #-#-#-#-#
1413
  #. Author URI of the plugin/theme
1414
  msgid "https://wpjobmanager.com/"
1415
  msgstr ""
readme.txt CHANGED
@@ -1,9 +1,9 @@
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,7 +62,7 @@ You can get the above add-ons and several others at discount with our [Core Add-
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
 
@@ -80,7 +80,7 @@ If you want help with a customisation, please consider hiring a developer! [http
80
 
81
  Automatic installation is the easiest option as WordPress handles the file transfers itself and you don't even need to leave your web browser. To do an automatic install, log in to your WordPress admin panel, navigate to the Plugins menu and click Add New.
82
 
83
- In the search field type "WP Job Manager" and click Search Plugins. Once you've found the plugin you can view details about it such as the the point release, rating and description. Most importantly of course, you can install it by clicking _Install Now_.
84
 
85
  = Manual installation =
86
 
@@ -141,6 +141,16 @@ You can view (and contribute) translations via the [translate.wordpress.org](htt
141
 
142
  == Changelog ==
143
 
 
 
 
 
 
 
 
 
 
 
144
  = 1.24.0 =
145
  * Feature - Use featured images to store company logos.
146
  * Feature - Search term names for keywords.
1
  === WP Job Manager ===
2
+ Contributors: mikejolley, automattic, adamkheckler, chaselivingston, csonnek, jacobshere, jeherve, jenhooks, kraftbj, lschuyler, macmanx, nancythanki, ryancowles, richardmtl, drawmyface, davor.altman, lamdayap
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.25.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/Automattic/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
 
80
 
81
  Automatic installation is the easiest option as WordPress handles the file transfers itself and you don't even need to leave your web browser. To do an automatic install, log in to your WordPress admin panel, navigate to the Plugins menu and click Add New.
82
 
83
+ In the search field type "WP Job Manager" and click Search Plugins. Once you've found the plugin you can view details about it such as the point release, rating and description. Most importantly of course, you can install it by clicking _Install Now_.
84
 
85
  = Manual installation =
86
 
141
 
142
  == Changelog ==
143
 
144
+ = 1.25.0 =
145
+ * Feature - Ability to duplicate listings from job dashboard.
146
+ * Fix - Support WP_EMBED in job descriptions.
147
+ * Fix - Ensure logo is displayed on edit, before submission.
148
+ * Fix - Attachment URLs on multisite.
149
+ * Fix - Refactored WPML workaround, which was causing no job listings on non-default languages. (https://github.com/Automattic/WP-Job-Manager/issues/617)
150
+ * Fix - No need to decode URLs anymore https://core.trac.wordpress.org/ticket/23605.
151
+ * Dev - submit_job_form_end/submit_job_form_start actions.
152
+ * Dev - job-manager-datepicker class for backend date fields.
153
+
154
  = 1.24.0 =
155
  * Feature - Use featured images to store company logos.
156
  * Feature - Search term names for keywords.
templates/job-dashboard.php CHANGED
@@ -37,6 +37,8 @@
37
  } else {
38
  $actions['mark_filled'] = array( 'label' => __( 'Mark filled', 'wp-job-manager' ), 'nonce' => true );
39
  }
 
 
40
  break;
41
  case 'expired' :
42
  if ( job_manager_get_permalink( 'submit_job_form' ) ) {
37
  } else {
38
  $actions['mark_filled'] = array( 'label' => __( 'Mark filled', 'wp-job-manager' ), 'nonce' => true );
39
  }
40
+
41
+ $actions['duplicate'] = array( 'label' => __( 'Duplicate', 'wp-job-manager' ), 'nonce' => true );
42
  break;
43
  case 'expired' :
44
  if ( job_manager_get_permalink( 'submit_job_form' ) ) {
templates/job-submit.php CHANGED
@@ -8,6 +8,8 @@ global $job_manager;
8
  ?>
9
  <form action="<?php echo esc_url( $action ); ?>" method="post" id="submit-job-form" class="job-manager-form" enctype="multipart/form-data">
10
 
 
 
11
  <?php if ( apply_filters( 'submit_job_form_show_signin', true ) ) : ?>
12
 
13
  <?php get_job_manager_template( 'account-signin.php' ); ?>
@@ -48,6 +50,8 @@ global $job_manager;
48
  <?php do_action( 'submit_job_form_company_fields_end' ); ?>
49
  <?php endif; ?>
50
 
 
 
51
  <p>
52
  <input type="hidden" name="job_manager_form" value="<?php echo $form; ?>" />
53
  <input type="hidden" name="job_id" value="<?php echo esc_attr( $job_id ); ?>" />
8
  ?>
9
  <form action="<?php echo esc_url( $action ); ?>" method="post" id="submit-job-form" class="job-manager-form" enctype="multipart/form-data">
10
 
11
+ <?php do_action( 'submit_job_form_start' ); ?>
12
+
13
  <?php if ( apply_filters( 'submit_job_form_show_signin', true ) ) : ?>
14
 
15
  <?php get_job_manager_template( 'account-signin.php' ); ?>
50
  <?php do_action( 'submit_job_form_company_fields_end' ); ?>
51
  <?php endif; ?>
52
 
53
+ <?php do_action( 'submit_job_form_end' ); ?>
54
+
55
  <p>
56
  <input type="hidden" name="job_manager_form" value="<?php echo $form; ?>" />
57
  <input type="hidden" name="job_id" value="<?php echo esc_attr( $job_id ); ?>" />
wp-job-manager-functions.php CHANGED
@@ -39,6 +39,11 @@ function get_job_listings( $args = array() ) {
39
  'fields' => $args['fields']
40
  );
41
 
 
 
 
 
 
42
  if ( $args['posts_per_page'] < 0 ) {
43
  $query_args['no_found_rows'] = true;
44
  }
@@ -628,7 +633,7 @@ function job_manager_upload_dir( $pathdata ) {
628
  global $job_manager_upload, $job_manager_uploading_file;
629
 
630
  if ( ! empty( $job_manager_upload ) ) {
631
- $dir = apply_filters( 'job_manager_upload_dir', 'job-manager-uploads/' . sanitize_key( $job_manager_uploading_file ), sanitize_key( $job_manager_uploading_file ) );
632
 
633
  if ( empty( $pathdata['subdir'] ) ) {
634
  $pathdata['path'] = $pathdata['path'] . '/' . $dir;
@@ -638,7 +643,7 @@ function job_manager_upload_dir( $pathdata ) {
638
  $new_subdir = '/' . $dir . $pathdata['subdir'];
639
  $pathdata['path'] = str_replace( $pathdata['subdir'], $new_subdir, $pathdata['path'] );
640
  $pathdata['url'] = str_replace( $pathdata['subdir'], $new_subdir, $pathdata['url'] );
641
- $pathdata['subdir'] = str_replace( $pathdata['subdir'], $new_subdir, $pathdata['subdir'] );
642
  }
643
  }
644
 
@@ -746,14 +751,63 @@ function calculate_job_expiry( $job_id ) {
746
  }
747
 
748
  /**
749
- * Set the current language of the ajax request
750
- * @param string $lang
751
- * @return string
752
  */
753
- function job_manager_set_ajax_language( $lang ) {
754
- if ( ( strstr( $_SERVER['REQUEST_URI'], '/jm-ajax/' ) || ! empty( $_GET['jm-ajax'] ) ) && isset( $_POST['lang'] ) ) {
755
- $lang = sanitize_text_field( $_POST['lang'] );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
756
  }
757
- return $lang;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
758
  }
759
- add_filter( 'icl_current_language', 'job_manager_set_ajax_language' );
39
  'fields' => $args['fields']
40
  );
41
 
42
+ // WPML workaround
43
+ if ( ( strstr( $_SERVER['REQUEST_URI'], '/jm-ajax/' ) || ! empty( $_GET['jm-ajax'] ) ) && isset( $_POST['lang'] ) ) {
44
+ do_action( 'wpml_switch_language', sanitize_text_field( $_POST['lang'] ) );
45
+ }
46
+
47
  if ( $args['posts_per_page'] < 0 ) {
48
  $query_args['no_found_rows'] = true;
49
  }
633
  global $job_manager_upload, $job_manager_uploading_file;
634
 
635
  if ( ! empty( $job_manager_upload ) ) {
636
+ $dir = untrailingslashit( apply_filters( 'job_manager_upload_dir', 'job-manager-uploads/' . sanitize_key( $job_manager_uploading_file ), sanitize_key( $job_manager_uploading_file ) ) );
637
 
638
  if ( empty( $pathdata['subdir'] ) ) {
639
  $pathdata['path'] = $pathdata['path'] . '/' . $dir;
643
  $new_subdir = '/' . $dir . $pathdata['subdir'];
644
  $pathdata['path'] = str_replace( $pathdata['subdir'], $new_subdir, $pathdata['path'] );
645
  $pathdata['url'] = str_replace( $pathdata['subdir'], $new_subdir, $pathdata['url'] );
646
+ $pathdata['subdir'] = $new_subdir;
647
  }
648
  }
649
 
751
  }
752
 
753
  /**
754
+ * Duplicate a listing.
755
+ * @param int $post_id
756
+ * @return int 0 on fail or the post ID.
757
  */
758
+ function job_manager_duplicate_listing( $post_id ) {
759
+ if ( empty( $post_id ) || ! ( $post = get_post( $post_id ) ) ) {
760
+ return 0;
761
+ }
762
+
763
+ global $wpdb;
764
+
765
+ /**
766
+ * Duplicate the post.
767
+ */
768
+ $new_post_id = wp_insert_post( array(
769
+ 'comment_status' => $post->comment_status,
770
+ 'ping_status' => $post->ping_status,
771
+ 'post_author' => $post->post_author,
772
+ 'post_content' => $post->post_content,
773
+ 'post_excerpt' => $post->post_excerpt,
774
+ 'post_name' => $post->post_name,
775
+ 'post_parent' => $post->post_parent,
776
+ 'post_password' => $post->post_password,
777
+ 'post_status' => 'preview',
778
+ 'post_title' => $post->post_title,
779
+ 'post_type' => $post->post_type,
780
+ 'to_ping' => $post->to_ping,
781
+ 'menu_order' => $post->menu_order
782
+ ) );
783
+
784
+ /**
785
+ * Copy taxonomies.
786
+ */
787
+ $taxonomies = get_object_taxonomies( $post->post_type );
788
+
789
+ foreach ( $taxonomies as $taxonomy ) {
790
+ $post_terms = wp_get_object_terms( $post_id, $taxonomy, array( 'fields' => 'slugs' ) );
791
+ wp_set_object_terms( $new_post_id, $post_terms, $taxonomy, false );
792
  }
793
+
794
+ /*
795
+ * Duplicate post meta, aside from some reserved fields.
796
+ */
797
+ $post_meta = $wpdb->get_results( $wpdb->prepare( "SELECT meta_key, meta_value FROM {$wpdb->postmeta} WHERE post_id=%d", $post_id ) );
798
+
799
+ if ( ! empty( $post_meta ) ) {
800
+ $post_meta = wp_list_pluck( $post_meta, 'meta_value', 'meta_key' );
801
+ foreach ( $post_meta as $meta_key => $meta_value ) {
802
+ if ( in_array( $meta_key, apply_filters( 'job_manager_duplicate_listing_ignore_keys', array( '_filled', '_featured', '_job_expires', '_job_duration', '_package_id', '_user_package_id' ) ) ) ) {
803
+ continue;
804
+ }
805
+ update_post_meta( $new_post_id, $meta_key, $meta_value );
806
+ }
807
+ }
808
+
809
+ update_post_meta( $new_post_id, '_filled', 0 );
810
+ update_post_meta( $new_post_id, '_featured', 0 );
811
+
812
+ return $new_post_id;
813
  }
 
wp-job-manager-template.php CHANGED
@@ -311,7 +311,7 @@ function get_the_job_location( $post = 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 ) ) . '" />';
311
  * @return void
312
  */
313
  function the_company_logo( $size = 'thumbnail', $default = null, $post = null ) {
314
+ $logo = get_the_company_logo( $post, $size );
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 ) ) . '" />';
wp-job-manager.php CHANGED
@@ -3,7 +3,7 @@
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
@@ -26,7 +26,7 @@ class WP_Job_Manager {
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
 
@@ -113,6 +113,16 @@ class WP_Job_Manager {
113
  public function frontend_scripts() {
114
  $ajax_url = WP_Job_Manager_Ajax::get_endpoint();
115
  $ajax_filter_deps = array( 'jquery', 'jquery-deserialize' );
 
 
 
 
 
 
 
 
 
 
116
 
117
  if ( apply_filters( 'job_manager_chosen_enabled', true ) ) {
118
  wp_register_script( 'chosen', JOB_MANAGER_PLUGIN_URL . '/assets/js/jquery-chosen/chosen.jquery.min.js', array( 'jquery' ), '1.1.0', true );
@@ -152,12 +162,7 @@ class WP_Job_Manager {
152
  wp_register_script( 'wp-job-manager-job-dashboard', JOB_MANAGER_PLUGIN_URL . '/assets/js/job-dashboard.min.js', array( 'jquery' ), JOB_MANAGER_VERSION, true );
153
  wp_register_script( 'wp-job-manager-job-application', JOB_MANAGER_PLUGIN_URL . '/assets/js/job-application.min.js', array( 'jquery' ), JOB_MANAGER_VERSION, true );
154
  wp_register_script( 'wp-job-manager-job-submission', JOB_MANAGER_PLUGIN_URL . '/assets/js/job-submission.min.js', array( 'jquery' ), JOB_MANAGER_VERSION, true );
155
- wp_localize_script( 'wp-job-manager-ajax-filters', 'job_manager_ajax_filters', array(
156
- 'ajax_url' => $ajax_url,
157
- 'is_rtl' => is_rtl() ? 1 : 0,
158
- 'lang' => defined( 'ICL_LANGUAGE_CODE' ) ? ICL_LANGUAGE_CODE : '', // WPML workaround until this is standardized
159
- 'i18n_load_prev_listings' => __( 'Load previous listings', 'wp-job-manager' )
160
- ) );
161
  wp_localize_script( 'wp-job-manager-job-dashboard', 'job_manager_job_dashboard', array(
162
  'i18n_confirm_delete' => __( 'Are you sure you want to delete this listing?', 'wp-job-manager' )
163
  ) );
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.25.0
7
  * Author: Automattic
8
  * Author URI: https://wpjobmanager.com/
9
  * Requires at least: 4.1
26
  */
27
  public function __construct() {
28
  // Define constants
29
+ define( 'JOB_MANAGER_VERSION', '1.25.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
 
113
  public function frontend_scripts() {
114
  $ajax_url = WP_Job_Manager_Ajax::get_endpoint();
115
  $ajax_filter_deps = array( 'jquery', 'jquery-deserialize' );
116
+ $ajax_data = array(
117
+ 'ajax_url' => $ajax_url,
118
+ 'is_rtl' => is_rtl() ? 1 : 0,
119
+ 'i18n_load_prev_listings' => __( 'Load previous listings', 'wp-job-manager' ),
120
+ );
121
+
122
+ // WPML workaround
123
+ if ( defined( 'ICL_SITEPRESS_VERSION' ) ) {
124
+ $ajax_data['lang'] = apply_filters( 'wpml_current_language', NULL );
125
+ }
126
 
127
  if ( apply_filters( 'job_manager_chosen_enabled', true ) ) {
128
  wp_register_script( 'chosen', JOB_MANAGER_PLUGIN_URL . '/assets/js/jquery-chosen/chosen.jquery.min.js', array( 'jquery' ), '1.1.0', true );
162
  wp_register_script( 'wp-job-manager-job-dashboard', JOB_MANAGER_PLUGIN_URL . '/assets/js/job-dashboard.min.js', array( 'jquery' ), JOB_MANAGER_VERSION, true );
163
  wp_register_script( 'wp-job-manager-job-application', JOB_MANAGER_PLUGIN_URL . '/assets/js/job-application.min.js', array( 'jquery' ), JOB_MANAGER_VERSION, true );
164
  wp_register_script( 'wp-job-manager-job-submission', JOB_MANAGER_PLUGIN_URL . '/assets/js/job-submission.min.js', array( 'jquery' ), JOB_MANAGER_VERSION, true );
165
+ wp_localize_script( 'wp-job-manager-ajax-filters', 'job_manager_ajax_filters', $ajax_data );
 
 
 
 
 
166
  wp_localize_script( 'wp-job-manager-job-dashboard', 'job_manager_job_dashboard', array(
167
  'i18n_confirm_delete' => __( 'Are you sure you want to delete this listing?', 'wp-job-manager' )
168
  ) );