WP Job Manager - Version 1.1.0

Version Description

  • Tweaked css clearfixes
  • Use built in antispambot for encoding email.
  • job_manager_job_filters_showing_jobs_links filter
  • IE8 Apply filters JS fix
  • Fix spanish locale
  • Fixed strict standards errors
  • Improve 2013 Styles
  • Addons page. Disabled usings add_filter( 'job_manager_show_addons_page', '__return_false' );
Download this release

Release Info

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

Code changes from version 1.0.5 to 1.1.0

assets/css/admin.css CHANGED
@@ -1 +1 @@
1
- .clearfix{zoom:1}.clearfix:before,.clearfix:after{content:"";display:table}.clearfix:after{clear:both}.clear{clear:both}.nobr{white-space:nowrap}.widefat .column-filled{text-align:center}.widefat .column-company{width:25%}.widefat td.column-company{padding-left:50px!important;height:40px;position:relative}.widefat td.column-company img{width:32px;height:32px;position:absolute;left:7px;top:4px;-webkit-border-radius:50%;border-radius:50%;box-shadow:0 1px 0 1px rgba(0,0,0,0.1);-webkit-box-shadow:0 1px 0 1px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 0 1px rgba(0,0,0,0.1);border:1px solid #fff}.widefat td.column-company strong{display:block;margin-bottom:.2em}.widefat td.column-company .tagline{display:block;padding-top:2px;color:#bbb}.widefat td.column-company a.company_twitter{float:right;margin-left:1em}.widefat .column-job_posted strong{display:block;margin-bottom:.2em}.widefat .column-job_posted span{display:block;padding-top:2px}.widefat .column-job_listing_type{text-align:center;width:6em;word-wrap:normal!important}.widefat .column-job_listing_type .job-type{color:#fff;padding:4px 0 3px;line-height:1em;font-size:11px;font-weight:bold;-webkit-border-radius:2px;border-radius:2px;text-shadow:0 1px 0 rgba(0,0,0,0.2);display:block;background-color:#f08d3c;border-bottom:2px solid #e77212}.widefat .column-job_listing_type .full-time{background-color:#90da36;border-bottom:2px solid #76bb22}.widefat .column-job_listing_type .part-time{background-color:#f08d3c;border-bottom:2px solid #e77212}.widefat .column-job_listing_type .temporary{background-color:#d93674;border-bottom:2px solid #b9235c}.widefat .column-job_listing_type .freelance{background-color:#39c;border-bottom:2px solid #297aa3}.widefat .column-job_listing_type .internship{background-color:#6033cc;border-bottom:2px solid #4d29a3}.widefat .column-position{width:20%}.widefat .column-position strong{display:block;margin-bottom:.2em}.widefat .column-position .location{display:block;padding-top:2px;color:#bbb}.widefat .column-job_actions{width:120px;text-align:right}.widefat .column-job_actions a.button{display:inline-block;margin:0 0 2px 4px;cursor:pointer;padding:3px 4px;height:auto}.widefat .column-job_actions a.button img{display:block;width:12px;height:auto}.wp_job_manager_meta_data p{overflow:hidden;margin:0 0 1em;padding:0 0 0 20%;position:relative;line-height:2em}.wp_job_manager_meta_data label{width:20%;position:absolute;left:0;vertical-align:middle}.wp_job_manager_meta_data input{width:50%;margin:1px 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;vertical-align:middle}.wp_job_manager_meta_data input.checkbox{width:auto;margin:4px 2px}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{padding-bottom:5px}#tiptip_holder.tip_bottom{padding-top:5px}#tiptip_holder.tip_right{padding-left:5px}#tiptip_holder.tip_left{padding-right:5px}#tiptip_content{font-size:11px;color:#fff;padding:4px 8px;background:#464646;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;box-shadow:1px 1px 3px rgba(0,0,0,0.1);-webkit-box-shadow:1px 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:1px 1px 3px rgba(0,0,0,0.1);text-align:center}#tiptip_content code{background:#999;padding:1px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#464646}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#464646}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#464646}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#464646}
1
+ .clearfix{zoom:1}.clearfix:before,.clearfix:after{content:"";display:table}.clearfix:after{clear:both}.clear{clear:both}.nobr{white-space:nowrap}.widefat .column-filled{text-align:center}.widefat .column-company{width:25%}.widefat td.column-company{padding-left:50px!important;height:40px;position:relative}.widefat td.column-company img{width:32px;height:32px;position:absolute;left:7px;top:4px;-webkit-border-radius:50%;border-radius:50%;box-shadow:0 1px 0 1px rgba(0,0,0,0.1);-webkit-box-shadow:0 1px 0 1px rgba(0,0,0,0.1);-moz-box-shadow:0 1px 0 1px rgba(0,0,0,0.1);border:1px solid #fff}.widefat td.column-company strong{display:block;margin-bottom:.2em}.widefat td.column-company .tagline{display:block;padding-top:2px;color:#bbb}.widefat td.column-company a.company_twitter{float:right;margin-left:1em}.widefat .column-job_posted strong{display:block;margin-bottom:.2em}.widefat .column-job_posted span{display:block;padding-top:2px}.widefat .column-job_listing_type{text-align:center;width:6em;word-wrap:normal!important}.widefat .column-job_listing_type .job-type{color:#fff;padding:4px 0 3px;line-height:1em;font-size:11px;font-weight:bold;-webkit-border-radius:2px;border-radius:2px;text-shadow:0 1px 0 rgba(0,0,0,0.2);display:block;background-color:#f08d3c;border-bottom:2px solid #e77212}.widefat .column-job_listing_type .full-time{background-color:#90da36;border-bottom:2px solid #76bb22}.widefat .column-job_listing_type .part-time{background-color:#f08d3c;border-bottom:2px solid #e77212}.widefat .column-job_listing_type .temporary{background-color:#d93674;border-bottom:2px solid #b9235c}.widefat .column-job_listing_type .freelance{background-color:#39c;border-bottom:2px solid #297aa3}.widefat .column-job_listing_type .internship{background-color:#6033cc;border-bottom:2px solid #4d29a3}.widefat .column-position{width:20%}.widefat .column-position strong{display:block;margin-bottom:.2em}.widefat .column-position .location{display:block;padding-top:2px;color:#bbb}.widefat .column-job_actions{width:120px;text-align:right}.widefat .column-job_actions a.button{display:inline-block;margin:0 0 2px 4px;cursor:pointer;padding:3px 4px;height:auto}.widefat .column-job_actions a.button img{display:block;width:12px;height:auto}.wp_job_manager_meta_data p{overflow:hidden;margin:0 0 1em;padding:0 0 0 20%;position:relative;line-height:2em}.wp_job_manager_meta_data label{width:20%;position:absolute;left:0;vertical-align:middle}.wp_job_manager_meta_data input{width:50%;margin:1px 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;vertical-align:middle}.wp_job_manager_meta_data input.checkbox{width:auto;margin:4px 2px}#tiptip_holder{display:none;position:absolute;top:0;left:0;z-index:99999}#tiptip_holder.tip_top{padding-bottom:5px}#tiptip_holder.tip_bottom{padding-top:5px}#tiptip_holder.tip_right{padding-left:5px}#tiptip_holder.tip_left{padding-right:5px}#tiptip_content{font-size:11px;color:#fff;padding:4px 8px;background:#464646;border-radius:3px;-webkit-border-radius:3px;-moz-border-radius:3px;box-shadow:1px 1px 3px rgba(0,0,0,0.1);-webkit-box-shadow:1px 1px 3px rgba(0,0,0,0.1);-moz-box-shadow:1px 1px 3px rgba(0,0,0,0.1);text-align:center}#tiptip_content code{background:#999;padding:1px}#tiptip_arrow,#tiptip_arrow_inner{position:absolute;border-color:transparent;border-style:solid;border-width:6px;height:0;width:0}#tiptip_holder.tip_top #tiptip_arrow_inner{margin-top:-7px;margin-left:-6px;border-top-color:#464646}#tiptip_holder.tip_bottom #tiptip_arrow_inner{margin-top:-5px;margin-left:-6px;border-bottom-color:#464646}#tiptip_holder.tip_right #tiptip_arrow_inner{margin-top:-6px;margin-left:-5px;border-right-color:#464646}#tiptip_holder.tip_left #tiptip_arrow_inner{margin-top:-6px;margin-left:-7px;border-left-color:#464646}.wp_job_manager_addons_wrap .items{overflow:hidden}.wp_job_manager_addons_wrap .items li{display:inline-block;margin:0 10px 10px 0!important;padding:0;vertical-align:top;width:250px;border:1px solid #ddd;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),inset 0 -1px 0 rgba(0,0,0,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.2),inset 0 -1px 0 rgba(0,0,0,0.1);overflow:hidden;position:relative}.wp_job_manager_addons_wrap .items li a{color:inherit;text-decoration:none}.wp_job_manager_addons_wrap .items li img{max-width:100%;height:auto;display:block;margin:0;background:#fff}.wp_job_manager_addons_wrap .items li h2{margin:0!important;padding:10px 20px!important;line-height:1;background:rgba(255,255,255,0.3);position:absolute;max-width:280px;top:20px;left:0;font-size:18px;text-shadow:none}.wp_job_manager_addons_wrap .items li .third_party{display:none}.wp_job_manager_addons_wrap .items li p{padding:20px!important;margin:0!important;border-top:1px solid #f1f1f1}.wp_job_manager_addons_wrap .items li .cost{display:none}
assets/css/admin.less CHANGED
@@ -206,4 +206,61 @@
206
  margin-top: -6px;
207
  margin-left: -7px;
208
  border-left-color: #464646;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
209
  }
206
  margin-top: -6px;
207
  margin-left: -7px;
208
  border-left-color: #464646;
209
+ }
210
+
211
+ /* Addons */
212
+ .wp_job_manager_addons_wrap {
213
+ .items {
214
+ overflow: hidden;
215
+ li {
216
+ display: inline-block;
217
+ margin: 0 10px 10px 0 !important;
218
+ padding: 0;
219
+ vertical-align: top;
220
+ width: 250px;
221
+ border: 1px solid #ddd;
222
+ -webkit-box-shadow:
223
+ inset 0 1px 0 rgba(255,255,255,0.2),
224
+ inset 0 -1px 0 rgba(0,0,0,0.1);
225
+ box-shadow:
226
+ inset 0 1px 0 rgba(255,255,255,0.2),
227
+ inset 0 -1px 0 rgba(0,0,0,0.1);
228
+ overflow: hidden;
229
+ position: relative;
230
+ a {
231
+ color: inherit;
232
+ text-decoration: none;
233
+ }
234
+ img {
235
+ max-width: 100%;
236
+ height: auto;
237
+ display: block;
238
+ margin: 0;
239
+ background: #fff;
240
+ }
241
+ h2 {
242
+ margin: 0 !important;
243
+ padding: 10px 20px !important;
244
+ line-height: 1;
245
+ background: rgba(255,255,255,0.3);
246
+ position: absolute;
247
+ max-width: 280px;
248
+ top: 20px;
249
+ left: 0;
250
+ font-size: 18px;
251
+ text-shadow: none;
252
+ }
253
+ .third_party {
254
+ display: none;
255
+ }
256
+ p {
257
+ padding: 20px !important;
258
+ margin: 0 !important;
259
+ border-top: 1px solid #f1f1f1;
260
+ }
261
+ .cost {
262
+ display: none;
263
+ }
264
+ }
265
+ }
266
  }
