Array ( [abandoned-cart] => Array ( [name] => Abandoned Cart [slug] => abandoned-cart [category] => marketing [url] => https://www.vvveb.com [description] => Detect abandoned carts and recover them with automated email and SMS sequences. [thumb] => abandoned-cart.svg [author] => givanz [version] => 2.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/abandoned-cart/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//abandoned-cart/plugin.php [folder] => abandoned-cart [import] => ) [accounting] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//accounting/plugin.php [folder] => accounting [import] => [slug] => accounting ) [activity-log] => Array ( [name] => Activity Log [slug] => activity-log [category] => security [url] => https://www.vvveb.com [description] => Log admin dashboard user actions and login activity [thumb] => activity-log.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/activity-log/activity-logs [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//activity-log/plugin.php [folder] => activity-log [import] => ) [activitypub] => Array ( [name] => ActivityPub [slug] => activitypub [category] => social [url] => https://www.vvveb.com [description] => Connect your site to the Fediverse. Federate posts, pages and products with Mastodon, Pleroma/Akkoma, Friendica, Hubzilla, Pixelfed, Socialhome and Misskey via ActivityPub. [thumb] => activitypub.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/activitypub/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//activitypub/plugin.php [folder] => activitypub [import] => ) [ad-manager] => Array ( [name] => Ad Manager [slug] => ad-manager [category] => seo [url] => https://www.vvveb.com [description] => Manage banner and script ads and inject them into the page head or body [thumb] => ad-manager.svg [author] => givanz [version] => 0.2 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/ad-manager/ads [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//ad-manager/plugin.php [folder] => ad-manager [import] => ) [admin-role-home] => Array ( [name] => Admin role home [slug] => admin-role-home [category] => tools [url] => https://www.vvveb.com [description] => Set a different admin home/dashboard html template for a specific role [author] => givanz [version] => 0.1 [thumb] => admin-role-home.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/admin-role-home/admin-role-home.svg [file] => /home/www/vvveb/www/plugins//admin-role-home/plugin.php [folder] => admin-role-home [import] => ) [ads] => Array ( [name] => Ad Inserter [slug] => ads [category] => marketing [url] => https://www.vvveb.com [description] => Insert ad blocks anywhere on the site: arbitrary code, AdSense, Google Ad Manager and rotating banners with standard and css-selector based placements, targeting rules, scheduling and ads.txt management. [thumb] => ads.svg [author] => givanz [version] => 1.0 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/ads/blocks [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//ads/plugin.php [folder] => ads [import] => ) [ai-assistant] => Array ( [name] => AI Assistant [slug] => ai-assistant [category] => tools [url] => https://www.vvveb.com [description] => Add an AI assistant to the content editor and site editor. Supports OpenAI, Anthropic Claude, Google Gemini, DeepSeek, Groq, Mistral, xAI Grok and OpenRouter with streaming responses, reasoning blocks, file attachments, tool calls and an optional server side proxy that hides api keys from the browser. [author] => givanz [version] => 0.2 [thumb] => ai-assistant.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/ai-assistant/settings [status] => inactive [thumb_url] => /plugins/ai-assistant/ai-assistant.svg [file] => /home/www/vvveb/www/plugins//ai-assistant/plugin.php [folder] => ai-assistant [import] => ) [ai] => Array ( [name] => AI gateway [slug] => ai [category] => tools [url] => https://www.vvveb.com [description] => Shared AI gateway for other plugins. One central place for provider API keys, per-capability routing (OpenAI, Anthropic, Google Gemini), streaming, fallbacks and usage/cost tracking. Call Vvveb\Plugins\Ai\System\Api from any plugin. [thumb] => ai.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/ai/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//ai/plugin.php [folder] => ai [import] => ) [akismet] => Array ( [name] => Akismet [slug] => akismet [category] => spam [url] => https://www.vvveb.com [description] => Check comments, product reviews, product questions and contact form messages for spam with the Akismet anti-spam service [thumb] => akismet.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/akismet/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//akismet/plugin.php [folder] => akismet [import] => ) [analytics] => Array ( [name] => Analytics [slug] => analytics [category] => tools [url] => https://www.vvveb.com [description] => Privacy-focused, cookieless web and ecommerce analytics with first-party tracking, bot filtering, scroll depth and revenue reporting. No consent banner required. [thumb] => analytics.svg [author] => givanz [version] => 0.2 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/analytics/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//analytics/plugin.php [folder] => analytics [import] => ) [anti-fraud] => Array ( [name] => Anti-fraud [slug] => anti-fraud [category] => security [url] => https://www.vvveb.com [description] => Fraud protection for ecommerce : rule-based risk scoring for orders and checkouts, card testing & bot detection, allow/block lists, manual review workflow with risk badges on orders, dashboard and optional MaxMind / reCAPTCHA / Turnstile / PayPal / AI integrations. [thumb] => anti-fraud.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/anti-fraud/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//anti-fraud/plugin.php [folder] => anti-fraud [import] => ) [bank-transfer-payment] => Array ( [name] => Bank transfer payment method [slug] => bank-transfer-payment [category] => payment [url] => https://www.vvveb.com [description] => Adds bank transfer payment method on checkout page [author] => givanz [version] => 0.1 [thumb] => cash.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/bank-transfer-payment/settings [status] => inactive [thumb_url] => /plugins/bank-transfer-payment/cash.svg [file] => /home/www/vvveb/www/plugins//bank-transfer-payment/plugin.php [folder] => bank-transfer-payment [import] => ) [brevo-email] => Array ( [name] => Brevo email [slug] => brevo-email [category] => tools [url] => https://www.vvveb.com/product/brevo-email [description] => Send emails using Brevo Rest API [author] => givanz [version] => 0.2 [thumb] => brevo.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=settings/email [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//brevo-email/plugin.php [folder] => brevo-email [import] => ) [call-for-price] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//call-for-price/plugin.php [folder] => call-for-price [import] => [slug] => call-for-price ) [canonical-fix] => Array ( [name] => Canonical fix [slug] => canonical-fix [category] => headless [url] => https://www.vvveb.com [description] => Installs Graphql dependencies webonyx/graphql-php to avoid running composer on the server [thumb] => canonical-fix.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//canonical-fix/plugin.php [folder] => canonical-fix [import] => ) [captcha] => Array ( [name] => Captcha form protection [slug] => captcha [category] => spam [url] => https://plugins.vvveb.com/product/debug [description] => Add captcha to site forms: user registration, password reset, comments, reviews etc. [author] => givanz [version] => 0.1 [thumb] => captcha.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/captcha/settings [status] => inactive [thumb_url] => /plugins/captcha/captcha.svg [file] => /home/www/vvveb/www/plugins//captcha/plugin.php [folder] => captcha [import] => ) [cash-on-delivery-payment] => Array ( [name] => Cash on delivery payment method [slug] => cash-on-delivery-payment [category] => payment [url] => https://www.vvveb.com [description] => Adds cash on delivery payment method on checkout page [author] => givanz [version] => 0.1 [thumb] => cash.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/cash-on-delivery-payment/settings [status] => inactive [thumb_url] => /plugins/cash-on-delivery-payment/cash.svg [file] => /home/www/vvveb/www/plugins//cash-on-delivery-payment/plugin.php [folder] => cash-on-delivery-payment [import] => ) [catalog-mode] => Array ( [name] => Catalog mode [slug] => catalog-mode [category] => tools [url] => https://www.vvveb.com [description] => Hide add to cart and checkout and cart pages. [author] => givanz [version] => 0.1 [thumb] => catalog-mode.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/catalog-mode/catalog-mode.svg [file] => /home/www/vvveb/www/plugins//catalog-mode/plugin.php [folder] => catalog-mode [import] => ) [cdn] => Array ( [name] => CDN [slug] => cdn [category] => performance [url] => https://www.vvveb.com [description] => Load images from CDN for faster page loading [author] => givanz [version] => 0.2 [thumb] => cdn.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/cdn/settings [status] => inactive [thumb_url] => /plugins/cdn/cdn.svg [file] => /home/www/vvveb/www/plugins//cdn/plugin.php [folder] => cdn [import] => ) [chatgpt] => Array ( [name] => ChatGPT [slug] => chatgpt [category] => tools [url] => https://www.vvveb.com [description] => Add ChatGPT prompt toolbar button to content editor on post and product edit page and chatgpt prompt component in site editor. [author] => givanz [version] => 0.1 [thumb] => chatgpt.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/chatgpt/settings [status] => inactive [thumb_url] => /plugins/chatgpt/chatgpt.svg [file] => /home/www/vvveb/www/plugins//chatgpt/plugin.php [folder] => chatgpt [import] => ) [clamav-scan] => Array ( [name] => ClamAV Scan [slug] => clamav-scan [category] => tools [url] => https://www.vvveb.com [description] => Veto infected uploads at the WordPress admin proxy via clamdscan/clamscan. Reference listener for the AdminProxy::scan hook. [thumb] => clamav-scan.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//clamav-scan/plugin.php [folder] => clamav-scan [import] => ) [contact-form] => Array ( [name] => Contact form [slug] => contact-form [category] => email [url] => https://www.vvveb.com [description] => Create contact forms that sends email or saves data in the database [thumb] => contact-form.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/contact-form/messages [status] => inactive [thumb_url] => /plugins/contact-form/contact-form.svg [file] => /home/www/vvveb/www/plugins//contact-form/plugin.php [folder] => contact-form [import] => ) [content] => Array ( [name] => Content [slug] => content [category] => content [url] => https://www.vvveb.com [description] => Add text at the beginning and end of a post [author] => givanz [version] => 0.1 [thumb] => content.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/content/settings [status] => inactive [thumb_url] => /plugins/content/content.svg [file] => /home/www/vvveb/www/plugins//content/plugin.php [folder] => content [import] => ) [cookie-consent] => Array ( [name] => Cookie consent [slug] => cookie-consent [category] => tools [url] => https://www.vvveb.com [description] => Self hosted GDPR/CCPA style cookie consent: local cookie scanner, script blocking until consent, customizable banner and preference center, consent audit log and auto generated legal documents. No external service involved. [thumb] => cookie-consent.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/cookie-consent/dashboard [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//cookie-consent/plugin.php [folder] => cookie-consent [import] => ) [cookie-notice] => Array ( [name] => Cookie Notice [slug] => cookie-notice [category] => content [url] => https://www.vvveb.com [description] => GDPR, CCPA and UK compliant cookie consent banner with Google Consent Mode v2, IAB TCF v2.3, preference center, geo-targeting and consent logging [author] => givanz [version] => 0.3 [thumb] => cookie-notice.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/cookie-notice/settings [status] => inactive [thumb_url] => /plugins/cookie-notice/cookie-notice.svg [file] => /home/www/vvveb/www/plugins//cookie-notice/plugin.php [folder] => cookie-notice [import] => ) [crm] => Array ( [name] => CRM [slug] => crm [category] => crm [url] => https://www.vvveb.com [description] => Customer relationship management with contacts, companies and sales pipeline [thumb] => crm.svg [author] => givanz [version] => 0.2 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/crm/dashboard [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//crm/plugin.php [folder] => crm [import] => ) [currency-update] => Array ( [name] => Currency update [slug] => currency-update [category] => tools [url] => https://www.vvveb.com [description] => Update currency rates from European Central Bank data [author] => givanz [version] => 0.2 [thumb] => currency-update.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/currency-update/settings [status] => inactive [thumb_url] => /plugins/currency-update/currency-update.svg [file] => /home/www/vvveb/www/plugins//currency-update/plugin.php [folder] => currency-update [import] => ) [custom-news] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//custom-news/plugin.php [folder] => custom-news [import] => [slug] => custom-news ) [custom-product-tabs] => Array ( [name] => Custom Product Tabs [slug] => custom-product-tabs [category] => content [url] => https://www.vvveb.com [description] => Add multi language information tabs to product pages [thumb] => custom-product-tabs.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/custom-product-tabs/tabs [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//custom-product-tabs/plugin.php [folder] => custom-product-tabs [import] => ) [data-feed] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//data-feed/plugin.php [folder] => data-feed [import] => [slug] => data-feed ) [database-management] => Array ( [name] => Database Management [slug] => database-management [category] => tools [url] => https://www.vvveb.com [description] => Database management tool using adminer (adminer.org) [thumb] => database-management.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/?module=plugins/database-management/view [status] => inactive [thumb_url] => /plugins/database-management/database-management.svg [file] => /home/www/vvveb/www/plugins//database-management/plugin.php [folder] => database-management [import] => ) [debug] => Array ( [name] => Debug [slug] => debug [category] => development [url] => https://www.vvveb.com [description] => Activate debugging and logging, useful for development [author] => givanz [version] => 0.1 [thumb] => debug.svg [settings] => /admin/index.php?module=plugins/debug/settings [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/debug/debug.svg [file] => /home/www/vvveb/www/plugins//debug/plugin.php [folder] => debug [import] => ) [dicebear] => Array ( [name] => DiceBear [slug] => dicebear [category] => comments [url] => https://www.dicebear.com [description] => Show dicebear images on comments for users that don't have avatars set. [author] => givanz [version] => 0.1 [thumb] => dicebear.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/dicebear/settings [status] => inactive [thumb_url] => /plugins/dicebear/dicebear.svg [file] => /home/www/vvveb/www/plugins//dicebear/plugin.php [folder] => dicebear [import] => ) [dynamic-pricing] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//dynamic-pricing/plugin.php [folder] => dynamic-pricing [import] => [slug] => dynamic-pricing ) [editor-js] => Array ( [name] => Editor.Js [slug] => editor-js [category] => content [url] => https://www.vvveb.com [description] => Change post and product page editor to editor.js. [author] => givanz [version] => 0.1 [thumb] => editor-js.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/editor-js/editor-js.svg [file] => /home/www/vvveb/www/plugins//editor-js/plugin.php [folder] => editor-js [import] => ) [elasticsearch] => Array ( [name] => Elasticsearch [slug] => elasticsearch [category] => search [url] => https://www.vvveb.com [description] => Full-text product and post search with Elasticsearch, synced automatically on save. [thumb] => elasticsearch.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/elasticsearch/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//elasticsearch/plugin.php [folder] => elasticsearch [import] => ) [email-marketing] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//email-marketing/plugin.php [folder] => email-marketing [import] => [slug] => email-marketing ) [events] => Array ( [name] => Events Calendar [slug] => events [category] => content [url] => https://www.vvveb.com [description] => Manage events and show upcoming and past events on the site [thumb] => events.svg [author] => givanz [version] => 0.2 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/events/events [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//events/plugin.php [folder] => events [import] => ) [file-manager] => Array ( [name] => File manager [slug] => file-manager [category] => tools [url] => https://www.vvveb.com [description] => File manager [thumb] => file-manager.svg [author] => givanz [version] => 0.1 [author-url] => http://www.vvveb.com [settings] => /admin/?module=plugins/file-manager/view [status] => inactive [thumb_url] => /plugins/file-manager/file-manager.svg [file] => /home/www/vvveb/www/plugins//file-manager/plugin.php [folder] => file-manager [import] => ) [flat-rate-shipping] => Array ( [name] => Flat rate shipping method [slug] => flat-rate-shipping [category] => shipping [url] => https://www.vvveb.com [description] => Adds flat rate shipping method on checkout page [author] => givanz [version] => 0.1 [thumb] => shipping.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/flat-rate-shipping/settings [status] => inactive [thumb_url] => /plugins/flat-rate-shipping/shipping.svg [file] => /home/www/vvveb/www/plugins//flat-rate-shipping/plugin.php [folder] => flat-rate-shipping [import] => ) [flickr] => Array ( [name] => Flickr [slug] => flickr [category] => media [url] => https://www.vvveb.com [description] => Search and insert images from Flickr directly in the media picker [author] => givanz [version] => 0.1 [thumb] => flickr.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/flickr/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//flickr/plugin.php [folder] => flickr [import] => ) [form-builder] => Array ( [name] => Form builder [slug] => form-builder [category] => content [url] => https://www.vvveb.com [description] => Drag and drop form builder. Create contact, newsletter, registration and custom forms, embed them in posts, pages or themes with ajax submission, manage entries and get email notifications. [thumb] => form-builder.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/form-builder/forms [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//form-builder/plugin.php [folder] => form-builder [import] => ) [forum] => Array ( [name] => Forum [slug] => forum [category] => content [url] => https://www.vvveb.com [description] => Discussion forum with boards, topics and replies [thumb] => forum.svg [author] => givanz [version] => 0.2 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/forum/forums [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//forum/plugin.php [folder] => forum [import] => ) [gettext-php] => Array ( [name] => Gettext php [slug] => gettext-php [category] => development [url] => https://www.vvveb.com [description] => Emulate gettext with php to avoid translation caching issues [thumb] => gettext-php.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//gettext-php/plugin.php [folder] => gettext-php [import] => ) [gift-cards] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//gift-cards/plugin.php [folder] => gift-cards [import] => [slug] => gift-cards ) [giphy] => Array ( [name] => Giphy [slug] => giphy [category] => media [url] => https://www.vvveb.com [description] => Search and insert gifs and images from Giphy directly in the media picker [author] => givanz [version] => 0.1 [thumb] => giphy.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/giphy/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//giphy/plugin.php [folder] => giphy [import] => ) [git-deploy] => Array ( [name] => Git deploy [slug] => git-deploy [category] => tools [url] => https://www.vvveb.com [description] => Git version control and deployment for plugins, themes or the whole site. Track changes, commit, diff, pull, push and auto-deploy from webhooks, with per-repository settings and SSH keys. [thumb] => git-deploy.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/git-deploy/repositories [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//git-deploy/plugin.php [folder] => git-deploy [import] => ) [google-translate] => Array ( [name] => Google translate [slug] => google-translate [category] => content [url] => https://www.vvveb.com [description] => Adds automatic translate to language domain editor [author] => givanz [version] => 0.1 [thumb] => google-translate.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/google-translate/google-translate.svg [file] => /home/www/vvveb/www/plugins//google-translate/plugin.php [folder] => google-translate [import] => ) [graphql-lib] => Array ( [name] => Graphql lib [slug] => graphql-lib [category] => headless [url] => https://www.vvveb.com [description] => Installs Graphql dependencies webonyx/graphql-php to avoid running composer on the server [thumb] => graphql-lib.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//graphql-lib/plugin.php [folder] => graphql-lib [import] => ) [graphql] => Array ( [name] => GraphQL [slug] => graphql [category] => development [url] => https://www.vvveb.com [description] => View and interact with GraphQL API. [author] => givanz [version] => 0.1 [thumb] => graphql.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/graphql/settings [status] => inactive [thumb_url] => /plugins/graphql/graphql.svg [file] => /home/www/vvveb/www/plugins//graphql/plugin.php [folder] => graphql [import] => ) [gravatar] => Array ( [name] => Gravatar [slug] => gravatar [category] => comments [url] => https://www.gravatar.com [description] => Show gravatar images on comments for users that don't have avatars set. [author] => givanz [version] => 0.1 [thumb] => gravatar.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/gravatar/settings [status] => inactive [thumb_url] => /plugins/gravatar/gravatar.svg [file] => /home/www/vvveb/www/plugins//gravatar/plugin.php [folder] => gravatar [import] => ) [headless-mode] => Array ( [name] => Headless mode [slug] => headless-mode [category] => tools [url] => https://www.vvveb.com [description] => All frontend requests return json response instead of html. [author] => givanz [version] => 0.1 [thumb] => headless-mode.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//headless-mode/plugin.php [folder] => headless-mode [import] => ) [helpscout-beacon] => Array ( [name] => Help Scout Beacon [slug] => helpscout-beacon [category] => tools [url] => https://www.vvveb.com [description] => Add the Help Scout Beacon support widget to the site [thumb] => helpscout-beacon.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/helpscout-beacon/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//helpscout-beacon/plugin.php [folder] => helpscout-beacon [import] => ) [hide-ecommerce] => Array ( [name] => Hide Ecommerce features [slug] => hide-ecommerce [category] => tools [url] => https://www.vvveb.com [description] => Hide Ecommerce features if you are not using them. [author] => givanz [version] => 0.1 [thumb] => hide-ecommerce.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/hide-ecommerce/hide-ecommerce.svg [file] => /home/www/vvveb/www/plugins//hide-ecommerce/plugin.php [folder] => hide-ecommerce [import] => ) [hide-editor] => Array ( [name] => Hide editor based on role [slug] => hide-editor [category] => tools [url] => https://www.vvveb.com [description] => Hide editor based on role [thumb] => hide-editor.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//hide-editor/plugin.php [folder] => hide-editor [import] => ) [hide-language-selector] => Array ( [name] => Hide language selector [slug] => hide-language-selector [category] => tools [url] => https://www.vvveb.com [description] => Hides top header language selector from frontend [author] => givanz [version] => 0.1 [thumb] => hide-language-selector.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//hide-language-selector/plugin.php [folder] => hide-language-selector [import] => ) [hide-update] => Array ( [name] => Hide update check [slug] => hide-update [category] => tools [url] => https://www.vvveb.com [description] => Hide the Vvveb version, update notifications and documentation link in admin. [thumb] => hide-update.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//hide-update/plugin.php [folder] => hide-update [import] => ) [image-limiter] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//image-limiter/plugin.php [folder] => image-limiter [import] => [slug] => image-limiter ) [image-optimizer] => Array ( [name] => Image optimizer [slug] => image-optimizer [category] => media [url] => https://www.vvveb.com [description] => Optimize images for size [thumb] => image-optimizer.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//image-optimizer/plugin.php [folder] => image-optimizer [import] => ) [import-csv] => Array ( [name] => Import Csv [slug] => import-csv [category] => content [url] => https://www.vvveb.com [description] => Import products from a csv file (Woocommerce, Shopify, Magento, PrestaShop, OpenCart, Avada Commerce, WeltPixel, Wix Stores, Squarespace, BigCommerce, VTEX, Webflow). [author] => givanz [version] => 0.2 [thumb] => import-csv.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/import-csv/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//import-csv/plugin.php [folder] => import-csv [import] => ) [import-fonts] => Array ( [name] => Import Fonts [slug] => import-fonts [category] => content [url] => https://www.vvveb.com [description] => Import Google and Adobe Fonts into your theme so they are served locally, no external requests on the frontend [thumb] => import-fonts.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/import-fonts/import [status] => inactive [thumb_url] => /plugins/import-fonts/import-fonts.svg [file] => /home/www/vvveb/www/plugins//import-fonts/plugin.php [folder] => import-fonts [import] => ) [import-wordpress] => Array ( [name] => Import Wordpress [slug] => import-wordpress [category] => content [url] => https://www.vvveb.com [description] => Import content from a wordpress xml export file. [author] => givanz [version] => 0.1 [thumb] => import-wordpress.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/import-wordpress/settings [status] => inactive [thumb_url] => /plugins/import-wordpress/import-wordpress.svg [file] => /home/www/vvveb/www/plugins//import-wordpress/plugin.php [folder] => import-wordpress [import] => ) [insert-scripts] => Array ( [name] => Insert Footer Header Scripts [slug] => insert-scripts [category] => tools [url] => https://www.vvveb.com [description] => Insert footer and header scripts such as analytics or widgets. [thumb] => insert-scripts.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/insert-scripts/settings [status] => inactive [thumb_url] => /plugins/insert-scripts/insert-scripts.svg [file] => /home/www/vvveb/www/plugins//insert-scripts/plugin.php [folder] => insert-scripts [import] => ) [inventory] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//inventory/plugin.php [folder] => inventory [import] => [slug] => inventory ) [language-specific-template] => Array ( [name] => Language specific html template [slug] => language-specific-template [category] => tools [url] => https://www.vvveb.com [description] => Set a different html template for a specific language, the plugin will check for language specific html file like index.fr_FR.html or content/post.fr_FR.html before serving general index.html and content/post.html [author] => givanz [version] => 0.1 [thumb] => language-specific-template.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/language-specific-template/language-specific-template.svg [file] => /home/www/vvveb/www/plugins//language-specific-template/plugin.php [folder] => language-specific-template [import] => ) [llmstxt] => Array ( [name] => LlmsTxt [slug] => llmstxt [category] => content [url] => https://www.vvveb.com [description] => Add llms.txt to your site [author] => givanz [version] => 0.1 [thumb] => llmstxt.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/llmstxt/llmstxt.svg [file] => /home/www/vvveb/www/plugins//llmstxt/plugin.php [folder] => llmstxt [import] => ) [magic-link] => Array ( [name] => Magic link login [slug] => magic-link [category] => security [url] => https://www.vvveb.com [description] => Passwordless login with a one-time link sent to the user email [thumb] => magic-link.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/magic-link/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//magic-link/plugin.php [folder] => magic-link [import] => ) [markdown-editor] => Array ( [name] => Markdown Editor [slug] => markdown-editor [category] => content [url] => https://www.vvveb.com [description] => Change post and product page editor to markdown, automatically render as html on frontend. [author] => givanz [version] => 0.1 [thumb] => markdown-editor.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/markdown-editor/markdown-editor.svg [file] => /home/www/vvveb/www/plugins//markdown-editor/plugin.php [folder] => markdown-editor [import] => ) [markdown-import] => Array ( [name] => Markdown Import [slug] => markdown-import [category] => content [url] => https://www.vvveb.com [description] => Import and update markdown files as posts [author] => givanz [version] => 0.2 [thumb] => markdown-import.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/markdown-import/settings [status] => inactive [thumb_url] => /plugins/markdown-import/markdown-import.svg [file] => /home/www/vvveb/www/plugins//markdown-import/plugin.php [folder] => markdown-import [import] => ) [mcp] => Array ( [name] => Mcp form protection [slug] => mcp [category] => spam [url] => https://plugins.vvveb.com/product/debug [description] => Model Context Protocol for Vvveb [author] => givanz [version] => 0.1 [thumb] => mcp.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/mcp/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//mcp/plugin.php [folder] => mcp [import] => ) [media-remove-image-background] => Array ( [name] => Media Remove Image Background [slug] => media-remove-image-background [category] => tools [url] => https://www.vvveb.com [description] => Remove Image Background [thumb] => insert-scripts.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/media-remove-image-background/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//media-remove-image-background/plugin.php [folder] => media-remove-image-background [import] => ) [menu-hide-per-role] => Array ( [name] => Menu hide items per role [slug] => menu-hide-per-role [category] => tools [url] => https://www.vvveb.com [description] => Hide certain admin sidebar menu items for a specified role [author] => givanz [version] => 0.1 [thumb] => menu-hide-per-role.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/menu-hide-per-role/settings [status] => inactive [thumb_url] => /plugins/menu-hide-per-role/menu-hide-per-role.svg [file] => /home/www/vvveb/www/plugins//menu-hide-per-role/plugin.php [folder] => menu-hide-per-role [import] => ) [minify] => Array ( [name] => Minify css and js [slug] => minify [category] => performance [url] => https://www.vvveb.com [description] => Minify javascript and css for better frontend performance. [author] => givanz [version] => 0.1 [thumb] => minify.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/minify/minify.svg [file] => /home/www/vvveb/www/plugins//minify/plugin.php [folder] => minify [import] => ) [mollie-payment] => Array ( [name] => Mollie Payment [slug] => mollie-payment [category] => payment [url] => https://www.vvveb.com [description] => Accept payments with Mollie (iDEAL, credit card, Bancontact, PayPal, Klarna and more) [author] => givanz [version] => 0.1 [thumb] => mollie-payment.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/mollie-payment/settings [status] => inactive [thumb_url] => /plugins/mollie-payment/mollie-payment.svg [file] => /home/www/vvveb/www/plugins//mollie-payment/plugin.php [folder] => mollie-payment [import] => ) [mollie] => Array ( [name] => Mollie payment [slug] => mollie [category] => payment [url] => https://www.vvveb.com [description] => Adds Mollie payment method on checkout page [author] => givanz [version] => 0.1 [thumb] => mollie.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/mollie/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//mollie/plugin.php [folder] => mollie [import] => ) [multi-vendor] => Array ( [name] => Multi vendor [slug] => multi-vendor [category] => content [url] => https://www.vvveb.com [description] => Adds multi vendor signup page on frontend. [author] => givanz [version] => 0.1 [thumb] => multi-vendor.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/multi-vendor/multi-vendor.svg [file] => /home/www/vvveb/www/plugins//multi-vendor/plugin.php [folder] => multi-vendor [import] => ) [multichannel] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//multichannel/plugin.php [folder] => multichannel [import] => [slug] => multichannel ) [newsletter] => Array ( [name] => Newsletter [slug] => newsletter [category] => email [url] => https://www.vvveb.com [description] => Create Newsletters that sends email or saves data in the database [thumb] => newsletter.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/newsletter/newsletter-list [status] => inactive [thumb_url] => /plugins/newsletter/newsletter.svg [file] => /home/www/vvveb/www/plugins//newsletter/plugin.php [folder] => newsletter [import] => ) [old-activitypub] => Array ( [name] => ActivityPub [slug] => old-activitypub [category] => blog [url] => https://plugins.vvveb.com/product/activitypub [description] => Publish to Fediverse [author] => givanz [version] => 0.1 [thumb] => activitypub.svg [author-url] => https://www.vvveb.com [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//old-activitypub/plugin.php [folder] => old-activitypub [import] => ) [omnipay] => Array ( [name] => Omnipay 3 payment gateways [slug] => omnipay [category] => payment [url] => https://www.vvveb.com [description] => Supported gateways: Paypal Express Checkout, Paypal Pro Checkout, Paypal Rest, Mollie, Dummy. [author] => givanz [version] => 0.1 [thumb] => omnipay.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/omnipay/settings [status] => inactive [thumb_url] => /plugins/omnipay/omnipay.svg [file] => /home/www/vvveb/www/plugins//omnipay/plugin.php [folder] => omnipay [import] => ) [omnipay2] => Array ( [name] => Omnipay payment gateways [slug] => omnipay2 [category] => payment [url] => https://www.vvveb.com [description] => Supported gateways: Paypal Express Checkout, Paypal Pro Checkout, Paypal Rest, Mollie, Dummy. [author] => givanz [version] => 0.1 [thumb] => omnipay.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/omnipay/settings [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//omnipay2/plugin.php [folder] => omnipay2 [import] => ) [openapi] => Array ( [name] => OpenApi [slug] => openapi [category] => development [url] => https://www.vvveb.com [description] => View and interact with REST Api. [author] => givanz [version] => 0.1 [thumb] => openapi.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/openapi/settings [status] => inactive [thumb_url] => /plugins/openapi/openapi.svg [file] => /home/www/vvveb/www/plugins//openapi/plugin.php [folder] => openapi [import] => ) [opencode-session] => Array ( [name] => OpenCode Session [slug] => opencode-session [category] => tools [url] => https://www.vvveb.com [description] => Add an AI assistant to the content editor and site editor. Supports OpenAI, Anthropic Claude, Google Gemini, DeepSeek, Groq, Mistral, xAI Grok and OpenRouter with streaming responses, reasoning blocks, file attachments, tool calls and an optional server side proxy that hides api keys from the browser. [author] => givanz [version] => 0.2 [thumb] => opencode-session.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/ai-assistant/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//opencode-session/plugin.php [folder] => opencode-session [import] => ) [openverse] => Array ( [name] => Openverse [slug] => openverse [category] => media [url] => https://www.vvveb.com [description] => Search and insert openly licensed images from Openverse directly in the media picker [author] => givanz [version] => 0.1 [thumb] => openverse.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/openverse/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//openverse/plugin.php [folder] => openverse [import] => ) [payment-2c2p] => Array ( [name] => 2C2P [slug] => payment-2c2p [category] => payment [url] => https://www.vvveb.com [description] => Adds 2C2P Payment Gateway API - Singapore-based with pan-Asia coverage supporting cards and regional APMs across Southeast Asia. Signed JWT payment token flow with hosted payment page. [thumb] => 2c2p.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-2c2p/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-2c2p/plugin.php [folder] => payment-2c2p [import] => ) [payment-adyen] => Array ( [name] => Adyen Checkout [slug] => payment-adyen [category] => payment [url] => https://www.vvveb.com [description] => Adds Adyen Checkout on checkout page. Unified card and 200+ local payment method acquiring with drop-in component, 3D Secure 2 and signed notification webhooks including chargebacks. [thumb] => adyen.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-adyen/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-adyen/plugin.php [folder] => payment-adyen [import] => ) [payment-affirm] => Array ( [name] => Affirm [slug] => payment-affirm [category] => payment [url] => https://www.vvveb.com [description] => Adds Affirm installment financing through the Affirm JS checkout modal, typically lifting average order value. Confirms and captures server side after customer approval. [thumb] => affirm.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-affirm/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-affirm/plugin.php [folder] => payment-affirm [import] => ) [payment-afterpay] => Array ( [name] => Afterpay / Clearpay [slug] => payment-afterpay [category] => payment [url] => https://www.vvveb.com [description] => Adds Afterpay 4-installment Buy Now Pay Later checkout. Branded automatically as Clearpay in UK/EU markets. Redirect based checkout with order confirmation webhook. [thumb] => afterpay.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-afterpay/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-afterpay/plugin.php [folder] => payment-afterpay [import] => ) [payment-airwallex] => Array ( [name] => Airwallex [slug] => payment-airwallex [category] => payment [url] => https://www.vvveb.com [description] => Adds Airwallex Payment Acceptance for multi-currency checkout with local payment rails across 120+ countries. Embedded drop-in element on checkout, webhook based order confirmation. [thumb] => airwallex.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-airwallex/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-airwallex/plugin.php [folder] => payment-airwallex [import] => ) [payment-applepay] => Array ( [name] => Apple Pay [slug] => payment-applepay [category] => payment [url] => https://www.vvveb.com [description] => Adds an Apple Pay accelerated checkout button using the Apple Pay JS API. Payment tokens are processed through the store's existing card processor (Stripe or Adyen) rather than acting as a standalone processor. [thumb] => applepay.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-applepay/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-applepay/plugin.php [folder] => payment-applepay [import] => ) [payment-bluesnap] => Array ( [name] => BlueSnap [slug] => payment-bluesnap [category] => payment [url] => https://www.vvveb.com [description] => Adds BlueSnap Payment API supporting cards, ACH, SEPA and wire with built-in subscription/recurring billing management. Hosted fields embedded on checkout. [thumb] => bluesnap.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-bluesnap/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-bluesnap/plugin.php [folder] => payment-bluesnap [import] => ) [payment-bpay] => Array ( [name] => BPAY (Australia) [slug] => payment-bpay [category] => payment [url] => https://www.vvveb.com [description] => Adds BPAY biller-code payment instructions for Australian merchants accepting bank-initiated bill payments (ideal for invoices rather than instant checkout). Generates a stable, check-digit-validated customer reference number per order under your chosen scheme, shows exact payment instructions, and confirms through an optional secret-gated reconciliation callback or a manual admin confirmation. [thumb] => bpay.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-bpay/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-bpay/plugin.php [folder] => payment-bpay [import] => ) [payment-cashfree] => Array ( [name] => Cashfree [slug] => payment-cashfree [category] => payment [url] => https://www.vvveb.com [description] => Adds Cashfree Payments supporting UPI, cards, netbanking and wallets for Indian merchants. Hosted checkout via Cashfree JS SDK with webhook order-status confirmation. [thumb] => cashfree.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-cashfree/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-cashfree/plugin.php [folder] => payment-cashfree [import] => ) [payment-ccavenue] => Array ( [name] => CCAvenue [slug] => payment-ccavenue [category] => payment [url] => https://www.vvveb.com [description] => Adds CCAvenue redirect-based checkout supporting 200+ Indian payment options plus international cards. AES encrypted request/response with working key. [thumb] => ccavenue.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-ccavenue/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-ccavenue/plugin.php [folder] => payment-ccavenue [import] => ) [payment-checkoutcom] => Array ( [name] => Checkout.com Payment [slug] => payment-checkoutcom [category] => payment [url] => https://www.vvveb.com [description] => Adds Checkout.com Unified Payments on checkout page. Cards, wallets and 20+ local methods across 55+ countries with hosted payment page or embedded components, webhooks for captures, refunds and chargebacks. [thumb] => checkoutcom.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-checkoutcom/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-checkoutcom/plugin.php [folder] => payment-checkoutcom [import] => ) [payment-dlocal] => Array ( [name] => dLocal (LatAm & emerging markets) [slug] => payment-dlocal [category] => payment [url] => https://www.vvveb.com [description] => Adds dLocal Payins checkout with local payment methods across Latin America, Africa and Asia - Pix, boleto, OXXO, SPEI, cash tickets, bank transfers and local cards in installments. Shoppers pay local currency on dLocal's hosted checkout while the merchant settles in USD. Confirmed asynchronously through a signed webhook or server-side return lookup. [thumb] => dlocal.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-dlocal/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-dlocal/plugin.php [folder] => payment-dlocal [import] => ) [payment-dodo] => Array ( [name] => Dodo Payments [slug] => payment-dodo [category] => payment [url] => https://www.vvveb.com [description] => Adds Dodo Payments on checkout page. Hosted redirect, overlay modal or inline embedded checkout with server side sessions, subscriptions with webhook driven lifecycle and minor-unit refunds through the Dodo Payments API. [thumb] => dodo.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-dodo/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-dodo/plugin.php [folder] => payment-dodo [import] => ) [payment-easypaisa] => Array ( [name] => Easypaisa [slug] => payment-easypaisa [category] => payment [url] => https://www.vvveb.com [description] => Adds Easypaisa merchant payments for mobile wallet and account-based payments in Pakistan. Redirect checkout to Easypaisa with hash-signed requests and status confirmation callback. [thumb] => easypaisa.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-easypaisa/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-easypaisa/plugin.php [folder] => payment-easypaisa [import] => ) [payment-eg-wallets] => Array ( [name] => Egypt Wallets (Vodafone Cash & Fawry) [slug] => payment-eg-wallets [category] => payment [url] => https://www.vvveb.com [description] => Adds Vodafone Cash and Fawry payments for Egypt. Fawry covers the offline cash voucher method (buyer pays at any Fawry outlet with a reference number) and mobile wallets through a signed hosted checkout; direct Vodafone Cash transfers get an instruction page with a unique reference code and optional aggregator callback confirmation. [thumb] => eg-wallets.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-eg-wallets/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-eg-wallets/plugin.php [folder] => payment-eg-wallets [import] => ) [payment-fastspring] => Array ( [name] => FastSpring Payment [slug] => payment-fastspring [category] => payment [url] => https://www.vvveb.com [description] => Adds FastSpring payment method on checkout page. Embedded, popup or hosted checkout with server side order sessions, subscriptions with webhook driven lifecycle and refunds through the FastSpring Orders API. [thumb] => fastspring.svg [author] => givanz [version] => 0.2 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-fastspring/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-fastspring/plugin.php [folder] => payment-fastspring [import] => ) [payment-fortumo] => Array ( [name] => Fortumo [slug] => payment-fortumo [category] => payment [url] => https://www.vvveb.com [description] => Adds Fortumo Quick Checkout hosted payment page supporting cards and Fortumo wallet payments worldwide. MD5-signed redirect with return handler verification. [thumb] => fortumo.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-fortumo/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-fortumo/plugin.php [folder] => payment-fortumo [import] => ) [payment-gcash] => Array ( [name] => GCash [slug] => payment-gcash [category] => payment [url] => https://www.vvveb.com [description] => Adds GCash wallet payments for the Philippines through the Xendit aggregation API (channel-restricted invoices). Checkout link flow with webhook confirmation. [thumb] => gcash.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-gcash/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-gcash/plugin.php [folder] => payment-gcash [import] => ) [payment-googlepay] => Array ( [name] => Google Pay [slug] => payment-googlepay [category] => payment [url] => https://www.vvveb.com [description] => Adds a Google Pay accelerated checkout button using the Google Pay API JS. Payment tokens are tokenized through the configured underlying gateway (Stripe, Adyen or Braintree) rather than acting as a standalone processor. [thumb] => googlepay.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-googlepay/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-googlepay/plugin.php [folder] => payment-googlepay [import] => ) [payment-ideal] => Array ( [name] => iDEAL & Bancontact (bank redirects) [slug] => payment-ideal [category] => payment [url] => https://www.vvveb.com [description] => Adds iDEAL (Netherlands) and Bancontact (Belgium) bank-redirect payments through the Mollie aggregator. Buyers authenticate on their own bank's page; confirmation arrives through the webhook and the server-side return lookup - the notification carries only the payment id, so status is always re-fetched authoritatively before an order changes state. [thumb] => ideal.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-ideal/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-ideal/plugin.php [folder] => payment-ideal [import] => ) [payment-klarna] => Array ( [name] => Klarna Payments [slug] => payment-klarna [category] => payment [url] => https://www.vvveb.com [description] => Adds Klarna Buy Now Pay Later - Pay in 4, Pay Later and financing options. Hosted widget embedded on checkout for installment selection, webhooks for order capture confirmation. [thumb] => klarna.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-klarna/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-klarna/plugin.php [folder] => payment-klarna [import] => ) [payment-mercadopago] => Array ( [name] => Mercado Pago (LatAm) [slug] => payment-mercadopago [category] => payment [url] => https://www.vvveb.com [description] => Adds Mercado Pago Checkout for Brazil, Argentina, Mexico and broader LatAm - Pix, credit cards with installments (parcelado), debit cards, boleto/OXXO tickets and account money on Mercado Pago's hosted checkout. Confirmed asynchronously through a signed webhook or server-side return lookup. [thumb] => mercadopago.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-mercadopago/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-mercadopago/plugin.php [folder] => payment-mercadopago [import] => ) [payment-mpesa] => Array ( [name] => M-Pesa & Airtel Money [slug] => payment-mpesa [category] => payment [url] => https://www.vvveb.com [description] => Adds Safaricom M-Pesa (Daraja STK Push) for Kenya and optional Airtel Money collections for pan-African markets. The buyer receives a payment prompt on their phone and confirms with their PIN; the order waits on an internal page that polls server-side status, with provider callbacks triggering an authoritative re-verification before anything changes state. [thumb] => mpesa.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-mpesa/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-mpesa/plugin.php [folder] => payment-mpesa [import] => ) [payment-mtnmomo] => Array ( [name] => MTN Mobile Money [slug] => payment-mtnmomo [category] => payment [url] => https://www.vvveb.com [description] => Adds MTN Mobile Money collections for Ghana and other MTN markets (Uganda, Cameroon, Côte d'Ivoire, Benin...) through the MoMo Collections API. The buyer approves a payment request on their phone; the order waits on an internal page that polls server-side status, with callbacks triggering an authoritative re-verification before anything changes state. [thumb] => mtnmomo.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-mtnmomo/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-mtnmomo/plugin.php [folder] => payment-mtnmomo [import] => ) [payment-opayo] => Array ( [name] => Opayo (Sage Pay) Form [slug] => payment-opayo [category] => payment [url] => https://www.vvveb.com [description] => Adds Opayo (formerly Sage Pay) Form API card checkout for UK merchants - an established gateway with AVS/CV2 and 3D Secure fraud screening. Transaction details are AES-encrypted with your integration key and handed to Opayo's hosted page; the encrypted, authenticated outcome returns to the store for confirmation. [thumb] => opayo.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-opayo/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-opayo/plugin.php [folder] => payment-opayo [import] => ) [payment-paymob] => Array ( [name] => PayMob Accept (Egypt & MENA) [slug] => payment-paymob [category] => payment [url] => https://www.vvveb.com [description] => Adds PayMob Accept payments for Egypt and the MENA region - hosted card checkout through Accept iframes plus mobile wallet payments (Vodafone Cash, Orange Money, Etisalat Cash). Confirmation arrives through the HMAC-signed transaction callback or a server-side return lookup against the Accept API. [thumb] => paymob.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-paymob/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-paymob/plugin.php [folder] => payment-paymob [import] => ) [payment-payoneer] => Array ( [name] => Payoneer Payouts [slug] => payment-payoneer [category] => payment [url] => https://www.vvveb.com [description] => Payoneer marketplace payouts for cross-border seller settlement. Not a buyer-facing checkout - pair it with a separate card gateway. Provides API access for paying out to sellers. [thumb] => payoneer.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-payoneer/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-payoneer/plugin.php [folder] => payment-payoneer [import] => ) [payment-paypal] => Array ( [name] => PayPal Checkout [slug] => payment-paypal [category] => payment [url] => https://www.vvveb.com [description] => Adds PayPal Checkout (REST API v2) on checkout page. PayPal balance, PayPal Credit, Venmo and card payments via PayPal with Smart Payment Buttons, webhooks/IPN and optional Braintree processing. [thumb] => paypal.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-paypal/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-paypal/plugin.php [folder] => payment-paypal [import] => ) [payment-pix] => Array ( [name] => Pix (Brazil) [slug] => payment-pix [category] => payment [url] => https://www.vvveb.com [description] => Adds Brazil's Pix instant-payment rail via a licensed PSP (Mercado Pago style API) or a direct Banco Central registered integration (mTLS certificate). Generates dynamic Pix QR codes and copy-paste codes per order, confirmed asynchronously through a signed webhook or status polling. [thumb] => pix.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-pix/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-pix/plugin.php [folder] => payment-pix [import] => ) [payment-rapyd] => Array ( [name] => Rapyd [slug] => payment-rapyd [category] => payment [url] => https://www.vvveb.com [description] => Adds Rapyd Collect checkout - card acquiring plus local alternative payment methods with strong LATAM and emerging market coverage. Hosted Rapyd Checkout page with webhook order confirmation. [thumb] => rapyd.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-rapyd/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-rapyd/plugin.php [folder] => payment-rapyd [import] => ) [payment-razorpay] => Array ( [name] => Razorpay [slug] => payment-razorpay [category] => payment [url] => https://www.vvveb.com [description] => Adds Razorpay Orders + Payments API as the primary UPI-focused gateway for Indian merchants. Supports UPI, cards, netbanking and wallets via Razorpay Checkout.js with webhook order confirmation. [thumb] => razorpay.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-razorpay/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-razorpay/plugin.php [folder] => payment-razorpay [import] => ) [payment-sepa] => Array ( [name] => SEPA Direct Debit & Instant (GoCardless) [slug] => payment-sepa [category] => payment [url] => https://www.vvveb.com [description] => Adds EU bank-to-bank payments through GoCardless: SEPA Direct Debit mandate collection (buyer authorizes a sepa_core mandate, collection confirms in a few business days) and SEPA Instant Credit Transfer via Instant Bank Pay (approval in the banking app, confirmation within minutes). Webhooks are HMAC-verified when a secret is configured and every event triggers an authoritative re-fetch before an order changes state. [thumb] => sepa.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-sepa/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-sepa/plugin.php [folder] => payment-sepa [import] => ) [payment-sezzle] => Array ( [name] => Sezzle [slug] => payment-sezzle [category] => payment [url] => https://www.vvveb.com [description] => Adds Sezzle 4 interest-free installment payments popular with younger US and Canada shoppers. Redirect checkout flow with webhooks for order completion and refunds. [thumb] => sezzle.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-sezzle/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-sezzle/plugin.php [folder] => payment-sezzle [import] => ) [payment-skrill] => Array ( [name] => Skrill [slug] => payment-skrill [category] => payment [url] => https://www.vvveb.com [description] => Adds Skrill Quick Checkout hosted payment page supporting cards and Skrill wallet payments worldwide. MD5-signed redirect with return handler verification. [thumb] => skrill.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-skrill/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-skrill/plugin.php [folder] => payment-skrill [import] => ) [payment-square] => Array ( [name] => Square Payment [slug] => payment-square [category] => payment [url] => https://www.vvveb.com [description] => Adds Square card processing on checkout page with Apple Pay, Google Pay and optional Square POS order sync. Includes webhooks for payment updates and refunds. [thumb] => square.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-square/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-square/plugin.php [folder] => payment-square [import] => ) [payment-stripe] => Array ( [name] => Stripe Payment [slug] => payment-stripe [category] => payment [url] => https://www.vvveb.com [description] => Adds Stripe payment method on checkout page. Cards, Apple Pay, Google Pay, Alipay, iDEAL and SEPA Direct Debit via Payment Intents unified checkout with webhooks and subscription support. [thumb] => stripe.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-stripe/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-stripe/plugin.php [folder] => payment-stripe [import] => ) [payment-tazapay] => Array ( [name] => Tazapay escrow (B2B cross-border) [slug] => payment-tazapay [category] => payment [url] => https://www.vvveb.com [description] => Adds Tazapay escrow checkout for B2B international invoices as an alternative to card checkout for exporters. Buyers pay by bank transfer, local rails or card on Tazapay's hosted page; funds are held in escrow and released to the seller on delivery. Confirmation arrives through a signed webhook or server-side return lookup. [thumb] => tazapay.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-tazapay/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-tazapay/plugin.php [folder] => payment-tazapay [import] => ) [payment-unionpay] => Array ( [name] => UnionPay [slug] => payment-unionpay [category] => payment [url] => https://www.vvveb.com [description] => Adds UnionPay International online payments for card acceptance widely used across China and South Korea. Signed redirect checkout with front and back (server notification) handlers. [thumb] => unionpay.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-unionpay/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-unionpay/plugin.php [folder] => payment-unionpay [import] => ) [payment-wise] => Array ( [name] => Wise Payouts [slug] => payment-wise [category] => payment [url] => https://www.vvveb.com [description] => Wise Platform API for low-cost cross-border settlement and payouts at the interbank rate - used for supplier/seller payouts rather than customer-facing checkout. [thumb] => wise.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-wise/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-wise/plugin.php [folder] => payment-wise [import] => ) [payment-xendit] => Array ( [name] => Xendit [slug] => payment-xendit [category] => payment [url] => https://www.vvveb.com [description] => Adds Xendit invoices supporting 100+ local payment methods across Indonesia, Philippines, Malaysia, Thailand, Vietnam, Singapore and Hong Kong. Checkout link flow with webhook confirmation. [thumb] => xendit.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-xendit/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-xendit/plugin.php [folder] => payment-xendit [import] => ) [payment] => Array ( [name] => Default Payment [slug] => payment [category] => payment [url] => https://www.vvveb.com [description] => Add payment methods for checkout page like cod or bank transfer [author] => givanz [version] => 0.1 [thumb] => payment.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment/settings [status] => inactive [thumb_url] => /plugins/payment/payment.svg [file] => /home/www/vvveb/www/plugins//payment/plugin.php [folder] => payment [import] => ) [paypal] => Array ( [name] => PayPal payment gateway [slug] => paypal [category] => payment [url] => https://www.vvveb.com [description] => PayPal payment method [author] => givanz [version] => 0.1 [thumb] => paypal.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/paypal/settings [status] => inactive [thumb_url] => /plugins/paypal/paypal.svg [file] => /home/www/vvveb/www/plugins//paypal/plugin.php [folder] => paypal [import] => ) [payum] => Array ( [name] => Payum payment gateways [slug] => payum [category] => payment [url] => https://www.vvveb.com [description] => Supported gateways: Paypal Express Checkout, Paypal Pro Checkout, Paypal Pro Hosted, Paypal Masspay, Paypal Rest, Stripe.js, Stripe Checkout, Authorize.Net AIM, Be2Bill CreditCard, Be2Bill Offsite, Payex, Offline, Klarna Checkout, Klarna Invoice, Sofort. [author] => givanz [version] => 0.1 [thumb] => payum.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payum/settings [status] => inactive [thumb_url] => /plugins/payum/payum.svg [file] => /home/www/vvveb/www/plugins//payum/plugin.php [folder] => payum [import] => ) [pdf-invoice] => Array ( [name] => PDF Invoice [slug] => pdf-invoice [category] => sale [url] => https://www.vvveb.com [description] => Generate and print PDF invoices and packing lists for orders [author] => givanz [version] => 0.1 [thumb] => pdf-invoice.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/pdf-invoice/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//pdf-invoice/plugin.php [folder] => pdf-invoice [import] => ) [pexels] => Array ( [name] => Pexels [slug] => pexels [category] => media [url] => https://www.vvveb.com [description] => Search and insert images from Pexels directly in the media picker [author] => givanz [version] => 0.1 [thumb] => pexels.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/pexels/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//pexels/plugin.php [folder] => pexels [import] => ) [pick-up-shipping] => Array ( [name] => Pick up shipping method [slug] => pick-up-shipping [category] => shipping [url] => https://www.vvveb.com [description] => Adds Pick up shipping method on checkout page [author] => givanz [version] => 0.1 [thumb] => shipping.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/pick-up-shipping/settings [status] => inactive [thumb_url] => /plugins/pick-up-shipping/shipping.svg [file] => /home/www/vvveb/www/plugins//pick-up-shipping/plugin.php [folder] => pick-up-shipping [import] => ) [pixabay] => Array ( [name] => Pixabay [slug] => pixabay [category] => media [url] => https://www.vvveb.com [description] => Search and insert images from Pixabay directly in the media picker [author] => givanz [version] => 0.1 [thumb] => pixabay.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/pixabay/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//pixabay/plugin.php [folder] => pixabay [import] => ) [plugin-market] => Array ( [name] => Plugin market [slug] => plugin-market [category] => market [url] => https://www.vvveb.com [description] => Adds plugin product type and support for "Plugin market" plugin. [author] => givanz [version] => 0.1 [thumb] => plugin-market.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/plugin-market/plugin-market.svg [file] => /home/www/vvveb/www/plugins//plugin-market/plugin.php [folder] => plugin-market [import] => ) [polls] => Array ( [name] => Polls [slug] => polls [category] => content [url] => https://www.vvveb.com [description] => Create polls and insert them into posts, pages or themes. Voting via ajax with animated result bars, single or multiple choices, close date and duplicate vote protection. [thumb] => polls.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/polls/polls [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//polls/plugin.php [folder] => polls [import] => ) [portfolio-cpt] => Array ( [name] => Portfolio Custom Post Type [slug] => portfolio-cpt [category] => content [url] => https://www.vvveb.com [description] => Adds portfolio custom post type and support for Portoflio type themes. [author] => givanz [version] => 0.1 [thumb] => portfolio-cpt.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/portfolio-cpt/portfolio-cpt.svg [file] => /home/www/vvveb/www/plugins//portfolio-cpt/plugin.php [folder] => portfolio-cpt [import] => ) [pos] => Array ( [plugin-name] => POS — Point of Sale [description] => Shopify-POS-style retail checkout for in-person sales with omnichannel fulfillment (BOPIS, ship-from-store, unified order lookup), multi-location stock and transfers, location-based tax, loyalty points, and offline mode with conflict-aware sync. [version] => 0.2 [author] => givanz [slug] => pos [category] => sale [settings] => /admin/index.php?module=plugins/pos/settings [thumb] => pos.svg [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//pos/plugin.php [folder] => pos [import] => ) [post-date-time] => Array ( [name] => Post Date and Time [slug] => post-date-time [category] => content [url] => https://www.vvveb.com [description] => Appends the post date and time at the end of each post content. [thumb] => post-date-time.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/post-date-time/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//post-date-time/plugin.php [folder] => post-date-time [import] => ) [product-badges] => Array ( [name] => Product Badges [slug] => product-badges [category] => ecommerce [url] => https://www.vvveb.com [description] => Display visual badges (Sale, New, Bestseller...) on products in the catalog and product pages with assignments, conditional rules and full styling control [thumb] => product-badges.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/product-badges/badges [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//product-badges/plugin.php [folder] => product-badges [import] => ) [real-estate] => Array ( [name] => Real Estate [slug] => real-estate [category] => content [url] => https://www.vvveb.com [description] => Manage properties and show featured listings on the site [thumb] => real-estate.svg [author] => givanz [version] => 0.3 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/real-estate/properties [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//real-estate/plugin.php [folder] => real-estate [import] => ) [redactix-editor] => Array ( [name] => Markdown Editor [slug] => redactix-editor [category] => content [url] => https://www.vvveb.com [description] => Change post and product page editor to markdown, automatically render as html on frontend. [author] => givanz [version] => 0.1 [thumb] => markdown-editor.svg [author-url] => https://www.vvveb.com [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//redactix-editor/plugin.php [folder] => redactix-editor [import] => ) [redirect] => Array ( [name] => Redirect [slug] => redirect [category] => seo [url] => https://www.vvveb.com [description] => Manage 301 redirects to preserve search engine rankings when URLs change [thumb] => redirect.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/redirect/redirects [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//redirect/plugin.php [folder] => redirect [import] => ) [remove-google-fonts] => Array ( [name] => Remove google fonts [slug] => remove-google-fonts [category] => tools [url] => https://www.vvveb.com [description] => Remove google fonts from page builder fonts list [author] => givanz [version] => 0.1 [thumb] => remove-google-fonts.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/remove-google-fonts/remove-google-fonts.svg [file] => /home/www/vvveb/www/plugins//remove-google-fonts/plugin.php [folder] => remove-google-fonts [import] => ) [saas] => Array ( [name] => Saas [slug] => saas [category] => tools [url] => https://www.vvveb.com [description] => Adds saas plans [author] => givanz [version] => 0.1 [thumb] => saas.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/saas/saas.svg [file] => /home/www/vvveb/www/plugins//saas/plugin.php [folder] => saas [import] => ) [search-replace] => Array ( [name] => Search & Replace [slug] => search-replace [category] => tools [url] => https://www.vvveb.com [description] => Search and replace text or urls across the database, with table selection, dry run mode, serialized data safety and run history. [thumb] => search-replace.svg [author] => givanz [version] => 1.1 [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//search-replace/plugin.php [folder] => search-replace [import] => ) [seo] => Array ( [name] => SEO Optimization [slug] => seo [url] => https://www.vvveb.com [description] => Add SEO capabilities like meta for content and schema markup. [author] => givanz [version] => 1.0 [thumb] => seo.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/seo/settings [status] => inactive [thumb_url] => /plugins/seo/seo.svg [file] => /home/www/vvveb/www/plugins//seo/plugin.php [folder] => seo [import] => ) [shipping-carriers] => Array ( [plugin-name] => Shipping Carriers [description] => Multiple carrier-based shipping methods with live API rates, tracking, pickup scheduling, address validation, and location map. [version] => 0.1 [author] => givanz [slug] => shipping-carriers [category] => sale [settings] => /admin/index.php?module=plugins/shipping-carriers/settings [thumb] => shipping-carriers.svg [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//shipping-carriers/plugin.php [folder] => shipping-carriers [import] => ) [shipping] => Array ( [name] => Default Shipping [slug] => shipping [category] => shipping [url] => https://www.vvveb.com [description] => Adds shipping methods for checkout page [author] => givanz [version] => 0.1 [thumb] => shipping.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/shipping/settings [status] => inactive [thumb_url] => /plugins/shipping/shipping.svg [file] => /home/www/vvveb/www/plugins//shipping/plugin.php [folder] => shipping [import] => ) [site-export-static] => Array ( [name] => Site export as static [slug] => site-export-static [category] => tools [url] => https://www.vvveb.com [description] => Export a site as static in a zip file with all html and assets [author] => givanz [version] => 0.1 [thumb] => site-export-static.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/site-export-static/settings [status] => inactive [thumb_url] => /plugins/site-export-static/site-export-static.svg [file] => /home/www/vvveb/www/plugins//site-export-static/plugin.php [folder] => site-export-static [import] => ) [sso] => Array ( [name] => Single sign on [slug] => sso [category] => security [url] => https://www.vvveb.com [description] => Single Sign-On (SSO) with OAuth2 for Google, GitHub, Microsoft, LinkedIn and custom providers. [author] => givanz [version] => 0.2 [thumb] => sso.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/sso/settings [status] => inactive [thumb_url] => /plugins/sso/sso.svg [file] => /home/www/vvveb/www/plugins//sso/plugin.php [folder] => sso [import] => ) [static-site-export] => Array ( [name] => Static Site Export [slug] => static-site-export [category] => tools [url] => https://www.vvveb.com [description] => Export the site pages, media and theme as a static html zip archive [thumb] => static-site-export.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/static-site-export/export [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//static-site-export/plugin.php [folder] => static-site-export [import] => ) [stock-photos] => Array ( [name] => Stock Photos [slug] => stock-photos [category] => media [url] => https://www.vvveb.com [description] => Search and insert images from Unsplash, Pexels, Pixabay, Giphy, Openverse, Wikimedia Commons and Flickr directly in the media picker [author] => givanz [version] => 0.1 [thumb] => stock-photos.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/stock-photos/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//stock-photos/plugin.php [folder] => stock-photos [import] => ) [stripe] => Array ( [name] => Stripe payment gateway [slug] => stripe [category] => payment [url] => https://www.vvveb.com [description] => Stripe payment method [author] => givanz [version] => 0.1 [thumb] => stripe.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/stripe/settings [status] => inactive [thumb_url] => /plugins/stripe/stripe.svg [file] => /home/www/vvveb/www/plugins//stripe/plugin.php [folder] => stripe [import] => ) [sun-editor] => Array ( [name] => Sun Editor [slug] => sun-editor [category] => content [url] => https://www.vvveb.com [description] => Replace tinymce with sun editor in post/page and product edit page [author] => givanz [version] => 0.1 [thumb] => sun-editor.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/sun-editor/sun-editor.svg [file] => /home/www/vvveb/www/plugins//sun-editor/plugin.php [folder] => sun-editor [import] => ) [svg-upload] => Array ( [name] => Svg upload [slug] => svg-upload [category] => media [url] => https://www.vvveb.com [description] => Allow uploading svg images in media library [thumb] => svg-upload.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//svg-upload/plugin.php [folder] => svg-upload [import] => ) [tablepress] => Array ( [name] => TablePress [slug] => tablepress [category] => content [url] => https://www.vvveb.com [description] => Create and manage data tables and insert them in pages, posts and the visual editor [thumb] => tablepress.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/tablepress/tables [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//tablepress/plugin.php [folder] => tablepress [import] => ) [tables] => Array ( [name] => Tables [slug] => tables [category] => content [url] => https://www.vvveb.com [description] => Create and manage reusable tables with a spreadsheet like editor. Insert them into posts, pages or themes; frontend visitors get search, sorting and pagination. Import and export CSV, Excel, HTML and JSON. [thumb] => tables.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/tables/tables [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//tables/plugin.php [folder] => tables [import] => ) [tax-automation] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//tax-automation/plugin.php [folder] => tax-automation [import] => [slug] => tax-automation ) [tax-zones] => Array ( [name] => Tax Zones [slug] => tax-zones [category] => ecommerce [url] => https://www.vvveb.com [description] => Auto-configure store taxes from geo selection — pick countries and import open-data VAT/GST/sales-tax rates as native zones, rates and rules. [thumb] => tax-zones.svg [author] => givanz [version] => 0.2 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/tax-zones/zones [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//tax-zones/plugin.php [folder] => tax-zones [import] => ) [test-plugin] => Array ( [name] => Test plugin [slug] => test-plugin [category] => development [url] => https://www.vvveb.com [description] => Test plugin to show how to write one. [thumb] => test-plugin.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/test-plugin/test-plugin.svg [file] => /home/www/vvveb/www/plugins//test-plugin/plugin.php [folder] => test-plugin [import] => ) [test-plugin2] => Array ( [name] => Test plugin [slug] => test-plugin2 [category] => development [url] => http://www.vvveb.com [description] => Test plugin to show how to write one. [thumb] => test.svg [author] => givanz [version] => 0.1 [author-url] => http://www.vvveb.com [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//test-plugin2/plugin.php [folder] => test-plugin2 [import] => ) [theme-market] => Array ( [name] => Theme market [slug] => theme-market [category] => market [url] => https://www.vvveb.com [description] => Adds theme product type and support for "Theme market" theme. [author] => givanz [version] => 0.1 [thumb] => theme-market.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/theme-market/theme-market.svg [file] => /home/www/vvveb/www/plugins//theme-market/plugin.php [folder] => theme-market [import] => ) [themes-import] => Array ( [name] => Themes Import [slug] => themes-import [category] => content [url] => https://www.vvveb.com [description] => Import and update themes and plugins from their markdown descriptions [thumb] => themes-import.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/themes-import/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//themes-import/plugin.php [folder] => themes-import [import] => ) [tinymce-latest] => Array ( [name] => Tinymce Latest [slug] => tinymce-latest [category] => content [url] => https://www.vvveb.com [description] => Replace the bundled TinyMCE library with the latest version (8.8.2) from tinymce/tinymce-dist on post, page, product and other editor pages. [author] => givanz [version] => 8.8.2 [thumb] => tinymce-latest.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//tinymce-latest/plugin.php [folder] => tinymce-latest [import] => ) [tinymce-plugins] => Array ( [name] => Tinymce plugins [slug] => tinymce-plugins [category] => content [url] => https://www.vvveb.com [description] => Add various plugins to text editor from post and product edit page [author] => givanz [version] => 0.1 [thumb] => tinymce-plugins.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//tinymce-plugins/plugin.php [folder] => tinymce-plugins [import] => ) [toc-posts] => Array ( [name] => Table of content for posts [slug] => toc-posts [category] => content [url] => https://www.vvveb.com [description] => Show navigable table of content for posts [author] => givanz [version] => 0.1 [thumb] => toc-posts.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//toc-posts/plugin.php [folder] => toc-posts [import] => ) [transliterate] => Array ( [name] => Transliterate slugs and urls [slug] => transliterate [category] => content [url] => https://plugins.vvveb.com/product/transliterate [description] => Transliterate post and products slugs and urls [author] => givanz [version] => 0.1 [thumb] => transliterate.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/transliterate/transliterate.svg [file] => /home/www/vvveb/www/plugins//transliterate/plugin.php [folder] => transliterate [import] => ) [two-factor-auth] => Array ( [name] => Two factor authentication [slug] => two-factor-auth [category] => security [url] => https://www.vvveb.com [description] => Enhanced security with two factor authentication [author] => givanz [version] => 0.1 [thumb] => two-factor-auth.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/two-factor-auth/user [status] => inactive [thumb_url] => /plugins/two-factor-auth/two-factor-auth.svg [file] => /home/www/vvveb/www/plugins//two-factor-auth/plugin.php [folder] => two-factor-auth [import] => ) [unsplash] => Array ( [name] => Unsplash [slug] => unsplash [category] => media [url] => https://www.vvveb.com [description] => Search and insert images from Unsplash directly in the media picker [author] => givanz [version] => 0.1 [thumb] => unsplash.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/unsplash/settings [status] => inactive [thumb_url] => /plugins/unsplash/unsplash.svg [file] => /home/www/vvveb/www/plugins//unsplash/plugin.php [folder] => unsplash [import] => ) [vvveb-com-contact-form] => Array ( [name] => Vvveb.com Contact form [slug] => vvveb-com-contact-form [category] => email [url] => https://www.vvveb.com [description] => Contact forms for vvveb.com [thumb] => contact-form.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//vvveb-com-contact-form/plugin.php [folder] => vvveb-com-contact-form [import] => ) [vvveb-cron-jobs] => Array ( [name] => Vvveb core cron jobs [slug] => vvveb-cron-jobs [category] => tools [url] => https://www.vvveb.com [description] => Vvveb core cron jobs used for maintenance, provides crons for stale cache clear, backup etc [author] => givanz [version] => 0.1 [thumb] => vvveb-cron-jobs.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/vvveb-cron-jobs/vvveb-cron-jobs.svg [file] => /home/www/vvveb/www/plugins//vvveb-cron-jobs/plugin.php [folder] => vvveb-cron-jobs [import] => ) [vvvebcom] => Array ( [name] => Vvveb [slug] => vvvebcom [category] => tools [url] => https://www.vvveb.com [description] => Vvveb.com website instance [author] => givanz [version] => 0.1 [thumb] => vvveb.svg [system] => true [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//vvvebcom/plugin.php [folder] => vvvebcom [import] => ) [webmcp] => Array ( [name] => WebMCP [slug] => webmcp [url] => https://www.vvveb.com [description] => Add SEO capabilities like meta for content and schema markup. [author] => givanz [version] => 0.1 [thumb] => webMcp.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/webMcp/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//webmcp/plugin.php [folder] => webmcp [import] => ) [weight-shipping] => Array ( [name] => Weight shipping [slug] => weight-shipping [category] => shipping [url] => https://www.vvveb.com [description] => Weight based shipping [author] => givanz [version] => 0.1 [thumb] => shipping.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/weight-shipping/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//weight-shipping/plugin.php [folder] => weight-shipping [import] => ) [wikimedia] => Array ( [name] => Wikimedia Commons [slug] => wikimedia [category] => media [url] => https://www.vvveb.com [description] => Search and insert openly licensed images from Wikimedia Commons directly in the media picker [author] => givanz [version] => 0.1 [thumb] => wikimedia.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/wikimedia/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//wikimedia/plugin.php [folder] => wikimedia [import] => ) [wordpress-embed] => Array ( [name] => WordPress Embed [slug] => wordpress-embed [category] => content [url] => https://www.vvveb.com [description] => Embed WordPress in public/wp/, sync content, share media and mail. Phase 1: coexistence + lockdown, no public wp-admin/json/cron. [thumb] => wordpress-embed.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/wordpress-embed/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//wordpress-embed/plugin.php [folder] => wordpress-embed [import] => ) [www-redirect] => Array ( [name] => Www redirect [slug] => www-redirect [category] => tools [url] => https://www.vvveb.com [description] => Redirect users from www.domain.com to domain.com [author] => givanz [version] => 0.1 [thumb] => www-redirect.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//www-redirect/plugin.php [folder] => www-redirect [import] => ) ) pluginConfigArray ( [toc-posts] => Array ( [status] => active ) [insert-scripts] => Array ( [status] => active ) [seo] => Array ( [status] => active ) [catalog-mode] => Array ( [status] => active ) [hide-language-selector] => Array ( [status] => active ) [canonical-fix] => Array ( [status] => active ) ) Array ( [abandoned-cart] => Array ( [name] => Abandoned Cart [slug] => abandoned-cart [category] => marketing [url] => https://www.vvveb.com [description] => Detect abandoned carts and recover them with automated email and SMS sequences. [thumb] => abandoned-cart.svg [author] => givanz [version] => 2.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/abandoned-cart/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//abandoned-cart/plugin.php [folder] => abandoned-cart [import] => ) [accounting] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//accounting/plugin.php [folder] => accounting [import] => [slug] => accounting ) [activity-log] => Array ( [name] => Activity Log [slug] => activity-log [category] => security [url] => https://www.vvveb.com [description] => Log admin dashboard user actions and login activity [thumb] => activity-log.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/activity-log/activity-logs [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//activity-log/plugin.php [folder] => activity-log [import] => ) [activitypub] => Array ( [name] => ActivityPub [slug] => activitypub [category] => social [url] => https://www.vvveb.com [description] => Connect your site to the Fediverse. Federate posts, pages and products with Mastodon, Pleroma/Akkoma, Friendica, Hubzilla, Pixelfed, Socialhome and Misskey via ActivityPub. [thumb] => activitypub.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/activitypub/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//activitypub/plugin.php [folder] => activitypub [import] => ) [ad-manager] => Array ( [name] => Ad Manager [slug] => ad-manager [category] => seo [url] => https://www.vvveb.com [description] => Manage banner and script ads and inject them into the page head or body [thumb] => ad-manager.svg [author] => givanz [version] => 0.2 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/ad-manager/ads [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//ad-manager/plugin.php [folder] => ad-manager [import] => ) [admin-role-home] => Array ( [name] => Admin role home [slug] => admin-role-home [category] => tools [url] => https://www.vvveb.com [description] => Set a different admin home/dashboard html template for a specific role [author] => givanz [version] => 0.1 [thumb] => admin-role-home.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/admin-role-home/admin-role-home.svg [file] => /home/www/vvveb/www/plugins//admin-role-home/plugin.php [folder] => admin-role-home [import] => ) [ads] => Array ( [name] => Ad Inserter [slug] => ads [category] => marketing [url] => https://www.vvveb.com [description] => Insert ad blocks anywhere on the site: arbitrary code, AdSense, Google Ad Manager and rotating banners with standard and css-selector based placements, targeting rules, scheduling and ads.txt management. [thumb] => ads.svg [author] => givanz [version] => 1.0 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/ads/blocks [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//ads/plugin.php [folder] => ads [import] => ) [ai-assistant] => Array ( [name] => AI Assistant [slug] => ai-assistant [category] => tools [url] => https://www.vvveb.com [description] => Add an AI assistant to the content editor and site editor. Supports OpenAI, Anthropic Claude, Google Gemini, DeepSeek, Groq, Mistral, xAI Grok and OpenRouter with streaming responses, reasoning blocks, file attachments, tool calls and an optional server side proxy that hides api keys from the browser. [author] => givanz [version] => 0.2 [thumb] => ai-assistant.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/ai-assistant/settings [status] => inactive [thumb_url] => /plugins/ai-assistant/ai-assistant.svg [file] => /home/www/vvveb/www/plugins//ai-assistant/plugin.php [folder] => ai-assistant [import] => ) [ai] => Array ( [name] => AI gateway [slug] => ai [category] => tools [url] => https://www.vvveb.com [description] => Shared AI gateway for other plugins. One central place for provider API keys, per-capability routing (OpenAI, Anthropic, Google Gemini), streaming, fallbacks and usage/cost tracking. Call Vvveb\Plugins\Ai\System\Api from any plugin. [thumb] => ai.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/ai/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//ai/plugin.php [folder] => ai [import] => ) [akismet] => Array ( [name] => Akismet [slug] => akismet [category] => spam [url] => https://www.vvveb.com [description] => Check comments, product reviews, product questions and contact form messages for spam with the Akismet anti-spam service [thumb] => akismet.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/akismet/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//akismet/plugin.php [folder] => akismet [import] => ) [analytics] => Array ( [name] => Analytics [slug] => analytics [category] => tools [url] => https://www.vvveb.com [description] => Privacy-focused, cookieless web and ecommerce analytics with first-party tracking, bot filtering, scroll depth and revenue reporting. No consent banner required. [thumb] => analytics.svg [author] => givanz [version] => 0.2 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/analytics/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//analytics/plugin.php [folder] => analytics [import] => ) [anti-fraud] => Array ( [name] => Anti-fraud [slug] => anti-fraud [category] => security [url] => https://www.vvveb.com [description] => Fraud protection for ecommerce : rule-based risk scoring for orders and checkouts, card testing & bot detection, allow/block lists, manual review workflow with risk badges on orders, dashboard and optional MaxMind / reCAPTCHA / Turnstile / PayPal / AI integrations. [thumb] => anti-fraud.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/anti-fraud/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//anti-fraud/plugin.php [folder] => anti-fraud [import] => ) [bank-transfer-payment] => Array ( [name] => Bank transfer payment method [slug] => bank-transfer-payment [category] => payment [url] => https://www.vvveb.com [description] => Adds bank transfer payment method on checkout page [author] => givanz [version] => 0.1 [thumb] => cash.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/bank-transfer-payment/settings [status] => inactive [thumb_url] => /plugins/bank-transfer-payment/cash.svg [file] => /home/www/vvveb/www/plugins//bank-transfer-payment/plugin.php [folder] => bank-transfer-payment [import] => ) [brevo-email] => Array ( [name] => Brevo email [slug] => brevo-email [category] => tools [url] => https://www.vvveb.com/product/brevo-email [description] => Send emails using Brevo Rest API [author] => givanz [version] => 0.2 [thumb] => brevo.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=settings/email [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//brevo-email/plugin.php [folder] => brevo-email [import] => ) [call-for-price] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//call-for-price/plugin.php [folder] => call-for-price [import] => [slug] => call-for-price ) [canonical-fix] => Array ( [name] => Canonical fix [slug] => canonical-fix [category] => headless [url] => https://www.vvveb.com [description] => Installs Graphql dependencies webonyx/graphql-php to avoid running composer on the server [thumb] => canonical-fix.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [status] => active [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//canonical-fix/plugin.php [folder] => canonical-fix [import] => ) [captcha] => Array ( [name] => Captcha form protection [slug] => captcha [category] => spam [url] => https://plugins.vvveb.com/product/debug [description] => Add captcha to site forms: user registration, password reset, comments, reviews etc. [author] => givanz [version] => 0.1 [thumb] => captcha.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/captcha/settings [status] => inactive [thumb_url] => /plugins/captcha/captcha.svg [file] => /home/www/vvveb/www/plugins//captcha/plugin.php [folder] => captcha [import] => ) [cash-on-delivery-payment] => Array ( [name] => Cash on delivery payment method [slug] => cash-on-delivery-payment [category] => payment [url] => https://www.vvveb.com [description] => Adds cash on delivery payment method on checkout page [author] => givanz [version] => 0.1 [thumb] => cash.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/cash-on-delivery-payment/settings [status] => inactive [thumb_url] => /plugins/cash-on-delivery-payment/cash.svg [file] => /home/www/vvveb/www/plugins//cash-on-delivery-payment/plugin.php [folder] => cash-on-delivery-payment [import] => ) [catalog-mode] => Array ( [name] => Catalog mode [slug] => catalog-mode [category] => tools [url] => https://www.vvveb.com [description] => Hide add to cart and checkout and cart pages. [author] => givanz [version] => 0.1 [thumb] => catalog-mode.svg [author-url] => https://www.vvveb.com [status] => active [thumb_url] => /plugins/catalog-mode/catalog-mode.svg [file] => /home/www/vvveb/www/plugins//catalog-mode/plugin.php [folder] => catalog-mode [import] => ) [cdn] => Array ( [name] => CDN [slug] => cdn [category] => performance [url] => https://www.vvveb.com [description] => Load images from CDN for faster page loading [author] => givanz [version] => 0.2 [thumb] => cdn.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/cdn/settings [status] => inactive [thumb_url] => /plugins/cdn/cdn.svg [file] => /home/www/vvveb/www/plugins//cdn/plugin.php [folder] => cdn [import] => ) [chatgpt] => Array ( [name] => ChatGPT [slug] => chatgpt [category] => tools [url] => https://www.vvveb.com [description] => Add ChatGPT prompt toolbar button to content editor on post and product edit page and chatgpt prompt component in site editor. [author] => givanz [version] => 0.1 [thumb] => chatgpt.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/chatgpt/settings [status] => inactive [thumb_url] => /plugins/chatgpt/chatgpt.svg [file] => /home/www/vvveb/www/plugins//chatgpt/plugin.php [folder] => chatgpt [import] => ) [clamav-scan] => Array ( [name] => ClamAV Scan [slug] => clamav-scan [category] => tools [url] => https://www.vvveb.com [description] => Veto infected uploads at the WordPress admin proxy via clamdscan/clamscan. Reference listener for the AdminProxy::scan hook. [thumb] => clamav-scan.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//clamav-scan/plugin.php [folder] => clamav-scan [import] => ) [contact-form] => Array ( [name] => Contact form [slug] => contact-form [category] => email [url] => https://www.vvveb.com [description] => Create contact forms that sends email or saves data in the database [thumb] => contact-form.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/contact-form/messages [status] => inactive [thumb_url] => /plugins/contact-form/contact-form.svg [file] => /home/www/vvveb/www/plugins//contact-form/plugin.php [folder] => contact-form [import] => ) [content] => Array ( [name] => Content [slug] => content [category] => content [url] => https://www.vvveb.com [description] => Add text at the beginning and end of a post [author] => givanz [version] => 0.1 [thumb] => content.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/content/settings [status] => inactive [thumb_url] => /plugins/content/content.svg [file] => /home/www/vvveb/www/plugins//content/plugin.php [folder] => content [import] => ) [cookie-consent] => Array ( [name] => Cookie consent [slug] => cookie-consent [category] => tools [url] => https://www.vvveb.com [description] => Self hosted GDPR/CCPA style cookie consent: local cookie scanner, script blocking until consent, customizable banner and preference center, consent audit log and auto generated legal documents. No external service involved. [thumb] => cookie-consent.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/cookie-consent/dashboard [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//cookie-consent/plugin.php [folder] => cookie-consent [import] => ) [cookie-notice] => Array ( [name] => Cookie Notice [slug] => cookie-notice [category] => content [url] => https://www.vvveb.com [description] => GDPR, CCPA and UK compliant cookie consent banner with Google Consent Mode v2, IAB TCF v2.3, preference center, geo-targeting and consent logging [author] => givanz [version] => 0.3 [thumb] => cookie-notice.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/cookie-notice/settings [status] => inactive [thumb_url] => /plugins/cookie-notice/cookie-notice.svg [file] => /home/www/vvveb/www/plugins//cookie-notice/plugin.php [folder] => cookie-notice [import] => ) [crm] => Array ( [name] => CRM [slug] => crm [category] => crm [url] => https://www.vvveb.com [description] => Customer relationship management with contacts, companies and sales pipeline [thumb] => crm.svg [author] => givanz [version] => 0.2 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/crm/dashboard [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//crm/plugin.php [folder] => crm [import] => ) [currency-update] => Array ( [name] => Currency update [slug] => currency-update [category] => tools [url] => https://www.vvveb.com [description] => Update currency rates from European Central Bank data [author] => givanz [version] => 0.2 [thumb] => currency-update.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/currency-update/settings [status] => inactive [thumb_url] => /plugins/currency-update/currency-update.svg [file] => /home/www/vvveb/www/plugins//currency-update/plugin.php [folder] => currency-update [import] => ) [custom-news] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//custom-news/plugin.php [folder] => custom-news [import] => [slug] => custom-news ) [custom-product-tabs] => Array ( [name] => Custom Product Tabs [slug] => custom-product-tabs [category] => content [url] => https://www.vvveb.com [description] => Add multi language information tabs to product pages [thumb] => custom-product-tabs.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/custom-product-tabs/tabs [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//custom-product-tabs/plugin.php [folder] => custom-product-tabs [import] => ) [data-feed] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//data-feed/plugin.php [folder] => data-feed [import] => [slug] => data-feed ) [database-management] => Array ( [name] => Database Management [slug] => database-management [category] => tools [url] => https://www.vvveb.com [description] => Database management tool using adminer (adminer.org) [thumb] => database-management.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/?module=plugins/database-management/view [status] => inactive [thumb_url] => /plugins/database-management/database-management.svg [file] => /home/www/vvveb/www/plugins//database-management/plugin.php [folder] => database-management [import] => ) [debug] => Array ( [name] => Debug [slug] => debug [category] => development [url] => https://www.vvveb.com [description] => Activate debugging and logging, useful for development [author] => givanz [version] => 0.1 [thumb] => debug.svg [settings] => /admin/index.php?module=plugins/debug/settings [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/debug/debug.svg [file] => /home/www/vvveb/www/plugins//debug/plugin.php [folder] => debug [import] => ) [dicebear] => Array ( [name] => DiceBear [slug] => dicebear [category] => comments [url] => https://www.dicebear.com [description] => Show dicebear images on comments for users that don't have avatars set. [author] => givanz [version] => 0.1 [thumb] => dicebear.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/dicebear/settings [status] => inactive [thumb_url] => /plugins/dicebear/dicebear.svg [file] => /home/www/vvveb/www/plugins//dicebear/plugin.php [folder] => dicebear [import] => ) [dynamic-pricing] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//dynamic-pricing/plugin.php [folder] => dynamic-pricing [import] => [slug] => dynamic-pricing ) [editor-js] => Array ( [name] => Editor.Js [slug] => editor-js [category] => content [url] => https://www.vvveb.com [description] => Change post and product page editor to editor.js. [author] => givanz [version] => 0.1 [thumb] => editor-js.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/editor-js/editor-js.svg [file] => /home/www/vvveb/www/plugins//editor-js/plugin.php [folder] => editor-js [import] => ) [elasticsearch] => Array ( [name] => Elasticsearch [slug] => elasticsearch [category] => search [url] => https://www.vvveb.com [description] => Full-text product and post search with Elasticsearch, synced automatically on save. [thumb] => elasticsearch.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/elasticsearch/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//elasticsearch/plugin.php [folder] => elasticsearch [import] => ) [email-marketing] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//email-marketing/plugin.php [folder] => email-marketing [import] => [slug] => email-marketing ) [events] => Array ( [name] => Events Calendar [slug] => events [category] => content [url] => https://www.vvveb.com [description] => Manage events and show upcoming and past events on the site [thumb] => events.svg [author] => givanz [version] => 0.2 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/events/events [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//events/plugin.php [folder] => events [import] => ) [file-manager] => Array ( [name] => File manager [slug] => file-manager [category] => tools [url] => https://www.vvveb.com [description] => File manager [thumb] => file-manager.svg [author] => givanz [version] => 0.1 [author-url] => http://www.vvveb.com [settings] => /admin/?module=plugins/file-manager/view [status] => inactive [thumb_url] => /plugins/file-manager/file-manager.svg [file] => /home/www/vvveb/www/plugins//file-manager/plugin.php [folder] => file-manager [import] => ) [flat-rate-shipping] => Array ( [name] => Flat rate shipping method [slug] => flat-rate-shipping [category] => shipping [url] => https://www.vvveb.com [description] => Adds flat rate shipping method on checkout page [author] => givanz [version] => 0.1 [thumb] => shipping.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/flat-rate-shipping/settings [status] => inactive [thumb_url] => /plugins/flat-rate-shipping/shipping.svg [file] => /home/www/vvveb/www/plugins//flat-rate-shipping/plugin.php [folder] => flat-rate-shipping [import] => ) [flickr] => Array ( [name] => Flickr [slug] => flickr [category] => media [url] => https://www.vvveb.com [description] => Search and insert images from Flickr directly in the media picker [author] => givanz [version] => 0.1 [thumb] => flickr.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/flickr/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//flickr/plugin.php [folder] => flickr [import] => ) [form-builder] => Array ( [name] => Form builder [slug] => form-builder [category] => content [url] => https://www.vvveb.com [description] => Drag and drop form builder. Create contact, newsletter, registration and custom forms, embed them in posts, pages or themes with ajax submission, manage entries and get email notifications. [thumb] => form-builder.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/form-builder/forms [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//form-builder/plugin.php [folder] => form-builder [import] => ) [forum] => Array ( [name] => Forum [slug] => forum [category] => content [url] => https://www.vvveb.com [description] => Discussion forum with boards, topics and replies [thumb] => forum.svg [author] => givanz [version] => 0.2 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/forum/forums [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//forum/plugin.php [folder] => forum [import] => ) [gettext-php] => Array ( [name] => Gettext php [slug] => gettext-php [category] => development [url] => https://www.vvveb.com [description] => Emulate gettext with php to avoid translation caching issues [thumb] => gettext-php.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//gettext-php/plugin.php [folder] => gettext-php [import] => ) [gift-cards] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//gift-cards/plugin.php [folder] => gift-cards [import] => [slug] => gift-cards ) [giphy] => Array ( [name] => Giphy [slug] => giphy [category] => media [url] => https://www.vvveb.com [description] => Search and insert gifs and images from Giphy directly in the media picker [author] => givanz [version] => 0.1 [thumb] => giphy.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/giphy/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//giphy/plugin.php [folder] => giphy [import] => ) [git-deploy] => Array ( [name] => Git deploy [slug] => git-deploy [category] => tools [url] => https://www.vvveb.com [description] => Git version control and deployment for plugins, themes or the whole site. Track changes, commit, diff, pull, push and auto-deploy from webhooks, with per-repository settings and SSH keys. [thumb] => git-deploy.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/git-deploy/repositories [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//git-deploy/plugin.php [folder] => git-deploy [import] => ) [google-translate] => Array ( [name] => Google translate [slug] => google-translate [category] => content [url] => https://www.vvveb.com [description] => Adds automatic translate to language domain editor [author] => givanz [version] => 0.1 [thumb] => google-translate.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/google-translate/google-translate.svg [file] => /home/www/vvveb/www/plugins//google-translate/plugin.php [folder] => google-translate [import] => ) [graphql-lib] => Array ( [name] => Graphql lib [slug] => graphql-lib [category] => headless [url] => https://www.vvveb.com [description] => Installs Graphql dependencies webonyx/graphql-php to avoid running composer on the server [thumb] => graphql-lib.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//graphql-lib/plugin.php [folder] => graphql-lib [import] => ) [graphql] => Array ( [name] => GraphQL [slug] => graphql [category] => development [url] => https://www.vvveb.com [description] => View and interact with GraphQL API. [author] => givanz [version] => 0.1 [thumb] => graphql.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/graphql/settings [status] => inactive [thumb_url] => /plugins/graphql/graphql.svg [file] => /home/www/vvveb/www/plugins//graphql/plugin.php [folder] => graphql [import] => ) [gravatar] => Array ( [name] => Gravatar [slug] => gravatar [category] => comments [url] => https://www.gravatar.com [description] => Show gravatar images on comments for users that don't have avatars set. [author] => givanz [version] => 0.1 [thumb] => gravatar.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/gravatar/settings [status] => inactive [thumb_url] => /plugins/gravatar/gravatar.svg [file] => /home/www/vvveb/www/plugins//gravatar/plugin.php [folder] => gravatar [import] => ) [headless-mode] => Array ( [name] => Headless mode [slug] => headless-mode [category] => tools [url] => https://www.vvveb.com [description] => All frontend requests return json response instead of html. [author] => givanz [version] => 0.1 [thumb] => headless-mode.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//headless-mode/plugin.php [folder] => headless-mode [import] => ) [helpscout-beacon] => Array ( [name] => Help Scout Beacon [slug] => helpscout-beacon [category] => tools [url] => https://www.vvveb.com [description] => Add the Help Scout Beacon support widget to the site [thumb] => helpscout-beacon.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/helpscout-beacon/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//helpscout-beacon/plugin.php [folder] => helpscout-beacon [import] => ) [hide-ecommerce] => Array ( [name] => Hide Ecommerce features [slug] => hide-ecommerce [category] => tools [url] => https://www.vvveb.com [description] => Hide Ecommerce features if you are not using them. [author] => givanz [version] => 0.1 [thumb] => hide-ecommerce.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/hide-ecommerce/hide-ecommerce.svg [file] => /home/www/vvveb/www/plugins//hide-ecommerce/plugin.php [folder] => hide-ecommerce [import] => ) [hide-editor] => Array ( [name] => Hide editor based on role [slug] => hide-editor [category] => tools [url] => https://www.vvveb.com [description] => Hide editor based on role [thumb] => hide-editor.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//hide-editor/plugin.php [folder] => hide-editor [import] => ) [hide-language-selector] => Array ( [name] => Hide language selector [slug] => hide-language-selector [category] => tools [url] => https://www.vvveb.com [description] => Hides top header language selector from frontend [author] => givanz [version] => 0.1 [thumb] => hide-language-selector.svg [author-url] => https://www.vvveb.com [status] => active [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//hide-language-selector/plugin.php [folder] => hide-language-selector [import] => ) [hide-update] => Array ( [name] => Hide update check [slug] => hide-update [category] => tools [url] => https://www.vvveb.com [description] => Hide the Vvveb version, update notifications and documentation link in admin. [thumb] => hide-update.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//hide-update/plugin.php [folder] => hide-update [import] => ) [image-limiter] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//image-limiter/plugin.php [folder] => image-limiter [import] => [slug] => image-limiter ) [image-optimizer] => Array ( [name] => Image optimizer [slug] => image-optimizer [category] => media [url] => https://www.vvveb.com [description] => Optimize images for size [thumb] => image-optimizer.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//image-optimizer/plugin.php [folder] => image-optimizer [import] => ) [import-csv] => Array ( [name] => Import Csv [slug] => import-csv [category] => content [url] => https://www.vvveb.com [description] => Import products from a csv file (Woocommerce, Shopify, Magento, PrestaShop, OpenCart, Avada Commerce, WeltPixel, Wix Stores, Squarespace, BigCommerce, VTEX, Webflow). [author] => givanz [version] => 0.2 [thumb] => import-csv.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/import-csv/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//import-csv/plugin.php [folder] => import-csv [import] => ) [import-fonts] => Array ( [name] => Import Fonts [slug] => import-fonts [category] => content [url] => https://www.vvveb.com [description] => Import Google and Adobe Fonts into your theme so they are served locally, no external requests on the frontend [thumb] => import-fonts.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/import-fonts/import [status] => inactive [thumb_url] => /plugins/import-fonts/import-fonts.svg [file] => /home/www/vvveb/www/plugins//import-fonts/plugin.php [folder] => import-fonts [import] => ) [import-wordpress] => Array ( [name] => Import Wordpress [slug] => import-wordpress [category] => content [url] => https://www.vvveb.com [description] => Import content from a wordpress xml export file. [author] => givanz [version] => 0.1 [thumb] => import-wordpress.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/import-wordpress/settings [status] => inactive [thumb_url] => /plugins/import-wordpress/import-wordpress.svg [file] => /home/www/vvveb/www/plugins//import-wordpress/plugin.php [folder] => import-wordpress [import] => ) [insert-scripts] => Array ( [name] => Insert Footer Header Scripts [slug] => insert-scripts [category] => tools [url] => https://www.vvveb.com [description] => Insert footer and header scripts such as analytics or widgets. [thumb] => insert-scripts.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/insert-scripts/settings [status] => active [thumb_url] => /plugins/insert-scripts/insert-scripts.svg [file] => /home/www/vvveb/www/plugins//insert-scripts/plugin.php [folder] => insert-scripts [import] => ) [inventory] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//inventory/plugin.php [folder] => inventory [import] => [slug] => inventory ) [language-specific-template] => Array ( [name] => Language specific html template [slug] => language-specific-template [category] => tools [url] => https://www.vvveb.com [description] => Set a different html template for a specific language, the plugin will check for language specific html file like index.fr_FR.html or content/post.fr_FR.html before serving general index.html and content/post.html [author] => givanz [version] => 0.1 [thumb] => language-specific-template.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/language-specific-template/language-specific-template.svg [file] => /home/www/vvveb/www/plugins//language-specific-template/plugin.php [folder] => language-specific-template [import] => ) [llmstxt] => Array ( [name] => LlmsTxt [slug] => llmstxt [category] => content [url] => https://www.vvveb.com [description] => Add llms.txt to your site [author] => givanz [version] => 0.1 [thumb] => llmstxt.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/llmstxt/llmstxt.svg [file] => /home/www/vvveb/www/plugins//llmstxt/plugin.php [folder] => llmstxt [import] => ) [magic-link] => Array ( [name] => Magic link login [slug] => magic-link [category] => security [url] => https://www.vvveb.com [description] => Passwordless login with a one-time link sent to the user email [thumb] => magic-link.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/magic-link/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//magic-link/plugin.php [folder] => magic-link [import] => ) [markdown-editor] => Array ( [name] => Markdown Editor [slug] => markdown-editor [category] => content [url] => https://www.vvveb.com [description] => Change post and product page editor to markdown, automatically render as html on frontend. [author] => givanz [version] => 0.1 [thumb] => markdown-editor.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/markdown-editor/markdown-editor.svg [file] => /home/www/vvveb/www/plugins//markdown-editor/plugin.php [folder] => markdown-editor [import] => ) [markdown-import] => Array ( [name] => Markdown Import [slug] => markdown-import [category] => content [url] => https://www.vvveb.com [description] => Import and update markdown files as posts [author] => givanz [version] => 0.2 [thumb] => markdown-import.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/markdown-import/settings [status] => inactive [thumb_url] => /plugins/markdown-import/markdown-import.svg [file] => /home/www/vvveb/www/plugins//markdown-import/plugin.php [folder] => markdown-import [import] => ) [mcp] => Array ( [name] => Mcp form protection [slug] => mcp [category] => spam [url] => https://plugins.vvveb.com/product/debug [description] => Model Context Protocol for Vvveb [author] => givanz [version] => 0.1 [thumb] => mcp.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/mcp/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//mcp/plugin.php [folder] => mcp [import] => ) [media-remove-image-background] => Array ( [name] => Media Remove Image Background [slug] => media-remove-image-background [category] => tools [url] => https://www.vvveb.com [description] => Remove Image Background [thumb] => insert-scripts.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/media-remove-image-background/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//media-remove-image-background/plugin.php [folder] => media-remove-image-background [import] => ) [menu-hide-per-role] => Array ( [name] => Menu hide items per role [slug] => menu-hide-per-role [category] => tools [url] => https://www.vvveb.com [description] => Hide certain admin sidebar menu items for a specified role [author] => givanz [version] => 0.1 [thumb] => menu-hide-per-role.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/menu-hide-per-role/settings [status] => inactive [thumb_url] => /plugins/menu-hide-per-role/menu-hide-per-role.svg [file] => /home/www/vvveb/www/plugins//menu-hide-per-role/plugin.php [folder] => menu-hide-per-role [import] => ) [minify] => Array ( [name] => Minify css and js [slug] => minify [category] => performance [url] => https://www.vvveb.com [description] => Minify javascript and css for better frontend performance. [author] => givanz [version] => 0.1 [thumb] => minify.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/minify/minify.svg [file] => /home/www/vvveb/www/plugins//minify/plugin.php [folder] => minify [import] => ) [mollie-payment] => Array ( [name] => Mollie Payment [slug] => mollie-payment [category] => payment [url] => https://www.vvveb.com [description] => Accept payments with Mollie (iDEAL, credit card, Bancontact, PayPal, Klarna and more) [author] => givanz [version] => 0.1 [thumb] => mollie-payment.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/mollie-payment/settings [status] => inactive [thumb_url] => /plugins/mollie-payment/mollie-payment.svg [file] => /home/www/vvveb/www/plugins//mollie-payment/plugin.php [folder] => mollie-payment [import] => ) [mollie] => Array ( [name] => Mollie payment [slug] => mollie [category] => payment [url] => https://www.vvveb.com [description] => Adds Mollie payment method on checkout page [author] => givanz [version] => 0.1 [thumb] => mollie.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/mollie/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//mollie/plugin.php [folder] => mollie [import] => ) [multi-vendor] => Array ( [name] => Multi vendor [slug] => multi-vendor [category] => content [url] => https://www.vvveb.com [description] => Adds multi vendor signup page on frontend. [author] => givanz [version] => 0.1 [thumb] => multi-vendor.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/multi-vendor/multi-vendor.svg [file] => /home/www/vvveb/www/plugins//multi-vendor/plugin.php [folder] => multi-vendor [import] => ) [multichannel] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//multichannel/plugin.php [folder] => multichannel [import] => [slug] => multichannel ) [newsletter] => Array ( [name] => Newsletter [slug] => newsletter [category] => email [url] => https://www.vvveb.com [description] => Create Newsletters that sends email or saves data in the database [thumb] => newsletter.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/newsletter/newsletter-list [status] => inactive [thumb_url] => /plugins/newsletter/newsletter.svg [file] => /home/www/vvveb/www/plugins//newsletter/plugin.php [folder] => newsletter [import] => ) [old-activitypub] => Array ( [name] => ActivityPub [slug] => old-activitypub [category] => blog [url] => https://plugins.vvveb.com/product/activitypub [description] => Publish to Fediverse [author] => givanz [version] => 0.1 [thumb] => activitypub.svg [author-url] => https://www.vvveb.com [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//old-activitypub/plugin.php [folder] => old-activitypub [import] => ) [omnipay] => Array ( [name] => Omnipay 3 payment gateways [slug] => omnipay [category] => payment [url] => https://www.vvveb.com [description] => Supported gateways: Paypal Express Checkout, Paypal Pro Checkout, Paypal Rest, Mollie, Dummy. [author] => givanz [version] => 0.1 [thumb] => omnipay.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/omnipay/settings [status] => inactive [thumb_url] => /plugins/omnipay/omnipay.svg [file] => /home/www/vvveb/www/plugins//omnipay/plugin.php [folder] => omnipay [import] => ) [omnipay2] => Array ( [name] => Omnipay payment gateways [slug] => omnipay2 [category] => payment [url] => https://www.vvveb.com [description] => Supported gateways: Paypal Express Checkout, Paypal Pro Checkout, Paypal Rest, Mollie, Dummy. [author] => givanz [version] => 0.1 [thumb] => omnipay.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/omnipay/settings [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//omnipay2/plugin.php [folder] => omnipay2 [import] => ) [openapi] => Array ( [name] => OpenApi [slug] => openapi [category] => development [url] => https://www.vvveb.com [description] => View and interact with REST Api. [author] => givanz [version] => 0.1 [thumb] => openapi.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/openapi/settings [status] => inactive [thumb_url] => /plugins/openapi/openapi.svg [file] => /home/www/vvveb/www/plugins//openapi/plugin.php [folder] => openapi [import] => ) [opencode-session] => Array ( [name] => OpenCode Session [slug] => opencode-session [category] => tools [url] => https://www.vvveb.com [description] => Add an AI assistant to the content editor and site editor. Supports OpenAI, Anthropic Claude, Google Gemini, DeepSeek, Groq, Mistral, xAI Grok and OpenRouter with streaming responses, reasoning blocks, file attachments, tool calls and an optional server side proxy that hides api keys from the browser. [author] => givanz [version] => 0.2 [thumb] => opencode-session.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/ai-assistant/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//opencode-session/plugin.php [folder] => opencode-session [import] => ) [openverse] => Array ( [name] => Openverse [slug] => openverse [category] => media [url] => https://www.vvveb.com [description] => Search and insert openly licensed images from Openverse directly in the media picker [author] => givanz [version] => 0.1 [thumb] => openverse.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/openverse/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//openverse/plugin.php [folder] => openverse [import] => ) [payment-2c2p] => Array ( [name] => 2C2P [slug] => payment-2c2p [category] => payment [url] => https://www.vvveb.com [description] => Adds 2C2P Payment Gateway API - Singapore-based with pan-Asia coverage supporting cards and regional APMs across Southeast Asia. Signed JWT payment token flow with hosted payment page. [thumb] => 2c2p.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-2c2p/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-2c2p/plugin.php [folder] => payment-2c2p [import] => ) [payment-adyen] => Array ( [name] => Adyen Checkout [slug] => payment-adyen [category] => payment [url] => https://www.vvveb.com [description] => Adds Adyen Checkout on checkout page. Unified card and 200+ local payment method acquiring with drop-in component, 3D Secure 2 and signed notification webhooks including chargebacks. [thumb] => adyen.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-adyen/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-adyen/plugin.php [folder] => payment-adyen [import] => ) [payment-affirm] => Array ( [name] => Affirm [slug] => payment-affirm [category] => payment [url] => https://www.vvveb.com [description] => Adds Affirm installment financing through the Affirm JS checkout modal, typically lifting average order value. Confirms and captures server side after customer approval. [thumb] => affirm.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-affirm/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-affirm/plugin.php [folder] => payment-affirm [import] => ) [payment-afterpay] => Array ( [name] => Afterpay / Clearpay [slug] => payment-afterpay [category] => payment [url] => https://www.vvveb.com [description] => Adds Afterpay 4-installment Buy Now Pay Later checkout. Branded automatically as Clearpay in UK/EU markets. Redirect based checkout with order confirmation webhook. [thumb] => afterpay.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-afterpay/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-afterpay/plugin.php [folder] => payment-afterpay [import] => ) [payment-airwallex] => Array ( [name] => Airwallex [slug] => payment-airwallex [category] => payment [url] => https://www.vvveb.com [description] => Adds Airwallex Payment Acceptance for multi-currency checkout with local payment rails across 120+ countries. Embedded drop-in element on checkout, webhook based order confirmation. [thumb] => airwallex.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-airwallex/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-airwallex/plugin.php [folder] => payment-airwallex [import] => ) [payment-applepay] => Array ( [name] => Apple Pay [slug] => payment-applepay [category] => payment [url] => https://www.vvveb.com [description] => Adds an Apple Pay accelerated checkout button using the Apple Pay JS API. Payment tokens are processed through the store's existing card processor (Stripe or Adyen) rather than acting as a standalone processor. [thumb] => applepay.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-applepay/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-applepay/plugin.php [folder] => payment-applepay [import] => ) [payment-bluesnap] => Array ( [name] => BlueSnap [slug] => payment-bluesnap [category] => payment [url] => https://www.vvveb.com [description] => Adds BlueSnap Payment API supporting cards, ACH, SEPA and wire with built-in subscription/recurring billing management. Hosted fields embedded on checkout. [thumb] => bluesnap.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-bluesnap/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-bluesnap/plugin.php [folder] => payment-bluesnap [import] => ) [payment-bpay] => Array ( [name] => BPAY (Australia) [slug] => payment-bpay [category] => payment [url] => https://www.vvveb.com [description] => Adds BPAY biller-code payment instructions for Australian merchants accepting bank-initiated bill payments (ideal for invoices rather than instant checkout). Generates a stable, check-digit-validated customer reference number per order under your chosen scheme, shows exact payment instructions, and confirms through an optional secret-gated reconciliation callback or a manual admin confirmation. [thumb] => bpay.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-bpay/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-bpay/plugin.php [folder] => payment-bpay [import] => ) [payment-cashfree] => Array ( [name] => Cashfree [slug] => payment-cashfree [category] => payment [url] => https://www.vvveb.com [description] => Adds Cashfree Payments supporting UPI, cards, netbanking and wallets for Indian merchants. Hosted checkout via Cashfree JS SDK with webhook order-status confirmation. [thumb] => cashfree.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-cashfree/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-cashfree/plugin.php [folder] => payment-cashfree [import] => ) [payment-ccavenue] => Array ( [name] => CCAvenue [slug] => payment-ccavenue [category] => payment [url] => https://www.vvveb.com [description] => Adds CCAvenue redirect-based checkout supporting 200+ Indian payment options plus international cards. AES encrypted request/response with working key. [thumb] => ccavenue.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-ccavenue/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-ccavenue/plugin.php [folder] => payment-ccavenue [import] => ) [payment-checkoutcom] => Array ( [name] => Checkout.com Payment [slug] => payment-checkoutcom [category] => payment [url] => https://www.vvveb.com [description] => Adds Checkout.com Unified Payments on checkout page. Cards, wallets and 20+ local methods across 55+ countries with hosted payment page or embedded components, webhooks for captures, refunds and chargebacks. [thumb] => checkoutcom.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-checkoutcom/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-checkoutcom/plugin.php [folder] => payment-checkoutcom [import] => ) [payment-dlocal] => Array ( [name] => dLocal (LatAm & emerging markets) [slug] => payment-dlocal [category] => payment [url] => https://www.vvveb.com [description] => Adds dLocal Payins checkout with local payment methods across Latin America, Africa and Asia - Pix, boleto, OXXO, SPEI, cash tickets, bank transfers and local cards in installments. Shoppers pay local currency on dLocal's hosted checkout while the merchant settles in USD. Confirmed asynchronously through a signed webhook or server-side return lookup. [thumb] => dlocal.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-dlocal/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-dlocal/plugin.php [folder] => payment-dlocal [import] => ) [payment-dodo] => Array ( [name] => Dodo Payments [slug] => payment-dodo [category] => payment [url] => https://www.vvveb.com [description] => Adds Dodo Payments on checkout page. Hosted redirect, overlay modal or inline embedded checkout with server side sessions, subscriptions with webhook driven lifecycle and minor-unit refunds through the Dodo Payments API. [thumb] => dodo.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-dodo/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-dodo/plugin.php [folder] => payment-dodo [import] => ) [payment-easypaisa] => Array ( [name] => Easypaisa [slug] => payment-easypaisa [category] => payment [url] => https://www.vvveb.com [description] => Adds Easypaisa merchant payments for mobile wallet and account-based payments in Pakistan. Redirect checkout to Easypaisa with hash-signed requests and status confirmation callback. [thumb] => easypaisa.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-easypaisa/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-easypaisa/plugin.php [folder] => payment-easypaisa [import] => ) [payment-eg-wallets] => Array ( [name] => Egypt Wallets (Vodafone Cash & Fawry) [slug] => payment-eg-wallets [category] => payment [url] => https://www.vvveb.com [description] => Adds Vodafone Cash and Fawry payments for Egypt. Fawry covers the offline cash voucher method (buyer pays at any Fawry outlet with a reference number) and mobile wallets through a signed hosted checkout; direct Vodafone Cash transfers get an instruction page with a unique reference code and optional aggregator callback confirmation. [thumb] => eg-wallets.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-eg-wallets/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-eg-wallets/plugin.php [folder] => payment-eg-wallets [import] => ) [payment-fastspring] => Array ( [name] => FastSpring Payment [slug] => payment-fastspring [category] => payment [url] => https://www.vvveb.com [description] => Adds FastSpring payment method on checkout page. Embedded, popup or hosted checkout with server side order sessions, subscriptions with webhook driven lifecycle and refunds through the FastSpring Orders API. [thumb] => fastspring.svg [author] => givanz [version] => 0.2 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-fastspring/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-fastspring/plugin.php [folder] => payment-fastspring [import] => ) [payment-fortumo] => Array ( [name] => Fortumo [slug] => payment-fortumo [category] => payment [url] => https://www.vvveb.com [description] => Adds Fortumo Quick Checkout hosted payment page supporting cards and Fortumo wallet payments worldwide. MD5-signed redirect with return handler verification. [thumb] => fortumo.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-fortumo/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-fortumo/plugin.php [folder] => payment-fortumo [import] => ) [payment-gcash] => Array ( [name] => GCash [slug] => payment-gcash [category] => payment [url] => https://www.vvveb.com [description] => Adds GCash wallet payments for the Philippines through the Xendit aggregation API (channel-restricted invoices). Checkout link flow with webhook confirmation. [thumb] => gcash.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-gcash/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-gcash/plugin.php [folder] => payment-gcash [import] => ) [payment-googlepay] => Array ( [name] => Google Pay [slug] => payment-googlepay [category] => payment [url] => https://www.vvveb.com [description] => Adds a Google Pay accelerated checkout button using the Google Pay API JS. Payment tokens are tokenized through the configured underlying gateway (Stripe, Adyen or Braintree) rather than acting as a standalone processor. [thumb] => googlepay.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-googlepay/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-googlepay/plugin.php [folder] => payment-googlepay [import] => ) [payment-ideal] => Array ( [name] => iDEAL & Bancontact (bank redirects) [slug] => payment-ideal [category] => payment [url] => https://www.vvveb.com [description] => Adds iDEAL (Netherlands) and Bancontact (Belgium) bank-redirect payments through the Mollie aggregator. Buyers authenticate on their own bank's page; confirmation arrives through the webhook and the server-side return lookup - the notification carries only the payment id, so status is always re-fetched authoritatively before an order changes state. [thumb] => ideal.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-ideal/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-ideal/plugin.php [folder] => payment-ideal [import] => ) [payment-klarna] => Array ( [name] => Klarna Payments [slug] => payment-klarna [category] => payment [url] => https://www.vvveb.com [description] => Adds Klarna Buy Now Pay Later - Pay in 4, Pay Later and financing options. Hosted widget embedded on checkout for installment selection, webhooks for order capture confirmation. [thumb] => klarna.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-klarna/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-klarna/plugin.php [folder] => payment-klarna [import] => ) [payment-mercadopago] => Array ( [name] => Mercado Pago (LatAm) [slug] => payment-mercadopago [category] => payment [url] => https://www.vvveb.com [description] => Adds Mercado Pago Checkout for Brazil, Argentina, Mexico and broader LatAm - Pix, credit cards with installments (parcelado), debit cards, boleto/OXXO tickets and account money on Mercado Pago's hosted checkout. Confirmed asynchronously through a signed webhook or server-side return lookup. [thumb] => mercadopago.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-mercadopago/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-mercadopago/plugin.php [folder] => payment-mercadopago [import] => ) [payment-mpesa] => Array ( [name] => M-Pesa & Airtel Money [slug] => payment-mpesa [category] => payment [url] => https://www.vvveb.com [description] => Adds Safaricom M-Pesa (Daraja STK Push) for Kenya and optional Airtel Money collections for pan-African markets. The buyer receives a payment prompt on their phone and confirms with their PIN; the order waits on an internal page that polls server-side status, with provider callbacks triggering an authoritative re-verification before anything changes state. [thumb] => mpesa.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-mpesa/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-mpesa/plugin.php [folder] => payment-mpesa [import] => ) [payment-mtnmomo] => Array ( [name] => MTN Mobile Money [slug] => payment-mtnmomo [category] => payment [url] => https://www.vvveb.com [description] => Adds MTN Mobile Money collections for Ghana and other MTN markets (Uganda, Cameroon, Côte d'Ivoire, Benin...) through the MoMo Collections API. The buyer approves a payment request on their phone; the order waits on an internal page that polls server-side status, with callbacks triggering an authoritative re-verification before anything changes state. [thumb] => mtnmomo.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-mtnmomo/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-mtnmomo/plugin.php [folder] => payment-mtnmomo [import] => ) [payment-opayo] => Array ( [name] => Opayo (Sage Pay) Form [slug] => payment-opayo [category] => payment [url] => https://www.vvveb.com [description] => Adds Opayo (formerly Sage Pay) Form API card checkout for UK merchants - an established gateway with AVS/CV2 and 3D Secure fraud screening. Transaction details are AES-encrypted with your integration key and handed to Opayo's hosted page; the encrypted, authenticated outcome returns to the store for confirmation. [thumb] => opayo.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-opayo/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-opayo/plugin.php [folder] => payment-opayo [import] => ) [payment-paymob] => Array ( [name] => PayMob Accept (Egypt & MENA) [slug] => payment-paymob [category] => payment [url] => https://www.vvveb.com [description] => Adds PayMob Accept payments for Egypt and the MENA region - hosted card checkout through Accept iframes plus mobile wallet payments (Vodafone Cash, Orange Money, Etisalat Cash). Confirmation arrives through the HMAC-signed transaction callback or a server-side return lookup against the Accept API. [thumb] => paymob.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-paymob/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-paymob/plugin.php [folder] => payment-paymob [import] => ) [payment-payoneer] => Array ( [name] => Payoneer Payouts [slug] => payment-payoneer [category] => payment [url] => https://www.vvveb.com [description] => Payoneer marketplace payouts for cross-border seller settlement. Not a buyer-facing checkout - pair it with a separate card gateway. Provides API access for paying out to sellers. [thumb] => payoneer.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-payoneer/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-payoneer/plugin.php [folder] => payment-payoneer [import] => ) [payment-paypal] => Array ( [name] => PayPal Checkout [slug] => payment-paypal [category] => payment [url] => https://www.vvveb.com [description] => Adds PayPal Checkout (REST API v2) on checkout page. PayPal balance, PayPal Credit, Venmo and card payments via PayPal with Smart Payment Buttons, webhooks/IPN and optional Braintree processing. [thumb] => paypal.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-paypal/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-paypal/plugin.php [folder] => payment-paypal [import] => ) [payment-pix] => Array ( [name] => Pix (Brazil) [slug] => payment-pix [category] => payment [url] => https://www.vvveb.com [description] => Adds Brazil's Pix instant-payment rail via a licensed PSP (Mercado Pago style API) or a direct Banco Central registered integration (mTLS certificate). Generates dynamic Pix QR codes and copy-paste codes per order, confirmed asynchronously through a signed webhook or status polling. [thumb] => pix.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-pix/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-pix/plugin.php [folder] => payment-pix [import] => ) [payment-rapyd] => Array ( [name] => Rapyd [slug] => payment-rapyd [category] => payment [url] => https://www.vvveb.com [description] => Adds Rapyd Collect checkout - card acquiring plus local alternative payment methods with strong LATAM and emerging market coverage. Hosted Rapyd Checkout page with webhook order confirmation. [thumb] => rapyd.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-rapyd/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-rapyd/plugin.php [folder] => payment-rapyd [import] => ) [payment-razorpay] => Array ( [name] => Razorpay [slug] => payment-razorpay [category] => payment [url] => https://www.vvveb.com [description] => Adds Razorpay Orders + Payments API as the primary UPI-focused gateway for Indian merchants. Supports UPI, cards, netbanking and wallets via Razorpay Checkout.js with webhook order confirmation. [thumb] => razorpay.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-razorpay/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-razorpay/plugin.php [folder] => payment-razorpay [import] => ) [payment-sepa] => Array ( [name] => SEPA Direct Debit & Instant (GoCardless) [slug] => payment-sepa [category] => payment [url] => https://www.vvveb.com [description] => Adds EU bank-to-bank payments through GoCardless: SEPA Direct Debit mandate collection (buyer authorizes a sepa_core mandate, collection confirms in a few business days) and SEPA Instant Credit Transfer via Instant Bank Pay (approval in the banking app, confirmation within minutes). Webhooks are HMAC-verified when a secret is configured and every event triggers an authoritative re-fetch before an order changes state. [thumb] => sepa.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-sepa/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-sepa/plugin.php [folder] => payment-sepa [import] => ) [payment-sezzle] => Array ( [name] => Sezzle [slug] => payment-sezzle [category] => payment [url] => https://www.vvveb.com [description] => Adds Sezzle 4 interest-free installment payments popular with younger US and Canada shoppers. Redirect checkout flow with webhooks for order completion and refunds. [thumb] => sezzle.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-sezzle/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-sezzle/plugin.php [folder] => payment-sezzle [import] => ) [payment-skrill] => Array ( [name] => Skrill [slug] => payment-skrill [category] => payment [url] => https://www.vvveb.com [description] => Adds Skrill Quick Checkout hosted payment page supporting cards and Skrill wallet payments worldwide. MD5-signed redirect with return handler verification. [thumb] => skrill.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-skrill/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-skrill/plugin.php [folder] => payment-skrill [import] => ) [payment-square] => Array ( [name] => Square Payment [slug] => payment-square [category] => payment [url] => https://www.vvveb.com [description] => Adds Square card processing on checkout page with Apple Pay, Google Pay and optional Square POS order sync. Includes webhooks for payment updates and refunds. [thumb] => square.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-square/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-square/plugin.php [folder] => payment-square [import] => ) [payment-stripe] => Array ( [name] => Stripe Payment [slug] => payment-stripe [category] => payment [url] => https://www.vvveb.com [description] => Adds Stripe payment method on checkout page. Cards, Apple Pay, Google Pay, Alipay, iDEAL and SEPA Direct Debit via Payment Intents unified checkout with webhooks and subscription support. [thumb] => stripe.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-stripe/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-stripe/plugin.php [folder] => payment-stripe [import] => ) [payment-tazapay] => Array ( [name] => Tazapay escrow (B2B cross-border) [slug] => payment-tazapay [category] => payment [url] => https://www.vvveb.com [description] => Adds Tazapay escrow checkout for B2B international invoices as an alternative to card checkout for exporters. Buyers pay by bank transfer, local rails or card on Tazapay's hosted page; funds are held in escrow and released to the seller on delivery. Confirmation arrives through a signed webhook or server-side return lookup. [thumb] => tazapay.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-tazapay/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-tazapay/plugin.php [folder] => payment-tazapay [import] => ) [payment-unionpay] => Array ( [name] => UnionPay [slug] => payment-unionpay [category] => payment [url] => https://www.vvveb.com [description] => Adds UnionPay International online payments for card acceptance widely used across China and South Korea. Signed redirect checkout with front and back (server notification) handlers. [thumb] => unionpay.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-unionpay/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-unionpay/plugin.php [folder] => payment-unionpay [import] => ) [payment-wise] => Array ( [name] => Wise Payouts [slug] => payment-wise [category] => payment [url] => https://www.vvveb.com [description] => Wise Platform API for low-cost cross-border settlement and payouts at the interbank rate - used for supplier/seller payouts rather than customer-facing checkout. [thumb] => wise.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-wise/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-wise/plugin.php [folder] => payment-wise [import] => ) [payment-xendit] => Array ( [name] => Xendit [slug] => payment-xendit [category] => payment [url] => https://www.vvveb.com [description] => Adds Xendit invoices supporting 100+ local payment methods across Indonesia, Philippines, Malaysia, Thailand, Vietnam, Singapore and Hong Kong. Checkout link flow with webhook confirmation. [thumb] => xendit.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment-xendit/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//payment-xendit/plugin.php [folder] => payment-xendit [import] => ) [payment] => Array ( [name] => Default Payment [slug] => payment [category] => payment [url] => https://www.vvveb.com [description] => Add payment methods for checkout page like cod or bank transfer [author] => givanz [version] => 0.1 [thumb] => payment.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payment/settings [status] => inactive [thumb_url] => /plugins/payment/payment.svg [file] => /home/www/vvveb/www/plugins//payment/plugin.php [folder] => payment [import] => ) [paypal] => Array ( [name] => PayPal payment gateway [slug] => paypal [category] => payment [url] => https://www.vvveb.com [description] => PayPal payment method [author] => givanz [version] => 0.1 [thumb] => paypal.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/paypal/settings [status] => inactive [thumb_url] => /plugins/paypal/paypal.svg [file] => /home/www/vvveb/www/plugins//paypal/plugin.php [folder] => paypal [import] => ) [payum] => Array ( [name] => Payum payment gateways [slug] => payum [category] => payment [url] => https://www.vvveb.com [description] => Supported gateways: Paypal Express Checkout, Paypal Pro Checkout, Paypal Pro Hosted, Paypal Masspay, Paypal Rest, Stripe.js, Stripe Checkout, Authorize.Net AIM, Be2Bill CreditCard, Be2Bill Offsite, Payex, Offline, Klarna Checkout, Klarna Invoice, Sofort. [author] => givanz [version] => 0.1 [thumb] => payum.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/payum/settings [status] => inactive [thumb_url] => /plugins/payum/payum.svg [file] => /home/www/vvveb/www/plugins//payum/plugin.php [folder] => payum [import] => ) [pdf-invoice] => Array ( [name] => PDF Invoice [slug] => pdf-invoice [category] => sale [url] => https://www.vvveb.com [description] => Generate and print PDF invoices and packing lists for orders [author] => givanz [version] => 0.1 [thumb] => pdf-invoice.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/pdf-invoice/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//pdf-invoice/plugin.php [folder] => pdf-invoice [import] => ) [pexels] => Array ( [name] => Pexels [slug] => pexels [category] => media [url] => https://www.vvveb.com [description] => Search and insert images from Pexels directly in the media picker [author] => givanz [version] => 0.1 [thumb] => pexels.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/pexels/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//pexels/plugin.php [folder] => pexels [import] => ) [pick-up-shipping] => Array ( [name] => Pick up shipping method [slug] => pick-up-shipping [category] => shipping [url] => https://www.vvveb.com [description] => Adds Pick up shipping method on checkout page [author] => givanz [version] => 0.1 [thumb] => shipping.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/pick-up-shipping/settings [status] => inactive [thumb_url] => /plugins/pick-up-shipping/shipping.svg [file] => /home/www/vvveb/www/plugins//pick-up-shipping/plugin.php [folder] => pick-up-shipping [import] => ) [pixabay] => Array ( [name] => Pixabay [slug] => pixabay [category] => media [url] => https://www.vvveb.com [description] => Search and insert images from Pixabay directly in the media picker [author] => givanz [version] => 0.1 [thumb] => pixabay.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/pixabay/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//pixabay/plugin.php [folder] => pixabay [import] => ) [plugin-market] => Array ( [name] => Plugin market [slug] => plugin-market [category] => market [url] => https://www.vvveb.com [description] => Adds plugin product type and support for "Plugin market" plugin. [author] => givanz [version] => 0.1 [thumb] => plugin-market.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/plugin-market/plugin-market.svg [file] => /home/www/vvveb/www/plugins//plugin-market/plugin.php [folder] => plugin-market [import] => ) [polls] => Array ( [name] => Polls [slug] => polls [category] => content [url] => https://www.vvveb.com [description] => Create polls and insert them into posts, pages or themes. Voting via ajax with animated result bars, single or multiple choices, close date and duplicate vote protection. [thumb] => polls.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/polls/polls [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//polls/plugin.php [folder] => polls [import] => ) [portfolio-cpt] => Array ( [name] => Portfolio Custom Post Type [slug] => portfolio-cpt [category] => content [url] => https://www.vvveb.com [description] => Adds portfolio custom post type and support for Portoflio type themes. [author] => givanz [version] => 0.1 [thumb] => portfolio-cpt.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/portfolio-cpt/portfolio-cpt.svg [file] => /home/www/vvveb/www/plugins//portfolio-cpt/plugin.php [folder] => portfolio-cpt [import] => ) [pos] => Array ( [plugin-name] => POS — Point of Sale [description] => Shopify-POS-style retail checkout for in-person sales with omnichannel fulfillment (BOPIS, ship-from-store, unified order lookup), multi-location stock and transfers, location-based tax, loyalty points, and offline mode with conflict-aware sync. [version] => 0.2 [author] => givanz [slug] => pos [category] => sale [settings] => /admin/index.php?module=plugins/pos/settings [thumb] => pos.svg [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//pos/plugin.php [folder] => pos [import] => ) [post-date-time] => Array ( [name] => Post Date and Time [slug] => post-date-time [category] => content [url] => https://www.vvveb.com [description] => Appends the post date and time at the end of each post content. [thumb] => post-date-time.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/post-date-time/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//post-date-time/plugin.php [folder] => post-date-time [import] => ) [product-badges] => Array ( [name] => Product Badges [slug] => product-badges [category] => ecommerce [url] => https://www.vvveb.com [description] => Display visual badges (Sale, New, Bestseller...) on products in the catalog and product pages with assignments, conditional rules and full styling control [thumb] => product-badges.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/product-badges/badges [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//product-badges/plugin.php [folder] => product-badges [import] => ) [real-estate] => Array ( [name] => Real Estate [slug] => real-estate [category] => content [url] => https://www.vvveb.com [description] => Manage properties and show featured listings on the site [thumb] => real-estate.svg [author] => givanz [version] => 0.3 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/real-estate/properties [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//real-estate/plugin.php [folder] => real-estate [import] => ) [redactix-editor] => Array ( [name] => Markdown Editor [slug] => redactix-editor [category] => content [url] => https://www.vvveb.com [description] => Change post and product page editor to markdown, automatically render as html on frontend. [author] => givanz [version] => 0.1 [thumb] => markdown-editor.svg [author-url] => https://www.vvveb.com [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//redactix-editor/plugin.php [folder] => redactix-editor [import] => ) [redirect] => Array ( [name] => Redirect [slug] => redirect [category] => seo [url] => https://www.vvveb.com [description] => Manage 301 redirects to preserve search engine rankings when URLs change [thumb] => redirect.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/redirect/redirects [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//redirect/plugin.php [folder] => redirect [import] => ) [remove-google-fonts] => Array ( [name] => Remove google fonts [slug] => remove-google-fonts [category] => tools [url] => https://www.vvveb.com [description] => Remove google fonts from page builder fonts list [author] => givanz [version] => 0.1 [thumb] => remove-google-fonts.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/remove-google-fonts/remove-google-fonts.svg [file] => /home/www/vvveb/www/plugins//remove-google-fonts/plugin.php [folder] => remove-google-fonts [import] => ) [saas] => Array ( [name] => Saas [slug] => saas [category] => tools [url] => https://www.vvveb.com [description] => Adds saas plans [author] => givanz [version] => 0.1 [thumb] => saas.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/saas/saas.svg [file] => /home/www/vvveb/www/plugins//saas/plugin.php [folder] => saas [import] => ) [search-replace] => Array ( [name] => Search & Replace [slug] => search-replace [category] => tools [url] => https://www.vvveb.com [description] => Search and replace text or urls across the database, with table selection, dry run mode, serialized data safety and run history. [thumb] => search-replace.svg [author] => givanz [version] => 1.1 [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//search-replace/plugin.php [folder] => search-replace [import] => ) [seo] => Array ( [name] => SEO Optimization [slug] => seo [url] => https://www.vvveb.com [description] => Add SEO capabilities like meta for content and schema markup. [author] => givanz [version] => 1.0 [thumb] => seo.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/seo/settings [status] => active [thumb_url] => /plugins/seo/seo.svg [file] => /home/www/vvveb/www/plugins//seo/plugin.php [folder] => seo [import] => ) [shipping-carriers] => Array ( [plugin-name] => Shipping Carriers [description] => Multiple carrier-based shipping methods with live API rates, tracking, pickup scheduling, address validation, and location map. [version] => 0.1 [author] => givanz [slug] => shipping-carriers [category] => sale [settings] => /admin/index.php?module=plugins/shipping-carriers/settings [thumb] => shipping-carriers.svg [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//shipping-carriers/plugin.php [folder] => shipping-carriers [import] => ) [shipping] => Array ( [name] => Default Shipping [slug] => shipping [category] => shipping [url] => https://www.vvveb.com [description] => Adds shipping methods for checkout page [author] => givanz [version] => 0.1 [thumb] => shipping.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/shipping/settings [status] => inactive [thumb_url] => /plugins/shipping/shipping.svg [file] => /home/www/vvveb/www/plugins//shipping/plugin.php [folder] => shipping [import] => ) [site-export-static] => Array ( [name] => Site export as static [slug] => site-export-static [category] => tools [url] => https://www.vvveb.com [description] => Export a site as static in a zip file with all html and assets [author] => givanz [version] => 0.1 [thumb] => site-export-static.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/site-export-static/settings [status] => inactive [thumb_url] => /plugins/site-export-static/site-export-static.svg [file] => /home/www/vvveb/www/plugins//site-export-static/plugin.php [folder] => site-export-static [import] => ) [sso] => Array ( [name] => Single sign on [slug] => sso [category] => security [url] => https://www.vvveb.com [description] => Single Sign-On (SSO) with OAuth2 for Google, GitHub, Microsoft, LinkedIn and custom providers. [author] => givanz [version] => 0.2 [thumb] => sso.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/sso/settings [status] => inactive [thumb_url] => /plugins/sso/sso.svg [file] => /home/www/vvveb/www/plugins//sso/plugin.php [folder] => sso [import] => ) [static-site-export] => Array ( [name] => Static Site Export [slug] => static-site-export [category] => tools [url] => https://www.vvveb.com [description] => Export the site pages, media and theme as a static html zip archive [thumb] => static-site-export.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/static-site-export/export [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//static-site-export/plugin.php [folder] => static-site-export [import] => ) [stock-photos] => Array ( [name] => Stock Photos [slug] => stock-photos [category] => media [url] => https://www.vvveb.com [description] => Search and insert images from Unsplash, Pexels, Pixabay, Giphy, Openverse, Wikimedia Commons and Flickr directly in the media picker [author] => givanz [version] => 0.1 [thumb] => stock-photos.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/stock-photos/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//stock-photos/plugin.php [folder] => stock-photos [import] => ) [stripe] => Array ( [name] => Stripe payment gateway [slug] => stripe [category] => payment [url] => https://www.vvveb.com [description] => Stripe payment method [author] => givanz [version] => 0.1 [thumb] => stripe.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/stripe/settings [status] => inactive [thumb_url] => /plugins/stripe/stripe.svg [file] => /home/www/vvveb/www/plugins//stripe/plugin.php [folder] => stripe [import] => ) [sun-editor] => Array ( [name] => Sun Editor [slug] => sun-editor [category] => content [url] => https://www.vvveb.com [description] => Replace tinymce with sun editor in post/page and product edit page [author] => givanz [version] => 0.1 [thumb] => sun-editor.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/sun-editor/sun-editor.svg [file] => /home/www/vvveb/www/plugins//sun-editor/plugin.php [folder] => sun-editor [import] => ) [svg-upload] => Array ( [name] => Svg upload [slug] => svg-upload [category] => media [url] => https://www.vvveb.com [description] => Allow uploading svg images in media library [thumb] => svg-upload.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//svg-upload/plugin.php [folder] => svg-upload [import] => ) [tablepress] => Array ( [name] => TablePress [slug] => tablepress [category] => content [url] => https://www.vvveb.com [description] => Create and manage data tables and insert them in pages, posts and the visual editor [thumb] => tablepress.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/tablepress/tables [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//tablepress/plugin.php [folder] => tablepress [import] => ) [tables] => Array ( [name] => Tables [slug] => tables [category] => content [url] => https://www.vvveb.com [description] => Create and manage reusable tables with a spreadsheet like editor. Insert them into posts, pages or themes; frontend visitors get search, sorting and pagination. Import and export CSV, Excel, HTML and JSON. [thumb] => tables.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/tables/tables [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//tables/plugin.php [folder] => tables [import] => ) [tax-automation] => Array ( [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//tax-automation/plugin.php [folder] => tax-automation [import] => [slug] => tax-automation ) [tax-zones] => Array ( [name] => Tax Zones [slug] => tax-zones [category] => ecommerce [url] => https://www.vvveb.com [description] => Auto-configure store taxes from geo selection — pick countries and import open-data VAT/GST/sales-tax rates as native zones, rates and rules. [thumb] => tax-zones.svg [author] => givanz [version] => 0.2 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/tax-zones/zones [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//tax-zones/plugin.php [folder] => tax-zones [import] => ) [test-plugin] => Array ( [name] => Test plugin [slug] => test-plugin [category] => development [url] => https://www.vvveb.com [description] => Test plugin to show how to write one. [thumb] => test-plugin.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/test-plugin/test-plugin.svg [file] => /home/www/vvveb/www/plugins//test-plugin/plugin.php [folder] => test-plugin [import] => ) [test-plugin2] => Array ( [name] => Test plugin [slug] => test-plugin2 [category] => development [url] => http://www.vvveb.com [description] => Test plugin to show how to write one. [thumb] => test.svg [author] => givanz [version] => 0.1 [author-url] => http://www.vvveb.com [status] => slug_folder_mismatch [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//test-plugin2/plugin.php [folder] => test-plugin2 [import] => ) [theme-market] => Array ( [name] => Theme market [slug] => theme-market [category] => market [url] => https://www.vvveb.com [description] => Adds theme product type and support for "Theme market" theme. [author] => givanz [version] => 0.1 [thumb] => theme-market.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/theme-market/theme-market.svg [file] => /home/www/vvveb/www/plugins//theme-market/plugin.php [folder] => theme-market [import] => ) [themes-import] => Array ( [name] => Themes Import [slug] => themes-import [category] => content [url] => https://www.vvveb.com [description] => Import and update themes and plugins from their markdown descriptions [thumb] => themes-import.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/themes-import/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//themes-import/plugin.php [folder] => themes-import [import] => ) [tinymce-latest] => Array ( [name] => Tinymce Latest [slug] => tinymce-latest [category] => content [url] => https://www.vvveb.com [description] => Replace the bundled TinyMCE library with the latest version (8.8.2) from tinymce/tinymce-dist on post, page, product and other editor pages. [author] => givanz [version] => 8.8.2 [thumb] => tinymce-latest.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//tinymce-latest/plugin.php [folder] => tinymce-latest [import] => ) [tinymce-plugins] => Array ( [name] => Tinymce plugins [slug] => tinymce-plugins [category] => content [url] => https://www.vvveb.com [description] => Add various plugins to text editor from post and product edit page [author] => givanz [version] => 0.1 [thumb] => tinymce-plugins.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//tinymce-plugins/plugin.php [folder] => tinymce-plugins [import] => ) [toc-posts] => Array ( [name] => Table of content for posts [slug] => toc-posts [category] => content [url] => https://www.vvveb.com [description] => Show navigable table of content for posts [author] => givanz [version] => 0.1 [thumb] => toc-posts.svg [author-url] => https://www.vvveb.com [status] => active [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//toc-posts/plugin.php [folder] => toc-posts [import] => ) [transliterate] => Array ( [name] => Transliterate slugs and urls [slug] => transliterate [category] => content [url] => https://plugins.vvveb.com/product/transliterate [description] => Transliterate post and products slugs and urls [author] => givanz [version] => 0.1 [thumb] => transliterate.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/transliterate/transliterate.svg [file] => /home/www/vvveb/www/plugins//transliterate/plugin.php [folder] => transliterate [import] => ) [two-factor-auth] => Array ( [name] => Two factor authentication [slug] => two-factor-auth [category] => security [url] => https://www.vvveb.com [description] => Enhanced security with two factor authentication [author] => givanz [version] => 0.1 [thumb] => two-factor-auth.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/two-factor-auth/user [status] => inactive [thumb_url] => /plugins/two-factor-auth/two-factor-auth.svg [file] => /home/www/vvveb/www/plugins//two-factor-auth/plugin.php [folder] => two-factor-auth [import] => ) [unsplash] => Array ( [name] => Unsplash [slug] => unsplash [category] => media [url] => https://www.vvveb.com [description] => Search and insert images from Unsplash directly in the media picker [author] => givanz [version] => 0.1 [thumb] => unsplash.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/unsplash/settings [status] => inactive [thumb_url] => /plugins/unsplash/unsplash.svg [file] => /home/www/vvveb/www/plugins//unsplash/plugin.php [folder] => unsplash [import] => ) [vvveb-com-contact-form] => Array ( [name] => Vvveb.com Contact form [slug] => vvveb-com-contact-form [category] => email [url] => https://www.vvveb.com [description] => Contact forms for vvveb.com [thumb] => contact-form.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//vvveb-com-contact-form/plugin.php [folder] => vvveb-com-contact-form [import] => ) [vvveb-cron-jobs] => Array ( [name] => Vvveb core cron jobs [slug] => vvveb-cron-jobs [category] => tools [url] => https://www.vvveb.com [description] => Vvveb core cron jobs used for maintenance, provides crons for stale cache clear, backup etc [author] => givanz [version] => 0.1 [thumb] => vvveb-cron-jobs.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /plugins/vvveb-cron-jobs/vvveb-cron-jobs.svg [file] => /home/www/vvveb/www/plugins//vvveb-cron-jobs/plugin.php [folder] => vvveb-cron-jobs [import] => ) [vvvebcom] => Array ( [name] => Vvveb [slug] => vvvebcom [category] => tools [url] => https://www.vvveb.com [description] => Vvveb.com website instance [author] => givanz [version] => 0.1 [thumb] => vvveb.svg [system] => true [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//vvvebcom/plugin.php [folder] => vvvebcom [import] => ) [webmcp] => Array ( [name] => WebMCP [slug] => webmcp [url] => https://www.vvveb.com [description] => Add SEO capabilities like meta for content and schema markup. [author] => givanz [version] => 0.1 [thumb] => webMcp.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/webMcp/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//webmcp/plugin.php [folder] => webmcp [import] => ) [weight-shipping] => Array ( [name] => Weight shipping [slug] => weight-shipping [category] => shipping [url] => https://www.vvveb.com [description] => Weight based shipping [author] => givanz [version] => 0.1 [thumb] => shipping.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/weight-shipping/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//weight-shipping/plugin.php [folder] => weight-shipping [import] => ) [wikimedia] => Array ( [name] => Wikimedia Commons [slug] => wikimedia [category] => media [url] => https://www.vvveb.com [description] => Search and insert openly licensed images from Wikimedia Commons directly in the media picker [author] => givanz [version] => 0.1 [thumb] => wikimedia.svg [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/wikimedia/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//wikimedia/plugin.php [folder] => wikimedia [import] => ) [wordpress-embed] => Array ( [name] => WordPress Embed [slug] => wordpress-embed [category] => content [url] => https://www.vvveb.com [description] => Embed WordPress in public/wp/, sync content, share media and mail. Phase 1: coexistence + lockdown, no public wp-admin/json/cron. [thumb] => wordpress-embed.svg [author] => givanz [version] => 0.1 [author-url] => https://www.vvveb.com [settings] => /admin/index.php?module=plugins/wordpress-embed/settings [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//wordpress-embed/plugin.php [folder] => wordpress-embed [import] => ) [www-redirect] => Array ( [name] => Www redirect [slug] => www-redirect [category] => tools [url] => https://www.vvveb.com [description] => Redirect users from www.domain.com to domain.com [author] => givanz [version] => 0.1 [thumb] => www-redirect.svg [author-url] => https://www.vvveb.com [status] => inactive [thumb_url] => /media/extension.svg [file] => /home/www/vvveb/www/plugins//www-redirect/plugin.php [folder] => www-redirect [import] => ) )
Warning: Cannot modify header information - headers already sent by (output started at /home/www/vvveb/www/system/extensions/plugins.php:298) in /home/www/vvveb/www/app/controller/feed/index.php on line 47
News Vvveb https://vvveb.com/feed/posts The latest news about Vvveb en-US hourly 1 https://vvveb.com /favicon.ico Vvveb News https://www.vvveb.com/feed/posts 32 32 Component product variants https://dev.vvveb.com/component-product-variants Mon, 28 Sep 2026 17:24:02 +0000 The product-variants component (Vvveb\Component\Product\Variants) lists the variants of a product (combinations of option values, e.g. size × color) with variant-specific prices, images and URLs.

Activate the component by adding:

data-v-component-product-variants

Component Options

Add options as HTML attributes using the data-v-* syntax.

Option Attribute Description Default
start data-v-start Starting offset 0
limit data-v-limit Number of variants (null = all) null
site_id data-v-site_id Site ID Current site
language_id data-v-language_id Language ID Current language
product_id data-v-product_id Product ID, from URL by default url
parent_id data-v-parent_id Filter by parent null
search data-v-search Filter by text null
name data-v-name Filter by variant name null
url data-v-url Filter by variant URL null

Component Properties

Variants render inside data-v-variant repeatables with nested data-v-value entries for the option-value combination. Fields include variant name, sku, price / price_formatted (tax-aware), image, url / full-url and stock data. The component also exposes count and the product_variant list.

HTML Example

<div data-v-component-product-variants>
	<div data-v-variant>
		<span data-v-variant-name></span>
		<span data-v-variant-price_formatted></span>
	</div>
</div>
]]>
Component fields https://dev.vvveb.com/component-fields Mon, 28 Sep 2026 17:24:02 +0000 The fields component (Vvveb\Component\Fields) renders custom field values for posts, products, users, orders and taxonomy items. The type option selects the entity; without a valid type the component returns an empty array. Caching is disabled ($cacheExpire = 0).

