=== AnyWareX JobPool ===
Contributors: anywarex
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.2.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A lightweight job publishing and online application plugin for WordPress.

== Description ==

Official product page: https://www.anywarex.com/projects/wordpress/wp-plugins/anywarex-jobpool/

AnyWareX JobPool Free works on its own: publish jobs, display job lists and details,
and receive applications with attachments by email. No paid license is required.

Structured design controls configure colors, typography and spacing. Free does not
provide arbitrary CSS, JavaScript or PHP insertion; previously saved custom CSS is
no longer applied.

Plus and Pro are separate plugins distributed outside WordPress.org that extend
Free. Persistent application management belongs to those plugins; PDF tools belong
to Pro. Purchasing a license does not unlock PDF functionality inside Free.

The legacy migration utility copies existing Careers data without requiring Plus,
Pro or a license. Preserving application records and PDF metadata does not install
the separate application management or PDF tools.

== External services ==

= AnyWareX Reference API =

Provider: AnyWareX e.U.
Service: https://api.anywarex.com/v1/reference/
Terms / General Terms and Conditions: https://www.anywarex.com/gtc/
Privacy Policy URL: https://www.anywarex.com/privacy-policy/

This optional service supplies country, employment-type and department catalogs
for job entry and reference-data selection. An administrator with permission to
manage settings can explicitly request synchronization in Settings. Free does not
schedule synchronization or request these catalogs on activation, ordinary admin
page views or public job/application views. Bundled starter data and the last
successful local snapshot work without the service.

A synchronization sends HTTPS GET requests to these endpoints, in order:
* https://api.anywarex.com/v1/reference/countries
* https://api.anywarex.com/v1/reference/employment-types
* https://api.anywarex.com/v1/reference/departments

Later requests may not occur if an earlier request or validation fails. A missing
departments endpoint (HTTP 404) preserves existing local department suggestions.

The plugin supplies the requested catalog path and an Accept: application/json
header. It adds no query parameters, request body, cookies, authorization header
or license key. It does not send job records, applicant details, attachments,
WordPress user accounts or the administrator's selections to this API.

Site/network data IS transmitted: the provider sees the hosting server's outbound
IP address and normal HTTPS request metadata. Unless another component changes it,
WordPress's default HTTP User-Agent includes the WordPress version and site URL.
WordPress HTTP filters or hosting proxies may change the final request headers.
Responses contain reference data, not executable code. Redirects are disabled.

= Email delivery through the site's mail provider =

Provider/service: the site's hosting mail system, or the SMTP provider selected by
the site administrator. Free has no fixed third-party email provider or SMTP
endpoint. It uses WordPress wp_mail() to deliver applications to configured company
and department recipients and, when enabled, confirmations to applicants.

After a valid application submission, the company email contains the job title
and reference, applicant first/last name, email address, preferred language,
salutation/name preference and message. Uploaded files are attached when that
setting is enabled. Configured subjects can include job/applicant tokens.
Confirmation mail includes the applicant's first name, job title and site name.
Sender/recipient addresses, configured sender name, message headers and normal
mail transport metadata are transmitted as part of email delivery. This is
personal data; it is sent to the configured mail provider and intended recipients,
not to the AnyWareX Reference API.

With optional SMTP enabled, the configured host/port/encryption settings determine
the connection. Configured credentials are used to authenticate to that server.
The server also receives the connecting server's IP address and SMTP session
metadata. The SMTP configuration is applied through WordPress's global PHPMailer
hook, so other WordPress emails may use it too. With SMTP disabled, delivery uses
the site's existing WordPress mail configuration, which other plugins may change.

Terms of Service and Privacy Policy: these depend on the hosting/SMTP provider
chosen for the site. Consult that provider's published Terms and Privacy Policy;
there are no universal provider URLs that Free can supply for this configuration.

= Links and local requests =

Website, License Store, documentation and applicant privacy-notice links are
ordinary links opened by the user; Free does not automatically contact those
sites. Application AJAX requests go to this WordPress site's admin-ajax.php.
Plugin scripts, styles, logos and flags are bundled locally; Free does not load
remote fonts, analytics, licensing clients or a PDF service.

== Installation ==

1. Install and activate AnyWareX JobPool.
2. Review company email delivery, reference selections and applicant privacy
   settings in JobPool Settings.
3. Create and publish jobs in JobPool Jobs.
4. Use the shortcode catalog in Design to add job lists, details and applications
   to the appropriate WordPress pages, and test delivery with your mail provider.

== Frequently Asked Questions ==

