=== Marqentra ===
Contributors: mdhgroup
Tags: ai content, social media, content automation, facebook, instagram
Requires at least: 7.0
Tested up to: 7.0
Requires PHP: 8.0
Stable tag: 1.0.13
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Create, plan and publish AI-assisted WordPress and social content using the WordPress AI Client and your social-app credentials.

== Description ==

Marqentra is a self-hosted content and social publishing workspace inside WordPress.

The WordPress.org edition does not require a Marqentra account or license key. It does not contain a trial period, local post quota, feature-unlock license check, telemetry, or an external update checker. Updates for this package are delivered through WordPress.org.

Included features:

* Company and project profiles
* AI-assisted public website analysis with editable results
* Content autopilots with goals, target groups, research settings and schedules
* Text and optional image generation through the WordPress 7.0 AI Client
* WordPress Media Library integration for images and videos
* Channel-specific social copy with different hooks, emphasis, calls to action and hashtags
* Editorial calendar with day, week and month views
* Immediate publishing and scheduled publishing
* Local WordPress publishing
* Facebook Pages publishing through OAuth
* Instagram Professional publishing through Instagram Login
* Threads publishing through OAuth
* Publication queue, retry handling and basic publishing-status analytics
* Central WordPress management of AI-provider credentials and encrypted Marqentra storage of social access tokens

All functionality included in this WordPress.org package is available without a paid activation key or local usage quota.

== External services ==

Marqentra only contacts external services after an administrator configures the relevant service and uses a feature that requires it. The plugin does not send telemetry to MDH Group or contact an MDH license/update server.

= WordPress AI Client and configured AI providers =

Marqentra uses the provider-agnostic AI Client built into WordPress 7.0. Marqentra does not call an AI provider directly and does not store AI-provider API keys.

The site administrator installs/activates a compatible AI provider and configures its credentials centrally under **Settings > Connectors**. WordPress then selects a suitable configured provider/model for the capability requested by Marqentra.

When an administrator uses a Marqentra AI feature, Marqentra passes the prompt and the content required for that action to the WordPress AI Client. Depending on the action, this can include public website text, project/brand settings, content topics, draft text and image-generation prompts. WordPress then sends the request to the AI provider configured by the site administrator. The selected provider's own terms, privacy policy and API charges apply.

Marqentra checks WordPress AI Client capabilities before using text or image generation. If no suitable provider is configured, the relevant AI feature remains unavailable until the administrator configures one under Settings > Connectors.

= Public project websites and research sources =

When an administrator starts website analysis, Marqentra requests the public project URL configured for that project. If an administrator explicitly configures a website or RSS URL as an autopilot research source, Marqentra requests that URL to retrieve public page/feed content for the requested analysis or content-generation workflow. The destination server can receive normal HTTP request metadata such as the WordPress server IP address and user agent. No Marqentra license or telemetry data is sent. The terms and privacy policy of the destination website/feed apply.

= Meta / Facebook =

When an administrator configures Facebook OAuth, Marqentra connects to Meta/Facebook to authorize a Facebook Page, retrieve the selected Page identity/token and publish content to that Page. Content sent for publishing can include post text and selected media.

Meta Platform Terms: https://developers.facebook.com/terms/
Meta Privacy Policy: https://www.facebook.com/privacy/policy/

= Instagram =

When an administrator configures Instagram Login, Marqentra connects to Instagram/Meta to authorize an Instagram Professional account and publish selected content. Content sent for publishing can include captions and public URLs of selected WordPress media.

Instagram Terms of Use: https://help.instagram.com/581066165581870/
Instagram Privacy Policy: https://privacycenter.instagram.com/policy/

= Threads =

When an administrator configures Threads OAuth, Marqentra connects to the Threads API to authorize the account and publish selected content. Content sent for publishing can include post text and public URLs of selected WordPress media.

Threads Supplemental Privacy Policy: https://help.instagram.com/515230437301944/
Meta Platform Terms: https://developers.facebook.com/terms/

== Privacy ==

Marqentra does not include usage analytics or telemetry that reports to MDH Group. AI-provider credentials are managed centrally by WordPress under Settings > Connectors and are not stored by Marqentra. Social access tokens are stored by Marqentra in encrypted form. External network requests are made only for administrator-configured AI/OAuth/publishing functions and normal WordPress.org update delivery.

Administrators are responsible for reviewing the terms and privacy policies of the external services they choose to connect and for informing their own site users where required.

== Bundled assets ==

The Marqentra administrative logo and icon bundled with this plugin are original MDH Group/Marqentra artwork and are distributed under GPLv2 or later as part of this plugin package.

== Installation ==

1. Upload and activate Marqentra from the WordPress Plugins screen.
2. Open Marqentra in the WordPress administration menu.
3. Review the company and project information.
4. Under **Settings > Connectors**, install/activate a compatible AI provider and configure its credentials. Then open **Marqentra > AI connection** to verify text and optional image support.
5. Under **Connections**, configure Facebook, Instagram and/or Threads if you want social publishing.
6. Analyze the project website and review or edit the detected profile information.
7. Create an autopilot and select its strategy, research settings, production schedule and target channels.
8. Run a manual test before enabling automated production.

== Frequently Asked Questions ==

= Does Marqentra require a Marqentra account or license key? =

No. The WordPress.org package has no Marqentra license activation and no trial period.

= Is AI included for free? =

Marqentra uses the WordPress 7.0 AI Client. You configure a compatible AI provider centrally under Settings > Connectors. Provider charges and terms are separate from Marqentra.