Activate the component by adding:

data-v-component-fields

Component Options

Add options as HTML attributes using the data-v-* syntax.

Option Attribute Description Default
start data-v-start Starting offset 0
limit data-v-limit Number of fields to display 100
site_id data-v-site_id Site ID Current site
language_id data-v-language_id Language ID Current language
type data-v-type Entity type: post, product, user, order, taxonomy_item (required) null
subtype data-v-subtype Field subtype filter null
post_type data-v-post_type Post type context null
product_id data-v-product_id Filter by product, from URL by default url
post_id data-v-post_id Filter by post, from URL by default url
user_id data-v-user_id Filter by user, from URL by default url
order_id data-v-order_id Filter by order, from URL by default url
taxonomy_item_id data-v-taxonomy_item_id Filter by category/tag, from URL by default url
field_id data-v-field_id Filter to specific field IDs (array) null
field_group_id data-v-field_group_id Filter by field group null

Component Properties

Each field is wrapped in an element marked with data-v-field. The component decodes the settings JSON into name/type and exposes the stored value (JSON-decoded when it holds an object). Nested sub-fields render inside data-v-subfields / data-v-subfields-field.

HTML Example

<div data-v-component-fields data-v-type="product" data-v-product_id="url">
	<div data-v-field>
		<span data-v-field-name>Field name</span>
		<span data-v-field-value>Field value</span>
	</div>