= Are Plus or Pro required? =
No. Free publishes jobs and receives applications by email on its own. Plus and
Pro are separately installed extensions.

= Is reference synchronization required? =
No. The bundled starter catalog and existing local data remain available offline.

== Changelog ==

= 1.2.1 =
* Coordinated release-candidate maintenance and distribution validation.

= 1.2.0 =
* Release-candidate UI cleanup: paid retention in Settings, aligned application actions, and compact Pro PDF template previews with responsive editor cards.

= 1.1.13 =
* Require employer email for Free; allow stored Plus/Pro applications with notifications off and independent applicant confirmation.
* Add shared server-side application honeypot before uploads, storage and email.

Historical entries may describe features from the earlier shared product. Current
Free and separate-extension feature ownership is described above.

= 1.0.0 =
* Add an Example Job on genuine first installation; existing installations never receive an injected example, and deleted examples stay deleted.
* Add JobPool Pages settings for Job List, Job Detail and Application pages without changing selected page content.
* Improve Quick Start guidance for reviewing the example, configuring pages and testing the application workflow.
* Improve fresh-install frontend defaults for readable text and form fields.

= 0.8.37 =
* Validate internally derived SQL identifiers and use schema table mappings in core backfills.
* Make validated upload metadata handling explicit; preserve nonce, typed input and legacy integration contracts.

= 0.8.36 =
* Clarify external-service and email data disclosures and keep Tested up to in the readme only.

= 0.8.35 =
* Harden request validation, sanitize job data before extension filters, restrict section-control HTML, and enforce job preview/submission permissions.

= 0.8.34 =
* Remove arbitrary custom CSS insertion; retain structured design controls and enqueue Jobs-list interactions through WordPress.

= 0.8.33 =
* Make legacy data migration independent of extension licensing; remove unused legacy extension handlers and use registered pages for compatibility redirects.

= 0.8.32 =
* Preserve private uploads through the WordPress filesystem API and stream authorized local downloads without direct readfile calls.

= 0.8.31 =
* Allowlist country markup, use WordPress local filesystem APIs for private attachment cleanup, and document reviewed SQL/output boundaries.

= 0.8.30 =
* Improve translation extraction, request handling, temporary file cleanup and site-local date fallback for release preparation.

= 0.8.29 =
* Place translation references beside job codes and explain surviving translations before deleting their original.

= 0.8.28 =
* Show translation source links; select unique family target languages, optionally supplementing choices from Clone Translate without a plugin dependency.

= 0.8.27 =
* Keep enhanced department scope controls compact and responsive; show local country flags in job list, detail and Country-first editor.

= 0.8.26 =
* Clone Translate creates draft manual translations with a canonical source relationship and clean PDF artifacts; Duplicate remains independent.

= 0.8.25 =
* Country-scoped company departments, compatible job selection and per-instance notifications; streamlined Locations and License navigation.

= 0.8.24 =
* Shared Job details/Intro tabs with deep links; Pro adds a dedicated PDF tab and scoped primary icon rendering.

= 0.8.23 =
* Compact named application recipients with server-side limits, legacy compatibility and deduplicated routing.

= 0.8.22 =
* Locale-aware legacy employment labels, compact Department Type column and page titles; Pro preview status tooltips.

= 0.8.21 =
* Direct legacy selection reset and accessible sort icons; Pro adds persistent PDF template previews.

= 0.8.20 =
* Compact reference selection managers with local flags, accessible ordering and read-only translation Details.

= 0.8.19 =
* Semantic offline department icons, compact inline placement, current notification help and explicit legacy selection reset preview.

= 0.8.18 =
* Exact legacy cleanup preview and accessible searchable Location flag combobox; fresh installer selection regressions.
* Add reviewed legacy selection cleanup, accessible row selection, local flags and Location Add/Cancel.
* Add global application recipients and Executive Management suggestions with optional icons.

= 0.8.17 =
* Move existing notification email configuration into Departments; simplify Email navigation and reorder General pages.

= 0.8.16 =
* Shared Countries and Employment Types transfer lists preserve local choices; new catalog values remain available.

= 0.8.15 =
* Clarify that Pro PDF generation requires a configured AnyWareX PDF service.

= 0.8.14 =
* Rename Settings (Plus) to Retention with Application Retention page title.
* Use one License action footer with Store left and existing license actions right.

= 0.8.13 =
* Default PDF selection moves to Templates; explicit job inheritance labels.
* PDF Settings preserve template assignments; reference actions and overlap styling refined.