= Does the plugin send data to MDH Group? =

No telemetry or license validation is sent to MDH Group. AI requests are routed through the WordPress AI Client to a provider configured by the site administrator; social requests are sent only to platforms the administrator connects.

= Which social networks are included in this WordPress.org package? =

Facebook Pages, Instagram Professional accounts and Threads, plus local WordPress publishing.

= Where are credentials stored? =

AI-provider credentials are managed by WordPress under Settings > Connectors; Marqentra does not store them. Marqentra encrypts its own social-app secrets and social access tokens before storing them in the WordPress database. Sodium Secretbox is used when available; otherwise Marqentra uses AES-256-GCM through OpenSSL.

= Can I publish immediately as well as schedule posts? =

Yes. You can publish a prepared item immediately or place it in the editorial schedule/queue.

= Are there commercial Marqentra editions? =

Yes. Optional commercial Marqentra for WordPress editions are described at https://marqentra.com/wordpress/#editionen

The WordPress.org plugin remains independently usable without a Marqentra license key, trial period or local usage quota. It does not automatically download or install commercial code.

== Screenshots ==

1. Marqentra FREE dashboard with project, autopilot, publishing and system status at a glance.
2. Project management with editable project data and website analysis.
3. Autopilot configuration for strategy, research, production schedule, media strategy and target channels.
4. Editorial calendar with planned, queued and published content.
5. Publication overview with channel status and publishing results.
6. Integrated help documentation for installation, WordPress AI, connectors and ongoing operation.

== Changelog ==

= 1.0.13 =
* Apply the WordPress AI Client request-timeout filter before creating prompt builders, as required by WordPress 7.0.
* Extend both text and image AI requests to 120 seconds for Marqentra production calls.
* Preserve the v1.0.12 image-fallback behavior when image generation still fails.

= 1.0.12 =
* Extend WordPress AI Client image-generation timeout to 120 seconds for Marqentra image requests.
* Keep generated content when AI image generation fails; use the configured media-library image as fallback when available.


= 1.0.11 =
* Manual “Jetzt produzieren” runs no longer consume or block the scheduled automatic run for the same day.
* Added visible autopilot runtime diagnostics: last automatic run, last attempt, next scheduled run and last error.
* Cron status now distinguishes a registered WP-Cron event from a cron that has actually executed recently.
* Added the site-specific wp-cron.php URL for optional five-minute server-cron execution.
* Updated integrated setup documentation to require WordPress 7.0 consistently.

= 1.0.10 =
* Fixed WordPress 7.0 AI Client capability detection for dynamically proxied support-check methods.
* Text and image AI status now correctly reflects configured providers under Settings > Connectors.
* No direct AI-provider integration was reintroduced.

= 1.0.9 =
* Migrated text and image generation to the WordPress 7.0 AI Client.
* Removed direct AI-provider endpoints and Marqentra-managed AI API keys; legacy Marqentra AI credentials are removed during upgrade.
* Added WordPress Connectors capability status for text and image generation.
* Hardened plugin-specific global naming for WordPress.org compatibility.


= 1.0.8 =
* Corrected the WordPress.org contributor username to mdhgroup.
* No functional plugin behavior was changed.

= 1.0.7 =
* Added the WordPress.org contributor name.
* Added screenshot captions for the WordPress.org plugin page.
* Prepared the package as the final WordPress.org submission candidate.
* No functional plugin behavior was changed.

= 1.0.6 =
* Documented four valid dynamic IN-clause queries for Plugin Check/PHPCS so the static placeholder counter does not report false positives.
* No SQL logic or functional behavior was changed.

= 1.0.5 =
* Fixed the four remaining wpdb::prepare() placeholder-count warnings reported by Plugin Check.
* Documented the intentional direct write to Marqentra's own log table for PHPCS/Plugin Check.
* No functional behavior was changed.

= 1.0.4 =
* Remediated Plugin Check security findings for escaped admin output and exception messages.
* Reworked custom-table SQL queries to use wpdb::prepare() with identifier placeholders.
* Replaced parse_url() with wp_parse_url().
* Replaced external OAuth redirects with validated wp_safe_redirect() handling.
* Documented the deliberate nonce handling for centralized request helpers.
* Kept the functional behavior and WordPress.org FREE feature set unchanged.

= 1.0.3 =
* Added integrated help documentation for installation and initial setup.
* Added step-by-step documentation for text/image AI credentials.
* Added connector documentation for WordPress, Facebook, Instagram and Threads.
* Added operating documentation for cron, queue, calendar, monitoring and backups.

= 1.0.2 =
* Project creation form is now closed by default and opens only after clicking "Neues Projekt anlegen".
* Existing projects still open directly in edit mode together with their website analysis.
* No functional limits or premium restrictions were added.

= 1.0.1 =
* Added a restrained in-plugin link to the optional Marqentra for WordPress editions.
* Added the same information to the plugin help page and readme.
* The WordPress.org edition remains fully usable without a license key, trial or local usage quota.
* No premium code, external updater or Marqentra license-server request was added.

= 1.0.0 =
* Initial WordPress.org release candidate.
* GPLv2-or-later standalone package with no Marqentra license key or external update checker.
* No local usage quotas or trialware restrictions.
* WordPress, Facebook, Instagram and Threads publishing.
* AI-assisted website analysis, content generation, channel-specific social copy and hashtags.
* Editorial calendar, immediate publishing, queue and basic analytics.