</div>

Notes

  • type must be one of post, product, user, order, taxonomy_item; any other value returns nothing.
  • Entity ID options (product_id, post_id, …) default to url, i.e. they are read from the page GET parameters on detail pages.
]]>
Component product subscriptions https://dev.vvveb.com/component-product-subscriptions Mon, 28 Sep 2026 17:24:02 +0000 The product-subscriptions component (Vvveb\Component\Product\Subscriptions) lists the subscription plans attached to a product (recurring purchase options shown next to the one-time price).

Activate the component by adding:

data-v-component-product-subscriptions

Component Options

Add options as HTML attributes using the data-v-* syntax.

Option Attribute Description Default
start data-v-start Starting offset 0
limit data-v-limit Number of subscriptions 7
site_id data-v-site_id Site ID Current site
language_id data-v-language_id Language ID Current language
product_id data-v-product_id Product ID, from URL by default url
parent_id data-v-parent_id Filter by parent null
search data-v-search Filter by text null

Component Properties

Each subscription renders inside a data-v-subscription repeatable with plan name, billing period, price / price_formatted and trial fields. The component also exposes count.

HTML Example

<div data-v-component-product-subscriptions>
	<div data-v-subscription>
		<span data-v-subscription-name></span>
		<span data-v-subscription-price_formatted></span>
	</div>