= 0.8.12 =
* Final admin polish: License last, Pro PDF badges and scoped migration notices.
* Clear PDF comparison, reference selection action alignment and consistent outline edition-overlap warning.

= 0.8.11 =
* Clear privacy source selection with page/external URL save and reload support.
* Equal shortcode action dimensions and a flatter Application Form appearance section.

= 0.8.10 =
* Compact Design pages with closed accordions and offline live previews using sample content.
* Application privacy and terms configuration moves to Core Settings with existing values preserved.

= 0.8.9 =
* Human-review polish: Design / Settings (Plus) labels, corrected menu order, styled edition conflict warning and clearer retention approval.
* Existing activation, retention, licensing and data protection rules are unchanged.

= 0.8.8 =
* Admin UX 2.0: separate Frontend task pages, clear navigation cards and searchable shortcode catalog.
* Core settings preserve Frontend values; global retention/cleanup configuration moves to licensed Plus Settings with existing guards.

= 0.8.7 =
* Two-level Settings navigation with licensed Plus/Pro entries, Email notification routing, canonical department classification and 29 offline suggestions.
* Completed migrations no longer show a permanent success notice; pending/error notices and stored migration data are preserved.

= 0.8.6 =
* Searchable reference selections, dependency protection and optional standard department suggestions.


= 0.8.5 =
* Offline reference selections, canonical multilingual labels, and preserved legacy job values.


= 0.8.4 =
* Add explicit reference API synchronization with retained local data and grouped settings.

= 0.8.3 =
* Keep licensed Applications navigation available during migration with guarded storage status.
* Remove shared PDF settings and preserve premium retention on general settings saves.

= 0.8.2 =
* Polished Welcome cards, guided setup, edition comparison, shortcode documentation and contact information.
* Kept WordPress notices outside the shared header and clarified migration final verification and completed status.


= 0.8.1 =
* Unified product header with edition version badges, scoped migration notices and a tabbed JobPool product guide.
* Benefits, Quick Start, edition comparison, form shortcodes and contact links reflect the implemented features.


= 0.8.0 =
* Canonical AnyWareX JobPool naming and controlled, resumable Careers prefix copy.
* Original tables, IDs, options and files retained; see the migration instructions.

The entries below retain the inherited Careers development history. References to
applicant management or PDF features describe that history, not the current Free
package. JobPoolX Free contains no paid applicant, PDF, licensing or private updater
runtime. Paid add-ons are separate installations.

= 0.7.76 =
* Improved application form layout: first and last name now come before preferred name.
* Preferred name and email are displayed side by side on wider screens.
* Refined multi-file uploader styling and contrast while keeping configured upload limits dynamic.

= 0.7.75 =
* Improved the application file upload UX with explicit multi-file guidance.
* Selected files are now listed with file name, size, remove controls, file count and total upload size.
* Additional file selections are appended instead of silently replacing the previous selection where supported.
* Existing configurable upload limits and server-side validation remain authoritative.


= 0.7.74 =
* New Icons added.

= 0.7.73 =
* Improved the job summary toolbar: Back remains left-aligned while page and edit actions are right-aligned.
* Replaced the eye icon with an external-link icon for the public job page.
* Added an edit icon and made Edit Job the primary action.
* Ensured toolbar icons remain clearly visible with newer WordPress admin button styles.

= 0.7.72 =
* Job rows now open an internal admin summary instead of a public preview tab.
* Added View page actions that explicitly open the public job page in a new tab.
* Removed the admin preview notice from the public job layout.

= 0.7.71 =
* Replaced the permanently visible empty department row with an explicit Add Department button.
* Added a cancel action and automatic focus for the temporary department input row.

= 0.7.70 =
* Moved Departments back into Settings.
* Split department creation from notification assignment into two sequential steps.
* Removed the standalone Departments submenu.
* Kept HR as the mandatory primary application recipient.

= 0.7.69 =
* Added a dedicated Departments admin page with notification email management.
* Added per-job department notification settings while HR remains the primary recipient.


= 0.7.68 =
* Removed the redundant Plugin Information and Quick Links cards from the dashboard.
* Simplified the dashboard so the primary content starts directly below the introduction.

= 0.7.67 =
* Moved plugin information and quick links from Settings to the Dashboard.
* Added a dedicated Shortcodes settings tab to reduce scrolling on the General tab.

= 0.7.66 =
* Jobs rows now open the public preview directly; the redundant Preview action was removed.
* PDF Templates now use indexed rows and the compact hamburger action menu.
* Admin submenu order changed to Dashboard, Jobs, Applications, PDF Templates, Settings.