assets/css/frontend.css CHANGED
@@ -1 +1 @@
1
- .clearfix{zoom:1}.clearfix:before,.clearfix:after{content:"";display:table}.clearfix:after{clear:both}.clear{clear:both}.nobr{white-space:nowrap}@font-face{font-family:'Genericons';src:url('../font/genericons-regular-webfont.eot');src:url('../font/genericons-regular-webfont.eot?#iefix') format('embedded-opentype'),url('../font/genericons-regular-webfont.woff') format('woff'),url('../font/genericons-regular-webfont.ttf') format('truetype'),url('../font/genericons-regular-webfont.svg#genericonsregular') format('svg');font-weight:normal;font-style:normal}.display-icon{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline}.job-manager-message,.job-manager-error,.job-manager-info{padding:1em 1em 1em 3.5em;margin:0 0 2em;position:relative;-webkit-border-radius:4px;border-radius:4px;background:#fff;background:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#fff));background:-webkit-linear-gradient(#fff,#fff);background:-moz-linear-gradient(center top,#fff 0,#fff 100%);background:-moz-gradient(center top,#fff 0,#fff 100%);color:#666;text-shadow:0 1px 0 #fff;list-style:none outside;zoom:1;width:auto;-webkit-box-shadow:inset 0 -2px 6px rgba(0,0,0,0.05),inset 0 -2px 30px rgba(0,0,0,0.015),inset 0 1px 0 #fff,0 1px 2px rgba(0,0,0,0.3);box-shadow:inset 0 -2px 6px rgba(0,0,0,0.05),inset 0 -2px 30px rgba(0,0,0,0.015),inset 0 1px 0 #fff,0 1px 2px rgba(0,0,0,0.3)}.job-manager-message:before,.job-manager-error:before,.job-manager-info:before,.job-manager-message:after,.job-manager-error:after,.job-manager-info:after{content:"";display:table}.job-manager-message:after,.job-manager-error:after,.job-manager-info:after{clear:both}.job-manager-message:before,.job-manager-error:before,.job-manager-info:before{content:"";height:1.5em;width:1.5em;display:block;position:absolute;top:0;left:1em;font-family:sans-serif;font-size:1em;line-height:1.5;text-align:center;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,0.2);padding-top:1em;-webkit-border-bottom-left-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-right-radius:4px;box-shadow:inset 0 -1px 0 0 rgba(0,0,0,0.1);-webkit-box-shadow:inset 0 -1px 0 0 rgba(0,0,0,0.1);-moz-box-shadow:inset 0 -1px 0 0 rgba(0,0,0,0.1)}.job-manager-message li,.job-manager-error li,.job-manager-info li{list-style:none outside;padding-left:0;margin-left:0}.job-manager-message.job-manager-message,.job-manager-error.job-manager-message,.job-manager-info.job-manager-message{border-top:3px solid #8fae1b}.job-manager-message.job-manager-message:before,.job-manager-error.job-manager-message:before,.job-manager-info.job-manager-message:before{background-color:#8fae1b;content:"\2713"}.job-manager-message.job-manager-info,.job-manager-error.job-manager-info,.job-manager-info.job-manager-info{border-top:3px solid #1e85be}.job-manager-message.job-manager-info:before,.job-manager-error.job-manager-info:before,.job-manager-info.job-manager-info:before{background-color:#1e85be;content:"i";font-family:Times,Georgia,serif;font-style:italic}.job-manager-message.job-manager-error,.job-manager-error.job-manager-error,.job-manager-info.job-manager-error{border-top:3px solid #b81c23}.job-manager-message.job-manager-error:before,.job-manager-error.job-manager-error:before,.job-manager-info.job-manager-error:before{background-color:#b81c23;content:"\00d7";font-weight:700}.job-manager-form fieldset{margin:0 0 1em 0;padding:0 0 1em 0;line-height:2em;border-bottom:1px solid #eee;overflow:hidden}.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 .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:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f427'}.job-manager-form fieldset abbr.required{color:red;font-weight:bold;border:0}.job-manager-form fieldset input.input-text,.job-manager-form fieldset textarea,.job-manager-form fieldset select{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 0;display:block;line-height:1.2em}.job-manager-form fieldset .uploaded_image{line-height:64px;font-style:italic;margin:0 0 1em 0}.job-manager-form fieldset .uploaded_image img{height:64px;vertical-align:middle;margin:0 1em 0 0}.job-manager-form .submit-job{padding:1em 0}div.job_listings{margin-bottom:1em}ul.job_listings{padding:0;margin:0!important;border-top:1px solid #eee}ul.job_listings.loading{background:url(../images/ajax-loader.gif) no-repeat center}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}ul.job_listings li.job_listing.job_position_filled a,ul.job_listings li.no_job_listings_found.job_position_filled a{opacity:.25}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}ul.job_listings li.job_listing a,ul.job_listings li.no_job_listings_found a{display:block;padding:1em 1em 1em 2em;overflow:hidden;zoom:1;position:relative;line-height:3em;font-size:1em;text-decoration:none}ul.job_listings li.job_listing a:hover,ul.job_listings li.no_job_listings_found a:hover,ul.job_listings li.job_listing a:focus,ul.job_listings li.no_job_listings_found a:focus{background-color:#fcfcfc}ul.job_listings li.job_listing a img,ul.job_listings li.no_job_listings_found a img{width:42px;height:42px;position:absolute;left:1em;float:left;margin-right:1em;vertical-align:middle;box-shadow:none}ul.job_listings li.job_listing a div.position,ul.job_listings li.no_job_listings_found a div.position,ul.job_listings li.job_listing a div.location,ul.job_listings li.no_job_listings_found a div.location,ul.job_listings li.job_listing a ul.meta,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}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 0 0 42px;line-height:1.5em}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;font-size:1em;line-height:1.5em}ul.job_listings li.job_listing a div.position .company,ul.job_listings li.no_job_listings_found a div.position .company{color:#999;font-size:.75em}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}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:20%;padding:0 0 0 1em;color:#999;font-size:.75em}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}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;font-size:.75em;margin:0}ul.job_listings li.job_listing a .meta .job-type,ul.job_listings li.no_job_listings_found a .meta .job-type{font-weight:bold}.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:normal}.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_listing .job-type,.job-types .job-type{color:#f08d3c}.job-manager .full-time,.job_listing .full-time,.job-types .full-time{color:#90da36}.job-manager .part-time,.job_listing .part-time,.job-types .part-time{color:#f08d3c}.job-manager .temporary,.job_listing .temporary,.job-types .temporary{color:#d93674}.job-manager .freelance,.job_listing .freelance,.job-types .freelance{color:#39c}.job-manager .internship,.job_listing .internship,.job-types .internship{color:#6033cc}.single_job_listing .company{position:relative;border:1px solid #eee;padding:1em 1em 1em 42px;margin:0 0 2em;display:block;clear:both;min-height:42px}.single_job_listing .company img{width:42px;height:42px;position:absolute;left:1em;float:left;vertical-align:middle;box-shadow:none}.single_job_listing .company .name{margin:0;padding:0 0 0 2em}.single_job_listing .company .name a{float:right;margin-left:1em}.single_job_listing .company .tagline{display:block;margin:0;padding:0 0 0 2em;font-style:italic;color:#999}.single_job_listing .company .website:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f107'}.single_job_listing .company .company_twitter:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f202'}.single_job_listing .meta{list-style:none outside;padding:0;margin:0 0 1.5em;overflow:hidden;zoom:1}.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 .position-filled{color:#b81c23}.single_job_listing .meta .location:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f417'}.single_job_listing .meta .date-posted:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f307'}.single_job_listing .meta .position-filled:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f424'}.single_job_listing .application{overflow:hidden;zoom:1;padding-left:20px;margin:0 0 1em}.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}.single_job_listing .application .application_button{text-align:center;font-size:1.2em;line-height:1em;width:33.3%;float:left;margin:0 0 0 -20px;padding:.8333333333333334em}.single_job_listing .application .application_details{float:right;width:66.6%;border:1px solid #eee;padding:.75em 1em 0;margin:0;line-height:1.5em;display:block;position:relative}.single_job_listing .application .application_details p{margin:0 0 .75em}.single_job_listing .application .application_details:before{content:"";position:absolute;margin:0 0 0 -10px;left:0;top:1em;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:10px solid #eee}.single_job_listing .application .application_details:after{content:"";position:absolute;margin:1px 0 0 -9px;top:1em;left:0;width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-right:9px solid #fff}.job_filters{background:#eee;zoom:1}.job_filters:before,.job_filters:after{content:"";display:table}.job_filters:after{clear:both}.job_filters .search_jobs{padding:1em;zoom:1}.job_filters .search_jobs:before,.job_filters .search_jobs:after{content:"";display:table}.job_filters .search_jobs:after{clear:both}.job_filters .search_jobs div{width:50%;-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.search_keywords,.job_filters .search_jobs div.filter_first{float:left;padding-right:.5em}.job_filters .search_jobs div.search_location,.job_filters .search_jobs div.filter_last{float:right;padding-left:.5em}.job_filters .search_jobs div.search_categories,.job_filters .search_jobs div.filter_wide{padding-top:.5em;clear:both;width:100%}.job_filters .search_jobs div a{padding:.25em}.job_filters .search_jobs div 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:before,.job_filters .job_types:after{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 .reset,.job_filters .showing_jobs .rss_link{float:right}.job_filters .showing_jobs .rss_link{padding-right:10px}.load_more_jobs{text-align:center;display:block;padding:1em 1em 1em 2em;border-bottom:1px solid #eee;font-weight:bold}.load_more_jobs.loading{background:url(../images/ajax-loader.gif) no-repeat center}.load_more_jobs.loading strong{visibility:hidden}.load_more_jobs:hover,.load_more_jobs:focus{background-color:#fcfcfc}.job_listing_preview{padding:0 1em 1em;border:5px solid #eee}.job_listing_preview_title,.entry-content .job_listing_preview_title{padding:.5em 1em;margin-bottom:0;vertical-align:middle;position:relative;background:#eee}.job_listing_preview_title .button,.entry-content .job_listing_preview_title .button{float:right}.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,0.1),inset 0 1px 0 rgba(255,255,255,0.4);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.job_summary_shortcode.aligncenter{display:block;margin:2em auto 2em}.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,0.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,0.5);box-shadow:0 2px 4px rgba(0,0,0,0.1),inset 0 1px 0 rgba(255,255,255,0.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:-0.5em -0.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 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:normal;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:hover ul.job-dashboard-actions,#job-manager-job-dashboard table tr:focus ul.job-dashboard-actions{visibility:visible}#job-manager-job-dashboard table .filled,#job-manager-job-dashboard table .expires{text-align:center}
1
+ .clearfix{zoom:1}.clearfix:before,.clearfix:after{content:"";display:table}.clearfix:after{clear:both}.clear{clear:both}.nobr{white-space:nowrap}@font-face{font-family:'Genericons';src:url('../font/genericons-regular-webfont.eot');src:url('../font/genericons-regular-webfont.eot?#iefix') format('embedded-opentype'),url('../font/genericons-regular-webfont.woff') format('woff'),url('../font/genericons-regular-webfont.ttf') format('truetype'),url('../font/genericons-regular-webfont.svg#genericonsregular') format('svg');font-weight:normal;font-style:normal}.display-icon{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline}.job-manager-message,.job-manager-error,.job-manager-info{padding:1em 1em 1em 3.5em;margin:0 0 2em;position:relative;-webkit-border-radius:4px;border-radius:4px;background:#fff;background:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#fff));background:-webkit-linear-gradient(#fff,#fff);background:-moz-linear-gradient(center top,#fff 0,#fff 100%);background:-moz-gradient(center top,#fff 0,#fff 100%);color:#666;text-shadow:0 1px 0 #fff;list-style:none outside;zoom:1;width:auto;-webkit-box-shadow:inset 0 -2px 6px rgba(0,0,0,0.05),inset 0 -2px 30px rgba(0,0,0,0.015),inset 0 1px 0 #fff,0 1px 2px rgba(0,0,0,0.3);box-shadow:inset 0 -2px 6px rgba(0,0,0,0.05),inset 0 -2px 30px rgba(0,0,0,0.015),inset 0 1px 0 #fff,0 1px 2px rgba(0,0,0,0.3)}.job-manager-message:before,.job-manager-error:before,.job-manager-info:before,.job-manager-message:after,.job-manager-error:after,.job-manager-info:after{content:"";display:table}.job-manager-message:after,.job-manager-error:after,.job-manager-info:after{clear:both}.job-manager-message:before,.job-manager-error:before,.job-manager-info:before{content:"";height:1.5em;width:1.5em;display:block;position:absolute;top:0;left:1em;font-family:sans-serif;font-size:1em;line-height:1.5;text-align:center;color:#fff;text-shadow:0 1px 0 rgba(0,0,0,0.2);padding-top:1em;-webkit-border-bottom-left-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-right-radius:4px;box-shadow:inset 0 -1px 0 0 rgba(0,0,0,0.1);-webkit-box-shadow:inset 0 -1px 0 0 rgba(0,0,0,0.1);-moz-box-shadow:inset 0 -1px 0 0 rgba(0,0,0,0.1)}.job-manager-message li,.job-manager-error li,.job-manager-info li{list-style:none outside;padding-left:0;margin-left:0}.job-manager-message.job-manager-message,.job-manager-error.job-manager-message,.job-manager-info.job-manager-message{border-top:3px solid #8fae1b}.job-manager-message.job-manager-message:before,.job-manager-error.job-manager-message:before,.job-manager-info.job-manager-message:before{background-color:#8fae1b;content:"\2713"}.job-manager-message.job-manager-info,.job-manager-error.job-manager-info,.job-manager-info.job-manager-info{border-top:3px solid #1e85be}.job-manager-message.job-manager-info:before,.job-manager-error.job-manager-info:before,.job-manager-info.job-manager-info:before{background-color:#1e85be;content:"i";font-family:Times,Georgia,serif;font-style:italic}.job-manager-message.job-manager-error,.job-manager-error.job-manager-error,.job-manager-info.job-manager-error{border-top:3px solid #b81c23}.job-manager-message.job-manager-error:before,.job-manager-error.job-manager-error:before,.job-manager-info.job-manager-error:before{background-color:#b81c23;content:"\00d7";font-weight:700}.job-manager-form fieldset{margin:0 0 1em 0;padding:0 0 1em 0;line-height:2em;border:0;border-bottom:1px solid #eee;zoom:1}.job-manager-form fieldset:before,.job-manager-form fieldset:after{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 .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:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f427'}.job-manager-form fieldset abbr.required{color:red;font-weight:bold;border:0}.job-manager-form fieldset input.input-text,.job-manager-form fieldset textarea,.job-manager-form fieldset select{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 0;display:block;line-height:1.2em}.job-manager-form fieldset .uploaded_image{line-height:64px;font-style:italic;margin:0 0 1em 0}.job-manager-form fieldset .uploaded_image img{height:64px;vertical-align:middle;margin:0 1em 0 0}.job-manager-form .submit-job{padding:1em 0}div.job_listings{margin-bottom:1em}ul.job_listings{padding:0;margin:0!important;border-top:1px solid #eee}ul.job_listings.loading{background:url(../images/ajax-loader.gif) no-repeat center}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}ul.job_listings li.job_listing.job_position_filled a,ul.job_listings li.no_job_listings_found.job_position_filled a{opacity:.25}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}ul.job_listings li.job_listing a,ul.job_listings li.no_job_listings_found a{display:block;padding:1em 1em 1em 2em;overflow:hidden;zoom:1;position:relative;line-height:3em;font-size:1em;text-decoration:none}ul.job_listings li.job_listing a:hover,ul.job_listings li.no_job_listings_found a:hover,ul.job_listings li.job_listing a:focus,ul.job_listings li.no_job_listings_found a:focus{background-color:#fcfcfc}ul.job_listings li.job_listing a img,ul.job_listings li.no_job_listings_found a img{width:42px;height:42px;position:absolute;left:1em;float:left;margin-right:1em;vertical-align:middle;box-shadow:none}ul.job_listings li.job_listing a div.position,ul.job_listings li.no_job_listings_found a div.position,ul.job_listings li.job_listing a div.location,ul.job_listings li.no_job_listings_found a div.location,ul.job_listings li.job_listing a ul.meta,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}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 0 0 42px;line-height:1.5em}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;font-size:1em;line-height:1.5em}ul.job_listings li.job_listing a div.position .company,ul.job_listings li.no_job_listings_found a div.position .company{color:#999;font-size:.75em}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}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:20%;padding:0 0 0 1em;color:#999;font-size:.75em}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}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;font-size:.75em;margin:0}ul.job_listings li.job_listing a .meta .job-type,ul.job_listings li.no_job_listings_found a .meta .job-type{font-weight:bold}.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:normal}.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_listing .job-type,.job-types .job-type{color:#f08d3c}.job-manager .full-time,.job_listing .full-time,.job-types .full-time{color:#90da36}.job-manager .part-time,.job_listing .part-time,.job-types .part-time{color:#f08d3c}.job-manager .temporary,.job_listing .temporary,.job-types .temporary{color:#d93674}.job-manager .freelance,.job_listing .freelance,.job-types .freelance{color:#39c}.job-manager .internship,.job_listing .internship,.job-types .internship{color:#6033cc}.single_job_listing .company{position:relative;border:1px solid #eee;padding:1em 1em 1em 42px;margin:0 0 2em;display:block;clear:both;min-height:42px}.single_job_listing .company img{width:42px;height:42px;position:absolute;left:1em;float:left;vertical-align:middle;box-shadow:none}.single_job_listing .company .name{margin:0;padding:0 0 0 2em}.single_job_listing .company .name a{float:right;margin-left:1em}.single_job_listing .company .tagline{display:block;margin:0;padding:0 0 0 2em;font-style:italic;color:#999}.single_job_listing .company .website:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f107'}.single_job_listing .company .company_twitter:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f202'}.single_job_listing .meta{list-style:none outside;padding:0;margin:0 0 1.5em;overflow:hidden;zoom:1}.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 .position-filled{color:#b81c23}.single_job_listing .meta .location:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f417'}.single_job_listing .meta .date-posted:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f307'}.single_job_listing .meta .position-filled:before{display:inline-block;width:16px;height:16px;-webkit-font-smoothing:antialiased;font-family:'Genericons';text-decoration:none;font-weight:normal;font-style:normal;vertical-align:top;font-size:16px;margin:0 2px 0 0;*overflow:auto;*zoom:1;*display:inline;content:'\f424'}.single_job_listing .application{overflow:hidden;zoom:1;padding-left:20px;margin:0 0 1em}.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}.single_job_listing .application .application_button{text-align:center;font-size:1.2em;line-height:1em;width:33.3%;float:left;margin:0 0 0 -20px;padding:.8333333333333334em}.single_job_listing .application .application_details{float:right;width:66.6%;border:1px solid #eee;padding:.75em 1em 0;margin:0;line-height:1.5em;display:block;position:relative}.single_job_listing .application .application_details p{margin:0 0 .75em}.single_job_listing .application .application_details:before{content:"";position:absolute;margin:0 0 0 -10px;left:0;top:1em;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:10px solid #eee}.single_job_listing .application .application_details:after{content:"";position:absolute;margin:1px 0 0 -9px;top:1em;left:0;width:0;height:0;border-top:9px solid transparent;border-bottom:9px solid transparent;border-right:9px solid #fff}.job_filters{background:#eee;zoom:1}.job_filters:before,.job_filters:after{content:"";display:table}.job_filters:after{clear:both}.job_filters .search_jobs{padding:1em;zoom:1}.job_filters .search_jobs:before,.job_filters .search_jobs:after{content:"";display:table}.job_filters .search_jobs:after{clear:both}.job_filters .search_jobs div{width:50%;-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.search_keywords,.job_filters .search_jobs div.filter_first{float:left;padding-right:.5em}.job_filters .search_jobs div.search_location,.job_filters .search_jobs div.filter_last{float:right;padding-left:.5em}.job_filters .search_jobs div.search_categories,.job_filters .search_jobs div.filter_wide{padding-top:.5em;clear:both;width:100%}.job_filters .search_jobs div a{padding:.25em}.job_filters .search_jobs div 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:before,.job_filters .job_types:after{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}.load_more_jobs{text-align:center;display:block;padding:1em 1em 1em 2em;border-bottom:1px solid #eee;font-weight:bold}.load_more_jobs.loading{background:url(../images/ajax-loader.gif) no-repeat center}.load_more_jobs.loading strong{visibility:hidden}.load_more_jobs:hover,.load_more_jobs:focus{background-color:#fcfcfc}.job_listing_preview{padding:0 1em 1em;border:5px solid #eee}.job_listing_preview_title,.entry-content .job_listing_preview_title{padding:.5em 1em;vertical-align:middle;position:relative;background:#eee}.job_listing_preview_title h2,.entry-content .job_listing_preview_title h2{margin:0;clear:none}.job_listing_preview_title .button,.entry-content .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,0.1),inset 0 1px 0 rgba(255,255,255,0.4);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.job_summary_shortcode.aligncenter{display:block;margin:2em auto 2em}.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,0.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,0.5);box-shadow:0 2px 4px rgba(0,0,0,0.1),inset 0 1px 0 rgba(255,255,255,0.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:-0.5em -0.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 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:normal;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:hover ul.job-dashboard-actions,#job-manager-job-dashboard table tr:focus ul.job-dashboard-actions{visibility:visible}#job-manager-job-dashboard table .filled,#job-manager-job-dashboard table .expires{text-align:center}
assets/css/frontend.less CHANGED
@@ -122,8 +122,9 @@
122
  margin: 0 0 1em 0;
123
  padding: 0 0 1em 0;
124
  line-height: 2em;
 
125
  border-bottom: 1px solid #eee;
126
- overflow: hidden;
127
  label {
128
  display: block;
129
  margin: 0;
@@ -568,11 +569,9 @@ ul.job_listings {
568
  background: #f9f9f9;
569
  border-top: 1px solid #e5e5e5;
570
 
571
- .reset, .rss_link {
572
  float: right;
573
- }
574
- .rss_link {
575
- padding-right: 10px;
576
  }
577
  }
578
  }
@@ -598,12 +597,16 @@ ul.job_listings {
598
  }
599
  .job_listing_preview_title, .entry-content .job_listing_preview_title {
600
  padding: .5em 1em;
601
- margin-bottom: 0;
602
  vertical-align: middle;
603
  position: relative;
604
  background: #eee;
 
 
 
 
605
  .button {
606
  float: right;
 
607
  }
608
  }
609
  .job_summary_shortcode {
122
  margin: 0 0 1em 0;
123
  padding: 0 0 1em 0;
124
  line-height: 2em;
125
+ border: 0;
126
  border-bottom: 1px solid #eee;
127
+ .clearfix;
128
  label {
129
  display: block;
130
  margin: 0;
569
  background: #f9f9f9;
570
  border-top: 1px solid #e5e5e5;
571
 
572
+ a {
573
  float: right;
574
+ padding-left: 10px;
 
 
575
  }
576
  }
577
  }
597
  }
598
  .job_listing_preview_title, .entry-content .job_listing_preview_title {
599
  padding: .5em 1em;
 
600
  vertical-align: middle;
601
  position: relative;
602
  background: #eee;
603
+ h2 {
604
+ margin: 0;
605
+ clear: none;
606
+ }
607
  .button {
608
  float: right;
609
+ margin-left: .25em;
610
  }
611
  }
612
  .job_summary_shortcode {
assets/js/ajax-filters.js CHANGED
@@ -69,15 +69,10 @@ jQuery(document).ready(function($) {
69
  var result = $.parseJSON( response );
70
 
71
  if ( result.showing )
72
- $(showing).show().find('span').html( result.showing );
73
  else
74
  $(showing).hide();
75
 
76
- if ( result.rss )
77
- $(showing).find('.rss_link').attr('href', result.rss).show();
78
- else
79
- $(showing).find('.rss_link').hide();
80
-
81
  if ( result.html )
82
  if ( append )
83
  $(results).append( result.html );
@@ -107,7 +102,7 @@ jQuery(document).ready(function($) {
107
  target.trigger( 'update_results', [ 1, false ] );
108
  } ).change();
109
 
110
- $( '.showing_jobs .reset' ).click( function() {
111
  var target = $(this).closest( 'div.job_listings' );
112
  var form = $(this).closest( 'form' );
113
 
@@ -124,8 +119,7 @@ jQuery(document).ready(function($) {
124
 
125
  $( '.load_more_jobs' ).click(function() {
126
  var target = $(this).closest( 'div.job_listings' );
127
-
128
- page = $(this).data( 'page' );
129
 
130
  if ( ! page )
131
  page = 1;
69
  var result = $.parseJSON( response );
70
 
71
  if ( result.showing )
72
+ $(showing).show().html('').append( '<span>' + result.showing + '</span>' + result.showing_links );
73
  else
74
  $(showing).hide();
75
 
 
 
 
 
 
76
  if ( result.html )
77
  if ( append )
78
  $(results).append( result.html );
102
  target.trigger( 'update_results', [ 1, false ] );
103
  } ).change();
104
 
105
+ $( '.job_filters' ).on( 'click', '.reset', function() {
106
  var target = $(this).closest( 'div.job_listings' );
107
  var form = $(this).closest( 'form' );
108
 
119
 
120
  $( '.load_more_jobs' ).click(function() {
121
  var target = $(this).closest( 'div.job_listings' );
122
+ var page = $(this).data( 'page' );
 
123
 
124
  if ( ! page )
125
  page = 1;
assets/js/ajax-filters.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(e){var t;e(".job_listings").on("update_results",function(n,r,i){var s=e(this),o=s.find(".job_filters"),u=s.find(".showing_jobs"),a=s.find(".job_listings");t&&t.abort();if(i)e(".load_more_jobs",s).addClass("loading");else{e(a).addClass("loading");e("li.job_listing",a).css("visibility","hidden")}var f=new Array;e('input[name="filter_job_type[]"]:checked',o).each(function(){f.push(e(this).val())});var l=o.find("select[name^=search_categories], input[name^=search_categories]").map(function(){return e(this).val()}).get(),c="",h="",p=o.find("input[name=search_keywords]"),d=o.find("input[name=search_location]");p.val()!=p.attr("placeholder")&&(c=p.val());d.val()!=d.attr("placeholder")&&(h=d.val());var v={action:"job_manager_get_listings",search_keywords:c,search_location:h,search_categories:l,filter_job_type:f,per_page:o.find("input[name=per_page]").val(),orderby:o.find("input[name=orderby]").val(),order:o.find("input[name=order]").val(),page:r,form_data:o.serialize()};t=e.ajax({type:"POST",url:job_manager_ajax_filters.ajax_url,data:v,success:function(t){if(t)try{t.indexOf("<!--WPJM-->")>=0&&(t=t.split("<!--WPJM-->")[1]);t.indexOf("<!--WPJM_END-->")>=0&&(t=t.split("<!--WPJM_END-->")[0]);var n=e.parseJSON(t);n.showing?e(u).show().find("span").html(n.showing):e(u).hide();n.rss?e(u).find(".rss_link").attr("href",n.rss).show():e(u).find(".rss_link").hide();n.html&&(i?e(a).append(n.html):e(a).html(n.html));!n.found_jobs||n.max_num_pages==r?e(".load_more_jobs",s).hide():e(".load_more_jobs",s).show().data("page",r);e(a).removeClass("loading");e(".load_more_jobs",s).removeClass("loading");e("li.job_listing",a).css("visibility","visible")}catch(o){console.log(o)}}})});e("#search_keywords, #search_location, .job_types input, #search_categories").change(function(){var t=e(this).closest("div.job_listings");t.trigger("update_results",[1,!1])}).change();e(".showing_jobs .reset").click(function(){var t=e(this).closest("div.job_listings"),n=e(this).closest("form");n.find("input[name=search_keywords]").val("");n.find("input[name=search_location]").val("");n.find("select[name^=search_categories]").val("");e('input[name="filter_job_type[]"]',n).attr("checked","checked");t.trigger("reset");t.trigger("update_results",[1,!1]);return!1});e(".load_more_jobs").click(function(){var t=e(this).closest("div.job_listings");page=e(this).data("page");page?page=parseInt(page):page=1;e(this).data("page",page+1);t.trigger("update_results",[page+1,!0]);return!1})});
1
+ jQuery(document).ready(function(e){var t;e(".job_listings").on("update_results",function(n,r,i){var s=e(this),o=s.find(".job_filters"),u=s.find(".showing_jobs"),a=s.find(".job_listings");t&&t.abort();if(i)e(".load_more_jobs",s).addClass("loading");else{e(a).addClass("loading");e("li.job_listing",a).css("visibility","hidden")}var f=new Array;e('input[name="filter_job_type[]"]:checked',o).each(function(){f.push(e(this).val())});var l=o.find("select[name^=search_categories], input[name^=search_categories]").map(function(){return e(this).val()}).get(),c="",h="",p=o.find("input[name=search_keywords]"),d=o.find("input[name=search_location]");p.val()!=p.attr("placeholder")&&(c=p.val());d.val()!=d.attr("placeholder")&&(h=d.val());var v={action:"job_manager_get_listings",search_keywords:c,search_location:h,search_categories:l,filter_job_type:f,per_page:o.find("input[name=per_page]").val(),orderby:o.find("input[name=orderby]").val(),order:o.find("input[name=order]").val(),page:r,form_data:o.serialize()};t=e.ajax({type:"POST",url:job_manager_ajax_filters.ajax_url,data:v,success:function(t){if(t)try{t.indexOf("<!--WPJM-->")>=0&&(t=t.split("<!--WPJM-->")[1]);t.indexOf("<!--WPJM_END-->")>=0&&(t=t.split("<!--WPJM_END-->")[0]);var n=e.parseJSON(t);n.showing?e(u).show().html("").append("<span>"+n.showing+"</span>"+n.showing_links):e(u).hide();n.html&&(i?e(a).append(n.html):e(a).html(n.html));!n.found_jobs||n.max_num_pages==r?e(".load_more_jobs",s).hide():e(".load_more_jobs",s).show().data("page",r);e(a).removeClass("loading");e(".load_more_jobs",s).removeClass("loading");e("li.job_listing",a).css("visibility","visible")}catch(o){console.log(o)}}})});e("#search_keywords, #search_location, .job_types input, #search_categories").change(function(){var t=e(this).closest("div.job_listings");t.trigger("update_results",[1,!1])}).change();e(".job_filters").on("click",".reset",function(){var t=e(this).closest("div.job_listings"),n=e(this).closest("form");n.find("input[name=search_keywords]").val("");n.find("input[name=search_location]").val("");n.find("select[name^=search_categories]").val("");e('input[name="filter_job_type[]"]',n).attr("checked","checked");t.trigger("reset");t.trigger("update_results",[1,!1]);return!1});e(".load_more_jobs").click(function(){var t=e(this).closest("div.job_listings"),n=e(this).data("page");n?n=parseInt(n):n=1;e(this).data("page",n+1);t.trigger("update_results",[n+1,!0]);return!1})});
assets/js/job-application.js CHANGED
@@ -4,21 +4,4 @@ jQuery(document).ready(function($) {
4
  jQuery( '.application_button' ).click(function() {
5
  jQuery( '.application_details' ).slideToggle();
6
  });
7
-
8
- // De-code emails
9
- jQuery( '.job_application_email' ).each(function() {
10
- var text = jQuery(this).html();
11
- var href = jQuery(this).attr( 'href' );
12
-
13
- text = text.replace( /(\[|\()at(\]|\))/i, '@' );
14
- text = text.replace( /(\[|\()dot(\]|\))/ig, '.' );
15
- text = text.replace( / /g, '' );
16
-
17
- href = href.replace( /(\[|\()at(\]|\))/i, '@' );
18
- href = href.replace( /(\[|\()dot(\]|\))/ig, '.' );
19
- href = href.replace( / /g, '' );
20
-
21
- jQuery(this).html( text );
22
- jQuery(this).attr( 'href', href );
23
- });
24
  });
4
  jQuery( '.application_button' ).click(function() {
5
  jQuery( '.application_details' ).slideToggle();
6
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  });
assets/js/job-application.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(e){jQuery(".application_details").hide();jQuery(".application_button").click(function(){jQuery(".application_details").slideToggle()});jQuery(".job_application_email").each(function(){var e=jQuery(this).html(),t=jQuery(this).attr("href");e=e.replace(/(\[|\()at(\]|\))/i,"@");e=e.replace(/(\[|\()dot(\]|\))/ig,".");e=e.replace(/ /g,"");t=t.replace(/(\[|\()at(\]|\))/i,"@");t=t.replace(/(\[|\()dot(\]|\))/ig,".");t=t.replace(/ /g,"");jQuery(this).html(e);jQuery(this).attr("href",t)})});
1
+ jQuery(document).ready(function(e){jQuery(".application_details").hide();jQuery(".application_button").click(function(){jQuery(".application_details").slideToggle()})});
includes/admin/class-wp-job-manager-addons.php ADDED
@@ -0,0 +1,59 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Addons Page
4
+ */
5
+
6
+ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
7
+
8
+ if ( ! class_exists( 'WP_Job_Manager_Addons' ) ) :
9
+
10
+ /**
11
+ * WP_Job_Manager_Addons Class
12
+ */
13
+ class WP_Job_Manager_Addons {
14
+
15
+ /**
16
+ * Handles output of the reports page in admin.
17
+ */
18
+ public function output() {
19
+
20
+ if ( false === ( $addons = get_transient( 'wp_job_manager_addons_html' ) ) ) {
21
+
22
+ $raw_addons = wp_remote_get( 'http://mikejolley.com/projects/wp-job-manager/add-ons/' );
23
+
24
+ if ( ! is_wp_error( $raw_addons ) ) {
25
+
26
+ $raw_addons = wp_remote_retrieve_body( $raw_addons );
27
+
28
+ // Get Products
29
+ $dom = new DOMDocument();
30
+ libxml_use_internal_errors(true);
31
+ $dom->loadHTML( $raw_addons );
32
+
33
+ $xpath = new DOMXPath( $dom );
34
+ $tags = $xpath->query('//ul[@class="items"]');
35
+ foreach ( $tags as $tag ) {
36
+ $addons = $tag->ownerDocument->saveXML( $tag );
37
+ break;
38
+ }
39
+
40
+ $addons = wp_kses_post( $addons );
41
+
42
+ if ( $addons )
43
+ set_transient( 'wp_job_manager_addons_html', $addons, 60*60*24*7 ); // Cached for a week
44
+ }
45
+ }
46
+
47
+ ?>
48
+ <div class="wrap wp_job_manager wp_job_manager_addons_wrap">
49
+ <div class="icon32 icon32-posts-job_listing" id="icon-edit"><br /></div>
50
+ <h2><?php _e( 'WP Job Manager Add-ons', 'job_manager' ); ?></h2>
51
+ <?php echo $addons; ?>
52
+ </div>
53
+ <?php
54
+ }
55
+ }
56
+
57
+ endif;
58
+
59
+ return new WP_Job_Manager_Addons();
includes/admin/class-wp-job-manager-admin.php CHANGED
@@ -47,16 +47,17 @@ class WP_Job_Manager_Admin {
47
  */
48
  public function admin_menu() {
49
  add_submenu_page( 'edit.php?post_type=job_listing', __( 'Settings', 'job_manager' ), __( 'Settings', 'job_manager' ), 'manage_options', 'job-manager-settings', array( $this->settings_page, 'output' ) );
 
 
 
50
  }
51
 
52
  /**
53
- * admin_dashboard function.
54
- *
55
- * @access public
56
- * @return void
57
  */
58
- public function admin_dashboard() {
59
- include_once( 'class-dlm-admin-dashboard.php' );
 
60
  }
61
  }
62
 
47
  */
48
  public function admin_menu() {
49
  add_submenu_page( 'edit.php?post_type=job_listing', __( 'Settings', 'job_manager' ), __( 'Settings', 'job_manager' ), 'manage_options', 'job-manager-settings', array( $this->settings_page, 'output' ) );
50
+
51
+ if ( apply_filters( 'job_manager_show_addons_page', true ) )
52
+ add_submenu_page( 'edit.php?post_type=job_listing', __( 'WP Job Manager Add-ons', 'job_manager' ), __( 'Add-ons', 'job_manager' ) , 'manage_options', 'job-manager-addons', array( $this, 'addons_page' ) );
53
  }
54
 
55
  /**
56
+ * Output addons page
 
 
 
57
  */
58
+ public function addons_page() {
59
+ $addons = include( 'class-wp-job-manager-addons.php' );
60
+ $addons->output();
61
  }
62
  }
63
 
includes/admin/class-wp-job-manager-category-walker.php CHANGED
@@ -20,7 +20,7 @@ class WP_Job_Manager_Category_Walker extends Walker {
20
  * @param int $depth Depth of category in reference to parents.
21
  * @param array $args
22
  */
23
- function start_el( $output, $cat, $depth, $args ) {
24
 
25
  if ( ! empty( $args['hierarchical'] ) )
26
  $pad = str_repeat('&nbsp;', $depth * 3);
20
  * @param int $depth Depth of category in reference to parents.
21
  * @param array $args
22
  */
23
+ function start_el( &$output, $object, $depth = 0, $args = array(), $current_object_id = 0 ) {
24
 
25
  if ( ! empty( $args['hierarchical'] ) )
26
  $pad = str_repeat('&nbsp;', $depth * 3);
includes/class-wp-job-manager-ajax.php CHANGED
@@ -116,12 +116,12 @@ class WP_Job_Manager_Ajax {
116
  }
117
 
118
  // Generate RSS link
119
- $result['rss'] = get_job_listing_rss_link( apply_filters( 'job_manager_get_listings_custom_filter_rss_args', array(
120
- 'type' => implode( ',', $filter_job_types ),
121
- 'location' => $search_location,
122
- 'job_categories' => implode( ',', $search_categories ),
123
- 's' => $search_keywords,
124
- ) ) );
125
 
126
  $result['max_num_pages'] = $jobs->max_num_pages;
127
 
116
  }
117
 
118
  // Generate RSS link
119
+ $result['showing_links'] = job_manager_get_filtered_links( array(
120
+ 'filter_job_types' => $filter_job_types,
121
+ 'search_location' => $search_location,
122
+ 'search_categories' => $search_categories,
123
+ 'search_keywords' => $search_keywords
124
+ ) );
125
 
126
  $result['max_num_pages'] = $jobs->max_num_pages;
127
 
includes/forms/class-wp-job-manager-form-submit-job.php CHANGED
@@ -67,7 +67,7 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
67
  /**
68
  * Sort array by priority value
69
  */
70
- private function sort_by_priority( $a, $b ) {
71
  return $a['priority'] - $b['priority'];
72
  }
73
 
@@ -186,7 +186,7 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
186
  *
187
  * @return array of data
188
  */
189
- protected function get_posted_fields() {
190
  self::init_fields();
191
 
192
  $values = array();
@@ -222,7 +222,7 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
222
  *
223
  * @return bool on success, WP_ERROR on failure
224
  */
225
- protected function validate_fields( $values ) {
226
  foreach ( self::$fields as $group_key => $fields ) {
227
  foreach ( $fields as $key => $field ) {
228
  if ( $field['required'] && empty( $values[ $group_key ][ $key ] ) )
@@ -239,7 +239,7 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
239
  * @access private
240
  * @return void
241
  */
242
- private function job_types() {
243
  $options = array();
244
  $terms = get_job_listing_types();
245
  foreach ( $terms as $term )
@@ -253,7 +253,7 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
253
  * @access private
254
  * @return void
255
  */
256
- private function job_categories() {
257
  $options = array();
258
  $terms = get_job_listing_categories();
259
  foreach ( $terms as $term )
@@ -391,7 +391,7 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
391
  * @param string $post_content
392
  * @param string $status
393
  */
394
- protected function save_job( $post_title, $post_content, $status = 'preview' ) {
395
  $job_data = array(
396
  'post_title' => $post_title,
397
  'post_content' => $post_content,
@@ -413,7 +413,7 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
413
  *
414
  * @param array $values
415
  */
416
- protected function update_job_data( $values ) {
417
 
418
  wp_set_object_terms( self::$job_id, array( $values['job']['job_type'] ), 'job_listing_type', false );
419
 
@@ -455,14 +455,16 @@ class WP_Job_Manager_Form_Submit_Job extends WP_Job_Manager_Form {
455
 
456
  ?>
457
  <form method="post" id="job_preview">
458
- <h2 class="job_listing_preview_title">
459
  <input type="submit" name="continue" id="job_preview_submit_button" class="button" value="<?php echo apply_filters( 'submit_job_step_preview_submit_text', __( 'Submit Listing &rarr;', 'job_manager' ) ); ?>" />
460
  <input type="submit" name="edit_job" class="button" value="<?php _e( '&larr; Edit listing', 'job_manager' ); ?>" />
461
  <input type="hidden" name="job_id" value="<?php echo esc_attr( self::$job_id ); ?>" />
462
  <input type="hidden" name="step" value="<?php echo esc_attr( self::$step ); ?>" />
463
  <input type="hidden" name="job_manager_form" value="<?php echo self::$form_name; ?>" />
464
- <?php _e( 'Preview', 'job_manager' ); ?>
465
- </h2>
 
 
466
  <div class="job_listing_preview single_job_listing">
467
  <h1><?php the_title(); ?></h1>
468
  <?php get_job_manager_template_part( 'content-single', 'job_listing' ); ?>
67
  /**
68
  * Sort array by priority value
69
  */
70
+ private static function sort_by_priority( $a, $b ) {
71
  return $a['priority'] - $b['priority'];
72
  }
73
 
186
  *
187
  * @return array of data
188
  */
189
+ protected static function get_posted_fields() {
190
  self::init_fields();
191
 
192
  $values = array();
222
  *
223
  * @return bool on success, WP_ERROR on failure
224
  */
225
+ protected static function validate_fields( $values ) {
226
  foreach ( self::$fields as $group_key => $fields ) {
227
  foreach ( $fields as $key => $field ) {
228
  if ( $field['required'] && empty( $values[ $group_key ][ $key ] ) )
239
  * @access private
240
  * @return void
241
  */
242
+ private static function job_types() {
243
  $options = array();
244
  $terms = get_job_listing_types();
245
  foreach ( $terms as $term )
253
  * @access private
254
  * @return void
255
  */
256
+ private static function job_categories() {
257
  $options = array();
258
  $terms = get_job_listing_categories();
259
  foreach ( $terms as $term )
391
  * @param string $post_content
392
  * @param string $status
393
  */
394
+ protected static function save_job( $post_title, $post_content, $status = 'preview' ) {
395
  $job_data = array(
396
  'post_title' => $post_title,
397
  'post_content' => $post_content,
413
  *
414
  * @param array $values
415
  */
416
+ protected static function update_job_data( $values ) {
417
 
418
  wp_set_object_terms( self::$job_id, array( $values['job']['job_type'] ), 'job_listing_type', false );
419
 
455
 
456
  ?>
457
  <form method="post" id="job_preview">
458
+ <div class="job_listing_preview_title">
459
  <input type="submit" name="continue" id="job_preview_submit_button" class="button" value="<?php echo apply_filters( 'submit_job_step_preview_submit_text', __( 'Submit Listing &rarr;', 'job_manager' ) ); ?>" />
460
  <input type="submit" name="edit_job" class="button" value="<?php _e( '&larr; Edit listing', 'job_manager' ); ?>" />
461
  <input type="hidden" name="job_id" value="<?php echo esc_attr( self::$job_id ); ?>" />
462
  <input type="hidden" name="step" value="<?php echo esc_attr( self::$step ); ?>" />
463
  <input type="hidden" name="job_manager_form" value="<?php echo self::$form_name; ?>" />
464
+ <h2>
465
+ <?php _e( 'Preview', 'job_manager' ); ?>
466
+ </h2>
467
+ </div>
468
  <div class="job_listing_preview single_job_listing">
469
  <h1><?php the_title(); ?></h1>
470
  <?php get_job_manager_template_part( 'content-single', 'job_listing' ); ?>
languages/job_manager-es_ES.mo CHANGED
Binary file
languages/job_manager-es_ES.po CHANGED
@@ -78,7 +78,7 @@ msgstr "j M, Y @ H:i "
78
  msgid ""
79
  "Job listing draft updated. <a target=\"_blank\" href=\"%s\">Preview Job</a>"
80
  msgstr ""
81
- "Borrador de oferta laboral actualizada. <a target=\"_blank\" href=\"%2$s"
82
  "\">Pre-visualizar oferta</a>"
83
 
84
  #: includes/admin/class-wp-job-manager-cpt.php:143
78
  msgid ""
79
  "Job listing draft updated. <a target=\"_blank\" href=\"%s\">Preview Job</a>"
80
  msgstr ""
81
+ "Borrador de oferta laboral actualizada. <a target=\"_blank\" href=\"%s"
82
  "\">Pre-visualizar oferta</a>"
83
 
84
  #: includes/admin/class-wp-job-manager-cpt.php:143
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=mike.jol
4
  Tags: job listing, job board, job, jobs, company
5
  Requires at least: 3.5
6
  Tested up to: 3.6
7
- Stable tag: 1.0.5
8
 
9
  Manage job listings from the WordPress admin panel, and allow users to post jobs directly to your site.
10
 
@@ -72,6 +72,16 @@ The manual installation method involves downloading the plugin and uploading it
72
 
73
  == Changelog ==
74
 
 
 
 
 
 
 
 
 
 
 
75
  = 1.0.5 =
76
  * Added function to get listings by certain criteria.
77
  * Added ES translation.
4
  Tags: job listing, job board, job, jobs, company
5
  Requires at least: 3.5
6
  Tested up to: 3.6
7
+ Stable tag: 1.1.0
8
 
9
  Manage job listings from the WordPress admin panel, and allow users to post jobs directly to your site.
10
 
72
 
73
  == Changelog ==
74
 
75
+ = 1.1.0 =
76
+ * Tweaked css clearfixes
77
+ * Use built in antispambot for encoding email.
78
+ * job_manager_job_filters_showing_jobs_links filter
79
+ * IE8 Apply filters JS fix
80
+ * Fix spanish locale
81
+ * Fixed strict standards errors
82
+ * Improve 2013 Styles
83
+ * Addons page. Disabled usings add_filter( 'job_manager_show_addons_page', '__return_false' );
84
+
85
  = 1.0.5 =
86
  * Added function to get listings by certain criteria.
87
  * Added ES translation.
templates/job-filters.php CHANGED
@@ -45,9 +45,5 @@
45
  </ul>
46
  <?php endif; ?>
47
 
48
- <div class="showing_jobs">
49
- <a href="#" class="reset"><?php _e( 'Reset', 'job_manager' ); ?></a>
50
- <a href="#" class="rss_link"><?php _e( 'RSS', 'job_manager' ); ?></a>
51
- <span></span>
52
- </div>
53
  </form>
45
  </ul>
46
  <?php endif; ?>
47
 
48
+ <div class="showing_jobs"></div>
 
 
 
 
49
  </form>
wp-job-manager-functions.php CHANGED
@@ -123,38 +123,35 @@ function get_job_listing_categories() {
123
  }
124
  endif;
125
 
126
- if ( ! function_exists( 'job_manager_encode_email' ) ) :
127
  /**
128
- * Munge an email address
129
- *
130
- * @param string $email
131
- * @return string
132
  */
133
- function wp_job_manager_encode_email( $email ) {
134
- $encmail = "";
135
- for ( $i = 0; $i < strlen( $email ); $i++ ) {
136
- $char = substr( $email, $i, 1 );
137
-
138
- if ( $char == '@' ) {
139
- $encmail .= ' [at] ';
140
- } elseif ( $char == '.' ) {
141
- $encmail .= ' [dot] ';
142
- } else {
143
- $encMod = rand( 0, 2 );
144
- switch ( $encMod ) {
145
- case 0: // None
146
- $encmail .= $char;
147
- break;
148
- case 1: // Decimal
149
- $encmail .= "&#" . ord( $char ) . ';';
150
- break;
151
- case 2: // Hexadecimal
152
- $encmail .= "&#x" . dechex( ord( $char ) ) . ';';
153
- break;
154
- }
155
- }
156
- }
157
- return $encmail;
158
  }
159
  endif;
160
 
123
  }
124
  endif;
125
 
126
+ if ( ! function_exists( 'job_manager_get_filtered_links' ) ) :
127
  /**
128
+ * Shows links after filtering jobs
 
 
 
129
  */
130
+ function job_manager_get_filtered_links( $args = array() ) {
131
+
132
+ $links = apply_filters( 'job_manager_job_filters_showing_jobs_links', array(
133
+ 'reset' => array(
134
+ 'name' => __( 'Reset', 'job_manager' ),
135
+ 'url' => '#'
136
+ ),
137
+ 'rss_link' => array(
138
+ 'name' => __( 'RSS', 'job_manager' ),
139
+ 'url' => get_job_listing_rss_link( apply_filters( 'job_manager_get_listings_custom_filter_rss_args', array(
140
+ 'type' => implode( ',', $args['filter_job_types'] ),
141
+ 'location' => $args['search_location'],
142
+ 'job_categories' => implode( ',', $args['search_categories'] ),
143
+ 's' => $args['search_keywords'],
144
+ ) ) )
145
+ )
146
+ ), $args );
147
+
148
+ $return = '';
149
+
150
+ foreach ( $links as $key => $link ) {
151
+ $return .= '<a href="' . esc_url( $link['url'] ) . '" class="' . esc_attr( $key ) . '">' . $link['name'] . '</a>';
152
+ }
153
+
154
+ return $return;
155
  }
156
  endif;
157
 
wp-job-manager-template.php CHANGED
@@ -211,7 +211,7 @@ function get_the_job_application_method( $post = null ) {
211
  if ( strstr( $apply, '@' ) && is_email( $apply ) ) {
212
  $method->type = 'email';
213
  $method->raw_email = $apply;
214
- $method->email = wp_job_manager_encode_email( $apply );
215
  $method->subject = 'Job Application via "' . $post->post_title . '" listing on ' . home_url();
216
  } else {
217
  if ( strpos( $apply, 'http' ) !== 0 )
211
  if ( strstr( $apply, '@' ) && is_email( $apply ) ) {
212
  $method->type = 'email';
213
  $method->raw_email = $apply;
214
+ $method->email = antispambot( $apply );
215
  $method->subject = 'Job Application via "' . $post->post_title . '" listing on ' . home_url();
216
  } else {
217
  if ( strpos( $apply, 'http' ) !== 0 )
wp-job-manager.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: WP Job Manager
4
  Plugin URI: http://mikejolley.com/projects/wp-job-manager/
5
  Description: Manage job listings from the WordPress admin panel, and allow users to post jobs directly to your site.
6
- Version: 1.0.5
7
  Author: Mike Jolley
8
  Author URI: http://mikejolley.com
9
  Requires at least: 3.5
@@ -28,7 +28,7 @@ class WP_Job_Manager {
28
  */
29
  public function __construct() {
30
  // Define constants
31
- define( 'JOB_MANAGER_VERSION', '1.0.5' );
32
  define( 'JOB_MANAGER_PLUGIN_DIR', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
33
  define( 'JOB_MANAGER_PLUGIN_URL', untrailingslashit( plugins_url( basename( plugin_dir_path( __FILE__ ) ), basename( __FILE__ ) ) ) );
34
 
3
  Plugin Name: WP Job Manager
4
  Plugin URI: http://mikejolley.com/projects/wp-job-manager/
5
  Description: Manage job listings from the WordPress admin panel, and allow users to post jobs directly to your site.
6
+ Version: 1.1.0
7
  Author: Mike Jolley
8
  Author URI: http://mikejolley.com
9
  Requires at least: 3.5
28
  */
29
  public function __construct() {
30
  // Define constants
31
+ define( 'JOB_MANAGER_VERSION', '1.1.0' );
32
  define( 'JOB_MANAGER_PLUGIN_DIR', untrailingslashit( plugin_dir_path( __FILE__ ) ) );
33
  define( 'JOB_MANAGER_PLUGIN_URL', untrailingslashit( plugins_url( basename( plugin_dir_path( __FILE__ ) ), basename( __FILE__ ) ) ) );
34