</div>

Notes

  • For the standalone subscription-plan catalogue see the product-subscription-plans component (data-v-component-product-subscription-plans).
]]>
Component product filters https://dev.vvveb.com/component-product-filters Mon, 28 Sep 2026 17:24:02 +0000 The product-filters component (Vvveb\Component\Product\Filters) lists filter definitions for a product (faceted-search filter values). Note: there is no dedicated product/filters.tpl template file, so rendering uses the generic data-v-* attribute binding for the returned filter records.

Activate the component by adding:

data-v-component-product-filters

Component Options

Add options as HTML attributes using the data-v-* syntax.

Option Attribute Description Default
start data-v-start Starting offset 0
limit data-v-limit Number of filters 100
site_id data-v-site_id Site ID Current site
language_id data-v-language_id Language ID Current language
product_id data-v-product_id Product ID, from URL by default url
search data-v-search Filter by text null
image_size data-v-image_size Filter image size thumb

Component Properties

Filter records with name, value and image fields, bound with generic data-v-filter-* attributes.

HTML Example

<div data-v-component-product-filters>
	<div data-v-filter>
		<span data-v-filter-name></span>
	</div>
</div>
]]>
Component product category https://dev.vvveb.com/component-product-category Mon, 28 Sep 2026 17:24:02 +0000 The product-category component (Vvveb\Component\Product\Category) displays a single product category. It extends the base category component (Vvveb\Component\Category) without changing options, so it auto-detects the category from the page URL on product category pages.