= 0.7.65 =
* Replaced the Jobs table action links with the same compact hamburger action menu used on Applications.
* Added Edit, Duplicate, Preview and Delete actions with Dashicons and automatic drop-up positioning near the bottom of the table.

= 0.7.64 =
* Added a numbered index column to the application inbox.
* Simplified the attachments column to a clear numeric count, including zero.
* Refined contact-dialog typography and added explicit icons to Copy, Write email, and Call actions.

= 0.7.63 =
* Added an attachment-count column to the application inbox.
* Added client-side application search across job, applicant, contact, status and file names.
* Improved job-code readability while retaining a code-style typeface.

= 0.7.62 =
* Added compact application statistics for total, new, viewed, and other statuses.
* Made applicant last names visually stronger in the inbox table.
* Removed the redundant View details item from the row actions menu.
* Made bottom-row action menus open upward to prevent clipping inside the table area.

= 0.7.61 =
* Refined the Applications inbox with separate job code and applicant name columns, compact contact actions, date-only submission display, clickable rows, and a consolidated actions menu.

= 0.7.60 =
* Added a dedicated `awxwp-core.css` stylesheet for shared AnyWareX WordPress plugin structure.
* Migrated the admin product header to the `awxwp-core-*` naming convention.
* Removed all inline presentation styles from the shared header markup.
* Kept Careers-specific page layout styles under the `awxcr-*` prefix.

= 0.7.57 =
* Improved the Applicant privacy settings layout with a full-width URL field and clearer text controls.
* Added a dedicated `.awxcr-privacy-link` class for reliable custom styling.
* Documented the privacy-link and upload-description selectors in the Custom CSS panel.

= 0.7.56 =
* Added configurable application upload limits, total size limits, and allowed PDF/image formats.
* Added server-side MIME validation and matching browser upload hints.
* Added AJAX submission for overlay/shortcode applications so success and error messages remain inside the overlay.
* Added applicant privacy notice URL, link text, and confirmation text settings.
* Made the Terms & Conditions checkbox optional and disabled it by default.
* Added configurable application retention periods, retention indicators, and optional daily automatic deletion.

= 0.7.55 =
* Split job-list separator spacing into independent top and bottom controls.
* Removed the fixed margin below the location-filter separator for predictable spacing.
* Preserved the former single spacing value as a backward-compatible fallback.

= 0.7.41 =
* Matched SMTP and non-SMTP delivery panels with the same calm grey card background.
* Grouped SMTP port and encryption into one compact field group.
* Aligned SMTP username and password on one row and clarified that the username is an email address.
* Added a Clear button for the non-SMTP sender email field.
* Refined responsive spacing and field alignment in the email delivery settings.

= 0.7.40 =
* Integrated SMTP and PHP/WordPress sender settings into one stable delivery card.
* Added administrator and site-domain sender email suggestions for non-SMTP delivery.
* Corrected vertical alignment of the SMTP toggle knob.
* Improved delivery-section spacing, hierarchy, and responsive presentation.

= 0.7.39 =
* Replaced the SMTP checkbox with an accessible toggle in the sender card.
* SMTP connection settings are shown only while SMTP delivery is enabled.
* Refined the email settings cards, headings, status display, and spacing.

= 0.7.38 =
* SMTP username is now used automatically as the sender email address when SMTP delivery is enabled.
* Sender email is hidden in the settings UI while SMTP is enabled.
* Added a live sender preview and centralized sender resolution.
* Sender name is normalized to contain only the display name.

= 0.7.31 =
* Removed the protective top-offset clamp so section backgrounds can be positioned freely.
* Expanded section background offset range to -100 mm through +100 mm.
* Background offsets continue to leave title and content positions unchanged.

= 0.7.27 =
* Unified one- and multi-column PDF sections in one layout path.
* Split and continuous backgrounds now use the same section start, height, padding, offsets, and title geometry.
* Background areas are drawn before section titles and content, preventing split backgrounds from covering titles.
* Wrapped section-title height is now included in section and background calculations.

= 0.7.25 =
* Separate column backgrounds now include the complete section title area.
* Section-title spacing is consistent between continuous and split backgrounds.
* Retains forced fresh PDF generation and no-cache delivery from version 0.7.24.

= 0.7.23 =
* Fixed consistent spacing between section titles and content in one- and multi-column PDF sections.
* Section-title color now remains consistent when column backgrounds are separated.

= 0.7.21 =
* Added optional separate background areas for each PDF text column.