Activate the component by adding:

data-v-component-product-category

Component Options

Same as the category component:

Option Attribute Description Default
taxonomy_item_id data-v-taxonomy_item_id Category ID, from URL by default url
slug data-v-slug Category slug, from URL by default url
type data-v-type Taxonomy type null
post_type data-v-post_type Post type null
language_id data-v-language_id Language ID Current language
site_id data-v-site_id Site ID Current site

Component Properties

Single-category fields through data-v-category-*: name, slug, content, image, image_url, url, full-url, count.

HTML Example

<div data-v-component-product-category>
	<h1 data-v-category-name></h1>
	<div data-v-category-content></div>
</div>
]]>
Component product subscription plans https://dev.vvveb.com/component-product-subscription-plans Mon, 28 Sep 2026 17:24:02 +0000 The product-subscription-plans component (Vvveb\Component\Product\Subscription\Plans) lists subscription plans for a product from the subscription catalogue (billing cycles available for recurring orders).

Activate the component by adding:

data-v-component-product-subscription-plans

Component Options

Add options as HTML attributes using the data-v-* syntax.

Option Attribute Description Default
start data-v-start Starting offset 0
limit data-v-limit Number of plans 7
site_id data-v-site_id Site ID Current site
language_id data-v-language_id Language ID Current language
product_id data-v-product_id Product ID, from URL by default url
parent_id data-v-parent_id Filter by parent null
search data-v-search Filter by text null

Component Properties

Each plan exposes the subscription-plan record fields (name, billing frequency, price / price_formatted, trial data).

HTML Example

<div data-v-component-product-subscription-plans>
	<div data-v-plan>
		<span data-v-plan-name></span>
		<span data-v-plan-price_formatted></span>
	</div>
</div>
]]>
Component content categories https://dev.vvveb.com/component-content-categories Mon, 28 Sep 2026 17:24:02 +0000 The content-categories component (Vvveb\Component\Content\Categories) is the post-scoped twin of the categories component: it lists categories-type taxonomy items for post post types (blog categories). For product taxonomies use product-categories instead.

Activate the component by adding:

data-v-component-content-categories

Component Options

Add options as HTML attributes using the data-v-* syntax.

Option Attribute Description Default
start data-v-start Starting offset 0
limit data-v-limit Number of categories 7
site_id data-v-site_id Site ID Current site
language_id data-v-language_id Language ID Current language
order data-v-order Sorting rules, overridable from URL url fallback price asc
taxonomy_id data-v-taxonomy_id Filter by taxonomy ID null
post_id data-v-post_id Show only categories assigned to a post null
parent_id data-v-parent_id Filter by parent (0 = top-level) null
search data-v-search Filter by text null
type data-v-type Taxonomy type categories
post_type data-v-post_type Post type post
parents_only data-v-parents_only Only parent categories false
parents_children_only data-v-parents_children_only Only parents that have children false
parents_without_children data-v-parents_without_children Only parents without children false

Component Properties

Same as the categories component: data-v-cats container with data-v-cat repeatables exposing name, slug, url, image, count, and nested children.

HTML Example

<div data-v-component-content-categories data-v-limit="7">
	<div data-v-cats>
		<div data-v-cat>
			<a href="" data-v-cat-url><span data-v-cat-name></span></a>
		</div>
	</div>
</div>
]]>
Component product options https://dev.vvveb.com/component-product-options Mon, 28 Sep 2026 17:24:02 +0000 The product-options component (Vvveb\Component\Product\Options) lists the selectable options of a product (dropdowns, radios, checkboxes, file uploads) with their values and price modifiers. It is used on product pages to render the option selectors.

Activate the component by adding:

data-v-component-product-options

Component Options

Add options as HTML attributes using the data-v-* syntax.

Option Attribute Description Default
start data-v-start Starting offset 0
limit data-v-limit Number of options (null = all) null
site_id data-v-site_id Site ID Current site
language_id data-v-language_id Language ID Current language
product_id data-v-product_id Product ID, from URL by default url
product_variant_id data-v-product_variant_id Pre-select values for a variant null
parent_id data-v-parent_id Filter by parent option null
search data-v-search Filter by text null
image_size data-v-image_size Option-value image size thumb

Component Properties

Options render inside data-v-option repeatables with nested data-v-value repeats for the selectable values. Fields include option name, type (select, radio, checkbox, …), required flag, and per-value name, price / price_formatted modifiers and images. The component also exposes count.

HTML Example

<div data-v-component-product-options>
	<div data-v-option>
		<label data-v-option-name></label>
		<div data-v-value>
			<span data-v-value-name></span>
			<span data-v-value-price_formatted></span>
		</div>
	</div>
</div>
]]>
Component content tags https://dev.vvveb.com/component-content-tags Mon, 28 Sep 2026 17:24:02 +0000 The content-tags component (Vvveb\Component\Content\Tags) lists tags-type taxonomy items for posts (blog tags cloud / tag index).

Activate the component by adding:

data-v-component-content-tags

Component Options

Add options as HTML attributes using the data-v-* syntax.

Option Attribute Description Default
start data-v-start Starting offset 0
limit data-v-limit Number of tags 7
page data-v-page Page number 1
language_id data-v-language_id Language ID Current language
count data-v-count Include post counts null
order data-v-order Sorting rules, overridable from URL url fallback price asc
type data-v-type Taxonomy type tags
post_type data-v-post_type Post type post
id_manufacturer data-v-id_manufacturer Legacy filter null
id_category data-v-id_category Legacy filter null
parents_only data-v-parents_only Only parent tags false
parents_children_only data-v-parents_children_only Only parents with children false
parents_without_children data-v-parents_without_children Only parents without children false

Component Properties

Tags render inside data-v-tags / data-v-archive repeatables with name, slug, url and count fields.

HTML Example

<div data-v-component-content-tags data-v-limit="20">
	<div data-v-tags>
		<div data-v-archive>
			<a href="" data-v-archive-url><span data-v-archive-name></span></a>
		</div>
	</div>
</div>
]]>
Component product attributes https://dev.vvveb.com/component-product-attributes Mon, 28 Sep 2026 17:24:02 +0000 The product-attributes component (Vvveb\Component\Product\Attributes) lists attribute values for a product (specification table: e.g. color, size, material).

Activate the component by adding:

data-v-component-product-attributes

Component Options

Add options as HTML attributes using the data-v-* syntax.

Option Attribute Description Default
start data-v-start Starting offset 0
limit data-v-limit Number of attributes 100
site_id data-v-site_id Site ID Current site
language_id data-v-language_id Language ID Current language
product_id data-v-product_id Product ID, from URL by default url
search data-v-search Filter by text null
image_size data-v-image_size Attribute image size thumb

Component Properties

Attributes render inside the data-v-attributes repeatable with attribute name, value, and image fields.

HTML Example

<div data-v-component-product-attributes>
	<div data-v-attributes>
		<span data-v-attributes-name></span>
		<span data-v-attributes-value></span>
	</div>
</div>
]]>
Component product manufacturers https://dev.vvveb.com/component-product-manufacturers Mon, 28 Sep 2026 17:24:02 +0000 The product-manufacturers component (Vvveb\Component\Product\Manufacturers) lists product manufacturers (brands) with pagination and category filtering.

Activate the component by adding:

data-v-component-product-manufacturers

Component Options

Add options as HTML attributes using the data-v-* syntax.

Option Attribute Description Default
start data-v-start Starting offset 0
limit data-v-limit Number of manufacturers 7
page data-v-page Page number 1
count data-v-count Include product counts, overridable from URL 4
manufacturer_id data-v-manufacturer_id Filter by manufacturer ID null
category_id data-v-category_id Filter by category ID null
order data-v-order Sorting rules, overridable from URL url fallback price asc
type data-v-type Record type filter tags
filter data-v-filter Extra filter value null
parents_only data-v-parents_only Only parents false
parents_children_only data-v-parents_children_only Only parents with children false
parents_without_children data-v-parents_without_children Only parents without children false

Component Properties

Each manufacturer renders inside a data-v-manufacturer repeatable with name, slug, image and url fields.

HTML Example

<div data-v-component-product-manufacturers data-v-limit="12">
	<div data-v-manufacturer>
		<a href="" data-v-manufacturer-url><span data-v-manufacturer-name></span></a>
	</div>
</div>
]]>
Architecture https://dev.vvveb.com/architecture Mon, 28 Sep 2026 17:24:02 +0000 Vvveb CMS uses an MVCC (Model-View-Controller-Component) architecture. It extends traditional MVC with a Component layer that declaratively embeds data-fetching logic directly in HTML templates.

Request Lifecycle

HTTP Request
     │
     ▼
index.php (entry point)
     │
     ├── env.php (environment constants)
     ├── system/core/startup.php (bootstrap: autoloader, error handlers, DB config)
     │
     ▼
System\Core\start()
     │
     ├── Sites::getSiteData()  -  resolve current site
     ├── Plugins::loadPlugins()  -  load active plugins
     │
     ▼
FrontController::dispatch($site)
     │
     ├── Routes::init() + Routes::match($uri)  -  URL routing
     │      (cached per site/app, extensible via Event::trigger)
     │
     ▼
FrontController::call($class, $action, $file)
     │
     ├── include base.php (admin or app base controller)
     ├── include controller file
     ├── new $controllerClass()
     ├── FrontController::di($controller)  -  inject Request, Response, View, Session
     ├── $controller->init()  -  language, currency, permissions, menu, site settings
     ├── View::template('module/action.html')
     ├── $controller->$action()
     │       │
     │       ├── Sets $this->view->property = data (available in template)
     │       └── Returns: false (no template), array (JSON), string (override template)
     │
     ▼
View::render()
     │
     ├── Component::getInstance()  -  discover and execute data-v-component-* attributes
     │       ├── generateRequiredComponents()  -  parse HTML template DOM
     │       ├── loadComponents()  -  execute each component, fetch data, cache results
     │       └── Store in $view->_component[name][index]
     │
     ├── checkNeedRecompile()  -  recompile HTML template to PHP if changed
     ├── Vtpl engine compiles HTML → PHP template
     └── include compiled template (accesses $view properties + $view->_component)
     │
     ▼
Response::output() → HTTP Response

Directory Structure

├── app/                    # Front-end application
│   ├── controller/         # Front-end controllers
│   ├── component/          # Front-end components (data-v-component-*)
│   ├── template/           # Front-end HTML templates
│   ├── sql/                # Front-end SQL model definitions
│   └── validate/           # Front-end validation rules
├── admin/                  # Admin back-end
│   ├── controller/         # Admin controllers
│   ├── component/          # Admin components
│   ├── template/           # Admin HTML templates
│   ├── sql/                # Admin SQL model definitions
│   └── validate/           # Admin validation rules
├── install/                # Web installer
├── system/                 # Core framework
│   ├── core/               # Bootstrap, FrontController, Request, Response, View
│   ├── cache/              # Cache drivers (file, apcu, memcached, redis)
│   ├── db/                 # Database drivers (mysqli, pgsql, sqlite)
│   ├── session/            # Session drivers (php, request)
│   ├── extensions/         # Plugin and theme management
│   ├── sqlp/               # SQL parser and code generator
│   ├── vtpl/               # Template engine
│   ├── user/               # Authentication (Admin, User, Role, Auth)
│   ├── meta/               # SEO/meta handling
│   ├── media/              # Image processing
│   ├── mail/               # Email sending
│   └── import/             # Data import utilities
├── config/                 # Configuration files
├── plugins/                # plugins
├── public/                 # Web-accessible assets
│   ├── themes/             # front-end themes
│   ├── admin/              # Admin theme assets
│   ├── js/                 # JavaScript (builder.js, etc.)
│   ├── css/                # Stylesheets
│   └── media/              # User-uploaded files
├── rest/                   # REST API entry point
├── graphql/                # GraphQL API entry point
├── mcp/                    # MCP (AI) integration
├── storage/                # Runtime storage (cache, compiled templates, backups)
└── locale/                 # Translation files

Entry Points

Entry Point URL APP Constant Purpose
index.php / app Front-end website (also dispatches /rest/*, /graphql/*, /mcpa/* by URI prefix)
public/index.php / (web root) app Web-accessible front controller, includes ../index.php
admin/index.php /admin/ admin Admin panel
install/ /install/ install Web installer (used when the app is not installed yet)
rest/index.php /rest/ rest REST API
graphql/index.php /graphql/ graphql GraphQL API
mcp/index.php /mcpa/* admin MCP (AI) integration (dispatched from the root index.php, runs with DISPATCH disabled)
cli.php CLI varies Command-line interface

The APP constant determines which application directory (app/, admin/, …) is active. The root index.php sets it from the request URI (or forces install when the app is not installed yet), then system/core/startup.php bootstraps the framework.

Autoloading

Vvveb uses a custom autoloader (Vvveb\System\Core\autoload(), registered via spl_autoload_register() in system/core/startup.php). It maps Vvveb\* namespaces to file paths with camelToUnderscore() conversion (each uppercase letter becomes _lowercase) and falls back to a lowercased path:

  • Vvveb\System\Core\FrontController → system/core/front_controller.php
  • Vvveb\Controller\Product\Products → {APP}/controller/product/products.php (APP selects app/ vs admin/, plugin controllers are remapped per APP)
  • Vvveb\Component\Posts → app/component/posts.php
  • Vvveb\Sql\ProductSQL → auto-generated from admin/sql/{mysqli,pgsql,sqlite}/product.sql (engine-specific subfolder, compiled to storage/model/) - Vvveb\Sql\Plugins\* models resolve to plugins/{slug}/sql/{engine}/*.sql

Special roots apply: Vvveb\System\*, Vvveb\Plugins\* and Vvveb\Sql\Plugins\* load from the project root, Vvveb\App\* from app/, Vvveb\Admin\* from admin/, everything else from the active APP directory.

Database Drivers

Vvveb supports three database engines via a driver pattern:

Driver Class Engine
MySQLi Vvveb\System\Db\Mysqli MySQL/MariaDB
PostgreSQL Vvveb\System\Db\Pgsql PostgreSQL 11+
SQLite Vvveb\System\Db\Sqlite SQLite 3

The Vvveb\System\Db facade creates driver instances via Db::getInstance() using the DB_ENGINE constant set in startup.php from config/db.php.

Configuration

Configuration uses a flat PHP file system with dot-notation access:

// Read
$value = \Vvveb\config('db.default.host');
$value = \Vvveb\getSetting('site', 'name');

// Write (persists to file)
\Vvveb\setConfig('app.cache.driver', 'apcu');
\Vvveb\setSetting('site', 'name', 'My Site');

Config files live in config/ and return PHP arrays. They are loaded on-demand and cached in memory. The Config class handles loading, saving, and dot-notation navigation.

Key configuration files:

File Purpose
config/db.php Database connection settings
config/app.php Application settings (cache driver, etc.)
config/app-routes.php Front-end URL routes
config/admin-menu.php Admin sidebar navigation
config/rest-routes.php REST API routes
config/graphql-routes.php GraphQL routes
config/sites.php Multi-site definitions
config/plugins.php Per-site plugin status
config/mail.php Email/SMTP settings

Event System

The event system provides publish-subscribe extensibility at every major lifecycle point:

// Register a listener
\Vvveb\System\Event::on('Vvveb\Component\Products', 'results', 'my-plugin', function($results) {
    $results['product'] = array_filter($results['product'], fn($p) => $p['status']);
    return [$results]; // listeners must return their parameters wrapped in an array
}, 1000);

// Trigger (called by framework)
\Vvveb\System\Event::trigger('Vvveb\Component\Products', 'results', $results);

// Remove listener
\Vvveb\System\Event::off('Vvveb\Component\Products', false, 'my-plugin');

Important Listeners must return all received parameters wrapped in an array (e.g. return [$results];). If a listener returns null the original parameters pass through unchanged, but any modifications are lost. Callbacks with a lower priority run first; the default priority is 1000.

Events are stored per namespace and name, ordered by priority with ksort() (lower values run first) and keyed by listener id: $events[$namespace][$name][$priority][$id]. Use Event::getEvents() to inspect registered listeners.

Key lifecycle events:

Event When Fired
FrontController::call (after) After controller action execution
View::compile / compile:after Before/after template compilation
View::render Before template rendering
Routes::init When routes are compiled, before caching
ComponentBase::__construct After component options are resolved
Component class results After component fetches data
Base::init-menu After admin menu is built

Page Cache

When enabled (PAGE_CACHE in env.php), full-page caching serves static HTML for anonymous visitors:

  1. On first request, PageCache::startCapture() begins output buffering (wired in root index.php)
  2. The full page is rendered normally
  3. PageCache::saveCache() writes the output to public/page-cache/{host}/{path}.html - only for HTTP 200 responses that pass canSaveCache() (anonymous: no logged-in user/admin)
  4. Subsequent requests serve the cached file directly via getCache()
  5. A lock/stale file pair guards concurrent regeneration; non-200 responses clean up locks and stale files

A request is cacheable (canCache()) only when: APP is app, no POST data, none of the user/cart/admin/nocache cookies are set, and the URL passes validUrl() - no ?, &, \ or .., max 4 path levels, and not under /user, /cart, /checkout or /feed. Logged-in sessions therefore bypass (not invalidate) the cache; invalidation happens explicitly via CacheManager::clearPageCache() (called when settings, plugins, themes or content are saved).

Template Engine (Vtpl)

Vtpl compiles theme HTML plus .tpl selector rules into PHP. Theme files declare data needs with data-v-component-* attributes and bind values with data-v-* attributes; the matching rules in app/template/components/*.tpl wire each attribute to the component's result array:

<!-- Theme HTML: declare the component and bind its fields -->
<div data-v-component-products data-v-limit="4" data-v-type="product">
	<div data-v-product>
		<h2 data-v-product-name>Product name</h2>
		<span data-v-product-price_formatted>$100</span>
		<a href="" data-v-product-url>View</a>
	</div>
</div>

<!-- Conditional rendering, `category` is the current menu item -->
<span data-v-menu-item-name data-v-if="category.img">Has image</span>
<span data-v-menu-item-name data-v-if-not="category.type = 'text'">Documentation</span>
# app/template/components/products.tpl (excerpt): repeatable + catch-all binding
@product = [data-v-component-products] [data-v-product]
@product|deleteAllButFirstChild
@product [data-v-product-*]|innerText = $product['@@__data-v-product-(*)__@@']

Compiled templates are stored in storage/compiled-templates/ and recompiled when source files change (View::checkNeedRecompile()).

Security Model

  1. Single public entry point: Only public/index.php is exposed. All controller logic is outside the web root.
  2. CSRF protection: per-session tokens (admin/controller/base.php generates session csrf, checkCsrf() validates it on admin form posts, 403 on mismatch); theme forms carry <input type="hidden" name="csrf" data-v-csrf>.
  3. Input filtering: All $_GET, $_POST, $_COOKIE, $_FILES are recursively filtered through Request::filter().
  4. SQL injection prevention: SqlP uses parameterized queries with bound parameters.
  5. Password hashing: password_hash() with PASSWORD_DEFAULT (auto-rehash on cost/algorithm changes, see Vvveb\System\User\Auth).
  6. Permission system: allow/deny rules evaluated by Vvveb\System\User\Role::has() and checked on controller actions.
  7. Brute force protection: the admin login (admin/controller/user/login.php) caps failed attempts per account and responds with "Too many login attempts, try again in one hour!".

Multi-Site Support

Vvveb supports multiple sites from a single installation. Sites are defined in config/sites.php keyed by host pattern (e.g. '* * *', 'blog *'), each entry carrying host, theme, state, site_id (plus optional template/path):

// config/sites.php (excerpt)  -  keys are host patterns
return [
	'* * *' => [
		'name'    => 'admin',
		'host'    => '*.*.*',
		'theme'   => 'landing',
		'state'   => 'live',
		'site_id' => 1,
	],
];

Each site has its own:

  • Theme configuration
  • Plugin activation status
  • Settings (stored with site_id foreign key)
  • Language and currency

The Sites class (Sites::getSiteData($site_id, $path)) resolves the current site from the request hostname. Note plugins load after site resolution only for non-admin apps (Plugins::loadPlugins() is skipped when APP === 'admin').

Localization

Vvveb uses PHP's gettext extension (or a PHP fallback) for translations. Translation files are stored in locale/. Content can be translated via the admin's multi-language support, with each post/product having content in multiple languages.

]]>
Controller Development Guide https://dev.vvveb.com/controller-development-guide Mon, 28 Sep 2026 17:24:02 +0000 Controllers handle HTTP requests and prepare data for template rendering. Vvveb has separate controller hierarchies for the admin back-end and front-end application.

Base Classes

Front-End Controller

namespace Vvveb\Controller;

class Base {
    public Request $request;    // Vvveb\System\Core\Request
    public Response $response;  // Vvveb\System\Core\Response
    public View $view;          // Vvveb\System\Core\View
    public Session $session;    // Vvveb\System\Session
    protected array $global = []; // Global template data (language, locale, ...)
}

All four properties are injected by FrontController::di() before init() is called.

Admin Controller

The admin base controller (admin/controller/base.php) extends the same pattern but adds:

  • CSRF token generation and validation (checkCsrf(), 403 on mismatch)
  • Admin authentication via Admin::current()
  • Permission checking via $this->permission() (denies with "Your role does not have permission to access this action!")
  • Admin menu building from config/admin-menu.php (cached in object cache under admin-menu)
  • Site switching support
  • Language and currency resolution
  • Plugin loading

Creating a Controller

Front-End Controller

Create a file in app/controller/ following the module path convention:

// app/controller/product/product.php
namespace Vvveb\Controller\Product;

class Product extends \Vvveb\Controller\Base {
    public function init(): void {
        // Optional: runs before the action method
        // Load site settings, check maintenance mode, etc.
    }

    public function index(): ?string {
        // The action method. Return:
        //   null/false  -  use default template (product/product.html)
        //   string  -  use a different template
        //   array  -  output as JSON

        $this->view->title = 'Product Page';
        $this->view->product_id = $this->request->get['product_id'] ?? null;

        return null; // Uses product/product.html template
    }
}

This controller is accessible at URLs matching the route pattern for product/product/index.

Admin Controller

// admin/controller/product/products.php
namespace Vvveb\Controller\Product;

class Products extends \Vvveb\Controller\Base {
    public string $type = 'product';
    public string $list = 'product';
    public string $module = 'product';

    public function index(): void {
        $model = model('product');
        $results = $model->getAll($this->request->get);

        $this->view->set($results);
        $this->view->status = [
            0 => __('Inactive'),
            1 => __('Active'),
        ];
    }
}

Admin controllers are accessed via query parameter: ?module=product/products.

CRUD Pattern

For standard CRUD operations, use the built-in Crud controller or CrudTrait:

namespace Vvveb\Controller\Product;

class Products extends \Vvveb\Controller\Crud {
    public string $type = 'product';
    public string $list = 'product';
    public string $module = 'product';
    // Provides: index(), save(), delete() automatically
}

The Crud trait reads POST data, instantiates the SQL model, and calls add(), edit(), or delete() automatically.

Listing Pattern

For paginated list views, extend Listing:

namespace Vvveb\Controller\Order;

class Orders extends \Vvveb\Controller\Listing {
    public string $type = 'order';
    public string $list = 'order';
    public string $module = 'order';

    public function index(): void {
        parent::index(); // Handles pagination, row URLs
        // Additional data
        $this->view->status = getSetting('order', 'status');
    }
}

Template Assignment

Controllers set data on $this->view which becomes available in the template:

// Set individual properties
$this->view->title = 'Page Title';
$this->view->posts = $results['post'];

// Set multiple properties at once
$this->view->set($results);

// Set a JSON response instead of rendering a template
return $this->results;

// Override the template file
return 'custom/template.html';

// Disable template rendering entirely (for API responses)
return false;

Request Data

Access request data through $this->request:

// GET parameters
$page = $this->request->get['page'] ?? 1;

// POST data (already filtered)
$name = $this->request->post['name'] ?? '';

// Check request method
if ($this->request->getMethod() === 'post') { ... }

// Check if AJAX
if ($this->request->isAjax()) { ... }

// File uploads
$file = $this->request->files['upload'];

Response Control

// Set response type
$this->response->setType('json');

// Set HTTP status
$this->response->setStatus(404);

// Add headers
$this->response->addHeader('X-Custom', 'value');

// Redirect
$this->response->redirect('/new-url');

// Output data as JSON
$this->response->output($data);

Session Usage

// Read
$value = $this->session->get('key');

// Write
$this->session->set('key', $value);

// Delete
$this->session->delete('key');

Error Handling

// 404 Not Found
\Vvveb\System\Core\FrontController::notFound();

// Add validation errors (displayed in admin)
$this->view->errors[] = __('Name is required');

// Add success messages
$this->view->success[] = __('Saved successfully');

Routing

Front-End Routes

Routes are defined in config/app-routes.php:

/routes['/product/{slug}'] = ['module' => 'product/product/index'];
/routes['/blog/{slug}'] = ['module' => 'content/post/index'];
/routes['/cart/add/#product_id#'] = ['module' => 'cart/cart/add'];

Pattern types (see Vvveb\System\Routes regex constants):

  • {name} - matches a string segment, captured as $this->request->get['name']
  • #name# - matches a numeric segment (\d+), captured the same way
  • {name{min,max}} / #name{min,max}# - same with length limits
  • * - wildcard

Admin Routes

Admin uses query-string routing: ?module=controller/action&param=value

URL Generation

URLs are generated with \Vvveb\url() by passing the module name (controller/action); the router picks a matching route pattern for that module and fills its placeholders with the given parameters:

// Generate a front-end URL from a module name
$url = \Vvveb\url('product/product/index', ['product_id' => 123, 'slug' => 'my-product']);
// e.g. results in /product/my-product when a matching pattern exists

// Admin URLs use query-string modules
$url = \Vvveb\url('product/products/index');

If no route pattern matches (e.g. missing parameters), a fallback query-string URL is returned.

Note Pass the module name, not the URL pattern: \Vvveb\url('/product/{slug}', ...) does not resolve because patterns are not lookup keys.

Plugin Controllers

Plugins add controllers under plugins/{slug}/admin/controller/ and plugins/{slug}/app/controller/ (the folder selects the context), both using the Vvveb\Plugins\<Name>\Controller namespace:

// plugins/contact-form/admin/controller/message.php
namespace Vvveb\Plugins\ContactForm\Controller;

class Message extends \Vvveb\Controller\Base {
    public function index(): void {
        $this->view->data = 'Hello from plugin';
    }
}

Plugin routes are registered via events in the plugin's plugin.php.

]]>
Payment sandbox runbook https://dev.vvveb.com/payment-sandbox-runbook Mon, 28 Sep 2026 17:24:02 +0000 Verify each gateway end to end before going live, in this order - PayPal recurring first (newest code, no live call yet), then Mollie, then Stripe.

Prerequisites: worker/site in test mode, storage/ writable (Payum tokens), cron endpoint reachable (renewals, trial counters, order expiry).

PayPal recurring (Payum, PayPal Express)

  1. Configure PayPal_Express with sandbox API username/password/signature and testMode checked.
  2. Buy a subscription product as a logged-in test user with a personal sandbox buyer account.
  3. Expect: redirect to sandbox PayPal → approve → return creates the recurring profile; order moves to the success status; the core subscription row claims PayPal_Express-<index>:I-... and goes active.
  4. In admin, pause then resume the subscription: profile suspends/reactivates in the sandbox merchant account, local status follows.
  5. Cancel: profile cancels immediately; local row goes cancelled.
  6. Expire: profile bills until term end (cancel_at_period_end); the customer.subscription.deleted-equivalent IPN flips the row to cancelled.
  7. Swap: change AMT via swapSubscription (used by plan propagation).

Mollie (test mode)

  1. Use a test_... api key; buy with any method (e.g. iDEAL + test issuer).
  2. Expect: hosted checkout → return marks the order paid, cart empties, confirmation mails.
  3. Cancel on Mollie's page: lands on the failed page with "Payment was cancelled!", order keeps the error status, cart intact for retry.
  4. Refund from Mollie's dashboard: webhook path stores the refund and updates the order; local refund is inbound-only (no outbound refund button).

Stripe (test mode)

  1. Use sk_test_.../pk_test_..., test card 4242 4242 4242 4242.
  2. One-time Elements: approve → /stripe-return verifies the intent, creates the order and confirms. Replay the return URL: must land closed on the failed page (snapshot consumed, no duplicate order).
  3. Subscriptions: approve → subscription row links stripe:sub_.... Advance a test clock past the trial/period: webhook creates exactly one renewal order per invoice (re-fire the event to prove idempotency), trial counters refresh.
  4. invoice.payment_failed: row syncs to failed plus a dunning log note.
  5. Admin cancel/pause/resume/swap hit the live subscription; failures keep local status untouched with the API message shown.
  6. Zero-decimal check: repeat a one-time purchase in JPY - charged amount must equal the cart total, not ×100.

Double-submit and failure paths (all gateways)

  1. Double-click Place Order: exactly one order (single-use submit_token; the duplicate lands on confirmation).
  2. Decline the payment (e.g. Stripe 4000 0000 0000 0002): stay on checkout with the gateway message, cart intact, no confirmation mail.
  3. Kill the session mid-off-site-flow: return lands on the failed page, no orphan paid-without-order state (verify against the gateway dashboard).

Cron

Hit the cron endpoint and confirm order-expire cancels only stale not_paid/awaiting online-method orders (bank-transfer/COD untouched) and subscription-subscription refreshes trial_left without touching billing.

]]>
Rest Api https://dev.vvveb.com/rest-api-setup Mon, 28 Sep 2026 17:24:02 +0000 Rest Api is enabled by default (defined('REST') || define('REST', true) in env.php). To disable it, define REST as false:

defined('REST') || define('REST', true);

Authentication

Authentication is done with HTTP Authorization or Bearer tokens using any admin user credentials that has REST role permissions.

curl -H 'Authorization: Bearer mytoken' 'https://demo.vvveb.com/rest/posts/hello-world-1'
curl --user demo:demo 'https://demo.vvveb.com/rest/posts/hello-world-1'

Permissions

Permission can be controlled from admin user roles and can be set for both resource and action.

Open API

Open Api documentation is provided by the Open Api plugin https://plugins.vvveb.com/product/openapi

Next.js starter

Simple sample blog built with Next.js with REST Api https://github.com/givanz/nextjs-headless-rest-vvveb

Demo nextjs-rest-vvveb.vercel.app

]]>
Vvveb CMS GraphQL API Documentation https://dev.vvveb.com/vvveb-cms-graphql-api-documentation Mon, 28 Sep 2026 17:24:02 +0000 Based on the provided schema, here is the technical documentation for the core entities and types available in the Vvveb CMS GraphQL API.


This documentation outlines the primary data structures and types available for querying and mutations within the Vvveb CMS environment.

Core Commerce Types

Product (product)

The central entity for the storefront. It contains physical attributes, pricing, and associations with content and taxonomies.

Field Type Description
product_id ID Unique identifier for the product.

| | model | String | Product model identifier.

| | sku | String | Stock Keeping Unit.

| | price | Float | The current price of the product.

| | old_price | Float | The original price (useful for showing discounts).

| | stock_quantity | Int | Number of items currently in stock.

| | image | String | Path to the main product image.

| | weight | Float | Physical weight for shipping calculations.

| | variants | [ProductVariantType] | Available variations (size, color, etc.).

| | contents | [ProductContentType] | Localized names and descriptions.

|

Cart (cart)

Represents a user's active shopping session.

Field Type Description
cart_id Id Unique identifier for the cart.

| | products | [CartProductType] | List of items currently in the cart.

| | totals | [TotalType] | Breakdown of subtotal, tax, and shipping.

| | total_price | Float | The grand total amount.

| | total_formatted | String | Currency-formatted total string.

| | checkout_url | String | Direct link to the checkout page.

|


Content & Blogging

Post (post)

Used for blog articles, news, or generic CMS pages.

Field Type Description
post_id ID Unique identifier for the post.

| | status | String | The post status (e.g., "published", "draft").

| | comment_count | Int | Total number of approved comments.

| | created_at | String | Timestamp of post creation.

| | contents | [PostContentType] | Multi-language content (title, body, slug).

| | seo | [SeoType] | Metadata for search engine optimization.

|

Media (media)

Represents uploaded assets like images and videos.

Field Type Description
media_id ID Unique identifier.

| | file | String | The file path or URL.

| | type | String | MIME type or category (image, video, etc.).

|


Orders & Customers

Order (order)

A finalized transaction containing snapshot data of the purchase.

  • Identifiers: Includes order_id, invoice_no, and customer_order_id.

  • Customer Info: Stores first_name, last_name, email, and phone_number.

  • Shipping/Billing: Comprehensive address fields including address_1, city, post_code, and country_id.

  • Financials: Tracks payment_method, shipping_method, total, and currency_id.

  • Associations: Links to products, shipments, subscriptions, and vouchers.


️ System & Configuration

  • Localization: Supported via language (codes, locales, RTL support) and currency (symbols, decimal places, exchange values).

  • Geography: country data including ISO codes and status.

  • Administration: admin type manages backend users, including role_id, auth_tokens, and failed_logins.

  • Marketing: coupon management (discount types, usage limits, date ranges) and newsletter_list management.

  • Customization: field and field_group allow for extensible data models across posts and products.


Pro Tip: Localized Content

Most primary entities (Product, Post, Category) do not store names directly. Instead, they use a contents array (e.g., ProductContentType) which maps content to a specific language_id. Always query the contents field to retrieve the correct translation for your frontend.

]]>
Sidebar https://dev.vvveb.com/sidebar Mon, 28 Sep 2026 17:24:02 +0000

VvvebJs



]]>
Payments and subscriptions https://dev.vvveb.com/payments-and-subscriptions Mon, 28 Sep 2026 17:24:02 +0000 How payment methods, off-site redirects, webhooks and recurring subscriptions fit together.

Payment methods (Vvveb\System\PaymentMethod)

system/payment-method.php is the contract every gateway plugin implements (plugins/*/payment.php). Only three methods are abstract:

  • getMethod(&$checkoutInfo, $options) - availability + display data, or false
  • init() / setMethod() - cart total/tax bookkeeping

Everything else has a return false default stub, so simple offline methods (bank transfer, COD) stay tiny and nothing fatals on a missing operation.

Operation results

Transaction methods return bool, except authorize()/purchase() which may also return a redirect result:

return $this->redirect($url); // ['status' => 'redirect', 'redirect' => $url]
  • true - success, core continues (mail, cart empty, confirmation).
  • false - failure. Set the reason first with $this->fail('...'); checkout stays on the page with the message and keeps the cart.
  • redirect array - off-site gateway (PayPal, Mollie, 3DS). Never redirect or exit inside the method - core persists payment data and redirects, so order creation, events and mail stay in one place.

Inspect details via Payment::getError() / Payment::getRedirectUrl().

Capabilities

$method->supports('refund') reports whether the concrete class overrides an operation - no per-method declarations needed. Admin buttons (capture, refund, void) and Payment::createCard()/webhook() dispatch honor it.

Shared helpers (protected)

  • toCents($total), idempotencyKey($checkoutInfo) - pass the key as the gateway transaction reference so retried submits don't double-charge.
  • storedPaymentData() / storePaymentData($info, $data, $statusId = null) - array-or-JSON tolerant, persists to the order when order_id is present.
  • verifyHmac($payload, $signature, $secret) - webhook signature checks.

Webhooks

Each plugin keeps its own route but implements the shared shape: verify signature → apply update idempotently → plain OK/JSON ack so the gateway stops retrying. Failures must never break the HTTP 200 response.

Shipments and multi-package quotes

ship() records one order_shipment row per package (idempotent per method+tracking) instead of returning a blind true; checkout aborts with the method error when it fails, before any charge. The admin order page renders the rows; carrier booking fills tracking numbers later.

Carriers split cart lines into shipping groups by shipping class (one default group preserves single-package behavior), quote each package through the cached rate layer, and sum the totals - a group that fails falls the whole method back to its flat rate so pricing stays coherent. AbstractCarrier::groupItems() is the pure, unit-tested seam; flat, weight and pickup methods stay single-package. Every package carries an explicit origin resolved per group (explicit origins map, then the AbstractCarrier::origin event, then the fulfilment warehouse, then the site address). Warehouses (order/warehouses admin) hold name + address and product assignments; cart lines are tagged with their warehouse (tagWarehouses(), default = first active) and grouped per warehouse, so multi-origin quoting and shipment origins work out of the box.

The method contract mirrors payments (supports('ship'), getError()), and the dispatcher gained getMethodInstance() plus an optional cart.

Live carriers (UPS OAuth2, FedEx OAuth2, DHL key, USPS key) implement rating/tracking/address/pickup behind per-carrier settings with flat-rate fallback; each honors a test_mode sandbox endpoint. Rate parsers are fixture-tested with stubbed HTTP (CarrierRateTest), so only live credentials stand between here and verified live quotes.

Partial capture and refund

capture()/refund() honor an amount checkout key (partial capture/refund); absent means full. The admin order page exposes amount inputs prefilled with the ledger-derived remaining total and rejects over-amounts server-side. Stripe and Omnipay thread the override; Payum capture and subscription-invoice refunds are full-only and fail closed when a partial is requested. Every partial writes its own ledger row, so the Transactions timeline is the audit trail.

Subscriptions

Core subscription rows are gateway-agnostic. Unlike one-shot Omnipay drivers, Payum supports recurring billing natively: PayPal Express recurring profiles (CreateRecurringPaymentProfile, ManageRecurringPaymentsProfileStatus, UpdateRecurringPaymentProfile) and Stripe subscriptions (CreateSubscription, plus SDK cancel/pause/resume/swap). The payum plugin implements the full subscription contract for both (SUPPORTS_SUBSCRIPTIONS), including a billing-agreement checkout branch and a payum-recurring return action that claims the pending core row. Rows provisioned at a gateway store a gateway:id pair in payment_method (e.g. stripe:sub_1).

Lifecycle operations

cancelSubscription, pauseSubscription, resumeSubscription, swapSubscription (plus createSubscription) default to false on the base; Stripe implements cancel/pause/resume/swap. Context carries gateway_subscription_id (see gatewaySubscriptionId()).

Vvveb\System\SubscriptionManager::gatewayOperation($op, $row, $order) runs the gateway call first and returns an error string on failure - callers (admin order/subscription, customer user/subscription) only change local status when it returns null. Rows without a gateway reference keep the legacy local-only behavior. Lifecycle actions require POST (+CSRF customer-side).

The customer portal self-serves pause/resume/cancel plus plan swap (price ensured from the plan mapping, no new trial) and skip-a-payment (next date pushed one interval at the gateway and locally via SubscriptionManager::addInterval()).

Checkout provisioning

Checkout creates pending core rows for every subscription line, for any method. Stripe claims them (via local_subscription_id metadata) instead of inserting duplicates; manual methods stay pending until confirmed.

Elements return flow

The Elements form leaves the store before any order exists, so plugins/stripe/index/client snapshots the checkout form, and /stripe-return verifies the Setup/PaymentIntent server-side, creates the order, links subscription rows race-safely both ways, and confirms. The displayed amount composes trial prices, recurring amounts and one-time lines. Guest checkouts that opt into registration get an account with a random password plus a reset link; account problems never fail the paid order. Snapshots are consumed, so replays land closed. Both the Elements return and renewal orders fire the checkout add:after event, so inventory deduction, gift-card debit, accounting, tax, fraud and marketing listeners run uniformly on every order path (admin manual orders stay out - they start lineless and merchant-managed). Core warehouses are fulfilment origins for shipping; the inventory plugin's locations remain the stock ledger - separate systems, bridged by the shared order event.

Order statuses

Default / Pending / Success / Error payment statuses mirror the Omnipay plugin (defaults awaiting 2, paid 4, canceled 5). Success drives order creation, captures and renewals; errors are now recorded on failed capture/refund/void where previously nothing was written. Note: capture success previously wrote status 2 and now writes the success status.

Link autofill

Link by Stripe (one-click autofill in the payment form) is on by default and can be switched off with the plugin's Link setting, which passes wallets: {link: 'never'} to Elements. Stripe still requires Link to be turned off in the dashboard (Settings > Payments) for full account-wide removal.

Express wallets

One-time checkouts offer Apple Pay / Google Pay through Stripe's Payment Request Button (hidden for subscription carts and when the wallet is unavailable). The wallet sheet collects contact and shipping details, the existing /stripe-client endpoint mints the PaymentIntent plus snapshot, and the same return URL verifies and orders. The sheet total is the cart total at button time; wallet-address shipping differences are recorded on the order rather than re-charged.

Renewals and dunning

Stripe's invoice.payment_succeeded webhook creates an idempotent renewal order (per-invoice log marker, totals from the invoice, lines cloned from the original order). invoice.payment_failed climbs a 4-attempt dunning ladder (day 0/1/3/7) shared between webhook and the daily subscription-dunning cron pass via structured log notes - retries pay open invoices (already-paid ones report success without double-charging), recoveries flip back to active, and exhausted ladders cancel at the gateway. Manual-method rows stay out of automatic dunning. Mixed carts bill one-time lines onto the first subscription invoice (syncOneTimeInvoiceItems(), reconciled per order/cart reference so retries can't double-bill).

Stripe Elements return flow

The Elements form leaves the store before any order exists, so plugins/stripe/index/client snapshots the checkout form into stripe_pending, and /stripe-return verifies the Setup/PaymentIntent server-side, creates the order, links subscription rows (race-safe both ways via linkSubscriptionOrder() + metadata stamping) and confirms. The snapshot is consumed - replays land closed on the failed page.

Deliberate non-goals

  • Plan-definition edits propagate intervals on explicit save (new price + swap of active gateway subs), but nothing auto-fires - gateway prices are immutable, so this stays an intentional admin action.
  • expire() stops billing at term end for provisioned rows, locally expiring immediately; the gateway webhook flips the row to cancelled at term end.
  • Guest Elements one-time orders skip account auto-registration (no credential survives the off-site round-trip).
]]>
Component Development Guide https://dev.vvveb.com/component-development-guide Mon, 28 Sep 2026 17:24:02 +0000 Components are the heart of Vvveb's MVCC pattern. They are self-contained data-fetching units declared in HTML templates via data-v-component-* attributes. The template declares what data it needs, and the component system automatically discovers, executes, and caches the results.

How Components Work

  1. Discovery: During template compilation, the system parses the HTML for data-v-component-* attributes
  2. Execution: Each component class is instantiated with its options, and results() is called
  3. Caching: Results are cached per component + options hash
  4. Injection: Results are stored in $view->_component[name][index] and available in the template

Creating a Component

Define the Component Class

// app/component/products.php
namespace Vvveb\Component;

use Vvveb\System\Component\ComponentBase;
use Vvveb\System\Event;
use Vvveb\System\Images;
use Vvveb\Sql\ProductSQL;

class Products extends ComponentBase {
    public int $cacheExpire = 3600; // Cache for 1 hour, 0 = no cache

    public static array $defaultOptions = [
        'limit'            => 4,
        'page'             => 1,
        'type'             => 'product',
        'status'           => 1,
        'manufacturer_id'  => null,
        'taxonomy_item_id' => null,
        'order_by'         => null,
        'direction'        => null,
    ];

    public function results(): array {
        $products = new ProductSQL();

        $results = $products->getAll($this->options);

        // Format prices and images (see app/component/product.php for a full example)
        $currency = \Vvveb\System\Cart\Currency::getInstance($this->options);

        foreach ($results['product'] as &$product) {
            $product['price'] = $currency->format($product['price']);
            $product['image'] = Images::image($product['image'], 'product');
            $product['url']   = \Vvveb\url('product/product/index', ['product_id' => $product['product_id'], 'slug' => $product['slug']]);
        }

        // Allow plugins to modify results
        list($results) = Event::trigger(__CLASS__, __FUNCTION__, $results);

        return $results;
    }

    public function request(array &$results, int $index = 0): array {
        // Called per-request (after cache). Use for dynamic per-request tweaks.
        // Mark active category, strip password-protected content, etc.
        return $results;
    }
}

Declare in Template

<!-- Simple usage with defaults -->
<div data-v-component-products></div>

<!-- With options (only names listed in the class's $defaultOptions are accepted) -->
<div data-v-component-products
     data-v-limit="8"
     data-v-taxonomy_item_id="5"
     data-v-order_by="price"
     data-v-direction="asc">
</div>

<!-- Dynamic options from URL -->
<div data-v-component-products
     data-v-manufacturer_id="url">
</div>

<!-- Dynamic with fallback (falls back to 12 when the URL has no limit) -->
<div data-v-component-products
     data-v-taxonomy_item_id="url"
     data-v-limit='["url", 12]'>
</div>

Use in Template

<div data-v-component-products data-v-limit="8">
    <div data-v-product>
        <h3 data-v-product-name>Product name</h3>
        <span data-v-product-price_formatted>$100</span>
        <a href="" data-v-product-url>View</a>
    </div>
</div>

Each data-v-product block repeats per product; the rules in app/template/components/products.tpl bind every data-v-product-* attribute to the matching result field.

Component Options

Default Options

Define $defaultOptions in your component class. These are merged with any data-v-* attributes from the template:

public static array $defaultOptions = [
    'limit' => 12,
    'status' => 1,
    'order_by' => null,
    'direction' => null,
    'type' => null,
];

Only attributes whose names appear in $defaultOptions are accepted - unknown data-v-* attributes are ignored (Component::parseComponentElement()). Global context (site_id, language_id, currency, user_id, …) is merged into the defaults automatically, and empty site_id/language_id/currency_id/user_id/user_group_id fall back to the current request values.

Option Types

Template Attribute Value Type Example
data-v-limit="8" Integer data-v-limit="8"
data-v-status="1" Mixed data-v-status="1"
data-v-type="post" String data-v-type="post"
data-v-manufacturer_id="url" From URL Reads $_GET/$_REQUEST['manufacturer_id'] (supports url.field dotted form)
data-v-limit='["url", 5]' With fallback [url, 5] - URL param or default 5 (PHP-side form is 'limit' => ['url', 5])
data-v-options='{"key":"val"}' JSON Decoded to array

URL Parameter Binding

When an option value is 'url', it's automatically resolved from the current request:

// Template: data-v-category_id="url"
// URL: /category/electronics?category_id=5
// Resolved: $this->options['category_id'] = 5

// With fallback: data-v-category_id='["url", 1]'
// If not in URL: $this->options['category_id'] = 1

Caching

Components support automatic caching via the Cache system:

class Products extends ComponentBase {
    public int $cacheExpire = 3600; // 1 hour (0 = no cache)

    public function cacheKey(): ?string {
        return null; // Disable caching entirely
        // Or return a custom key
    }
}

Cache Behavior

  • Cache hit: Returns cached results directly
  • Cache expired: If within the stale window, serves stale data while regenerating in background
  • Concurrent requests: Uses lock files with retry/wait to prevent thundering herd
  • Cache key: Generated from class name + serialized options hash

When to Disable Caching

public int $cacheExpire = 0; // No caching
// Or
public function cacheKey(): ?string {
    return null; // Disable caching
}

Use cacheExpire = 0 when:

  • Component shows user-specific data (e.g., cart, wishlist)
  • Component shows real-time data (e.g., stock levels)
  • Component data changes frequently and must be fresh

Component Lifecycle

1. ComponentBase::__construct($options)
   ├── Merge $options with $defaultOptions
   ├── Resolve URL-bound options
   ├── Fire Event::trigger(__CLASS__, '__construct', $this->options)
   └── $this->di($this)  -  inject request, view, session

2. Component::loadComponents() (called by View::render)
   ├── Check cache (Cache::getMulti)
   ├── If cache hit → use cached results
   ├── If cache miss → call $obj->results()
   │   ├── Execute SQL model query
   │   ├── Format data (images, prices, URLs)
   │   └── Fire Event::trigger(__CLASS__, 'results', $results)
   ├── Store in $view->_component[name][index]
   └── Call $obj->request() on each component

3. Template rendering
   └── Access via $view->_component[name][index]

Available Components

See the code-reference for the full documented list (45 components: shop, products, content, users, navigation). Common front-end examples (app/component/): posts, products, product, categories, category, cart, checkout/payment, checkout/shipping, product/options, product/variants, content/tags, user/wishlist, menu, currency, breadcrumb, fields. Admin components (admin/component/) include posts, products, users, orders, comments, languages, sites, stats, notifications, among others - they serve the admin templates rather than themes.

Plugin Components

Plugins can register components with the prefix data-v-component-plugin-{plugin-name}-{namespace}:

<div data-v-component-plugin-contact-form-contact-form></div>

The Component Engine

The Component class (system/component/component.php) is the singleton orchestrator:

// Manually trigger component loading (rarely needed)
$component = \Vvveb\System\Component\Component::getInstance($view);

Component Discovery

generateRequiredComponents() parses the HTML template DOM:

  1. Processes data-v-copy-from attributes (template inheritance)
  2. Queries XPath for all data-v-component-* attributes
  3. Extracts component name and options from data-v-* attributes
  4. Validates options against $defaultOptions
  5. Caches definitions to .component files

Component Results Storage

Results are stored in the View object:

// In template:
$products = $view->_component['products'][0];
$posts = $view->_component['posts'][0];
$categories = $view->_component['categories'][0];

Each component instance gets its own index, allowing multiple instances of the same component on one page.

Events

Components fire events that plugins can hook into:

// After results are fetched
\Vvveb\System\Event::on('Vvveb\Component\Products', 'results', 'my-plugin', function($results) {
    // Modify products before they reach the template
    $results['product'] = array_filter($results['product'], fn($p) => $p['featured']);
    return [$results]; // listeners must return their parameters wrapped in an array
}, 1000);

// After component is constructed
\Vvveb\System\Event::on('Vvveb\Component\Products', '__construct', 'my-plugin', function($options) {
    // Modify options before query execution
    $options['limit'] = min($options['limit'], 20);
    return [$options];
}, 1000);
]]>
VvvebJs components (legacy) https://dev.vvveb.com/vvvebjs-components Mon, 28 Sep 2026 17:24:02 +0000 Overview

Component object is used to define the html blocks that can be added and edited on the page.

To add a component you need to use Vvveb.Components.add method or extend an existing component, like a base component with Vvveb.Components.extend

For example image component extends _base component and is defined as

Vvveb.Components.extend("_base", "html/image", {
    nodes: ["img"],
    name: "Image",
    html: '<img src="../libs/builder/icons/image.svg" height="128" width="128">',
    image: "icons/image.svg",
    properties: [{
        name: "Image",
        key: "src",
        htmlAttr: "src",
        inputtype: FileUploadInput
    }, {
        name: "Width",
        key: "width",
        htmlAttr: "width",
        inputtype: TextInput
    }, {
        name: "Height",
        key: "height",
        htmlAttr: "height",
        inputtype: TextInput
    }, {
        name: "Alt",
        key: "alt",
        htmlAttr: "alt",
        inputtype: TextInput
    }]
});

Base component does not extend any existing component and is using Vvveb.Components.add being defined as

Vvveb.Components.add("_base", {
    name: "Element",
	properties: [{
        name: "Id",
        key: "id",
        htmlAttr: "id",
        inputtype: TextInput
    }, {
        name: "Class",
        key: "class",
        htmlAttr: "class",
        inputtype: TextInput
    }]
});

In this way any component that extends _base component inherits two properties id and class used to edit the corresponding html attributes.

Note: _base component is loaded for any html node that has no specific component assigned, for example when clicking on a regular span node.

Component definition

Component object can have the following keys

  • name - Used to display the name on the components list in the left panel.
  • image - Image url to display in the components list.
  • html - When dropping the component on the page this html is used to insert it in the page.
  • nodes - An array with dom node names to allow the editor to detect the Component when clicking on the corresponding node, example nodes: ["h1", "h2","h3", "h4","h5","h6"], or nodes: ["img"],
  • classes - An array with class names to allow the editor to detect the Component when clicking on the corresponding node, example classes: ["btn", "btn-link"]
  • classesRegex - An array with regexs used for class names to allow the editor to detect the Component when clicking on the corresponding node, example classesRegex: ["col-"], this regex is used by Grid Component to detect bootstrap columns such as col-md-3 or col-sm-6.
  • attributes - An array with attributes names to allow the editor to detect the Component when clicking on the corresponding node, example attributes: ["data-component-maps"], this attribute is used by maps component.
  • afterDrop - function (node) {} A function that is called after the element is droped, the node of the new element is passed as parameter, for example map component uses this function to change the html of the node fom a image of a map with the actual map iframe for performance reasons when dragging.
  • init - function (node) {} A function that is called after the Component properties are loaded and displayed in the right panel , the node of the new element is passed as parameter, for example video component that supports youtube, vimeo and html5 uses this event to hide vimeo and html5 inputs when a youtube video is detected.
  • beforeInit - function (node) {} A function that is called before Component properties are displayed , the node of the new element is passed as parameter, this can be useful to dinamically change component properties for example Select Input or Grid component that needs to load a variable number of inputs based on child nodes uses this event to alter component properties and add the necessary properties for each child node.
  • onChange - function (node, property, value) This event is called when a component input in the right panel is changed, the first parameter is the dom node that is edited, second parameter property is the name of the property that has changed (the key attribute of the property), value is the new value of the property. Usually each input has it's own onChange event but because the component onChange event is triggered for all inputs can be usefull when using a common function to process all input changes. This event is usefull when changing complex features, for example the map component uses it to compose a new google maps url by adding all component properties such as latitude, longitude and zoom etc.
  • properties - A collection of inputs and corespponding configuration for each, to allow the Component to be edited.

A complete Component definition with all possible keys

Vvveb.Components.extend("_base", "html/image", {
	name: "Image",
	image: "icons/image.svg",
	html: '<img src="../libs/builder/icons/image.svg" height="128" width="128">',
	nodes: ["img"],
	classes: ["btn", "btn-link"],
	attributes: ["data-component-maps"],
	afterDrop: function (node) {},
	init: function (node) {},
	beforeInit: function (node) {},
	onChange: function (node, property, value) {},
	properties: [{
		name: "Id",
		key: "id",
		htmlAttr: "id",
		inputtype: TextInput
    }
});   

Component properties

Component properties are used to define the inputs that are used to edit the component.

properties: [{
        name: "Id",
        key: "id",
        htmlAttr: "id",
        inputtype: TextInput
    }, {
        name: "Class",
        key: "class",
        htmlAttr: "class",
        inputtype: TextInput
    }]

A property can have the following keys

  • name - Used as label for the input.
  • key - Unique identifier for the input, this is pased on component onChange event second parameter property.
  • inputtype - The input type used for the property, any Input object such as TextInput, SelectInput, ToggleInput, ColorInput etc from inputs.js can be used.
  • htmlAttr - If htmlAttr is specified then the value is used to edit the coresponding html attribute, the input is filled automatically with the initial value of the attribute and updated automatically when the input is changed, no need to use onChange event, for example htmlAttr: "id",
    • style - If htmlAttr is set to style then the property key is used as the css property to be edited, in the example below background-color css property is edited directly using ColorInput that will display a color picker.
    • class - If htmlAttr is set to class and the property has validValues key then all classed that are contained in validValues array are removed before adding the new value, this can be usefull when having a select input to choose a unique class from a set. For example in the example below bootstrap container component uses validValues to allow either container or container-fluid class to be added from a select.
properties: [
{
	name: "Background Color",
	key: "background-color",
	htmlAttr: "style",
	inputtype: ColorInput,
},
{
	name: "Type",
	key: "type",
	htmlAttr: "class",
	inputtype: SelectInput,
	validValues: ["container", "container-fluid"],
	data: {
		options: [{
			value: "container",
			text: "Default"
		}, {
			value: "container-fluid",
			text: "Fluid"
		}]
	}        name: "Class",
	key: "class",
	htmlAttr: "class",
	inputtype: TextInput
}]
  • onChange - function(node, value) This event is triggered when the input is changed (this can depend on Input definition, check inputs.js) you can use this when htmlAttr or style is not enough.
  • init - function(node) This function is called when the input is initialized, this can be used for example to load the input with a different value than default. For example when editing width css property and using a NumberInput you need to use init to remove the px from "100px" to set the value for NumberInput correctly.
{
	name: "Width",
	key: "width",
	htmlAttr: "style",
	parent:"",
	inputtype: NumberInput,//can also be replaced with RangeInput
	data: {
		value: "320",//default
		min: "50",
		max: "1024",
		step: "10"
	},
	init: function (node)//use init because number input does not ignore "px"
	{
		return parseInt($(node).css("width"));//remove px
	}
}
  • data - Some Inputs need aditional data, for example ToggleInput needs values for on and off states, or SelectInput needs data:{options: [{}]} for values For example using toggle to set disabled to true or false for a bootstrap button
//ToggleInput
{
	name: "Disabled",
	key: "disabled",
	htmlAttr: "disabled",
	inputtype: ToggleInput,
	data: {
		on: "disabled-true",
		off: "disabled-false"
	}
}
//SelectInput
{
        name: "Size",
        key: "size",
        htmlAttr: "class",
        inputtype: SelectInput,
        validValues: ["btn-lg", "btn-sm"],
        data: {
            options: [{
                value: "",
                text: "Default"
            }, {
                value: "btn-lg",
                text: "Large"
            }, {
                value: "btn-sm",
                text: "Small"
            }]
        }
    }
  • child - Sometimes you need to edit a node that is inside the parent node, for this you can use child property the value must be the css selector for the child element. For example bootstrap progress bar component has two divs, one for background and one for the progress to use a input to change the progress div instead of the background div, child is set as child:".progress-bar".
{
	name: "Animated",
	key: "animated",
	child:".progress-bar",
	htmlAttr: "class",
	validValues: ["", "progress-bar-animated"],
	inputtype: ToggleInput,
	data: {
		on: "progress-bar-animated",
		off: "",
	}
}	
  • parent - Same as child but used to edit parent elements, when only parent is set with no selector then the parentNode is used, if a css selector is used then the selector is used to find parent node (this uses jQuery.parents())

Component group

For a component to be visible in the left panel and to be used for drag and drop it needs to be added to a component group, you can do this by including it in the Vvveb.ComponentsGroup array using the group name as a key.

For example Widgets component group has the following definition.

Vvveb.ComponentsGroup['Widgets'] = ["widgets/googlemaps", "widgets/video"];
]]>
VvvebJs inputs (legacy) https://dev.vvveb.com/vvvebjs-inputs Mon, 28 Sep 2026 17:24:02 +0000 Overview

Inputs objects are used to edit component properties

For example TextInput extends Input object and is defined as

var TextInput = $.extend({}, Input, {

    events: {
        "keyup": ['onChange', 'input'],
	 },

	setValue: function(value) {
		$('input', this.element).val(value);
	},
	
	init: function(data) {
		return this.render("textinput", data);
	},
  }
);

Inputs also require a template that is defined as a