$flags * @return array * * @see https://www.php.net/manual/en/function.rsort.php */ public static function rsort($array, $flags = SORT_REGULAR) { } /** * Sort an array in ascending order and maintain index association. * * @param array $array * @param int-mask-of $flags * @return array * @see https://www.php.net/manual/en/function.asort.php */ public static function asort($array, $flags = SORT_REGULAR) { } /** * Sort an array in descending order and maintain index association. * * @param array $array * @param int-mask-of $flags * @return array * @see https://www.php.net/manual/en/function.arsort.php */ public static function arsort($array, $flags = SORT_REGULAR) { } /** * Sort an array by key in ascending order. * * @param array $array * @param int-mask-of $flags * @return array * @see https://www.php.net/manual/en/function.ksort.php */ public static function ksort($array, $flags = SORT_REGULAR) { } /** * Sort an array by key in descending order. * * @param array $array * @param int-mask-of $flags * @return array * @see https://www.php.net/manual/en/function.krsort.php */ public static function krsort($array, $flags = SORT_REGULAR) { } /** * Sort an array using a "natural order" algorithm. * * @param array $array * @return array * @see https://www.php.net/manual/en/function.natsort.php */ public static function natsort($array) { } /** * Sort an array using a case insensitive "natural order" algorithm. * * @param array $array * @return array * @see https://www.php.net/manual/en/function.natcasesort.php */ public static function natcasesort($array) { } /** * Sort an array by values using a user-defined comparison function. * * @param array $array * @return array * @see https://www.php.net/manual/en/function.usort.php */ public static function usort($array, callable $callback) { } /** * Sort an array with a user-defined comparison * function and maintain index association. * * @param array $array * @return array * @see https://www.php.net/manual/en/function.uasort.php */ public static function uasort($array, callable $callback) { } /** * Sort an array by keys using a user-defined comparison function. * * @param array $array * @return array * @see https://www.php.net/manual/en/function.uksort.php */ public static function uksort($array, callable $callback) { } /** * Recursively sort an array by keys and values. * * @param array $array * @param int $options * @param bool $desc * @return array */ public static function sortRecursive($array, $options = SORT_REGULAR, $desc = false) { } /** * Recursively sort an array by keys and values in Descending order. * * @param array $array * @param int $options * @param bool $desc * @return array */ public static function sortRecursiveDesc($array, $options = SORT_REGULAR, $desc = false) { } /** * Conditionally compile classes from an array into a CSS class list. * * @param array $array * @return string */ public static function toCssClasses($array) { } /** * Transforms an array to \stdClass * @param array $array * @return \stdClass */ public static function toObject($array) { } /** * Filter the array using the given callback. * * @param array $array * @param callable $callback * @return array */ public static function where($array, callable $callback) { } /** * Filter items where the value is not null. * * @param array $array * @return array */ public static function whereNotNull($array) { } /** * Filter items where the value is not null. * * @param array $array * @return array */ public static function whereNotTrue($array, $strict = false) { } /** * If the given value is not an array and not null, wrap it in one. * * @param mixed $value * @return array */ public static function wrap($value) { } /** * Maps a function to all non-iterable elements of an array or an object. * * This is similar to `array_walk_recursive()` but acts upon objects too. * * @param mixed $value The array, object, or scalar. * @param callable $callback The function to map onto $value. * @see https://developer.wordpress.org/reference/functions/map_deep/ * * @return mixed The value with the callback applied to all non-arrays and non-objects inside it. */ public static function map($value, $callback) { } /** * Check if the value(s) exist in an array using "dot" notation. * * @param array $array * @param string|array $values * @return bool */ public static function contains(array $array, $values) { } /** * Check if the any value exist in an array using "dot" notation. * * @param array $array * @param string|array $values * @return bool */ public static function containsAny(array $array, $values) { } /** * Compare two nested arrays side by side * @param array $array1 * @param array $array2 * @param array $path * @return array */ public static function compare($array1, $array2, $path = []) { } /** * Merge the items from the first array into the * second array if the second array is missing it. * * @param array &$array1 * @param array &$array2 * @return array */ public static function mergeMissing(&$array1, &$array2) { } /** * Recursively merge the given array with defaults. * Overwrite $array with $defaults if only $array * contains null or empty values or doesn't exist. * * @param array $array * @param array $defaults * @return array */ public static function mergeMissingValues(array $array, array $defaults) { } /** * Return matching items from array (similar to mysql's %LIKE%) * * @param string $pattern (plain string or regex) * @param array $array * @return array|false */ public static function like($array, $pattern) { } /** * Return non-matching items from array (similar to mysql's NOT %LIKE%) * * @param string $pattern (plain string or regex) * @param array $array * @return array|false */ public static function notLike($array, $pattern) { } /** * Return matching starting of items from array (similar to mysql's %LIKE) * * @param string $pattern (plain string or regex) * @param array $array * @return array|false */ public static function startsLike($array, $pattern) { } /** * Return non-matching starting of items from array (similar to mysql's NOT %LIKE) * * @param string $pattern (plain string or regex) * @param array $array * @return array|false */ public static function DoesNotStartLike($array, $pattern) { } /** * Return matching ending of items from array (similar to mysql's LIKE%) * * @param string $pattern (plain string or regex) * @param array $array * @return array|false */ public static function endsLike($array, $pattern) { } /** * Return non-matching ending of items from array (similar to mysql's NOT LIKE%) * * @param string $pattern (plain string or regex) * @param array $array * @return array|false */ public static function DoesNotEndLike($array, $pattern) { } /** * Return matching items from array by keys * * @param string $pattern (plain string or regex) * @param array $array * @return array|false */ public static function keysLike($array, $pattern) { } /** * Return non-matching items from array by keys * * @param string $pattern (plain string or regex) * @param array $array * @return array|false */ public static function keysNotLike($array, $pattern) { } /** * Return matching starting of items from array by keys * * @param string $pattern (plain string or regex) * @param array $array * @return array|false */ public static function keysStartLike($array, $pattern) { } /** * Return non-matching starting of items from array by keys * * @param string $pattern (plain string or regex) * @param array $array * @return array|false */ public static function keysDoesNotStartLike($array, $pattern) { } /** * Return matching ending of items from array by keys * * @param string $pattern (plain string or regex) * @param array $array * @return array|false */ public static function keysEndLike($array, $pattern) { } /** * Return non-matching ending of items from array by keys * * @param string $pattern (plain string or regex) * @param array $array * @return array|false */ public static function keysDoesNotEndLike($array, $pattern) { } /** * Insert a new item in the array at the given position. * * @param array $array * @param int $pos * @param mixed $newItem * @return array */ public static function insertAt($array, $pos, $newItem) { } /** * Inserts an item before the specified key in the given array. If the * key is not found, inserts the item at the beginning of the array. * * @param array $array * @param mixed $key * @param mixed $newKey * @param mixed $newValue * @return array $newArray */ public static function insertBefore($array, $key, $newKey, $newValue) { } /** * Inserts an item after the specified key in the given array. If the * key is not found, inserts the item at the end of the array. * * @param array $array * @param mixed $key * @param mixed $newKey * @param mixed $newValue * @return array $newArray */ public static function insertAfter($array, $key, $newKey, $newValue) { } /** * Tests whether at least one element in the array passes * the test implemented by the provided callback. * * @param array $array * @param callable $callback * @return bool */ public static function some($array, callable $callback) { } /** * Tests whether all elements in the array pass the * test implemented by the provided callback. * * @param array $array * @param callable $callback * @return bool */ public static function every($array, callable $callback) { } /** * Finds the first element in the array that satisfies the * condition implemented by the callback function. * * @param array $array * @param callable $callback * @return mixed */ public static function find($array, callable $callback, $findKey = false) { } /** * Finds the first key in the array that satisfies the * condition implemented by the callback function. * * @param array $array * @param callable $callback * @return mixed */ public static function findKey($array, callable $callback) { } /** * Find similar words in an array. * * @param string $needle * @param array $haystack * @param integer $accuracy * @return string|null */ public static function findSimilar($needle, array $haystack, $accuracy = 60) { } /** * Pass the items through a series of callbacks. * * @param array $items * @param array $callbacks * @param integer $mode * @return array */ public static function passThrough(array $items, array $callbacks, $mode = 0) { } } } namespace FluentForm\Framework\Helpers { class ArrayHelper extends \FluentForm\Framework\Support\Arr { /** * Return the default value of the given value. * * @param mixed $value * @return mixed */ public static function value($value) { } public static function isTrue($array, $key) { } } } namespace FluentForm\Database\Migrations { class Submissions { /** * Migrate the table. * * @return void */ public static function migrate($force = false) { } /** * Add indexes to existing tables for better query performance. * * @return void */ private static function maybeAddIndexes() { } } } namespace FluentForm\App\Databases\Migrations { /** * @deprecated since 6.2.0. Use FluentForm\Database\Migrations\Submissions instead. * @todo Remove in 7.0 */ class FormSubmissions extends \FluentForm\Database\Migrations\Submissions { public function __construct() { } } } namespace FluentForm\Framework\Validator\Contracts { interface File { /** * Returns whether the file was uploaded successfully. * * @return bool */ public function isValid(); /** * Gets the path without filename * * @return string */ public function getPath(); /** * Take an educated guess of the file's extension. * * @return mixed|null */ public function guessExtension(); /** * Returns the original file extension. * * @return string */ public function getClientOriginalExtension(); } } namespace FluentForm\Framework\Http\Request { class File extends \SplFileInfo implements \FluentForm\Framework\Validator\Contracts\File, \JsonSerializable, \ArrayAccess { /** * Original file name. * * @var string $originalName */ private $originalName; /** * Mime type of the file. * * @var string $mimeType */ private $mimeType; /** * File size in bytes. * * @var int|null $size */ private $size; /** * File upload error. * * @var int $error */ private $error; /** * HTTP File instantiator. * * @param $path * @param $originalName * @param null $mimeType * @param null $size * @param null $error */ public function __construct($path, $originalName, $mimeType = null, $size = null, $error = null) { } /** * Init the file object with size and error. * * @param string $path * @param int|null $size * @param string|null $error * @return void */ protected function init($path, $size, $error) { } /** * @taken from \Symfony\Component\HttpFoundation\File\File * * Returns locale independent base name of the given path. * * @param string $name The new file name * * @return string containing */ public function getName($name) { } public function getFileMimeType($mimeType) { } /** * Get the file upload error. * * @return int */ public function getError() { } /** * Returns whether the file was uploaded successfully. * * @return bool True if the file has been uploaded with HTTP and no error occurred */ public function isValid() { } /** * Returns the original file name. * * @return string The Name Of the file */ public function getClientOriginalName() { } /** * Returns the original file extension. * * It is extracted from the original file name that was uploaded. * Then it should not be considered as a safe value. * * @return string The extension */ public function getClientOriginalExtension() { } /** * Take an educated guess of the file's extension. * * @return mixed|null */ public function guessExtension() { } /** * Take an educated guess of the file's mime type. * * @return string */ public function getMimeType() { } /** * Take an educated guess of the file's mime type and ext * based on the WordsPress' get_allowed_mime_types. * * @return array * @see https://developer.wordpress.org/reference/functions/get_allowed_mime_types * @see https://developer.wordpress.org/reference/functions/wp_get_mime_types */ public function getMimeTypeAndExtension() { } /** * Get the file name. * * @return string */ public function getSavedFileName() { } /** * Get the url from path. * * @return string */ public function getUrl() { } /** * Returns the contents of the file. * * @return string the contents of the file * * @throws RuntimeException */ public function getContents() { } /** * Move the file to a new location. * * @param string $directory Target Path * @param string $name Target file name (optional) * @return self * @throws RuntimeException */ public function move($directory, $name = null) { } /** * Save the uploaded file. * * @param string $path * @return self (File Object) * @throws RuntimeException */ public function save($path = null) { } /** * Save the uploaded file with a given name. * * @param string $name * @param string $path * @return self (File Object) * @throws RuntimeException */ public function saveAs($name, $path = null) { } /** * Check that the given path exists. * * @param string $path * @return string * @throws RuntimeException */ protected function resolveTargetPath($path) { } /** * Check if given path is absolute. * * @param string $path * @return boolean */ function isAbsolutePath($path) { } /** * Get the URL from the file path. * * @param string $path * @return string */ public function url($path = '') { } /** * Get the target file name to move (full path). * * @param string $directory Target Path * @param string $name Target file name (optional) * @return string * @throws RuntimeException */ protected function getTargetFile($directory, $name = null) { } /** * Resolves the absolute path for saving. * * @param string $dir * @param string $name * @return string */ protected function makeTargetPath($dir, $name) { } /** * Resolves the file name for saving. * * @param string|null $name * @return string */ protected function resolveFileName($name = null) { } /** * Retrieve the extension of the uploaded file. * * @return string */ public function extension() { } /** * Get the temporary file path. * * @return string */ public function path() { } /** * Check if the given filename has an extension. * * @param string $filename * @return boolean */ protected function hasExtension($filename) { } /** * Get original HTTP file array * * @return array */ public function toArray() { } /** * JsonSerialize implementation * @return array */ #[\ReturnTypeWillChange] public function jsonSerialize() { } /* ArrayAccess methods */ /** * Check if the property exists. * @param string $offset * @return bool */ #[\ReturnTypeWillChange] public function offsetExists($offset) { } /** * Get the property. * * @param string $offset * @return string */ #[\ReturnTypeWillChange] public function offsetGet($offset) { } #[\ReturnTypeWillChange] public function offsetSet($offset, $value) { } #[\ReturnTypeWillChange] public function offsetUnset($offset) { } } } namespace FluentForm\Framework\Request { class File extends \FluentForm\Framework\Http\Request\File { // } } namespace FluentForm\Framework\Http\Request { trait InteractsWithCleaningTrait { /** * Clean up the request data. * * @param array $data * @return array */ public function clean($data) { } /** * Clean the data in the given array. * * @param array $data * @return array */ protected function cleanArray(array $data) { } /** * Clean the given value. * * @param mixed $value * @return mixed */ protected function cleanValue($value) { } /** * Transform the given value. * * @param mixed $value * @return mixed */ protected function transform($value) { } } trait InteractsWithHeadersTrait { /** * Retrieve an item from the PHP headers * @param string $key * @param string $default * @return mixed */ public function header($key = null, $default = null) { } /** * Sets the headers for the request. * * Note: Taken from Symfony and modified. */ public function setHeaders() { } /** * Set a header on the request. * * @param string $key * @param string $value */ public function setHeader($key, $value) { } } trait InputHelperMethodsTrait { /** * Get an item from the request filtering by the callback(s). * * @param string|array|null $key * @param callable|array|string|null $callback * @param mixed $default * @return mixed */ public function getSafe($key, $callback = null, $default = null) { } protected function sanitizeByType($value) { } /** * Pick only the given keys from data. * * @param array $keys * @param array $allData * @return array */ public function pickKeys($keys, $allData, $default = null) { } /** * Returns a sanitized integer. * * @param string $key * @param string $default * @return int */ public function getInt($key, $default = null) { } /** * Retrieve input as a float value. * * @param string|null $key * @param float $default * @return float */ public function getFloat($key, $default = null) { } /** * Returns a sanitized string. * * @param string $key * @param string $default * @return string */ public function getText($key, $default = null) { } /** * Returns a string as title. * * @param string $key * @param string $default * @return string */ public function getTitle($key, $default = null) { } /** * Returns sanitized email. * * @param string $key * @param string $default * @return string */ public function getEmail($key, $default = null) { } /** * Returns boolean value. * * @param string $key * @param string $default * @return bool|null TRUE for "1", "true", "on", "yes"; FALSE for "0", "false", "off", "no"; NULL otherwise */ public function getBool($key, $default = null) { } /** * Returns a DateTime object. * * @param string $key * @param string|null $format * @param string|null $tz * @return \FluentForm\Framework\Support\DateTime|null */ public function getDate($key, $format = null, $tz = null) { } } trait InteractsWithFilesTrait { /** * Processed $_FILES array * @var array */ protected $files = []; /** * Prepares HTTP files for Request * * @param array $files * * @return array */ public function prepareFiles($files = []) { } /** * @taken from \Symfony\Component\HttpFoundation\FileBag * * Converts uploaded files to UploadedFile instances. * * @param array|File $file A (multi-dimensional) array of uploaded file information * * @return File[]|File|null A (multi-dimensional) array of File instances */ protected function convertFileInformation($file) { } /** * @taken from \Symfony\Component\HttpFoundation\FileBag * * Fixes a malformed PHP $_FILES array. * * PHP has a bug that the format of the $_FILES array differs, depending on * whether the uploaded file fields had normal field names or array-like * field names ("normal" vs. "parent[child]"). * * This method fixes the array to look like the "normal" $_FILES array. * * It's safe to pass an already converted array, in which case this method * just returns the original array unmodified. * * @return array */ protected function fixPhpFilesArray($data) { } /** * Retrieve a file from the request. * * @param string|null $key * @param mixed $default * @return \FluentForm\Framework\Http\Request\File|array|null */ public function file($key = null, $default = null) { } /** * Get the files array from the request. * * @return array */ public function files($key = null) { } /** * Get the files as collection from the request. * * @return array */ public function fileCollection($key = null) { } /** * Add a save method on the runtime. * * @param Collection &$files * @return void */ protected function addSaveMethod(\FluentForm\Framework\Support\Collection &$files) { } /** * Determine if the request contains a valid uploaded file for the given key. * * @param string $key * @return bool */ public function hasFile($key) { } /** * Alias for hasFile(). * * @param string $key * @return bool */ public function isValidFile($key) { } } /** * Trait InteractsWithIPTrait * * Resolves the real client IP address securely. * * SECURITY: * - By default, NO proxies are trusted. * - Forwarded headers are only trusted if REMOTE_ADDR belongs to a trusted proxy. * - Safe for normal hosting, Cloudflare (configured), and explicit proxy setups. * * EXTENSIBILITY: * - Developers can add trusted proxies using the 'trusted_proxies' filter. */ trait InteractsWithIPTrait { /** * Cached resolved IP for the current request. * * Instance property (not static) so each Request instance gets its own * cache. This is equivalent in production (one instance per HTTP request) * but avoids cross-request contamination in tests where multiple dispatches * share the same PHP process. * * @var string|null */ protected $resolvedIp = null; /** * Get client IP. * * @param bool $anonymize Return anonymized IP if true. * @return string */ public function getIp($anonymize = false) { } /** * Resolve the real client IP. * * @return string */ protected function resolveIp() { } /** * Determine if REMOTE_ADDR belongs to a trusted proxy. * * @param string $ip * @return bool */ protected function isTrustedProxy($ip) { } /** * Get an array of trusted proxy CIDR ranges. * * Reads from config/trustedproxy.php (proxies key) by default. * Can be overridden or extended using the filter: * add_filter('trusted_proxies', fn($proxies) => [...$proxies, '10.0.0.1']); * * @return array */ protected function getTrustedProxies() { } /** * Validate IPv4 or IPv6 address. * * @param string $ip * @return bool */ protected function isValidIp($ip) { } /** * Sanitize server values (WordPress compatible). * * @param string $value * @return string */ protected function sanitize($value) { } /** * Check if an IPv4 address is within a CIDR range. * * @param string $ip IP address to check (e.g., "173.245.50.10") * @param string $cidr CIDR range (e.g., "173.245.48.0/20") * @return bool True if IP is inside the range, false otherwise */ protected function ipInRange($ip, $cidr) { } } class Request { use \FluentForm\Framework\Http\Request\InteractsWithCleaningTrait, \FluentForm\Framework\Http\Request\InteractsWithHeadersTrait, \FluentForm\Framework\Http\Request\InputHelperMethodsTrait, \FluentForm\Framework\Http\Request\InteractsWithFilesTrait, \FluentForm\Framework\Http\Request\InteractsWithIPTrait, \FluentForm\Framework\Support\MacroableTrait { __call as macroCall; } /** * The application instance * @var \FluentForm\Framework\Foundation\Application */ protected $app = null; /** * Validator instance. * * @var \FluentForm\Framework\Validator\Validator */ protected $validator = null; /** * PHP header variables * @var array */ protected $headers = []; /** * PHP server variables * @var array */ protected $server = []; /** * PHP cookie variables * @var array */ protected $cookie = []; /** * The content of the request * @var mixed */ protected $content = null; /** * The JSON payload of the request * @var array */ protected $json = []; /** * PHP $_GET Superglobal * @var array */ protected $get = []; /** * PHP $_POST Superglobal * @var array */ protected $post = []; /** * PHP $_GET and $_POST Superglobals * @var array */ protected $request = []; /** * WP_REST_Request instance * @var \WP_REST_Request */ protected $wpRestRequest = false; /** * Validated data after validation has been passed * @var array */ protected $validated = []; /** * $safe Determines the input source when data retrieval methods get called. * If true, the data will be returned from the $validated array. * If false, the data will be returned from the $request array. * * @var boolean */ protected $safe = false; /** * Construct the request instance * @param \FluentForm\Framework\Foundation\Application $app * @param $_GET $get * @param $_POST $post */ public function __construct(\FluentForm\Framework\Foundation\Application $app, $get, $post) { } /** * Variable exists * @param string $key * @return bool */ public function exists($key) { } /** * Variable exists and has truthy value * @param string $key * @return bool */ public function has($key) { } /** * Any variable exists and has truthy value * @param array|string $keys * @return bool */ public function hasAny($keys) { } /** * Calls a callback if has value, otherwise * calls another/second callback if given. * * @param string $key * @param \Closure $has * @param \Closure|null $hasnot * @return mixed */ public function whenHas($key, \Closure $has, ?\Closure $hasnot = null) { } /** * Checks if a key is missing in the request. * * @param string $key * @return bool */ public function missing($key) { } /** * Calls the given callback if the provided key is missing. * * @param string $key * @param \Closure $callback * @return mixed */ public function whenMissing($key, \Closure $callback) { } /** * Set an item into the request inputs * @param string $key * @param mixed $value * @return self */ public function set($key, $value) { } /** * Retrive all the items from the request inputs * @return array */ public function all() { } /** * Retrieve an item from the request inputs * @param string|null $key * @param mixed $default * @return mixed */ public function get($key = null, $default = null) { } /** * Check the content-type for JSON * * @return boolean */ public function isJson() { } /** * Check if current request wants JSON response. * * @return boolean */ public function wantsJson() { } /** * Check if current request is a Rest request * * @return boolean */ public function isRest() { } /** * Determine if the request is initiated by WordPress. * * @return boolean */ public function isInternal() { } /** * Retrieve an item from the json payload of the request. * * @param string $key * @param string $default * @return mixed */ public function json($key = null, $default = null) { } /** * Retrieve an item from the PHP $_SERVER array * @param string $key * @param string $default * @return mixed */ public function server($key = null, $default = null) { } /** * Retrieve an item from the cookie jar. * * Returns the raw cookie value, with one exception: if the value is a * valid strict-base64 string AND the decoded bytes parse as JSON, the * decoded value is returned instead. This keeps backwards compatibility * with callers that stored base64(json(...)) payloads, while normal * cookies (utm_*, UUIDs, hex hashes, JWTs, plain strings) pass through * unchanged because they fail one of the two gates. * * @param string|null $key Cookie name, or null for the full array * @param mixed $default Returned when $key is set but absent * @return mixed */ public function cookie($key = null, $default = null) { } /** * Get an item from the PHP $_GET array * @param string $key * @param mixed $default * @return mixed */ public function query($key = null, $default = null) { } /** * Get an item from the PHP $_POST array * @param string $key * @param mixed $default * @return mixed */ public function post($key = null, $default = null) { } /** * Return the only items given in the args * @param array $keys * @return array */ public function only($keys) { } /** * Return a subset of the request inputs except the given keys * @param array $keys * @return array */ public function except($keys) { } /** * Merge array with the request inputs * @param array $data * @return self */ public function merge(array $data = []) { } /** * Merge array with the request inputs if the * key(s) is missing from the request. * * @param array $data * @return self */ public function mergeIfMissing(array $data = []) { } /** * Merge new input into the request's input, but only when * that key is present in the request but value is missing. * * @param array $input * @return $this */ public function mergeMissing(array $input) { } /** * Returns the request body content. * * @return mixed */ public function getContent() { } /** * Merges the input arrays from the WP_REST_Request. * * @param \WP_REST_Request $wpRestRequest * @return void */ public function mergeInputsFromRestRequest($wpRestRequest) { } /** * Merge the headers from the WP_REST_Request. * * @param \WP_REST_Request $wpRestRequest * @return void */ protected function mergerHeaders($wpRestRequest) { } /** * Retrieve an input item from the request. * * @param string|null $key * @param mixed $default * @return mixed */ public function input($key = null, $default = null) { } /** * Remove a key(s) from the $request array * @param mixed $key * @return self */ public function forget($key) { } /** * Get all inputs * * @return array */ protected function inputs() { } /** * To get item(s) from validated inputs * * @return self */ public function safe() { } /** * Get the request method. * * @return string */ public function method() { } /** * Get the URL (no query string) for the request. * * @return string */ public function url() { } /** * Get the full URL for the request. * * @return string */ public function getFullUrl() { } /** * Validate the request. * * @param array $rules * @param array $messages * @return mixed * @throws \FluentForm\Framework\Validator\ValidationException */ public function validate(array $rules, array $messages = []) { } /** * Get the validator instance. * * @return \FluentForm\Framework\Validator\Validator */ public function getValidator() { } /** * Get the valid data after validation has been passed. * * @return array */ public function validated($data = []) { } /** * Abort the request. * * @param integer $status * @param string $message * @return \WP_REST_Response */ public function abort($status = 403, $message = null) { } /** * Terminate the request. * * @param integer $status * @param string $message * @return \WP_REST_Response */ public function terminate($status = 200, $message = null) { } /** * Throw a validation exception if status is validation exception. * @param mixed $status * @return void * @throws \FluentForm\Framework\Validator\ValidationException */ protected function maybeThrowValidationException($status) { } /** * Get an input element from the request. * * @param string $key * @return mixed */ public function __get($key) { } /** * Retrieves the currently logged in user. * * @return \FluentForm\Framework\Http\Request\WPUserProxy */ public function user() { } /** * Dynamyc method calls (specially for WP_rest_request) * @param string $method * @param array $params * @return mixed */ public function __call($method, $params = []) { } } } namespace FluentForm\Framework\Request { class Request extends \FluentForm\Framework\Http\Request\Request { // } } namespace FluentForm\Database\Migrations { class SubmissionDetails { /** * Migrate the table. * * @return void */ public static function migrate() { } } } namespace FluentForm\App\Databases\Migrations { /** * @deprecated since 6.2.0. Use FluentForm\Database\Migrations\SubmissionDetails instead. * @todo Remove in 7.0 */ class SubmissionDetails extends \FluentForm\Database\Migrations\SubmissionDetails { public function __construct() { } } } namespace FluentForm\App { class ComposerScript { public static function postInstall(\Composer\Script\Event $event) { } public static function postUpdate(\Composer\Script\Event $event) { } } } namespace FluentForm\App\Helpers\Traits { trait GlobalDefaultMessages { private static $globalDefaultMessages = []; public static function getGlobalDefaultMessage($key) { } public static function getAllGlobalDefaultMessages() { } private static function setGlobalDefaultMessages() { } public static function globalDefaultMessageSettingFields() { } } } namespace FluentForm\App\Helpers { class Helper { use \FluentForm\App\Helpers\Traits\GlobalDefaultMessages; public static $tabIndex = 0; public static $formInstance = 0; public static $loadedForms = []; public static $tabIndexStatus = 'na'; protected static $formMetaCache = []; /** * Sanitize form inputs recursively. * * @param $input * * @return string $input */ public static function sanitizer($input, $attribute = null, $fields = []) { } public static function isOptionGroup($option) { } public static function sanitizeAdvancedOptions($options, $depth = 0) { } public static function flattenAdvancedOptions($options) { } public static function advancedOptionsValueLabelMap($options) { } public static function makeMenuUrl($page = 'fluent_forms_settings', $component = null) { } public static function getHtmlElementClass($value1, $value2, $class = 'active', $default = '') { } /** * Determines if the given string is a valid json. * * @param $string * * @return bool */ public static function isJson($string) { } public static function isSlackEnabled() { } public static function getEntryStatuses($form_id = false) { } public static function getReportableInputs() { } public static function getSubFieldReportableInputs() { } public static function getFormMeta($formId, $metaKey, $default = '', $forced = false) { } public static function setFormMeta($formId, $metaKey, $value) { } public static function deleteFormMeta($formId, $metaKey) { } /** * Resolve an entry's column => value map regardless of whether the entry is * a stdClass DB row (columns are real properties) or a WPFluent Model * (columns live in an internal attribute bag reached via __get). * * @param object|array $entry * @return array */ public static function getEntryColumns($entry) { } public static function getSubmissionMeta($submissionId, $metaKey, $default = false) { } public static function setSubmissionMeta($submissionId, $metaKey, $value, $formId = false) { } public static function setSubmissionMetaAsArrayPush($submissionId, $metaKey, $value, $formId = false) { } public static function isEntryAutoDeleteEnabled($formId) { } public static function formExtraCssClass($form) { } public static function getNextTabIndex($increment = 1) { } public static function getFormInstaceClass($formId) { } public static function resetTabIndex() { } public static function isFluentAdminPage() { } public static function getShortCodeIds($content, $tag = 'fluentform', $selector = 'id') { } public static function getFormsIdsFromBlocks($content) { } public static function isTabIndexEnabled() { } public static function isMultiStepForm($formOrId) { } public static function hasFormElement($formId, $elementName) { } public static function isUniqueValidation($validation, $field, $formData, $fields, $form) { } public static function hasPartialEntries($formId) { } public static function getNumericFormatters() { } public static function getNumericValue($input, $formatterName) { } public static function getNumericFormatted($input, $formatterName) { } public static function getDuplicateFieldNames($fields) { } public static function getRankingFieldsWithDuplicateOptionValues($fields) { } protected static function getFieldNamesStatuses($fields) { } protected static function collectRankingFieldsWithDuplicateOptionValues($fields) { } public static function isConversionForm($formId) { } public static function getPreviewUrl($formId, $type = '') { } public static function getFormAdminPermalink($route, $form) { } public static function getFormSettingsUrl($form) { } private static function getConversionUrl($formId) { } public static function fileUploadLocations() { } public static function unreadCount($formId) { } public static function getForms() { } public static function replaceBrTag($content, $with = '') { } public static function hasBrTag($content) { } public static function sanitizeForCSV($content) { } public static function sanitizeOrderValue($orderType = '') { } public static function getForm($id) { } public static function shouldHidePassword($formId) { } // make tabular-grid value markdown format public static function getTabularGridFormatValue($girdData, $field, $rowJoiner = '
', $colJoiner = ', ', $type = '') { } public static function getInputNameFromShortCode($value) { } public static function getRestInfo() { } public static function getLogInitiator($action, $type = 'log') { } public static function getIpinfo() { } public static function isAutoloadCaptchaEnabled() { } public static function isAutosaveEnabled() { } public static function maybeDecryptUrl($url) { } public static function arrayFilterRecursive($arrayItems) { } public static function isBlockEditor() { } public static function resolveValidationRulesGlobalOption(&$field) { } /** * Validate form input value against database values * * @param $field array Form Field * @param $formData array From Data * @param $form object From * @param $fieldName string optional * @param $inputValue mixed optional * * @return string * Return Error message on fail. Otherwise, return empty string */ public static function validateInput($field, $formData, $form, $fieldName = '', $inputValue = []) { } public static function getWhiteListedFields($formId) { } /** * Shortcode parse on validation message * @param string $message * @param object $form * @param string $fieldName * @return string */ public static function shortCodeParseOnValidationMessage($message, $form, $fieldName) { } public static function getAjaxUrl() { } public static function getDefaultDateTimeFormatForMoment() { } public static function isDefaultWPDateEnabled() { } public static function isPaymentCompatible() { } /** * Determine pro payment script is compatible or not * Script is compatible if pro version meets the minimum required version * * @return bool */ public static function isProPaymentScriptCompatible() { } public static function hasPro() { } public static function getLandingPageEnabledForms() { } public static function sanitizeArrayKeysAndValues($values) { } public static function getFrontendFacingUrl($args = '') { } public static function getCountryCodeFromHeaders() { } /** * Fixes PHP Object Injection Vulnerability * @param $data * @return mixed */ public static function safeUnserialize($data) { } /** * If elementor editor is open * @return bool */ public static function isElementorEditor() { } /** * Check if we're in block editor context (Site Editor, Template Editor, or Post/Page Editor) * Covers all Gutenberg block editor contexts including mobile/tablet preview iframes * @return bool */ public static function isSiteEditor() { } } class IntegrationManagerHelper { protected $settingsKey; protected $formId; protected $isMultiple; protected $integrationService; public function __construct($settingsKey = '', $form_id = false, $isMultiple = false) { } public function get($settingsId) { } public function save($settings) { } public function update($settingsId, $settings) { } public function delete($settingsId) { } public function getAll() { } protected function logResponse($response, $feed, $data, $form, $entryId, $status) { } protected function getApiResponseMessage($response, $status) { } public function getFormattedValue($setting) { } public static function isIntegrationEnabled($key) { } } class Protector { /** * Get the salt for the encryption and decryption. */ public static function getSalt() { } /** * Encryp a text using a predefined salt. * * @param string $text * * @return string $text */ public static function encrypt($text) { } /** * Decrypt a text using a predefined salt. * * @param string $text * * @return string $text */ public static function decrypt($text) { } } class Str { /** * Determine if a given string starts with a given substring. * * @param string $haystack * @param string|array $needles * * @return bool */ public static function startsWith($haystack, $needles) { } /** * Determine if a given string ends with a given substring. * * @param string $haystack * @param string|array $needles * * @return bool */ public static function endsWith($haystack, $needles) { } /** * Determine if a given string contains a given substring. * * @param string $haystack * @param string|array $needles * * @return bool */ public static function contains($haystack, $needles) { } /** * Determine if a given string does not contain a given substring. * * @param string $haystack * @param string|array $needles * * @return bool */ public static function doNotContains($haystack, $needles) { } /** * Split string as array of string on given substring. * * @param string $haystack * @param string|array $needles * * @return array */ public static function separateString($haystack, $needles) { } } } namespace FluentForm\App\Hooks\Handlers { class ActivationHandler { public function handle($network_wide = false) { } public function migrate() { } private function setDefaultGlobalSettings() { } private function setCurrentVersion() { } public function maybeMigrateDB() { } public function migrateGlobalAddOns() { } public function maybeMigrateDefaultForms() { } public function setCronSchedule() { } } class DeactivationHandler { public function handle() { } private function disableCronSchedule() { } } class GlobalNotificationHandler { /** * @param \FluentForm\Framework\Foundation\Application $app */ protected $app; /** * @var GlobalNotificationService */ private $globalNotificationService; public function __construct(\FluentForm\Framework\Foundation\Application $app) { } public function globalNotify($insertId, $formData, $form) { } } } namespace FluentForm\Framework\Http { /** * Base controller — exposes the Application, Request, and Response * via protected properties. The `@property` annotations below are * intentional in addition to the protected declarations: they help * PHPStan disambiguate when a subclass declares a method with the * same name as one of these properties (e.g., `function app()`). * * @property \FluentForm\Framework\Foundation\Application $app * @property \FluentForm\Framework\Http\Request\Request $request * @property \FluentForm\Framework\Http\Response\Response $response */ abstract class Controller { /** * Application Instance * @var \FluentForm\Framework\Foundation\Application */ protected $app = null; /** * Request Instane * @var \FluentForm\Framework\Http\Request\Request */ protected $request = null; /** * Response Instane * @var \FluentForm\Framework\Http\Response\Response */ protected $response = null; /** * Validated data after validation has been passed * @var array */ private $__validated = []; /** * Construct the controller instance */ public function __construct($app = null) { } /** * Validate the request data * @param array $data * @param array $rules * @param array $messages * @return array */ public function validate($data, $rules, $messages = []) { } /** * Get the valid data after validation has been passed. * * @return array */ public function validated() { } /** * Send json response * @param array $data * @param integer $code * @return string|false The JSON encoded string, or false if it cannot be encoded. */ public function json($data = [], $code = 200) { } /** * Send json response * @param array $data * @param integer $code * @return \WP_REST_Response */ public function response($data = [], $code = 200) { } /** * Send json response * @param array $data * @param integer $code * @return \WP_REST_Response */ public function send($data = [], $code = 200) { } /** * Send a success json response. * * @param array $data * @return \WP_REST_Response */ public function sendSuccess($data = []) { } /** * Send an error json response * @param array $data * @param integer $code * @return \WP_REST_Response */ public function sendError($data = [], $code = 422) { } /** * Dynamically Access components from container * @param string $key * @return mixed * @throws ReflectionException */ public function __get($key) { } } } namespace FluentForm\App\Http\Controllers { abstract class Controller extends \FluentForm\Framework\Http\Controller { // } class AdminNoticeController extends \FluentForm\App\Http\Controllers\Controller { private $notice = false; private $noticeDisabledTime = 60 * 60 * 24 * 15; // 15 days private $noticePrefKey = '_fluentform_notice_pref'; private $pref = false; public function showNotice() { } public function addNotice($notice) { } public function noticeActions() { } public function renderNotice($notice, $notice_key = false) { } public function hasNotice() { } private function disableNotice($notice_key, $type = 'temp') { } public function getNoticePref() { } public function shouldShowNotice($noticeName) { } private function haveTempHideNotice($noticeName) { } private function hasPermission() { } } class AnalyticsController extends \FluentForm\App\Http\Controllers\Controller { public function reset(\FluentForm\App\Services\Analytics\AnalyticsService $analyticsService, $formId) { } } class FormController extends \FluentForm\App\Http\Controllers\Controller { /** * Get the paginated forms matching search criteria. * * @param \FluentForm\App\Services\Form\FormService $formService * * @return \WP_REST_Response */ public function index(\FluentForm\App\Services\Form\FormService $formService) { } /** * Create a form from backend/editor * * @param \FluentForm\App\Services\Form\FormService $formService * * @return \WP_REST_Response */ public function store(\FluentForm\App\Services\Form\FormService $formService) { } public function duplicate(\FluentForm\App\Services\Form\FormService $formService, $formId) { } public function find(\FluentForm\App\Services\Form\FormService $formService, $formId) { } public function delete(\FluentForm\App\Services\Form\FormService $formService, $formId) { } public function update(\FluentForm\App\Services\Form\FormService $formService, $formId) { } public function convert(\FluentForm\App\Services\Form\FormService $formService, $formId) { } public function templates(\FluentForm\App\Services\Form\FormService $formService) { } public function resources(\FluentForm\App\Services\Form\FormService $formService, $formId) { } public function fields(\FluentForm\App\Services\Form\FormService $formService, $formId) { } public function shortcodes(\FluentForm\App\Services\Form\FormService $formService, $formId) { } public function pages(\FluentForm\App\Services\Form\FormService $formService) { } public function findShortCodePage(\FluentForm\App\Services\Form\FormService $formService, $formId) { } public function formEditHistory(\FluentForm\App\Services\Form\HistoryService $historyService, $formId) { } public function clearEditHistory(\FluentForm\App\Services\Form\HistoryService $historyService, $formId) { } public function ping() { } } class FormIntegrationController extends \FluentForm\App\Http\Controllers\Controller { public function index(\FluentForm\App\Services\Integrations\FormIntegrationService $integrationService, $formId) { } public function find(\FluentForm\App\Services\Integrations\FormIntegrationService $integrationService, $formId) { } public function update(\FluentForm\App\Services\Integrations\FormIntegrationService $integrationService, $formId) { } public function delete(\FluentForm\App\Services\Integrations\FormIntegrationService $integrationService, $formId) { } public function integrationListComponent($formId) { } } class FormSettingsController extends \FluentForm\App\Http\Controllers\Controller { public function index(\FluentForm\App\Services\Settings\SettingsService $settingsService, $formId) { } public function general(\FluentForm\App\Services\Settings\SettingsService $settingsService, $formId) { } public function saveGeneral(\FluentForm\App\Services\Settings\SettingsService $settingsService, $formId) { } public function store(\FluentForm\App\Services\Settings\SettingsService $settingsService, $formId) { } public function remove(\FluentForm\App\Services\Settings\SettingsService $settingsService, $formId) { } public function customizer(\FluentForm\App\Services\Settings\Customizer $customizer, $id) { } public function storeCustomizer(\FluentForm\App\Services\Settings\Customizer $customizer, $id) { } public function storeEntryColumns(\FluentForm\App\Services\Submission\SubmissionService $submissionService, $id) { } public function conversationalDesign(\FluentForm\App\Services\Settings\SettingsService $settingsService, $formId) { } public function storeConversationalDesign(\FluentForm\App\Services\Settings\SettingsService $settingsService, $formId) { } public function getPreset(\FluentForm\App\Services\Settings\SettingsService $settingsService, $formId) { } public function savePreset(\FluentForm\App\Services\Settings\SettingsService $settingsService, $formId) { } } class GlobalIntegrationController extends \FluentForm\App\Http\Controllers\Controller { public function index(\FluentForm\App\Services\Integrations\GlobalIntegrationService $globalIntegrationService) { } public function updateIntegration() { } public function updateModuleStatus(\FluentForm\App\Services\Integrations\GlobalIntegrationService $globalIntegrationService) { } } class GlobalSearchController extends \FluentForm\App\Http\Controllers\Controller { /** * Get the search links. * * @param \FluentForm\App\Services\GlobalSearchService $globalSearchService * @return \WP_REST_Response */ public function index(\FluentForm\App\Services\GlobalSearchService $globalSearchService) { } } class GlobalSettingsController extends \FluentForm\App\Http\Controllers\Controller { public function index(\FluentForm\App\Services\GlobalSettings\GlobalSettingsService $globalSettingsService) { } public function store(\FluentForm\App\Services\GlobalSettings\GlobalSettingsService $globalSettingsService) { } } abstract class IntegrationManagerController extends \FluentForm\App\Helpers\IntegrationManagerHelper { protected $app = null; protected $subscriber = null; protected $title = ''; protected $description = ''; protected $integrationKey = ''; protected $optionKey = ''; protected $settingsKey = ''; protected $priority = 11; public $logo = ''; public $hasGlobalMenu = true; public $category = 'crm'; public $disableGlobalSettings = 'no'; public function __construct($app, $title, $integrationKey, $optionKey, $settingsKey, $priority = 11) { } public function registerAdminHooks() { } public function registerNotificationHooks() { } public function notify($feed, $formData, $entry, $form) { } public function addGlobalMenu($setting) { } public function addNotificationType($types) { } public function addActiveNotificationType($types) { } public function getGlobalSettings($settings) { } public function saveGlobalSettings($settings) { } public function getGlobalFields($fields) { } public function setMetaKey($data) { } public function prepareIntegrationFeed($setting, $feed, $formId) { } abstract public function getIntegrationDefaults($settings, $formId); abstract public function pushIntegration($integrations, $formId); abstract public function getSettingsFields($settings, $formId); abstract public function getMergeFields($list, $listId, $formId); public function setFeedAttributes($feed, $formId) { } public function isConfigured() { } public function isEnabled() { } public function getApiSettings() { } protected function getSelectedTagIds($data, $inputData, $simpleKey = 'tag_ids', $routingId = 'tag_ids_selection_type', $routersKey = 'tag_routers') { } protected function evaluateRoutings($routings, $inputData) { } } class LogController extends \FluentForm\App\Http\Controllers\Controller { public function get(\FluentForm\App\Services\Logger\Logger $logger) { } public function getFilters(\FluentForm\App\Services\Logger\Logger $logger) { } public function remove(\FluentForm\App\Services\Logger\Logger $logger) { } } class ManagersController extends \FluentForm\App\Http\Controllers\Controller { public function index(\FluentForm\App\Services\Manager\ManagerService $managerService) { } public function addManager(\FluentForm\App\Services\Manager\ManagerService $managerService) { } public function removeManager(\FluentForm\App\Services\Manager\ManagerService $managerService) { } public function getUsers(\FluentForm\App\Services\Manager\ManagerService $managerService) { } } class ReportController extends \FluentForm\App\Http\Controllers\Controller { private function sanitizeReportAttributes($formId = null) { } public function form(\FluentForm\App\Services\Report\ReportService $reportService, $formId) { } /** * Get Submission Report * @return \WP_REST_Response */ public function submissions(\FluentForm\App\Services\Report\ReportService $reportService) { } /** * Get Forms for Dropdown * @return \WP_REST_Response */ public function getFormsDropdown(\FluentForm\App\Services\Report\ReportService $reportService) { } /** * Get payment revenue grouped by different criteria * @return \WP_REST_Response */ public function netRevenue(\FluentForm\App\Services\Report\ReportService $reportService) { } /** * Get submission analysis grouped by different criteria * @return \WP_REST_Response */ public function submissionsAnalysis() { } /** * Get Overview Chart Data * @return \WP_REST_Response */ public function getOverviewChart(\FluentForm\App\Services\Report\ReportService $reportService) { } /** * Get Revenue Chart Data * @return \WP_REST_Response */ public function getRevenueChart(\FluentForm\App\Services\Report\ReportService $reportService) { } /** * Get Completion Rate Data * @return \WP_REST_Response */ public function getCompletionRate() { } /** * Get Form Stats Data * @return \WP_REST_Response */ public function getFormStats(\FluentForm\App\Services\Report\ReportService $reportService) { } /** * Get Heatmap Data * @return \WP_REST_Response */ public function getHeatmapData() { } /** * Get Country Heatmap Data * @return \WP_REST_Response */ public function getCountryHeatmap(\FluentForm\App\Services\Report\ReportService $reportService) { } /** * Get API Logs Data * @return \WP_REST_Response */ public function getApiLogs(\FluentForm\App\Services\Report\ReportService $reportService) { } /** * Get Top Performing Forms Data * @return \WP_REST_Response */ public function getTopPerformingForms(\FluentForm\App\Services\Report\ReportService $reportService) { } /** * Get Subscriptions Data * @return \WP_REST_Response */ public function getSubscriptions() { } /** * Get Payment Types Data * @return \WP_REST_Response */ public function getPaymentTypes(\FluentForm\App\Services\Report\ReportService $reportService) { } } class RolesController extends \FluentForm\App\Http\Controllers\Controller { public function index(\FluentForm\App\Services\Roles\RolesService $rolesService) { } public function addCapability(\FluentForm\App\Services\Roles\RolesService $rolesService) { } } class SubmissionController extends \FluentForm\App\Http\Controllers\Controller { public function index(\FluentForm\App\Services\Submission\SubmissionService $submissionService) { } public function find(\FluentForm\App\Services\Submission\SubmissionService $submissionService, $submissionId) { } public function resources(\FluentForm\App\Services\Submission\SubmissionService $submissionService) { } public function updateStatus(\FluentForm\App\Services\Submission\SubmissionService $submissionService) { } public function toggleIsFavorite(\FluentForm\App\Services\Submission\SubmissionService $submissionService) { } public function handleBulkActions(\FluentForm\App\Services\Submission\SubmissionService $submissionService) { } public function remove(\FluentForm\App\Services\Submission\SubmissionService $submissionService, $submissionId) { } /** * Get user list for submission page * @return \WP_REST_Response */ public function submissionUsers() { } /** * Update User of a submission * @param SubmissionService $submissionService * @return \WP_REST_Response */ public function updateSubmissionUser(\FluentForm\App\Services\Submission\SubmissionService $submissionService) { } /** * Get All Submissions * @param Submission $submission * @return \WP_REST_Response */ public function all(\FluentForm\App\Models\Submission $submission) { } /** * Get printable content * @param SubmissionService $submissionService * @return \WP_REST_Response */ public function print(\FluentForm\App\Services\Submission\SubmissionService $submissionService) { } private function sanitizeSubmissionAttributes($attributes) { } } class SubmissionHandlerController extends \FluentForm\App\Http\Controllers\Controller { /** * Handle form submission */ public function submit() { } } class SubmissionLogController extends \FluentForm\App\Http\Controllers\Controller { public function get(\FluentForm\App\Services\Logger\Logger $logger, $submissionId) { } public function remove(\FluentForm\App\Services\Logger\Logger $logger, $submissionId) { } } class SubmissionNoteController extends \FluentForm\App\Http\Controllers\Controller { public function get(\FluentForm\App\Services\Submission\SubmissionService $submissionService, $submissionId) { } public function store(\FluentForm\App\Services\Submission\SubmissionService $submissionService, $submissionId) { } } class SuggestedPluginsController extends \FluentForm\App\Http\Controllers\Controller { /** * Check the installation and activation status of multiple plugins. */ public function checkPluginStatuses() { } /** * Install a plugin from WordPress.org. */ public function installPlugin() { } /** * Activate an installed plugin. */ public function activatePlugin() { } /** * Get the status of a plugin (not_installed, inactive, or active). * * @param string $pluginSlug The plugin slug (e.g., 'fluent-crm/fluent-crm.php') * @return string */ private function getPluginStatus($pluginSlug) { } } } namespace FluentForm\Framework\Foundation { abstract class Policy { /** * Fallback method even if verifyRequest is not implemented. * @return bool true */ public function verifyRequest(\FluentForm\Framework\Http\Request\Request $request) { } } } namespace FluentForm\App\Http\Policies { class FormPolicy extends \FluentForm\Framework\Foundation\Policy { /** * Check permission for any method * * @param \FluentForm\Framework\Request\Request $request * @return bool */ public function verifyRequest(\FluentForm\Framework\Http\Request\Request $request) { } public function index(\FluentForm\Framework\Http\Request\Request $request) { } public function templates(\FluentForm\Framework\Http\Request\Request $request) { } public function find(\FluentForm\Framework\Http\Request\Request $request) { } public function delete(\FluentForm\Framework\Http\Request\Request $request) { } public function integrationListComponent(\FluentForm\Framework\Http\Request\Request $request) { } public function updateModuleStatus(\FluentForm\Framework\Http\Request\Request $request) { } public function updateIntegration(\FluentForm\Framework\Http\Request\Request $request) { } public function ping() { } private function resolveFormId(\FluentForm\Framework\Http\Request\Request $request) { } } class GlobalIntegrationPolicy extends \FluentForm\Framework\Foundation\Policy { public function verifyRequest(\FluentForm\Framework\Http\Request\Request $request) { } public function index() { } public function updateIntegration() { } public function updateModuleStatus() { } private function canManageGlobalIntegrations() { } } class GlobalSettingsPolicy extends \FluentForm\Framework\Foundation\Policy { public function verifyRequest(\FluentForm\Framework\Http\Request\Request $request) { } public function index() { } } class PublicPolicy extends \FluentForm\Framework\Foundation\Policy { /** * Check permission for any method * * @param \FluentForm\Framework\Request\Request $request * @return bool */ public function verifyRequest(\FluentForm\Framework\Http\Request\Request $request) { } } class ReportPolicy extends \FluentForm\Framework\Foundation\Policy { private function canAccessReportData(\FluentForm\Framework\Http\Request\Request $request) { } private function canAccessDashboardReport(\FluentForm\Framework\Http\Request\Request $request) { } private function canAccessRequestedForm(\FluentForm\Framework\Http\Request\Request $request) { } private function canAccessOptionalFormScopedReport(\FluentForm\Framework\Http\Request\Request $request) { } /** * Check permission for any method * * @param \FluentForm\Framework\Request\Request $request * @return bool */ public function verifyRequest(\FluentForm\Framework\Http\Request\Request $request) { } public function form(\FluentForm\Framework\Http\Request\Request $request) { } public function submissions(\FluentForm\Framework\Http\Request\Request $request) { } public function getOverviewChart(\FluentForm\Framework\Http\Request\Request $request) { } public function getRevenueChart(\FluentForm\Framework\Http\Request\Request $request) { } public function getFormStats(\FluentForm\Framework\Http\Request\Request $request) { } public function getApiLogs(\FluentForm\Framework\Http\Request\Request $request) { } public function getPaymentTypes(\FluentForm\Framework\Http\Request\Request $request) { } public function getCompletionRate(\FluentForm\Framework\Http\Request\Request $request) { } public function getHeatmapData(\FluentForm\Framework\Http\Request\Request $request) { } public function getCountryHeatmap(\FluentForm\Framework\Http\Request\Request $request) { } public function getTopPerformingForms(\FluentForm\Framework\Http\Request\Request $request) { } public function getSubscriptions(\FluentForm\Framework\Http\Request\Request $request) { } public function getFormsDropdown(\FluentForm\Framework\Http\Request\Request $request) { } public function netRevenue(\FluentForm\Framework\Http\Request\Request $request) { } public function submissionsAnalysis(\FluentForm\Framework\Http\Request\Request $request) { } private function resolveFormId(\FluentForm\Framework\Http\Request\Request $request) { } } class RoleManagerPolicy extends \FluentForm\Framework\Foundation\Policy { public function verifyRequest(\FluentForm\Framework\Http\Request\Request $request) { } public function index() { } } class SubmissionPolicy extends \FluentForm\Framework\Foundation\Policy { /** * Check permission for any method * * @param \FluentForm\Framework\Request\Request $request * @return bool */ public function verifyRequest(\FluentForm\Framework\Http\Request\Request $request) { } public function handleBulkActions(\FluentForm\Framework\Http\Request\Request $request) { } public function store(\FluentForm\Framework\Http\Request\Request $request) { } public function updateStatus(\FluentForm\Framework\Http\Request\Request $request) { } public function toggleIsFavorite(\FluentForm\Framework\Http\Request\Request $request) { } public function remove(\FluentForm\Framework\Http\Request\Request $request) { } public function print(\FluentForm\Framework\Http\Request\Request $request) { } public function updateSubmissionUser(\FluentForm\Framework\Http\Request\Request $request) { } /** * Resolve the form_id for authorization. * * entry_id is read from the URL route parameter first so that a JSON body * {"entry_id": X} cannot shadow the URL placeholder and cause the policy to * authorize against a different record than the controller acts on (IDOR). */ private function resolveFormId(\FluentForm\Framework\Http\Request\Request $request) { } } } namespace FluentForm\Framework\Foundation { /** * @property \FluentForm\Framework\Http\Request\Request $request */ abstract class RequestGuard { /** * The request instance. * @var \FluentForm\Framework\Http\Request\Request */ protected $request; /** * Retrive the validation rules * @return array */ public function rules() { } /** * Retrive the validation messages set by the developer * @return array */ public function messages() { } /** * Allow the developer tinker with data before the validation. * @return array */ public function beforeValidation() { } /** * Allow the developer tinker with data after the validation. * @return array */ public function afterValidation($validator) { } /** * Validate the request. * * @param array $rules Optional * @param array $messages Optional * @return array Request Data * @throws \FluentForm\Framework\Validator\ValidationException */ public function validate($rules = [], $messages = []) { } /** * Check if exceptions should be thrown. * * @return bool */ protected function shouldThrowException() { } /** * Handles validation including before and after calls * * @throws \FluentForm\Framework\Validator\ValidationException * @return void */ public static function applyValidation() { } /** * Get an input element from the request. * * @param string $key * @return mixed */ public function __get($key) { } /** * Set an input element to the request. * * @param string $key * @return mixed */ public function __set($key, $value) { } /** * Set the request instance. * * @param \FluentForm\Framework\Http\Request\Request $request */ public function setRequestInstance($request) { } /** * Handle the dynamic method calls * @param string $method * @param array $params * @return mixed */ public function __call($method, $params) { } } } namespace FluentForm\App\Http\Requests { class UserRequest extends \FluentForm\Framework\Foundation\RequestGuard { /** * @return array */ public function rules() { } /** * @return array */ public function messages() { } /** * @return array */ public function sanitize() { } } } namespace FluentForm\Framework\Support { interface ArrayableInterface { /** * Get the instance as an array. * * @return array */ public function toArray(); } interface CanBeEscapedWhenCastToString { /** * Indicate that the object's string representation should be escaped when __toString is invoked. * * @param bool $escape * @return $this */ public function escapeWhenCastingToString($escape = true); } interface JsonableInterface { /** * Convert the object to its JSON representation. * * @param int $options * @return string */ public function toJson($options = 0); } interface UrlRoutable { /** * Get the value of the model's route key. * * @return mixed */ public function getRouteKey(); /** * Get the route key for the model. * * @return string */ public function getRouteKeyName(); /** * Retrieve the model for a bound value. * * @param mixed $value * @param string|null $field * @return \FluentForm\Framework\Database\Orm\Model|null */ public function resolveRouteBinding($value, $field = null); } trait HelperFunctionsTrait { /** * Get the class base name * * @param mixed $class * @return string */ public static function classBasename($class) { } /** * Retrive all traits used by a class, including traits used by all of its parent classes. * @param string|object $class * @return array */ public static function classUsesRecursive($class) { } /** * Retrieve all traits used by a trait * @param string $trait * @return array */ public static function traitUsesRecursive($trait) { } } } namespace FluentForm\Framework\Database\Orm\Concerns { trait HasAttributes { /** * The model's attributes. * * @var array */ protected $attributes = []; /** * The model attribute's original state. * * @var array */ protected $original = []; /** * The changed model attributes. * * @var array */ protected $changes = []; /** * The attributes that should be cast. * * @var array */ protected $casts = []; /** * The attributes that have been cast using custom classes. * * @var array */ protected $classCastCache = []; /** * The attributes that have been cast using "Attribute" return type mutators. * * @var array */ protected $attributeCastCache = []; /** * The built-in, primitive cast types supported by Orm. * * @var string[] */ protected static $primitiveCastTypes = ['array', 'bool', 'boolean', 'collection', 'custom_datetime', 'date', 'datetime', 'decimal', 'double', 'encrypted', 'encrypted:array', 'encrypted:collection', 'encrypted:json', 'encrypted:object', 'float', 'immutable_date', 'immutable_datetime', 'immutable_custom_datetime', 'int', 'integer', 'json', 'object', 'real', 'string', 'timestamp']; /** * The attributes that should be mutated to dates. * * @deprecated Use the "casts" property * * @var array */ protected $dates = []; /** * The storage format of the model's date columns. * * @var string */ protected $dateFormat; /** * The accessors to append to the model's array form. * * @var array */ protected $appends = []; /** * Indicates whether attributes are snake cased on arrays. * * @var bool */ public static $snakeAttributes = true; /** * The cache of the mutated attributes for each class. * * @var array */ protected static $mutatorCache = []; /** * The cache of the "Attribute" return type marked mutated attributes for each class. * * @var array */ protected static $attributeMutatorCache = []; /** * The cache of the "Attribute" return type marked mutated, gettable attributes for each class. * * @var array */ protected static $getAttributeMutatorCache = []; /** * The cache of the "Attribute" return type marked mutated, settable attributes for each class. * * @var array */ protected static $setAttributeMutatorCache = []; /** * The encrypter instance that is used to encrypt attributes. * * @var \FluentForm\Framework\Encryption\Encrypter */ public static $encrypter; /** * Convert the model's attributes to an array. * * @return array */ public function attributesToArray() { } /** * Add the date attributes to the attributes array. * * @param array $attributes * @return array */ protected function addDateAttributesToArray(array $attributes) { } /** * Add the mutated attributes to the attributes array. * * @param array $attributes * @param array $mutatedAttributes * @return array */ protected function addMutatedAttributesToArray(array $attributes, array $mutatedAttributes) { } /** * Add the casted attributes to the attributes array. * * @param array $attributes * @param array $mutatedAttributes * @return array */ protected function addCastAttributesToArray(array $attributes, array $mutatedAttributes) { } /** * Get an attribute array of all arrayable attributes. * * @return array */ protected function getArrayableAttributes() { } /** * Get all of the appendable values that are arrayable. * * @return array */ protected function getArrayableAppends() { } /** * Get the model's relationships in array form. * * @return array */ public function relationsToArray() { } /** * Get an attribute array of all arrayable relations. * * @return array */ protected function getArrayableRelations() { } /** * Get an attribute array of all arrayable values. * * @param array $values * @return array */ protected function getArrayableItems(array $values) { } /** * Determine whether an attribute exists on the model. * * @param string $key * @return bool */ public function hasAttribute($key) { } /** * Get an attribute from the model. * * @param string $key * @return mixed */ public function getAttribute($key) { } /** * Either throw a missing attribute exception or * return null depending on Orm's configuration. * * @param string $key * @return null * * @throws \FluentForm\Framework\Database\Orm\MissingAttributeException */ protected function throwMissingAttributeExceptionIfApplicable($key) { } /** * Get a plain attribute (not a relationship). * * @param string $key * @return mixed */ public function getAttributeValue($key) { } /** * Get an attribute from the $attributes array. * * @param string $key * @return mixed */ protected function getAttributeFromArray($key) { } /** * Get a relationship. * * @param string $key * @return mixed */ public function getRelationValue($key) { } /** * Determine if the given key is a relationship method on the model. * * @param string $key * @return bool */ public function isRelation($key) { } /** * Handle a lazy loading violation. * * @param string $key * @return mixed */ protected function handleLazyLoadingViolation($key) { } /** * Get a relationship value from a method. * * @param string $method * @return mixed * * @throws \LogicException */ protected function getRelationshipFromMethod($method) { } /** * Determine if a get mutator exists for an attribute. * * @param string $key * @return bool */ public function hasGetMutator($key) { } /** * Determine if a "Attribute" return type marked mutator exists for an attribute. * * @param string $key * @return bool */ public function hasAttributeMutator($key) { } /** * Determine if a "Attribute" return type marked get mutator exists for an attribute. * * @param string $key * @return bool */ public function hasAttributeGetMutator($key) { } /** * Get the value of an attribute using its mutator. * * @param string $key * @param mixed $value * @return mixed */ protected function mutateAttribute($key, $value) { } /** * Get the value of an "Attribute" return type marked attribute using its mutator. * * @param string $key * @param mixed $value * @return mixed */ protected function mutateAttributeMarkedAttribute($key, $value) { } /** * Get the value of an attribute using its mutator for array conversion. * * @param string $key * @param mixed $value * @return mixed */ protected function mutateAttributeForArray($key, $value) { } /** * Merge new casts with existing casts on the model. * * @param array $casts * @return $this */ public function mergeCasts($casts) { } /** * Cast an attribute to a native PHP type. * * @param string $key * @param mixed $value * @return mixed */ protected function castAttribute($key, $value) { } /** * Cast the given attribute using a custom cast class. * * @param string $key * @param mixed $value * @return mixed */ protected function getClassCastableAttributeValue($key, $value) { } /** * Cast the given attribute to an enum. * * @param string $key * @param mixed $value * @return mixed */ protected function getEnumCastableAttributeValue($key, $value) { } /** * Get the type of cast for a model attribute. * * @param string $key * @return string */ protected function getCastType($key) { } /** * Increment or decrement the given attribute using the custom cast class. * * @param string $method * @param string $key * @param mixed $value * @return mixed */ protected function deviateClassCastableAttribute($method, $key, $value) { } /** * Serialize the given attribute using the custom cast class. * * @param string $key * @param mixed $value * @return mixed */ protected function serializeClassCastableAttribute($key, $value) { } /** * Determine if the cast type is a custom date time cast. * * @param string $cast * @return bool */ protected function isCustomDateTimeCast($cast) { } /** * Determine if the cast type is an immutable custom date time cast. * * @param string $cast * @return bool */ protected function isImmutableCustomDateTimeCast($cast) { } /** * Determine if the cast type is a decimal cast. * * @param string $cast * @return bool */ protected function isDecimalCast($cast) { } /** * Set a given attribute on the model. * * @param string $key * @param mixed $value * @return mixed */ public function setAttribute($key, $value) { } /** * Determine if a set mutator exists for an attribute. * * @param string $key * @return bool */ public function hasSetMutator($key) { } /** * Determine if an "Attribute" return type marked set mutator exists for an attribute. * * @param string $key * @return bool */ public function hasAttributeSetMutator($key) { } /** * Set the value of an attribute using its mutator. * * @param string $key * @param mixed $value * @return mixed */ protected function setMutatedAttributeValue($key, $value) { } /** * Set the value of a "Attribute" return type marked attribute using its mutator. * * @param string $key * @param mixed $value * @return mixed */ protected function setAttributeMarkedMutatedAttributeValue($key, $value) { } /** * Determine if the given attribute is a date or date castable. * * @param string $key * @return bool */ protected function isDateAttribute($key) { } /** * Set a given JSON attribute on the model. * * @param string $key * @param mixed $value * @return $this */ public function fillJsonAttribute($key, $value) { } /** * Set the value of a class castable attribute. * * @param string $key * @param mixed $value * @return void */ protected function setClassCastableAttribute($key, $value) { } /** * Set the value of an enum castable attribute. * * @param string $key * @param \BackedEnum $value * @return void */ protected function setEnumCastableAttribute($key, $value) { } /** * Get an array attribute with the given key and value set. * * @param string $path * @param string $key * @param mixed $value * @return $this */ protected function getArrayAttributeWithValue($path, $key, $value) { } /** * Get an array attribute or return an empty array if it is not set. * * @param string $key * @return array */ protected function getArrayAttributeByKey($key) { } /** * Cast the given attribute to JSON. * * @param string $key * @param mixed $value * @return string */ protected function castAttributeAsJson($key, $value) { } /** * Encode the given value as JSON. * * @param mixed $value * @return string */ protected function asJson($value) { } /** * Decode the given JSON back into an array or object. * * @param string $value * @param bool $asObject * @return mixed */ public function fromJson($value, $asObject = false) { } /** * Decrypt the given encrypted string. * * @param string $value * @return mixed */ public function fromEncryptedString($value) { } /** * Cast the given attribute to an encrypted string. * * @param string $key * @param mixed $value * @return string */ protected function castAttributeAsEncryptedString($key, $value) { } /** * Set the encrypter instance that will be used to encrypt attributes. * * @param \FluentForm\Framework\Encryption\Encrypter $encrypter * @return void */ public static function encryptUsing($encrypter) { } /** * Decode the given float. * * @param mixed $value * @return mixed */ public function fromFloat($value) { } /** * Return a decimal as string. * * @param float $value * @param int $decimals * @return string */ protected function asDecimal($value, $decimals) { } /** * Return a timestamp as DateTime object with time set to 00:00:00. * * @param mixed $value * @return \FluentForm\Framework\Support\DateTime; */ protected function asDate($value) { } /** * Return a timestamp as DateTime object. * * @param mixed $value * @return \FluentForm\Framework\Support\DateTime; */ protected function asDateTime($value) { } /** * Determine if the given value is a standard date format. * * @param string $value * @return bool */ protected function isStandardDateFormat($value) { } /** * Convert a DateTime to a storable string. * * @param mixed $value * @return string|null */ public function fromDateTime($value) { } /** * Return a timestamp as unix timestamp. * * @param mixed $value * @return int */ protected function asTimestamp($value) { } /** * Prepare a date for array / JSON serialization. * * @param \DateTimeInterface $date * @return string */ protected function serializeDate(\DateTimeInterface $date) { } /** * Get the attributes that should be converted to dates. * * @return array */ public function getDates() { } /** * Get the format for database stored dates. * * @return string */ public function getDateFormat() { } /** * Set the date format used by the model. * * @param string $format * @return $this */ public function setDateFormat($format) { } /** * Determine whether an attribute should be cast to a native type. * * @param string $key * @param array|string|null $types * @return bool */ public function hasCast($key, $types = null) { } /** * Get the casts array. * * @return array */ public function getCasts() { } /** * Determine whether a value is Date / DateTime castable for inbound manipulation. * * @param string $key * @return bool */ protected function isDateCastable($key) { } /** * Determine whether a value is Date / DateTime custom-castable for inbound manipulation. * * @param string $key * @return bool */ protected function isDateCastableWithCustomFormat($key) { } /** * Determine whether a value is JSON castable for inbound manipulation. * * @param string $key * @return bool */ protected function isJsonCastable($key) { } /** * Determine whether a value is an encrypted castable for inbound manipulation. * * @param string $key * @return bool */ protected function isEncryptedCastable($key) { } /** * Determine if the given key is cast using a custom class. * * @param string $key * @return bool * * @throws \FluentForm\Framework\Database\Orm\InvalidCastException */ protected function isClassCastable($key) { } /** * Determine if the given key is cast using an enum. * * @param string $key * @return bool */ protected function isEnumCastable($key) { } /** * Determine if the key is deviable using a custom class. * * @param string $key * @return bool * * @throws \FluentForm\Framework\Database\Orm\InvalidCastException */ protected function isClassDeviable($key) { } /** * Determine if the key is serializable using a custom class. * * @param string $key * @return bool * * @throws \FluentForm\Framework\Database\Orm\InvalidCastException */ protected function isClassSerializable($key) { } /** * Resolve the custom caster class for a given key. * * @param string $key * @return mixed */ protected function resolveCasterClass($key) { } /** * Parse the given caster class, removing any arguments. * * @param string $class * @return string */ protected function parseCasterClass($class) { } /** * Merge the cast class and attribute cast attributes back into the model. * * @return void */ protected function mergeAttributesFromCachedCasts() { } /** * Merge the cast class attributes back into the model. * * @return void */ protected function mergeAttributesFromClassCasts() { } /** * Merge the cast class attributes back into the model. * * @return void */ protected function mergeAttributesFromAttributeCasts() { } /** * Normalize the response from a custom class caster. * * @param string $key * @param mixed $value * @return array */ protected function normalizeCastClassResponse($key, $value) { } /** * Get all of the current attributes on the model. * * @return array */ public function getAttributes() { } /** * Get all of the current attributes on the model for an insert operation. * * @return array */ protected function getAttributesForInsert() { } /** * Set the array of model attributes. No checking is done. * * @param array $attributes * @param bool $sync * @return $this */ public function setRawAttributes(array $attributes, $sync = false) { } /** * Get the model's original attribute values. * * @param string|null $key * @param mixed $default * @return mixed|array */ public function getOriginal($key = null, $default = null) { } /** * Get the model's original attribute values. * * @param string|null $key * @param mixed $default * @return mixed|array */ protected function getOriginalWithoutRewindingModel($key = null, $default = null) { } /** * Get the model's raw original attribute values. * * @param string|null $key * @param mixed $default * @return mixed|array */ public function getRawOriginal($key = null, $default = null) { } /** * Get a subset of the model's attributes. * * @param array|mixed $attributes * @return array */ public function only($attributes) { } /** * Sync the original attributes with the current. * * @return $this */ public function syncOriginal() { } /** * Sync a single original attribute with its current value. * * @param string $attribute * @return $this */ public function syncOriginalAttribute($attribute) { } /** * Sync multiple original attribute with their current values. * * @param array|string $attributes * @return $this */ public function syncOriginalAttributes($attributes) { } /** * Sync the changed attributes. * * @return $this */ public function syncChanges() { } /** * Determine if the model or any of the given attribute(s) have been modified. * * @param array|string|null $attributes * @return bool */ public function isDirty($attributes = null) { } /** * Determine if the model or all the given attribute(s) have remained the same. * * @param array|string|null $attributes * @return bool */ public function isClean($attributes = null) { } /** * Determine if the model or any of the given attribute(s) have been modified. * * @param array|string|null $attributes * @return bool */ public function wasChanged($attributes = null) { } /** * Determine if any of the given attributes were changed. * * @param array $changes * @param array|string|null $attributes * @return bool */ protected function hasChanges($changes, $attributes = null) { } /** * Get the attributes that have been changed since the last sync. * * @return array */ public function getDirty() { } /** * Get the attributes that were changed. * * @return array */ public function getChanges() { } /** * Determine if the new and old values for a given key are equivalent. * * @param string $key * @return bool */ public function originalIsEquivalent($key) { } /** * Transform a raw model value using mutators, casts, etc. * * @param string $key * @param mixed $value * @return mixed */ protected function transformModelValue($key, $value) { } /** * Append attributes to query when building a query. * * @param array|string $attributes * @return $this */ public function append($attributes) { } /** * Set the accessors to append to model arrays. * * @param array $appends * @return $this */ public function setAppends(array $appends) { } /** * Return whether the accessor attribute has been appended. * * @param string $attribute * @return bool */ public function hasAppended($attribute) { } /** * Get the mutated attributes for a given instance. * * @return array */ public function getMutatedAttributes() { } /** * Extract and cache all the mutated attributes of a class. * * @param string $class * @return void */ public static function cacheMutatedAttributes($class) { } /** * Get all of the attribute mutator methods. * * @param mixed $class * @return array */ protected static function getMutatorMethods($class) { } /** * Get all of the "Attribute" return typed attribute mutator methods. * * @param mixed $class * @return array */ protected static function getAttributeMarkedMutatorMethods($class) { } } trait HasEvents { /** * The event map for the model. * * Allows for object-based events for native Orm events. * * @var array */ protected $dispatchesEvents = []; /** * User exposed observable events. * * These are extra user-defined events observers may subscribe to. * * @var array */ protected $observables = []; /** * Register observers with the model. * * @param object|array|string $classes * @return void * * @throws \RuntimeException */ public static function observe($classes) { } /** * Register a single observer with the model. * * @param object|string $class * @return void * * @throws \RuntimeException */ protected function registerObserver($class) { } /** * Resolve the observer's class name from an object or string. * * @param object|string $class * @return string * * @throws \InvalidArgumentException */ private function resolveObserverClassName($class) { } /** * Get the observable event names. * * @return array */ public function getObservableEvents() { } /** * Set the observable event names. * * @param array $observables * @return $this */ public function setObservableEvents(array $observables) { } /** * Add an observable event name. * * @param array|mixed $observables * @return void */ public function addObservableEvents($observables) { } /** * Remove an observable event name. * * @param array|mixed $observables * @return void */ public function removeObservableEvents($observables) { } /** * Register a model event with the dispatcher. * * @param string $event * @param \Closure|string $callback * @return void */ protected static function registerModelEvent($event, $callback) { } /** * Fire the given event for the model. * * @param string $event * @param bool $halt * @return mixed */ protected function fireModelEvent($event, $halt = true) { } /** * Fire a custom model event for the given event. * * @param string $event * @param string $method * @return mixed|null */ protected function fireCustomModelEvent($event, $method) { } /** * Filter the model event results. * * @param mixed $result * @return mixed */ protected function filterModelEventResults($result) { } /** * Register a retrieved model event with the dispatcher. * * @param \Closure|string $callback * @return void */ public static function retrieved($callback) { } /** * Register a saving model event with the dispatcher. * * @param \Closure|string $callback * @return void */ public static function saving($callback) { } /** * Register a saved model event with the dispatcher. * * @param \Closure|string $callback * @return void */ public static function saved($callback) { } /** * Register an updating model event with the dispatcher. * * @param \Closure|string $callback * @return void */ public static function updating($callback) { } /** * Register an updated model event with the dispatcher. * * @param \Closure|string $callback * @return void */ public static function updated($callback) { } /** * Register a creating model event with the dispatcher. * * @param \Closure|string $callback * @return void */ public static function creating($callback) { } /** * Register a created model event with the dispatcher. * * @param \Closure|string $callback * @return void */ public static function created($callback) { } /** * Register a replicating model event with the dispatcher. * * @param \Closure|string $callback * @return void */ public static function replicating($callback) { } /** * Register a deleting model event with the dispatcher. * * @param \Closure|string $callback * @return void */ public static function deleting($callback) { } /** * Register a deleted model event with the dispatcher. * * @param \Closure|string $callback * @return void */ public static function deleted($callback) { } /** * Remove all the event listeners for the model. * * @return void */ public static function flushEventListeners() { } /** * Get the event map for the model. * * @return array */ public function dispatchesEvents() { } /** * Get the event dispatcher instance. * * @return \FluentForm\Framework\Events\Dispatcher */ public static function getEventDispatcher() { } /** * Set the event dispatcher instance. * * @param \FluentForm\Framework\Events\Dispatcher $dispatcher * @return void */ public static function setEventDispatcher(\FluentForm\Framework\Events\DispatcherInterface $dispatcher) { } /** * Unset the event dispatcher for models. * * @return void */ public static function unsetEventDispatcher() { } /** * Execute a callback without firing any model events for any model type. * * @param callable $callback * @return mixed */ public static function withoutEvents(callable $callback) { } } trait HasGlobalScopes { /** * Register a new global scope on the model. * * @param \FluentForm\Framework\Database\Orm\Scope|\Closure|string $scope * @param \Closure|null $implementation * @return mixed * * @throws \InvalidArgumentException */ public static function addGlobalScope($scope, ?\Closure $implementation = null) { } /** * Register multiple global scopes on the model. * * @param array $scopes * @return void */ public static function addGlobalScopes(array $scopes) { } /** * Determine if a model has a global scope. * * @param \FluentForm\Framework\Database\Orm\Scope|string $scope * @return bool */ public static function hasGlobalScope($scope) { } /** * Get a global scope registered with the model. * * @param \FluentForm\Framework\Database\Orm\Scope|string $scope * @return \FluentForm\Framework\Database\Orm\Scope|\Closure|null */ public static function getGlobalScope($scope) { } /** * Set the current global scopes. * * @param array $scopes * @return void */ public static function setAllGlobalScopes($scopes) { } /** * Get the global scopes for this class instance. * * @return array */ public function getGlobalScopes() { } } trait HasRelationships { /** * The loaded relationships for the model. * * @var array */ protected $relations = []; /** * The relationships that should be touched on save. * * @var array */ protected $touches = []; /** * The many to many relationship methods. * * @var string[] */ public static $manyMethods = ['belongsToMany', 'morphToMany', 'morphedByMany']; /** * The relation resolver callbacks. * * @var array */ protected static $relationResolvers = []; /** * Get the dynamic relation resolver if defined or inherited, or return null. * * @param string $class * @param string $key * @return mixed */ public function relationResolver($class, $key) { } /** * Define a dynamic relation resolver. * * @param string $name * @param \Closure $callback * @return void */ public static function resolveRelationUsing($name, \Closure $callback) { } /** * Define a one-to-one relationship. * * @param string $related * @param string|null $foreignKey * @param string|null $localKey * @return \FluentForm\Framework\Database\Orm\Relations\HasOne */ public function hasOne($related, $foreignKey = null, $localKey = null) { } /** * Instantiate a new HasOne relationship. * * @param \FluentForm\Framework\Database\Orm\Builder $query * @param \FluentForm\Framework\Database\Orm\Model $parent * @param string $foreignKey * @param string $localKey * @return \FluentForm\Framework\Database\Orm\Relations\HasOne */ protected function newHasOne(\FluentForm\Framework\Database\Orm\Builder $query, \FluentForm\Framework\Database\Orm\Model $parent, $foreignKey, $localKey) { } /** * Define a has-one-through relationship. * * @param string $related * @param string $through * @param string|null $firstKey * @param string|null $secondKey * @param string|null $localKey * @param string|null $secondLocalKey * @return \FluentForm\Framework\Database\Orm\Relations\HasOneThrough */ public function hasOneThrough($related, $through, $firstKey = null, $secondKey = null, $localKey = null, $secondLocalKey = null) { } /** * Instantiate a new HasOneThrough relationship. * * @param \FluentForm\Framework\Database\Orm\Builder $query * @param \FluentForm\Framework\Database\Orm\Model $farParent * @param \FluentForm\Framework\Database\Orm\Model $throughParent * @param string $firstKey * @param string $secondKey * @param string $localKey * @param string $secondLocalKey * @return \FluentForm\Framework\Database\Orm\Relations\HasOneThrough */ protected function newHasOneThrough(\FluentForm\Framework\Database\Orm\Builder $query, \FluentForm\Framework\Database\Orm\Model $farParent, \FluentForm\Framework\Database\Orm\Model $throughParent, $firstKey, $secondKey, $localKey, $secondLocalKey) { } /** * Define a polymorphic one-to-one relationship. * * @param string $related * @param string $name * @param string|null $type * @param string|null $id * @param string|null $localKey * @return \FluentForm\Framework\Database\Orm\Relations\MorphOne */ public function morphOne($related, $name, $type = null, $id = null, $localKey = null) { } /** * Instantiate a new MorphOne relationship. * * @param \FluentForm\Framework\Database\Orm\Builder $query * @param \FluentForm\Framework\Database\Orm\Model $parent * @param string $type * @param string $id * @param string $localKey * @return \FluentForm\Framework\Database\Orm\Relations\MorphOne */ protected function newMorphOne(\FluentForm\Framework\Database\Orm\Builder $query, \FluentForm\Framework\Database\Orm\Model $parent, $type, $id, $localKey) { } /** * Define an inverse one-to-one or many relationship. * * @param string $related * @param string|null $foreignKey * @param string|null $ownerKey * @param string|null $relation * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function belongsTo($related, $foreignKey = null, $ownerKey = null, $relation = null) { } /** * Instantiate a new BelongsTo relationship. * * @param \FluentForm\Framework\Database\Orm\Builder $query * @param \FluentForm\Framework\Database\Orm\Model $child * @param string $foreignKey * @param string $ownerKey * @param string $relation * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ protected function newBelongsTo(\FluentForm\Framework\Database\Orm\Builder $query, \FluentForm\Framework\Database\Orm\Model $child, $foreignKey, $ownerKey, $relation) { } /** * Define a polymorphic, inverse one-to-one or many relationship. * * @param string|null $name * @param string|null $type * @param string|null $id * @param string|null $ownerKey * @return \FluentForm\Framework\Database\Orm\Relations\MorphTo */ public function morphTo($name = null, $type = null, $id = null, $ownerKey = null) { } /** * Define a polymorphic, inverse one-to-one or many relationship. * * @param string $name * @param string $type * @param string $id * @param string $ownerKey * @return \FluentForm\Framework\Database\Orm\Relations\MorphTo */ protected function morphEagerTo($name, $type, $id, $ownerKey) { } /** * Define a polymorphic, inverse one-to-one or many relationship. * * @param string $target * @param string $name * @param string $type * @param string $id * @param string $ownerKey * @return \FluentForm\Framework\Database\Orm\Relations\MorphTo */ protected function morphInstanceTo($target, $name, $type, $id, $ownerKey) { } /** * Instantiate a new MorphTo relationship. * * @param \FluentForm\Framework\Database\Orm\Builder $query * @param \FluentForm\Framework\Database\Orm\Model $parent * @param string $foreignKey * @param string $ownerKey * @param string $type * @param string $relation * @return \FluentForm\Framework\Database\Orm\Relations\MorphTo */ protected function newMorphTo(\FluentForm\Framework\Database\Orm\Builder $query, \FluentForm\Framework\Database\Orm\Model $parent, $foreignKey, $ownerKey, $type, $relation) { } /** * Retrieve the actual class name for a given morph class. * * @param string $class * @return string */ public static function getActualClassNameForMorph($class) { } /** * Guess the "belongs to" relationship name. * * @return string */ protected function guessBelongsToRelation() { } /** * Create a pending has-many-through or has-one-through relationship. * * @template TIntermediateModel of \FluentForm\Framework\Database\Orm\Model * * @param string|\FluentForm\Framework\Database\Orm\Relations\HasMany|\FluentForm\Framework\Database\Orm\Relations\HasOne $relationship * @return ( * $relationship is string * ? \FluentForm\Framework\Database\Orm\PendingHasThroughRelationship<\FluentForm\Framework\Database\Orm\Model, $this> * : \FluentForm\Framework\Database\Orm\PendingHasThroughRelationship * ) */ public function through($relationship) { } /** * Define a one-to-many relationship. * * @param string $related * @param string|null $foreignKey * @param string|null $localKey * @return \FluentForm\Framework\Database\Orm\Relations\HasMany */ public function hasMany($related, $foreignKey = null, $localKey = null) { } /** * Instantiate a new HasMany relationship. * * @param \FluentForm\Framework\Database\Orm\Builder $query * @param \FluentForm\Framework\Database\Orm\Model $parent * @param string $foreignKey * @param string $localKey * @return \FluentForm\Framework\Database\Orm\Relations\HasMany */ protected function newHasMany(\FluentForm\Framework\Database\Orm\Builder $query, \FluentForm\Framework\Database\Orm\Model $parent, $foreignKey, $localKey) { } /** * Define a has-many-through relationship. * * @param string $related * @param string $through * @param string|null $firstKey * @param string|null $secondKey * @param string|null $localKey * @param string|null $secondLocalKey * @return \FluentForm\Framework\Database\Orm\Relations\HasManyThrough */ public function hasManyThrough($related, $through, $firstKey = null, $secondKey = null, $localKey = null, $secondLocalKey = null) { } /** * Instantiate a new HasManyThrough relationship. * * @param \FluentForm\Framework\Database\Orm\Builder $query * @param \FluentForm\Framework\Database\Orm\Model $farParent * @param \FluentForm\Framework\Database\Orm\Model $throughParent * @param string $firstKey * @param string $secondKey * @param string $localKey * @param string $secondLocalKey * @return \FluentForm\Framework\Database\Orm\Relations\HasManyThrough */ protected function newHasManyThrough(\FluentForm\Framework\Database\Orm\Builder $query, \FluentForm\Framework\Database\Orm\Model $farParent, \FluentForm\Framework\Database\Orm\Model $throughParent, $firstKey, $secondKey, $localKey, $secondLocalKey) { } /** * Define a polymorphic one-to-many relationship. * * @param string $related * @param string $name * @param string|null $type * @param string|null $id * @param string|null $localKey * @return \FluentForm\Framework\Database\Orm\Relations\MorphMany */ public function morphMany($related, $name, $type = null, $id = null, $localKey = null) { } /** * Instantiate a new MorphMany relationship. * * @param \FluentForm\Framework\Database\Orm\Builder $query * @param \FluentForm\Framework\Database\Orm\Model $parent * @param string $type * @param string $id * @param string $localKey * @return \FluentForm\Framework\Database\Orm\Relations\MorphMany */ protected function newMorphMany(\FluentForm\Framework\Database\Orm\Builder $query, \FluentForm\Framework\Database\Orm\Model $parent, $type, $id, $localKey) { } /** * Define a many-to-many relationship. * * @param string $related * @param string|null $table * @param string|null $foreignPivotKey * @param string|null $relatedPivotKey * @param string|null $parentKey * @param string|null $relatedKey * @param string|null $relation * @return \FluentForm\Framework\Database\Orm\Relations\BelongsToMany */ public function belongsToMany($related, $table = null, $foreignPivotKey = null, $relatedPivotKey = null, $parentKey = null, $relatedKey = null, $relation = null) { } /** * Instantiate a new BelongsToMany relationship. * * @param \FluentForm\Framework\Database\Orm\Builder $query * @param \FluentForm\Framework\Database\Orm\Model $parent * @param string $table * @param string $foreignPivotKey * @param string $relatedPivotKey * @param string $parentKey * @param string $relatedKey * @param string|null $relationName * @return \FluentForm\Framework\Database\Orm\Relations\BelongsToMany */ protected function newBelongsToMany(\FluentForm\Framework\Database\Orm\Builder $query, \FluentForm\Framework\Database\Orm\Model $parent, $table, $foreignPivotKey, $relatedPivotKey, $parentKey, $relatedKey, $relationName = null) { } /** * Define a polymorphic many-to-many relationship. * * @template TRelatedModel of \FluentForm\Framework\Database\Orm\Model * * @param class-string $related * @param string $name * @param string|null $table * @param string|null $foreignPivotKey * @param string|null $relatedPivotKey * @param string|null $parentKey * @param string|null $relatedKey * @param string|null $relation * @param bool $inverse * * @return \FluentForm\Framework\Database\Orm\Relations\MorphToMany */ public function morphToMany($related, $name, $table = null, $foreignPivotKey = null, $relatedPivotKey = null, $parentKey = null, $relatedKey = null, $relation = null, $inverse = false) { } /** * Instantiate a new MorphToMany relationship. * * @param \FluentForm\Framework\Database\Orm\Builder $query * @param \FluentForm\Framework\Database\Orm\Model $parent * @param string $name * @param string $table * @param string $foreignPivotKey * @param string $relatedPivotKey * @param string $parentKey * @param string $relatedKey * @param string|null $relationName * @param bool $inverse * @return \FluentForm\Framework\Database\Orm\Relations\MorphToMany */ protected function newMorphToMany(\FluentForm\Framework\Database\Orm\Builder $query, \FluentForm\Framework\Database\Orm\Model $parent, $name, $table, $foreignPivotKey, $relatedPivotKey, $parentKey, $relatedKey, $relationName = null, $inverse = false) { } /** * Define a polymorphic, inverse many-to-many relationship. * * @template TRelatedModel of \FluentForm\Framework\Database\Orm\Model * * @param class-string $related * @param string $name * @param string|null $table * @param string|null $foreignPivotKey * @param string|null $relatedPivotKey * @param string|null $parentKey * @param string|null $relatedKey * @param string|null $relation * * @return \FluentForm\Framework\Database\Orm\Relations\MorphToMany */ public function morphedByMany($related, $name, $table = null, $foreignPivotKey = null, $relatedPivotKey = null, $parentKey = null, $relatedKey = null, $relation = null) { } /** * Get the relationship name of the belongsToMany relationship. * * @return string|null */ protected function guessBelongsToManyRelation() { } /** * Get the joining table name for a many-to-many relation. * * @param string $related * @param \FluentForm\Framework\Database\Orm\Model|null $instance * @return string */ public function joiningTable($related, $instance = null) { } /** * Get this model's half of the intermediate table name for belongsToMany relationships. * * @return string */ public function joiningTableSegment() { } /** * Determine if the model touches a given relation. * * @param string $relation * @return bool */ public function touches($relation) { } /** * Touch the owning relations of the model. * * @return void */ public function touchOwners() { } /** * Get the polymorphic relationship columns. * * @param string $name * @param string $type * @param string $id * @return array */ protected function getMorphs($name, $type, $id) { } /** * Get the class name for polymorphic relations. * * @return string */ public function getMorphClass() { } /** * Create a new model instance for a related model. * * @param string $class * @return mixed */ protected function newRelatedInstance($class) { } /** * Create a new model instance for a related "through" model. * * @param string $class * @return mixed */ protected function newRelatedThroughInstance($class) { } /** * Get all the loaded relations for the instance. * * @return array */ public function getRelations() { } /** * Get a specified relationship. * * @param string $relation * @return mixed */ public function getRelation($relation) { } /** * Determine if the given relation is loaded. * * @param string $key * @return bool */ public function relationLoaded($key) { } /** * Set the given relationship on the model. * * @param string $relation * @param mixed $value * @return $this */ public function setRelation($relation, $value) { } /** * Unset a loaded relationship. * * @param string $relation * @return $this */ public function unsetRelation($relation) { } /** * Set the entire relations array on the model. * * @param array $relations * @return $this */ public function setRelations(array $relations) { } /** * Duplicate the instance and unset all the loaded relations. * * @return $this */ public function withoutRelations() { } /** * Unset all the loaded relations for the instance. * * @return $this */ public function unsetRelations() { } /** * Get the relationships that are touched on save. * * @return array */ public function getTouchedRelations() { } /** * Set the relationships that are touched on save. * * @param array $touches * @return $this */ public function setTouchedRelations(array $touches) { } } trait HasTimestamps { /** * Indicates if the model should be timestamped. * * @var bool */ public $timestamps = true; /** * The list of models classes that have timestamps temporarily disabled. * * @var array */ protected static $ignoreTimestampsOn = []; /** * Update the model's update timestamp. * * @param string|null $attribute * @return bool */ public function touch($attribute = null) { } /** * Update the model's update timestamp without raising any events. * * @param string|null $attribute * @return bool */ public function touchQuietly($attribute = null) { } /** * Update the creation and update timestamps. * * @return void */ public function updateTimestamps() { } /** * Set the value of the "created at" attribute. * * @param mixed $value * @return $this */ public function setCreatedAt($value) { } /** * Set the value of the "updated at" attribute. * * @param mixed $value * @return $this */ public function setUpdatedAt($value) { } /** * Get a fresh timestamp for the model. * * @see https://developer.wordpress.org/reference/functions/current_time/ */ public function freshTimestamp() { } /** * Get a fresh timestamp for the model. * * @return string */ public function freshTimestampString() { } /** * Determine if the model uses timestamps. * * @return bool */ public function usesTimestamps() { } /** * Get the name of the "created at" column. * * @return string|null */ public function getCreatedAtColumn() { } /** * Get the name of the "updated at" column. * * @return string|null */ public function getUpdatedAtColumn() { } /** * Get the fully qualified "created at" column. * * @return string|null */ public function getQualifiedCreatedAtColumn() { } /** * Get the fully qualified "updated at" column. * * @return string|null */ public function getQualifiedUpdatedAtColumn() { } /** * Disable timestamps for the current class during the given callback scope. * * @param callable $callback * @return mixed */ public static function withoutTimestamps(callable $callback) { } /** * Disable timestamps for the given model classes during the given callback scope. * * @param array $models * @param callable $callback * @return mixed */ public static function withoutTimestampsOn($models, $callback) { } /** * Determine if the given model is ignoring timestamps / touches. * * @param string|null $class * @return bool */ public static function isIgnoringTimestamps($class = null) { } } trait HasUniqueIds { /** * Indicates if the model uses unique ids. * * @var bool */ public $usesUniqueIds = false; /** * Determine if the model uses unique ids. * * @return bool */ public function usesUniqueIds() { } /** * Generate unique keys for the model. * * @return void */ public function setUniqueIds() { } /** * Generate a new key for the model. * * @return string */ public function newUniqueId() { } /** * Get the columns that should receive a unique identifier. * * @return array */ public function uniqueIds() { } } trait HidesAttributes { /** * The attributes that should be hidden for serialization. * * @var array */ protected $hidden = []; /** * The attributes that should be visible in serialization. * * @var array */ protected $visible = []; /** * Get the hidden attributes for the model. * * @return array */ public function getHidden() { } /** * Set the hidden attributes for the model. * * @param array $hidden * @return $this */ public function setHidden(array $hidden) { } /** * Get the visible attributes for the model. * * @return array */ public function getVisible() { } /** * Set the visible attributes for the model. * * @param array $visible * @return $this */ public function setVisible(array $visible) { } /** * Make the given, typically hidden, attributes visible. * * @param array|string|null $attributes * @return $this */ public function makeVisible($attributes) { } /** * Make the given, typically hidden, attributes visible if the given truth test passes. * * @param bool|Closure $condition * @param array|string|null $attributes * @return $this */ public function makeVisibleIf($condition, $attributes) { } /** * Make the given, typically visible, attributes hidden. * * @param array|string|null $attributes * @return $this */ public function makeHidden($attributes) { } /** * Make the given, typically visible, attributes hidden if the given truth test passes. * * @param bool|Closure $condition * @param array|string|null $attributes * @return $this */ public function makeHiddenIf($condition, $attributes) { } } trait GuardsAttributes { /** * The attributes that are mass assignable. * * @var string[] */ protected $fillable = []; /** * The attributes that aren't mass assignable. * * @var string[]|bool */ protected $guarded = ['*']; /** * Indicates if all mass assignment is enabled. * * @var bool */ protected static $unguarded = false; /** * The actual columns that exist on the database and can be guarded. * * @var array */ protected static $guardableColumns = []; /** * Get the fillable attributes for the model. * * @return array */ public function getFillable() { } /** * Set the fillable attributes for the model. * * @param array $fillable * @return $this */ public function fillable(array $fillable) { } /** * Merge new fillable attributes with existing fillable attributes on the model. * * @param array $fillable * @return $this */ public function mergeFillable(array $fillable) { } /** * Get the guarded attributes for the model. * * @return array */ public function getGuarded() { } /** * Set the guarded attributes for the model. * * @param array $guarded * @return $this */ public function guard(array $guarded) { } /** * Merge new guarded attributes with existing guarded attributes on the model. * * @param array $guarded * @return $this */ public function mergeGuarded(array $guarded) { } /** * Disable all mass assignable restrictions. * * @param bool $state * @return void */ public static function unguard($state = true) { } /** * Enable the mass assignment restrictions. * * @return void */ public static function reguard() { } /** * Determine if the current state is "unguarded". * * @return bool */ public static function isUnguarded() { } /** * Run the given callable while being unguarded. * * @param callable $callback * @return mixed */ public static function unguarded(callable $callback) { } /** * Determine if the given attribute may be mass assigned. * * @param string $key * @return bool */ public function isFillable($key) { } /** * Determine if the given key is guarded. * * @param string $key * @return bool */ public function isGuarded($key) { } /** * Determine if the given column is a valid, guardable column. * * @param string $key * @return bool */ protected function isGuardableColumn($key) { } /** * Determine if the model is totally guarded. * * @return bool */ public function totallyGuarded() { } /** * Get the fillable attributes of a given array. * * @param array $attributes * @return array */ protected function fillableFromArray(array $attributes) { } } } namespace FluentForm\Framework\Support { trait ForwardsCalls { /** * Forward a method call to the given object. * * @param mixed $object * @param string $method * @param array $parameters * @return mixed * * @throws \BadMethodCallException */ protected function forwardCallTo($object, $method, $parameters) { } /** * Forward a method call to the given object, returning $this if the forwarded call returned itself. * * @param mixed $object * @param string $method * @param array $parameters * @return mixed * * @throws \BadMethodCallException */ protected function forwardDecoratedCallTo($object, $method, $parameters) { } /** * Throw a bad method call exception for the given method. * * @param string $method * @return void * * @throws \BadMethodCallException */ protected static function throwBadMethodCallException($method) { } } } namespace FluentForm\Framework\Database\Orm { abstract class Model implements \FluentForm\Framework\Support\ArrayableInterface, \ArrayAccess, \FluentForm\Framework\Support\CanBeEscapedWhenCastToString, \FluentForm\Framework\Support\JsonableInterface, \JsonSerializable, \FluentForm\Framework\Support\UrlRoutable { use \FluentForm\Framework\Support\HelperFunctionsTrait; use \FluentForm\Framework\Database\Orm\Concerns\HasAttributes, \FluentForm\Framework\Database\Orm\Concerns\HasEvents, \FluentForm\Framework\Database\Orm\Concerns\HasGlobalScopes, \FluentForm\Framework\Database\Orm\Concerns\HasRelationships, \FluentForm\Framework\Database\Orm\Concerns\HasTimestamps, \FluentForm\Framework\Database\Orm\Concerns\HasUniqueIds, \FluentForm\Framework\Database\Orm\Concerns\HidesAttributes, \FluentForm\Framework\Database\Orm\Concerns\GuardsAttributes, \FluentForm\Framework\Support\ForwardsCalls; /** * The connection name for the model. * * @var string|null */ protected $connection; /** * The table associated with the model. * * @var string */ protected $table; /** * The primary key for the model. * * @var string */ protected $primaryKey = 'id'; /** * The "type" of the primary key ID. * * @var string */ protected $keyType = 'int'; /** * Indicates if the IDs are auto-incrementing. * * @var bool */ public $incrementing = true; /** * The relations to eager load on every query. * * @var array */ protected $with = []; /** * The relationship counts that should be eager loaded on every query. * * @var array */ protected $withCount = []; /** * Indicates whether lazy loading will be prevented on this model. * * @var bool */ public $preventsLazyLoading = false; /** * The number of models to return for pagination. * * @var int */ protected $perPage = 15; /** * Indicates if the model exists. * * @var bool */ public $exists = false; /** * Indicates if the model was inserted during the current request lifecycle. * * @var bool */ public $wasRecentlyCreated = false; /** * Indicates that the object's string representation should be escaped when __toString is invoked. * * @var bool */ protected $escapeWhenCastingToString = false; /** * The connection resolver instance. * * @var \FluentForm\Framework\Database\ConnectionResolverInterface */ protected static $resolver; /** * The event dispatcher instance. * * @var \FluentForm\Framework\Events\Dispatcher */ protected static $dispatcher; /** * The array of booted models. * * @var array */ protected static $booted = []; /** * The array of trait initializers that will be called on each new instance. * * @var array */ protected static $traitInitializers = []; /** * The array of global scopes on the model. * * @var array */ protected static $globalScopes = []; /** * The list of models classes that should not be affected with touch. * * @var array */ protected static $ignoreOnTouch = []; /** * Indicates whether lazy loading should be restricted on all models. * * @var bool */ protected static $modelsShouldPreventLazyLoading = false; /** * Indicates if an exception should be thrown instead of * silently discarding non-fillable attributes. * * @var bool */ protected static $modelsShouldPreventSilentlyDiscardingAttributes = false; /** * Indicates if an exception should be thrown when trying * to access a missing attribute on a retrieved model. * * @var bool */ protected static $modelsShouldPreventAccessingMissingAttributes = false; /** * The name of the "created at" column. * * @var string|null */ const CREATED_AT = 'created_at'; /** * The name of the "updated at" column. * * @var string|null */ const UPDATED_AT = 'updated_at'; /** * Create a new Orm model instance. * * @param array $attributes * @return void */ public function __construct(array $attributes = []) { } /** * Check if the model needs to be booted and if so, do it. * * @return void */ protected function bootIfNotBooted() { } /** * Perform any actions required before the model boots. * * @return void */ protected static function booting() { } /** * Bootstrap the model and its traits. * * @return void */ protected static function boot() { } /** * Boot all of the bootable traits on the model. * * @return void */ protected static function bootTraits() { } /** * Initialize any initializable traits on the model. * * @return void */ protected function initializeTraits() { } /** * Perform any actions required after the model boots. * * @return void */ protected static function booted() { } /** * Clear the list of booted models so they will be re-booted. * * @return void */ public static function clearBootedModels() { } /** * Disables relationship model touching for the current class during given callback scope. * * @param callable $callback * @return void */ public static function withoutTouching(callable $callback) { } /** * Disables relationship model touching for the given model classes during given callback scope. * * @param array $models * @param callable $callback * @return void */ public static function withoutTouchingOn(array $models, callable $callback) { } /** * Determine if the given model is ignoring touches. * * @param string|null $class * @return bool */ public static function isIgnoringTouch($class = null) { } /** * Indicate that models should prevent lazy loading, silently discarding attributes, and accessing missing attributes. * * @param bool $shouldBeStrict * @return void */ public static function shouldBeStrict(bool $shouldBeStrict = true) { } /** * Prevent model relationships from being lazy loaded. * * @param bool $value * @return void */ public static function preventLazyLoading($value = true) { } /** * Prevent non-fillable attributes from being silently discarded. * * @param bool $value * @return void */ public static function preventSilentlyDiscardingAttributes($value = true) { } /** * Prevent accessing missing attributes on retrieved models. * * @param bool $value * @return void */ public static function preventAccessingMissingAttributes($value = true) { } /** * Fill the model with an array of attributes. * * @param array $attributes * @return $this * * @throws \FluentForm\Framework\Database\Orm\MassAssignmentException */ public function fill(array $attributes) { } /** * Fill the model with an array of attributes. Force mass assignment. * * @param array $attributes * @return $this */ public function forceFill(array $attributes) { } /** * Qualify the given column name by the model's table. * * @param string $column * @return string */ public function qualifyColumn($column) { } /** * Qualify the given columns with the model's table. * * @param array $columns * @return array */ public function qualifyColumns($columns) { } /** * Create a new instance of the given model. * * @param array $attributes * @param bool $exists * @return static */ public function newInstance($attributes = [], $exists = false) { } /** * Create a new model instance that is existing. * * @param array $attributes * @param string|null $connection * @return static */ public function newFromBuilder($attributes = [], $connection = null, $args = []) { } /** * Begin querying the model on a given connection. * * @param string|null $connection * @return \FluentForm\Framework\Database\Orm\Builder */ public static function on($connection = null) { } /** * Begin querying the model on the write connection. * * @return \FluentForm\Framework\Database\Query\Builder */ public static function onWriteConnection() { } /** * Get all of the models from the database. * * @param array|mixed $columns * @return \FluentForm\Framework\Database\Orm\Collection|static[] */ public static function all($columns = ['*']) { } /** * Begin querying a model with eager loading. * * @param array|string $relations * @return \FluentForm\Framework\Database\Orm\Builder */ public static function with($relations) { } /** * Eager load relations on the model. * * @param array|string $relations * @return $this */ public function load($relations) { } /** * Eager load relationships on the polymorphic relation of a model. * * @param string $relation * @param array $relations * @return $this */ public function loadMorph($relation, $relations) { } /** * Eager load relations on the model if they are not already eager loaded. * * @param array|string $relations * @return $this */ public function loadMissing($relations) { } /** * Eager load relation's column aggregations on the model. * * @param array|string $relations * @param string $column * @param string $function * @return $this */ public function loadAggregate($relations, $column, $function = null) { } /** * Eager load relation counts on the model. * * @param array|string $relations * @return $this */ public function loadCount($relations) { } /** * Eager load relation max column values on the model. * * @param array|string $relations * @param string $column * @return $this */ public function loadMax($relations, $column) { } /** * Eager load relation min column values on the model. * * @param array|string $relations * @param string $column * @return $this */ public function loadMin($relations, $column) { } /** * Eager load relation's column summations on the model. * * @param array|string $relations * @param string $column * @return $this */ public function loadSum($relations, $column) { } /** * Eager load relation average column values on the model. * * @param array|string $relations * @param string $column * @return $this */ public function loadAvg($relations, $column) { } /** * Eager load related model existence values on the model. * * @param array|string $relations * @return $this */ public function loadExists($relations) { } /** * Eager load relationship column aggregation on the polymorphic relation of a model. * * @param string $relation * @param array $relations * @param string $column * @param string $function * @return $this */ public function loadMorphAggregate($relation, $relations, $column, $function = null) { } /** * Eager load relationship counts on the polymorphic relation of a model. * * @param string $relation * @param array $relations * @return $this */ public function loadMorphCount($relation, $relations) { } /** * Eager load relationship max column values on the polymorphic relation of a model. * * @param string $relation * @param array $relations * @param string $column * @return $this */ public function loadMorphMax($relation, $relations, $column) { } /** * Eager load relationship min column values on the polymorphic relation of a model. * * @param string $relation * @param array $relations * @param string $column * @return $this */ public function loadMorphMin($relation, $relations, $column) { } /** * Eager load relationship column summations on the polymorphic relation of a model. * * @param string $relation * @param array $relations * @param string $column * @return $this */ public function loadMorphSum($relation, $relations, $column) { } /** * Eager load relationship average column values on the polymorphic relation of a model. * * @param string $relation * @param array $relations * @param string $column * @return $this */ public function loadMorphAvg($relation, $relations, $column) { } /** * Increment a column's value by a given amount. * * @param string $column * @param float|int $amount * @param array $extra * @return int */ protected function increment($column, $amount = 1, array $extra = []) { } /** * Decrement a column's value by a given amount. * * @param string $column * @param float|int $amount * @param array $extra * @return int */ protected function decrement($column, $amount = 1, array $extra = []) { } /** * Run the increment or decrement method on the model. * * @param string $column * @param float|int $amount * @param array $extra * @param string $method * @return int */ protected function incrementOrDecrement($column, $amount, $extra, $method) { } /** * Update the model in the database. * * @param array $attributes * @param array $options * @return bool */ public function update(array $attributes = [], array $options = []) { } /** * Update the model in the database within a transaction. * * @param array $attributes * @param array $options * @return bool * * @throws \Throwable */ public function updateOrFail(array $attributes = [], array $options = []) { } /** * Update the model in the database without raising any events. * * @param array $attributes * @param array $options * @return bool */ public function updateQuietly(array $attributes = [], array $options = []) { } /** * Save the model and all of its relationships. * * @return bool */ public function push() { } /** * Save the model to the database without raising any events. * * @param array $options * @return bool */ public function saveQuietly(array $options = []) { } /** * Save the model to the database. * * @param array $options * @return bool */ public function save(array $options = []) { } /** * Save the model to the database within a transaction. * * @param array $options * @return bool * * @throws \Throwable */ public function saveOrFail(array $options = []) { } /** * Perform any actions that are necessary after the model is saved. * * @param array $options * @return void */ protected function finishSave(array $options) { } /** * Perform a model update operation. * * @param \FluentForm\Framework\Database\Orm\Builder $query * @return bool */ protected function performUpdate(\FluentForm\Framework\Database\Orm\Builder $query) { } /** * Set the keys for a select query. * * @param \FluentForm\Framework\Database\Orm\Builder $query * @return \FluentForm\Framework\Database\Orm\Builder */ protected function setKeysForSelectQuery($query) { } /** * Get the primary key value for a select query. * * @return mixed */ protected function getKeyForSelectQuery() { } /** * Set the keys for a save update query. * * @param \FluentForm\Framework\Database\Orm\Builder $query * @return \FluentForm\Framework\Database\Orm\Builder */ protected function setKeysForSaveQuery($query) { } /** * Get the primary key value for a save query. * * @return mixed */ protected function getKeyForSaveQuery() { } /** * Perform a model insert operation. * * @param \FluentForm\Framework\Database\Orm\Builder $query * @return bool */ protected function performInsert(\FluentForm\Framework\Database\Orm\Builder $query) { } /** * Insert the given attributes and set the ID on the model. * * @param \FluentForm\Framework\Database\Orm\Builder $query * @param array $attributes * @return void */ protected function insertAndSetId(\FluentForm\Framework\Database\Orm\Builder $query, $attributes) { } /** * Destroy the models for the given IDs. * * @param \FluentForm\Framework\Support\Collection|array|int|string $ids * @return int */ public static function destroy($ids) { } /** * Delete the model from the database. * * @return bool|null * * @throws \LogicException */ public function delete() { } /** * Delete the model from the database within a transaction. * * @return bool|null * * @throws \Throwable */ public function deleteOrFail() { } /** * Force a hard delete on a soft deleted model. * * This method protects developers from running forceDelete when the trait is missing. * * @return bool|null */ public function forceDelete() { } /** * Perform the actual delete query on this model instance. * * @return void */ protected function performDeleteOnModel() { } /** * Begin querying the model. * * @return \FluentForm\Framework\Database\Orm\Builder */ public static function query() { } /** * Get a new query builder for the model's table. * * @return \FluentForm\Framework\Database\Orm\Builder */ public function newQuery() { } /** * Get a new query builder that doesn't have any global scopes or eager loading. * * @return \FluentForm\Framework\Database\Orm\Builder|static */ public function newModelQuery() { } /** * Get a new query builder with no relationships loaded. * * @return \FluentForm\Framework\Database\Orm\Builder */ public function newQueryWithoutRelationships() { } /** * Register the global scopes for this builder instance. * * @param \FluentForm\Framework\Database\Orm\Builder $builder * @return \FluentForm\Framework\Database\Orm\Builder */ public function registerGlobalScopes($builder) { } /** * Get a new query builder that doesn't have any global scopes. * * @return \FluentForm\Framework\Database\Orm\Builder|static */ public function newQueryWithoutScopes() { } /** * Get a new query instance without a given scope. * * @param \FluentForm\Framework\Database\Orm\Scope|string $scope * @return \FluentForm\Framework\Database\Orm\Builder */ public function newQueryWithoutScope($scope) { } /** * Get a new query to restore one or more models by their queueable IDs. * * @param array|int $ids * @return \FluentForm\Framework\Database\Orm\Builder */ public function newQueryForRestoration($ids) { } /** * Create a new Orm query builder for the model. * * @param \FluentForm\Framework\Database\Query\Builder $query * @return \FluentForm\Framework\Database\Orm\Builder|static */ public function newOrmBuilder($query) { } /** * Get a new query builder instance for the connection. * * @return \FluentForm\Framework\Database\Query\Builder */ protected function newBaseQueryBuilder() { } /** * Create a new Orm Collection instance. * * @param array $models * @return \FluentForm\Framework\Database\Orm\Collection */ public function newCollection(array $models = []) { } /** * Create a new pivot model instance. * * @param \FluentForm\Framework\Database\Orm\Model $parent * @param array $attributes * @param string $table * @param bool $exists * @param string|null $using * @return \FluentForm\Framework\Database\Orm\Relations\Pivot */ public function newPivot(self $parent, array $attributes, $table, $exists, $using = null) { } /** * Determine if the model has a given scope. * * @param string $scope * @return bool */ public function hasNamedScope($scope) { } /** * Apply the given named scope if possible. * * @param string $scope * @param array $parameters * @return mixed */ public function callNamedScope($scope, array $parameters = []) { } /** * Convert the model instance to an array. * * @return array */ public function toArray() { } /** * Convert the model instance to JSON. * * @param int $options * @return string * * @throws \FluentForm\Framework\Database\Orm\JsonEncodingException */ public function toJson($options = 0) { } /** * Convert the object into something JSON serializable. * * @return array */ #[\ReturnTypeWillChange] public function jsonSerialize() { } /** * Reload a fresh model instance from the database. * * @param array|string $with * @return static|null */ public function fresh($with = []) { } /** * Reload the current model instance with fresh attributes from the database. * * @return $this */ public function refresh() { } /** * Clone the model into a new, non-existing instance. * * @param array|null $except * @return static */ public function replicate(?array $except = null) { } /** * Determine if two models have the same ID and belong to the same table. * * @param \FluentForm\Framework\Database\Orm\Model|null $model * @return bool */ public function is($model) { } /** * Determine if two models are not the same. * * @param \FluentForm\Framework\Database\Orm\Model|null $model * @return bool */ public function isNot($model) { } /** * Get the database connection for the model. * * @return \FluentForm\Framework\Database\Query\WPDBConnection */ public function getConnection() { } /** * Get the current connection name for the model. * * @return string|null */ public function getConnectionName() { } /** * Set the connection associated with the model. * * @param string|null $name * @return $this */ public function setConnection($name) { } /** * Resolve a connection instance. * * @param string|null $connection * @return \FluentForm\Framework\Database\Query\WPDBConnection */ public static function resolveConnection($connection = null) { } /** * Get the connection resolver instance. * * @return \FluentForm\Framework\Database\ConnectionResolverInterface */ public static function getConnectionResolver() { } /** * Set the connection resolver instance. * * @param \FluentForm\Framework\Database\ConnectionResolverInterface $resolver * @return void */ public static function setConnectionResolver(\FluentForm\Framework\Database\ConnectionResolverInterface $resolver) { } /** * Unset the connection resolver for models. * * @return void */ public static function unsetConnectionResolver() { } /** * Get the table associated with the model. * * @return string */ public function getTable() { } /** * Set the table associated with the model. * * @param string $table * @return $this */ public function setTable($table) { } /** * Get the primary key for the model. * * @return string */ public function getKeyName() { } /** * Set the primary key for the model. * * @param string $key * @return $this */ public function setKeyName($key) { } /** * Get the table qualified key name. * * @return string */ public function getQualifiedKeyName() { } /** * Get the auto-incrementing key type. * * @return string */ public function getKeyType() { } /** * Set the data type for the primary key. * * @param string $type * @return $this */ public function setKeyType($type) { } /** * Get the value indicating whether the IDs are incrementing. * * @return bool */ public function getIncrementing() { } /** * Set whether IDs are incrementing. * * @param bool $value * @return $this */ public function setIncrementing($value) { } /** * Get the value of the model's primary key. * * @return mixed */ public function getKey() { } /** * Get the value of the model's route key. * * @return mixed */ public function getRouteKey() { } /** * Get the route key for the model. * * @return string */ public function getRouteKeyName() { } /** * Retrieve the model for a bound value. * * @param mixed $value * @param string|null $field * @return \FluentForm\Framework\Database\Orm\Model|null */ public function resolveRouteBinding($value, $field = null) { } /** * Retrieve the model for a bound value. * * @param \FluentForm\Framework\Database\Orm\Model $query * @param mixed $value * @param string|null $field * @return \FluentForm\Framework\Database\Orm\Builder */ public function resolveRouteBindingQuery($query, $value, $field = null) { } /** * Get the default foreign key name for the model. * * @return string */ public function getForeignKey() { } /** * Get the number of models to return per page. * * @return int */ public function getPerPage() { } /** * Set the number of models to return per page. * * @param int $perPage * @return $this */ public function setPerPage($perPage) { } /** * Determine if lazy loading is disabled. * * @return bool */ public static function preventsLazyLoading() { } /** * Determine if discarding guarded attribute fills is disabled. * * @return bool */ public static function preventsSilentlyDiscardingAttributes() { } /** * Determine if accessing missing attributes is disabled. * * @return bool */ public static function preventsAccessingMissingAttributes() { } /** * Get the columns of the model (optionally with detail). * * @return array */ public static function getColumns($details = false) { } /** * Dynamically retrieve attributes on the model. * * @param string $key * @return mixed */ public function __get($key) { } /** * Dynamically set attributes on the model. * * @param string $key * @param mixed $value * @return void */ public function __set($key, $value) { } /** * Determine if the given attribute exists. * * @param mixed $offset * @return bool */ #[\ReturnTypeWillChange] public function offsetExists($offset) { } /** * Get the value for a given offset. * * @param mixed $offset * @return mixed */ #[\ReturnTypeWillChange] public function offsetGet($offset) { } /** * Set the value for a given offset. * * @param mixed $offset * @param mixed $value * @return void */ #[\ReturnTypeWillChange] public function offsetSet($offset, $value) { } /** * Unset the value for a given offset. * * @param mixed $offset * @return void */ #[\ReturnTypeWillChange] public function offsetUnset($offset) { } /** * Determine if an attribute or relation exists on the model. * * @param string $key * @return bool */ public function __isset($key) { } /** * Unset an attribute on the model. * * @param string $key * @return void */ public function __unset($key) { } /** * Get the relation resolver callback. * * @param string $method * @return mixed */ public function getRelationResolver($method) { } /** * Handle dynamic method calls into the model. * * @param string $method * @param array $parameters * @return mixed */ public function __call($method, $parameters) { } /** * Handle dynamic static method calls into the model. * * @param string $method * @param array $parameters * @return mixed */ public static function __callStatic($method, $parameters) { } /** * Convert the model to its string representation. * * @return string */ public function __toString() { } /** * Indicate that the object's string representation should be escaped when __toString is invoked. * * @param bool $escape * @return self */ public function escapeWhenCastingToString($escape = true) { } /** * Prepare the object for serialization. * * @return array */ public function __sleep() { } /** * When a model is being unserialized, check if it needs to be booted. * * @return void */ public function __wakeup() { } } } namespace FluentForm\App\Models { class Model extends \FluentForm\Framework\Database\Orm\Model { /** * The attributes that aren't mass assignable. * * @var array */ protected $guarded = ['id', 'ID']; /** * Serialize dates to Y-m-d H:i:s format for backward compatibility. * * The framework v2 defaults to ISO 8601 (e.g. 2026-03-03T08:54:40+00:00) * but existing JS code expects the simple Y-m-d H:i:s format. * * @param DateTimeInterface $date * @return string */ protected function serializeDate(\DateTimeInterface $date) { } /** * Get the number of models to return per page. * * @return int */ public function getPerPage() { } } /** * Legacy duplicate of the Submission model (deprecated code). * * @deprecated Dead pair with EntryMeta: they reference only each other (a circular * relation that is never invoked) plus Form. No external code in free or * Pro uses either class, and remove() has no callers. The live "Entry" * API is \FluentForm\App\Api\Entry; submissions go through Submission. * TODO: delete Entry AND EntryMeta together; remove() kept fail-closed meanwhile. */ class Entry extends \FluentForm\App\Models\Model { /** * The table associated with the model. * * @var string */ protected $table = 'fluentform_submissions'; /** * A formMeta is owned by a form. * * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function form() { } /** * An entry has many meta. * * @return \FluentForm\Framework\Database\Orm\Relations\HasMany */ public function entryMeta() { } /** * An entry has many logs. * * @return \FluentForm\Framework\Database\Orm\Relations\HasMany */ public function logs() { } /** * An entry has many entry details. * * @return \FluentForm\Framework\Database\Orm\Relations\HasMany */ public function entryDetails() { } public function paginateEntries($attributes = []) { } public function countByGroup($formId) { } public function amend($id, $data = []) { } public static function remove($entryIds, $formId = null) { } } class EntryDetails extends \FluentForm\App\Models\Model { /** * The table associated with the model. * * @var string */ protected $table = 'fluentform_entry_details'; /** * Indicates if the model should be timestamped. * * @var bool */ public $timestamps = false; /** * A formMeta is owned by a form. * * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function form() { } /** * A submission detail is owned by a submission. * * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function submission() { } } class EntryMeta extends \FluentForm\App\Models\Model { /** * The table associated with the model. * * @var string */ protected $table = 'fluentform_submission_meta'; /** * A formMeta is owned by a form. * * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function form() { } /** * A formMeta is owned by an entry. * * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function entry() { } } } namespace FluentForm\App\Models\Traits { trait PredefinedForms { public static function resolvePredefinedForm($attributes = []) { } public static function findPredefinedForm($attributes = []) { } public static function getPredefinedForms() { } public static function getBlankConversationalForm() { } } } namespace FluentForm\App\Models { class Form extends \FluentForm\App\Models\Model { use \FluentForm\App\Models\Traits\PredefinedForms; /** * The table associated with the model. * * @var string */ protected $table = 'fluentform_forms'; /** * A form has many form meta. * * @return \FluentForm\Framework\Database\Orm\Relations\HasMany */ public function formMeta() { } /** * A form may have one form meta to determine if * the form is a regular or conversational one. * * @return \FluentForm\Framework\Database\Orm\Relations\HasOne */ public function conversationalMeta() { } /** * A form has many submissions. * * @return \FluentForm\Framework\Database\Orm\Relations\HasMany */ public function submissions() { } /** * A form has many submission meta. * * @return \FluentForm\Framework\Database\Orm\Relations\HasMany */ public function submissionMeta() { } /** * A form has many entry details. * * @return \FluentForm\Framework\Database\Orm\Relations\HasMany */ public function entryDetails() { } /** * A form has many form analytics. * * @return \FluentForm\Framework\Database\Orm\Relations\HasMany */ public function formAnalytics() { } /** * A form has many logs. * * @return \FluentForm\Framework\Database\Orm\Relations\HasMany */ public function logs() { } /** * A form has many transactions. * * @return \FluentForm\Framework\Database\Orm\Relations\HasMany */ public function transactions() { } /** * A form has many order items. * * @return \FluentForm\Framework\Database\Orm\Relations\HasMany */ public function orderItems() { } public static function prepare($attributes = []) { } public static function getFormMeta($metaKey, $formId = null) { } public static function getFormsDefaultSettings($formId = false) { } public static function getAdvancedValidationSettings($formId) { } public static function remove($formId) { } } class FormAnalytics extends \FluentForm\App\Models\Model { /** * The table associated with the model. * * @var string */ protected $table = 'fluentform_form_analytics'; /** * Indicates if the model should be timestamped. * * @var bool */ public $timestamps = false; /** * A formMeta is owned by a form. * * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function form() { } } // phpcs:disable WordPress.DB.SlowDBQuery.slow_db_query_meta_key -- This class uses custom meta table (fluentform_form_meta), not WordPress postmeta class FormMeta extends \FluentForm\App\Models\Model { /** * The table associated with the model. * * @var string */ protected $table = 'fluentform_form_meta'; /** * Indicates if the model should be timestamped. * * @var bool */ public $timestamps = false; /** * A formMeta is owned by a form. * * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function form() { } public static function prepare($attributes, $predefinedForm) { } public static function retrieve($key, $formId = null, $default = null) { } public static function store(\FluentForm\App\Models\Form $form, $formMeta) { } public static function persist($formId, $metaKey, $metaValue) { } public static function remove($formId, $metaKey) { } } class Log extends \FluentForm\App\Models\Model { /** * The table associated with the model. * * @var string */ protected $table = 'fluentform_logs'; /** * Indicates if the model should be timestamped. * * @var bool */ public $timestamps = false; /** * A formMeta is owned by a form. * * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function form() { } } class OrderItem extends \FluentForm\App\Models\Model { /** * The table associated with the model. * * @var string */ protected $table = 'fluentform_order_items'; /** * An order item belongs to a form. * * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function form() { } /** * An order item belongs to a submission. * * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function submission() { } public function scopeBySubmission($query, $submissionId) { } public function scopeProducts($query) { } public function scopeDiscounts($query) { } } class Scheduler extends \FluentForm\App\Models\Model { /** * The table associated with the model. * * @var string */ protected $table = 'ff_scheduled_actions'; /** * A formMeta is owned by a form. * * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function form() { } /** * A schedule action is owned by a submission. * * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function submission() { } } class Submission extends \FluentForm\App\Models\Model { /** * The table associated with the model. * * @var string */ protected $table = 'fluentform_submissions'; /** * A submission is owned by a User. * * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function user() { } /** * A submission is owned by a form. * * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function form() { } /** * A submission has many meta. * * @return \FluentForm\Framework\Database\Orm\Relations\HasMany */ public function submissionMeta() { } /** * A submission has many logs. * * @return \FluentForm\Framework\Database\Orm\Relations\HasMany */ public function logs() { } /** * A submission has many entry details. * * @return \FluentForm\Framework\Database\Orm\Relations\HasMany */ public function entryDetails() { } /** * A submission has many transactions. * * @return \FluentForm\Framework\Database\Orm\Relations\HasMany */ public function transactions() { } /** * A submission has many subscriptions. * * @return \FluentForm\Framework\Database\Orm\Relations\HasMany */ public function subscriptions() { } /** * A submission has many order items. * * @return \FluentForm\Framework\Database\Orm\Relations\HasMany */ public function orderItems() { } /** * Returns the column the entries listing should be sorted by. * Defaults to created_at so imported entries respect their original * submission date. Site owners can switch back to legacy id-based * ordering via the fluentform/entries_default_sort_column filter. */ public static function getSortColumn() { } public function customQuery($attributes = [], $searchExtender = null) { } public function paginateEntries($attributes = []) { } public function findAdjacentSubmission($attributes = []) { } public function countByGroup($formId) { } public function amend($id, $data = []) { } public static function remove($submissionIds, $formId = null) { } public function allSubmissions($attributes = []) { } public function availableForms() { } public static function report($attributes) { } } // phpcs:disable WordPress.DB.SlowDBQuery.slow_db_query_meta_key -- This class uses custom meta table (fluentform_submission_meta), not WordPress postmeta class SubmissionMeta extends \FluentForm\App\Models\Model { /** * The table associated with the model. * * @var string */ protected $table = 'fluentform_submission_meta'; /** * A formMeta is owned by a form. * * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function form() { } /** * A formMeta is owned by a submission. * * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function submission() { } public static function retrieve($key, $submissionId = null, $default = null) { } public static function persist($submissionId, $metaKey, $metaValue, $formId = null) { } public static function persistArray($submissionId, $metaKey, $metaValue, $formId = null) { } } class Subscription extends \FluentForm\App\Models\Model { /** * The table associated with the model. * * @var string */ protected $table = 'fluentform_subscriptions'; /** * A subscription belongs to a form. * * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function form() { } /** * A subscription belongs to a submission. * * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function submission() { } /** * A subscription has many transactions. * * @return \FluentForm\Framework\Database\Orm\Relations\HasMany */ public function transactions() { } public function getOriginalPlanAttribute($value) { } public function getVendorResponseAttribute($value) { } public function scopeBySubmission($query, $submissionId) { } public function scopeByVendorSubscriptionId($query, $vendorId) { } public function scopeActive($query) { } } class Transaction extends \FluentForm\App\Models\Model { /** * The table associated with the model. * * @var string */ protected $table = 'fluentform_transactions'; /** * A transaction belongs to a form. * * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function form() { } /** * A transaction belongs to a submission. * * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function submission() { } /** * A transaction may belong to a subscription. * * @return \FluentForm\Framework\Database\Orm\Relations\BelongsTo */ public function subscription() { } public function scopeBySubmission($query, $submissionId) { } public function scopeByChargeId($query, $chargeId) { } public function scopeOnetime($query) { } public function scopeRefunds($query) { } public function scopeSubscriptionType($query) { } public function scopePaid($query) { } } class User extends \FluentForm\App\Models\Model { /** * The table associated with the model. * * @var string */ protected $table = 'users'; /** * The accessors to append to the model's array form. * * @var array */ protected $appends = ['id', 'name', 'email', 'permalink']; /** * The attributes that should be hidden for arrays. * * @var array */ protected $hidden = ['ID', 'user_email', 'user_pass', 'display_name']; /** * Get the id of the user. * * @return bool */ public function getIdAttribute() { } /** * Get the name of the user. * * @return string */ public function getNameAttribute() { } /** * Get the email of the user. * * @return string */ public function getEmailAttribute() { } /** * Get the permalink of the user. * * @return string */ public function getPermalinkAttribute() { } } } namespace FluentForm\App\Modules\Acl { class Acl { public static $capability = ''; public static $role = ''; public static function normalizeFormId($formId) { } public static function verifyFormId($formId, $message = 'Invalid form id.', $json = true) { } public static function getPermissionSet() { } /** * Fluentform access controll permissions assignment. */ public static function setPermissions() { } /** * Verify if current user has a fluentform permission. * * @param $permission * @param null $formId * @param string $message * @param bool $json * * @throws \Exception */ public static function verify($permission, $formId = null, $message = 'You do not have permission to perform this action.', $json = true) { } public static function hasPermission($permissions, $formId = false) { } private static function hasExplicitFullAccess() { } private static function filterPermissionCheck($permission, $allowed, $formId) { } public static function hasAnyFormPermission($form_id = false) { } public static function getCurrentUserCapability() { } public static function findUserCapability($user) { } public static function getCurrentUserRole() { } public static function verifyNonce($key = 'fluent_forms_admin_nonce') { } public static function getReadablePermissions() { } public static function getUserPermissions($user = false) { } public static function isSuperMan($user = false) { } public static function getCurrentUserPermissions() { } public static function attachPermissions($user, $permissions) { } } } namespace FluentForm\App\Modules { class AddOnModule { /** * The number of days we'll cached the add-ons got from remote server. * * @var integer */ protected $cacheDays = 1; /** * The URL to fetch the add-ons * * @var string */ protected $addOnsFetchUrl = 'https://wpmanageninja.com/add-ons.json'; /** * Render the add-ons list page. */ public function render() { } /** * Show the add-ons list. */ public function showFluentAddOns() { } public function getPremiumAddOns() { } /** * Show the suggested plugins list. */ public function showSuggestedPlugins() { } /** * Get the list of suggested WordPress plugins. * * @return array */ public function getSuggestedPlugins() { } /** * Get the installation and activation status of a plugin. * * @param string $pluginSlug The plugin slug (e.g., 'fluent-crm/fluent-crm.php') * @return string 'active', 'inactive', or 'not_installed' */ private function getPluginStatus($pluginSlug) { } } } namespace FluentForm\App\Modules\Ai { /** * Handling Ai Module. * * @since 6.0.0 */ class AiController { public function boot() { } } } namespace FluentForm\App\Services\Form { class FormService { /** @var \FluentForm\Framework\Foundation\Application */ protected $app; /** @var \FluentForm\App\Models\Form|\FluentForm\Framework\Database\Query\Builder */ protected $model; /** @var \FluentForm\App\Services\Form\Updater */ protected $updater; /** @var \FluentForm\App\Services\Form\Duplicator */ protected $duplicator; /** @var \FluentForm\App\Services\Form\Fields */ protected $fields; public function __construct() { } /** * Get the paginated forms matching search criteria. * * @param array $attributes * @return array */ public function get($attributes = []) { } /** * Store a form with its associated meta. * * @param array $attributes * @return \FluentForm\App\Models\Form $form * @throws Exception */ public function store($attributes = []) { } /** * Duplicate a form with its associated meta. * * @param array $attributes * @return \FluentForm\App\Models\Form $form * @throws Exception */ public function duplicate($attributes = []) { } public function find($id) { } public function delete($id) { } /** * Update a form with its relevant fields. * * @param array $attributes * @return \FluentForm\App\Models\Form $form * @throws Exception */ public function update($attributes = []) { } /** * Duplicate a form with its associated meta. * * @param int $id * @return \FluentForm\App\Models\Form $form * @throws Exception */ public function convert($id) { } public function templates() { } public function components($formId) { } public function getDisabledComponents() { } public function fields($id) { } public function shortcodes($id) { } public function pages() { } public function getInputsAndLabels($formId, $with = ['admin_label', 'raw']) { } public function findShortCodePage($formId) { } protected static function flattenBlocks($blocks) { } public static function getShortCodeId($content, $shortcodeTag = 'fluentform') { } } } namespace FluentForm\App\Modules\Ai { class AiFormBuilder extends \FluentForm\App\Services\Form\FormService { private $allDefaultFields = []; public function __construct() { } public function buildForm() { } /** * @param array $form * @return Form|\FluentForm\Framework\Database\Query\Builder * @throws Exception */ protected function prepareAndSaveForm($form) { } /** * @param array $args * @return array response form fields * @throws Exception */ protected function generateForm($args) { } protected function getDefaultFields() { } protected function processField($element, $field, $allFields) { } protected function resolveInput($field) { } protected function getOptions($options = []) { } protected function getBlankFormConfig() { } protected function saveForm($formattedInputs, $title, $isStepForm = false, $isConversational = false, $customCss = '') { } protected function prepareCustomForm($formattedInputs, $isStepForm) { } protected function resolveContainerFields($field, $allFields) { } /** * @return array */ protected function getStepWrapper() { } private function getUserPrompt($args) { } private function getPromptContractInstructions() { } private function applyPromptHints(array $form, array $args) { } private function applyHintsToFields(array $fields, array $hints, &$hintIndex) { } private function mergeFieldHint(array $field, array $hint) { } private function extractPromptFieldHints($prompt) { } private function looksLikeFieldLine($line) { } private function extractHelpMessage($attributesText) { } private function extractAllowedFileTypes($line) { } private function containsAnyPhrase($text, array $phrases) { } private function getRequiredKeywords() { } private function getOptionalKeywords() { } private function getFileUploadKeywords() { } private function getFieldDescriptorKeywords() { } } /** * Handling AI Api. * @since 6.0.0 */ class FluentFormAIAPI { private $url = 'https://ai.fluentforms.com/'; public function makeRequest($requestData = []) { } } } namespace FluentForm\App\Modules\CLI { class Commands { public function stats($args, $assoc_args) { } public function activate_license($args, $assoc_args) { } public function license_status() { } } } namespace FluentForm\App\Modules\Component { trait ComponentInitTrait { /** * Initialize the component and register the * component by registering actions/filters. */ public function _init() { } /** * Validate certain required properties * * @return void */ private function _fluentFormValidateComponent() { } /** * Add the component in fluentform editor's components array. * * @param array $components * * @return array $components */ public function _fluentEditorComponenstCallback($components) { } /** * Add the keywords for the component to search in the editor. * * @param array $keywords * * @return array $keywords */ public function _fluentEditorElementSearchTagsCallback($keywords) { } /** * Configure placements of input customization options in editor. * * @param array $placemenSettings * * @return array $placemenSettings */ public function _fluentEditorElementSettingsPlacementCallback($placementSettings) { } /** * Configure input customization options/items in the editor. * * @param array $customizationSettings * * @return array $customizationSettings */ public function _fluentEditorElementCustomizationSettingsCallback($customizationSettings) { } /** * Prepare the submission data for the element on Form Submission. * * @param array $formData * @param int $formId * @param array $inputConfigs * * @return array $formData */ public function _fluentformInsertResponseDataCallback($formData, $formId, $inputConfigs) { } /** * Add the component type in fluentform field * types to be available in FormFieldParser. * * @param array $types * * @return array $types */ public function _fluentformFormInputTypesCallback($types) { } /** * Render the component. * * @param array $data * @param \stdClass $form * * @return void */ public function _elementRenderHookCallback($item, $form) { } /** * Element's entry value transformation. * * @param mixed $value * @param string $field * @param int $formId * * @return mixed $value */ public function _elementEntryFormatCallback($value, $field, $formId) { } } abstract class BaseComponent { use \FluentForm\App\Modules\Component\ComponentInitTrait; /** * The unique name of the component. * * @return string */ abstract public function name(); /** * The label of the component. * * @return string */ abstract public function label(); /** * The element type of the component from already * available elements (input_text, textarea e.t.c). * * @return string */ abstract public function element(); /** * The template type of the component to display preview in editor dropzone from * already available templates (inputText, selectCountry, addressFields e.t.c). * * @return string */ abstract public function template(); /** * Render the element on frontend form. * * @param array $component Element Config * @param object $form The Form Object * * @return void */ abstract public function render($component, $form); /** * Form submission callback. * * @param array $formData Submitted form data * @param int $formId Submitted form id * @param array $config Form elements config * * @return array $formData */ abstract public function onSubmit($formData, $formId, $config); /** * Component position in editor. If null is returned then * the element will be pushed at last but the derived class * will override this method if any customization is needed. * * @return int|null */ public function index() { } /** * The group, where the component should be added. By default, * the element will be added in "general" group and the derived * class will override this method if any customization is needed. * * @return string general|advanced|container */ public function group() { } /** * The element icon class for the component to display in the button in * the editor element list which is mapped to editor_options.icon_class. * * @return string */ public function elementIconClass() { } /** * Element editor/form attributes and the derived class will * override this method if any customization is needed. * * @param array $dafault * * @return array $default */ public function attributes($default) { } /** * Element editor settings and the derived class will * override this method if any customization is needed. * * @param array $dafault * * @return array $default */ public function settings($default) { } /** * Element editor options and the derived class will * override this method if any customization is needed. * * @param array $dafault * * @return array $default */ public function options($default) { } /** * Element's form submission validation rules and the derived * class will override this method if needed any customization. * * @return array */ public function validationRules() { } /** * Element editor placement settings and the derived class * will override this method if any customization is needed. * * @param array $placemenSettings * * @return array $placemenSettings */ public function placementSettings($placemenSettings) { } /** * The customization for the component and derived class can * override this method if any customization is needed. * * @param array $customizationSettings * * @return array $customizationSettings */ public function customizationSettings($customizationSettings) { } /** * Add the component type in fluentform field types to * be available in FormFieldParser and derived class can * override this method if any customization is needed. * * @param array $types * * @return array $types */ public function addType($types) { } /** * The keywords to search the element in the editor and * the derived class will override this method if needed. * * @return array */ public function searchBy() { } /** * Transform the element's submitted value saved in database * to show it properly/formatted in entry page if needed and * this method implementation optional so a default method is * implemented here and original value is returned. In any case * if any customization of the value is needed then the derived * class will override it and will format and return the the value. * * @param mixed $value [description] * @param string $field * @param int $formId * * @return mixed $value */ public function formatEntryValue($value, $field, $formId) { } } class Component { /** * FluentForm\Framework\Foundation\Application * * @var $app */ protected $app = null; /** * Determine whether to register Elementor PopUp handler. * * @var bool */ protected $elementorPopUpHandler = false; /** * Biuld the instance of this class * * @param \FluentForm\Framework\Foundation\Application $app */ public function __construct(\FluentForm\Framework\Foundation\Application $app) { } public function registerScripts() { } protected function maybeLoadFluentFormStyles() { } /** * Get all the available components * @deprecated Use \FluentForm\App\Http\Controllers\FormController::resources * @return void * * @throws \Exception * @throws \FluentForm\Framework\Exception\UnResolveableEntityException */ public function index() { } /** * Get disabled components * * @return array */ private function getDisabledComponents() { } /** * Get available shortcodes for editor * * @return void * * @throws \Exception */ public function getEditorShortcodes() { } /** * @deprecated Use \FluentForm\App\Services\Form\FormService::shortcodes * Get all available shortcodes for editor * * @return void * * @throws \Exception */ public function getAllEditorShortcodes() { } /** * Register the form renderer shortcode * * @return void */ public function addFluentFormShortCode() { } public function renderForm($atts) { } protected function getNotRenderableHtml($formId, $message) { } /** * Process the output HTML to generate the default values. * * @param string $output * @param \stdClass $form * * @return string */ public function replaceEditorSmartCodes($output, $form) { } /** * Register renderer actions for compiling each element * * @return void */ public function addRendererActions() { } /** * Register dynamic value shortcode parser (filter default value) * * @return void */ public function addFluentFormDefaultValueParser() { } /** * Register filter to check whether the form is renderable or active * * @return mixed */ public function addIsRenderableFilter() { } /** * Check if limit is set on form submits and it's valid yet * * @param array $restrictions * * @return bool */ private function limitNumberOfEntries($restrictions, $form, &$isRenderable) { } /** * Check if form has scheduled date & weekdays and open for submission * * @param array $restrictions * * @return bool */ private function scheduleForm($restrictions, $form, &$isRenderable) { } /** * * Check if form requires loged in user and user is logged in * * @param array $restrictions * * @return bool */ private function requireLogin($restrictions, $form, &$isRenderable) { } /** * Register fluentform_submission_inserted actions * * @return void */ public function addFluentformSubmissionInsertedFilter() { } /** * Add inline scripts [Add localized script using same var] * * @return void */ private function addInlineVars() { } public static function getDatei18n() { } protected function maybeHasAdvandedFields($form, $formBuilder) { } public function registerInputSanitizers() { } public function getNumericInputValue($value, $field) { } public function registerHelperShortCodes() { } private function localizeJavaScriptMessages($form) { } } } namespace FluentForm\App\Modules { class DashboardWidgetModule { /** * Constructor - automatically registers cache invalidation hooks */ public function __construct() { } public function showStat() { } private function printStats($stats) { } private function getInstallUrl($plugin) { } } class DocumentationModule { public function render() { } private function getUserGuides() { } } class EditorButtonModule { public function addButton() { } private function addMceButtonAssets() { } private function pageSupportedMediaButtons() { } private function getMenuIcon() { } } } namespace FluentForm\App\Modules\Entries { /** * @deprecated Use SubmissionService or direct wpFluent() queries instead. * @todo Remove in next major version. */ class EntryQuery { protected $request; protected $formModel; protected $responseModel; protected $formId = false; protected $per_page = 10; protected $page_number = 1; protected $status = false; protected $is_favourite = null; protected $sort_by = 'ASC'; protected $search = false; protected $wheres = []; protected $startDate; protected $endDate; public function __construct() { } public function getResponses() { } } /** * @deprecated Use SubmissionService or direct wpFluent() queries instead. * Backward-compatible stub kept for third-party plugins (Ninja Tables, etc.) * that resolve this class via wpFluentForm() container. * @todo Remove in next major version. */ class Entries extends \FluentForm\App\Modules\Entries\EntryQuery { public function __construct() { } /** * @deprecated Use direct queries or REST API instead. */ public function _getEntries($formId, $currentPage, $perPage, $sortBy, $entryType, $search, $wheres = []) { } public function getFormInputsAndLabels($form, $with = ['admin_label', 'raw']) { } } class EntryViewRenderer { public function renderEntries($form_id) { } } /** * @deprecated Use TransferService::exportEntries() instead. * @todo Remove in next major version. */ class Export { protected $app; protected $request; protected $tableName; public function __construct(\FluentForm\Framework\Foundation\Application $application, $tableName = 'fluentform_submissions') { } /** * @deprecated Use TransferService::exportEntries() instead. */ public function index() { } } /** * * @deprecated use FluentForm\App\Services\Report\ReportHelper * all used method reference updated with new ReportHelper, except Fluentformpro * */ class Report { private $app; private $formModel; public function __construct(\FluentForm\Framework\Foundation\Application $app) { } /** * Get report * * @param bool $formId */ public function getReport($formId = false) { } public function generateReport($form, $statuses = []) { } public function getInputReport($formId, $fieldNames, $whereClasuses) { } public function getSubFieldInputReport($formId, $fieldNames, $whereClasuses) { } protected function getFormattedReportsForSubInputs($reports, $formId, $whereClasuses) { } protected function setReportForSubInput($report, &$formattedReports) { } public function getEntryTotal($fieldName, $formId, $whereClasuses) { } private function maybeMigrateData($formId) { } private function getEntryCounts($formId, $statuses = false) { } private function getBrowserCounts($formId, $statuses) { } private function getDeviceCounts($formId, $statuses) { } } } namespace FluentForm\App\Modules\Form { class AkismetHandler { public static function isEnabled() { } public static function isPluginEnabled() { } public static function isSpamSubmission($formData, $form) { } protected static function getAkismetFields($data, $form) { } } class CleanTalkHandler { public function setCleanTalkScript() { } public static function validate($accessKey) { } public static function spamSubmissionCheckWithApi($formData, $form) { } public static function isCleantalkActivated() { } public static function isEnabled() { } public static function isPluginEnabled() { } public static function isSpamSubmission($formData, $form) { } protected static function getCleanTalkRequest($data, $form) { } } class DefaultStyleApplicator { public function __construct() { } /** * Apply default style template to newly created forms * * @param int $formId The ID of the newly created form * @param array $formData The form data * * @return void */ public function applyDefaultStyles($formId, $formData) { } } class Form { /** * Request object * * @var \FluentForm\Framework\Request\Request $request */ protected $request; /** * Set this value when we need predefined default settings. * * @var array $defaultSettings */ protected $defaultSettings; /** * Set this value when we need predefined default notifications. * * @var array $defaultNotifications */ protected $defaultNotifications; /** * Set this value when we need predefined form fields. * * @var array $formFields */ protected $formFields; protected $metas = []; protected $formType = 'form'; protected $hasPayment = 0; /** * @var \FluentForm\Framework\Database\Query\Builder */ protected $model = null; /** * Form constructor. * * @param \FluentForm\Framework\Foundation\Application $application */ public function __construct(\FluentForm\Framework\Foundation\Application $application) { } /** * Get all forms from database */ public function index() { } /** * Create a form from backend/editor * * @return void|array */ public function store($returnJSON = true) { } public function getFormsDefaultSettings($formId = false) { } public function getAdvancedValidationSettings($formId) { } public function getMeta($formId, $metaKey, $isJson = true) { } public function updateMeta($formId, $metaKey, $metaValue) { } public function deleteMeta($formId, $metaKey) { } /** * Find/Read a from from the database */ public function find() { } /** * Fetch a from from the database * Note: required for ninja-tables * * @return mixed */ public function fetchForm($formId) { } /** * Save/update a form from backend/editor */ public function update() { } private function sanitizeFields($formFields) { } private function sanitizeFieldMaps($fields) { } /** * Delete a from from database */ public function delete() { } protected function deleteFormAssests($formId) { } /** * Duplicate a from */ public function duplicate() { } /** * Validate a form by form title & for duplicate name attributes */ private function validate() { } public function convertToConversational() { } private function getAdminPermalink($route, $form) { } private function getSettingsUrl($form) { } /** * Map pdf feed ID to replace with duplicated PDF feed ID when duplicating form * * @param array $extras * @param array $newFormId * * @return array */ private function getPdfFeedMap($extras, $newFormId) { } /** * Map notification data with PDF feed map * * @param array $extras * @param array $pdfFeedMap * * @return array */ private function notificationWithPdfMap($extras, $pdfFeedMap) { } public function findFormLocations() { } public static function getShortCodeIds($content) { } } class FormDataParser { protected static $data = null; protected static $submissionId = null; public static function parseFormEntries($entries, $form, $fields = null) { } public static function parseFormEntry($entry, $form, $fields = null, $isHtml = false) { } public static function parseFormSubmission($submission, $form, $fields, $isHtml = false) { } public static function parseData($response, $fields, $formId, $isHtml = false) { } public static function formatValue($value) { } public static function formatFileValues($values, $isHtml, $form_id = null) { } public static function formatImageValues($values, $isHtml, $form_id = null) { } public static function formatRepeatFieldValue($value, $field, $form_id) { } public static function formatTabularGridFieldValue($value, $field, $form_id, $isHtml = false) { } public static function makeTabularData($data) { } /** * Format input_name field value by concatenating all name fields. * * @param array|object $value * * @return string $value */ public static function formatName($value) { } public static function formatCheckBoxValues($values, $field, $isHtml = false) { } public static function resetData() { } } /** * Available methods * * @method static array getShortCodeInputs(\stdClass $form, array $with = ['admin_label']) * @method static array getValidations(\stdClass $form, array $inputs, array $fields = []) * @method static array getElement(\stdClass $form, string|array $name, array $with = []) * @method static boolean hasElement(\stdClass $form, string $name) * @method static boolean hasPaymentFields(\stdClass $form) * @method static array getPaymentFields(\stdClass $form, $with = []) * @method static array getPaymentInputFields(\stdClass $form, $with = []) * @method static array getAttachmentInputFields(\stdClass $form, $with = []) * @method static boolean hasRequiredFields(\stdClass $form, array $fields) * @method static array getInputsByElementTypes(\stdClass $form, array $elements, array $with = []) * @method static array|null getField(\stdClass $form, string|array $element, string|array $attribute, array $with = []) * @method static array getEssentialInputs(\stdClass $form, array $inputs, array $with) */ class FormFieldsParser { protected static $forms = []; protected static $formsWith = []; public static function maybeResetForm($form, $with) { } public static function getFields($form, $asArray = false) { } public static function getInputs($form, $with = []) { } public static function getEntryInputs($form, $with = ['admin_label', 'raw']) { } public static function parse($key, $form, $with) { } public static function getAdminLabels($form, $fields = []) { } /** * Deligate dynamic static method calls to FormParser method. * And set the result to the store before returning to dev. * * @param string $method * @param array $parameters * * @return mixed */ public static function __callStatic($method, $parameters) { } public static function resetData() { } } /* @deprecated Use class \FluentForm\App\Http\Controllers\SubmissionHandlerController */ class FormHandler { /** * App instance * * @var \FluentForm\Framework\Foundation\Application */ protected $app; /** * Request object * * @var \FluentForm\Framework\Request\Request */ protected $request; /** * Form Data * * @var array $formData */ protected $formData; /** * The Fluent Forms object. * * @var \stdClass */ protected $form; /** * Form Handler constructor. * * @param \FluentForm\Framework\Foundation\Application $app */ public function __construct(\FluentForm\Framework\Foundation\Application $app) { } /** * Set the form using it's ID. * * @param $formId * * @return $this */ public function setForm($formId) { } /** * Handle form submition */ public function onSubmit() { } public function processFormSubmissionData($insertId, $formData, $form) { } public function getReturnData($insertId, $form, $formData) { } /** * Validate form data. * * @param $fields * * @return bool */ private function validate(&$fields) { } /** * Validate nonce. */ protected function validateNonce() { } protected function handleSpamError() { } protected function isAkismetSpam($formData, $form) { } /** * Validate reCaptcha. */ private function validateReCaptcha() { } /** * Validate hCaptcha. */ private function validateHCaptcha() { } /** * Validate turnstile. */ private function validateTurnstile() { } /** * Validate form data based on the form restrictions settings. * * @param $fields */ private function validateRestrictions(&$fields) { } /** * Handle response when empty form submission is not allowed. * * @param array $settings * @param $fields */ private function handleDenyEmptySubmission($settings, &$fields) { } /** * Prepare the data to be inserted to the database. * * @param boolean $formData * * @return array */ public function prepareInsertData($formData = false) { } /** * Delegate the validation rules & messages to the * ones that the validation library recognizes. * * @param $rules * @param $messages * * @return array */ protected function delegateValidations($rules, $messages, $search = [], $replace = []) { } /** * Prevents malicious attacks when the submission * count exceeds in an allowed interval. */ public function preventMaliciousAttacks() { } } class HoneyPot { private $app; public function __construct(\FluentForm\Framework\Foundation\Application $application) { } public function renderHoneyPot($form) { } public function verify($insertData, $requestData, $formId) { } public function isEnabled($formId = false) { } private function getFieldName($formId) { } } class Inputs { /** * Request object * * @var \FluentForm\Framework\Request\Request */ private $request; /** * Build the class instance * * @throws \Exception */ public function __construct(\FluentForm\Framework\Foundation\Application $application) { } /** * Get all the flatten form inputs for shortcode generation. */ public function index() { } } } namespace FluentForm\App\Modules\Form\Settings { class EntryColumnViewSettings { /** * Request object * * @var \FluentForm\Framework\Request\Request $request */ protected $request; public function __construct() { } /** * Save settings for visible entry columns * * @return void */ public function saveVisibleColumnsAjax() { } /** * Save settings for entry column display order */ public function saveEntryColumnsOrderAjax() { } /** * Reset column display order settings */ public function resetEntryDisplaySettings() { } protected function store($formId, $metaKey, $metaValue) { } } class FormCssJs { /** * Request object * * @var \FluentForm\Framework\Request\Request $request */ protected $request; public function __construct() { } public function addCustomCssJs($formId) { } public function addStylerCSS($formId, $styles = []) { } public function getCss($formId) { } public function getJs($formId) { } public function addCss($formId, $css, $cssId = 'fluentform_custom_css') { } public function addJs($formId, $customJS) { } /** * Get settings for a particular form by id */ public function getSettingsAjax() { } /** * Save settings for a particular form by id */ public function saveSettingsAjax() { } protected function getData($formId, $metaKey) { } protected function store($formId, $metaKey, $metaValue) { } } class FormSettings { /** * Request object * * @var \FluentForm\Framework\Request\Request */ private $request; private $app; private $formId; /** * The settings (fluentform_form_meta) query builder. * * @var \WpFluent\QueryBuilder\QueryBuilderHandler */ private $settingsQuery; /** * Construct the object * * @throws \Exception */ public function __construct(\FluentForm\Framework\Foundation\Application $application) { } /** * Get settings for a particular form by id */ public function index() { } public function getGeneralSettingsAjax() { } public function saveGeneralSettingsAjax() { } /** * Save settings/meta for a form in database */ public function store() { } /** * Delete settings/meta from database for a given form */ public function remove() { } private function sanitizeData($settings, $sanitizerMap) { } } } namespace FluentForm\App\Modules\Form\Settings\Validator { class Confirmations { /** * Validates confirmations settings data. * * @param array $data * * @return bool */ public static function validate($data = []) { } /** * Produce the necessary validation rules and corresponding messages * * @return array */ public static function validations() { } /** * Add conditional validations to the validator. * * @param \FluentForm\Framework\Validator\Validator $validator * * @return \FluentForm\Framework\Validator\Validator */ public static function conditionalValidations(\FluentForm\Framework\Validator\Validator $validator) { } } class MailChimps { /** * Validates mailchimp feed settings data. * * @param array $data * * @return bool */ public static function validate($data = []) { } /** * Produce the necessary validation rules and corresponding messages * * @return array */ public static function validations() { } /** * Add conditional validations to the validator. * * @param \FluentForm\Framework\Validator\Validator $validator * * @return \FluentForm\Framework\Validator\Validator */ public static function conditionalValidations(\FluentForm\Framework\Validator\Validator $validator) { } } class Notifications { /** * Validates notifications settings data. * * @param array $data * * @return bool */ public static function validate($data = []) { } /** * Produce the necessary validation rules and corresponding messages * * @return array */ public static function validations() { } /** * Add conditional validations to the validator. * * @param \FluentForm\Framework\Validator\Validator $validator * * @return \FluentForm\Framework\Validator\Validator */ public static function conditionalValidations(\FluentForm\Framework\Validator\Validator $validator) { } } class Pdfs { /** * Validates mailchimp feed settings data. * * @param array $data * * @return bool */ public static function validate($data = []) { } /** * Produce the necessary validation rules and corresponding messages * * @return array */ public static function validations() { } /** * Add conditional validations to the validator. * * @param \FluentForm\Framework\Validator\Validator $validator * * @return \FluentForm\Framework\Validator\Validator */ public static function conditionalValidations(\FluentForm\Framework\Validator\Validator $validator) { } } class Validator { /** * Centralized validator for all the settings data. * * @param $key * @param array $data */ public static function validate($key, $data = []) { } } } namespace FluentForm\App\Modules\Form { class TokenBasedSpamProtection { public function __construct($app) { } public function renderTokenField($form) { } public function ajaxGenerateToken() { } private function generateToken($formId) { } public function verify($insertData, $requestData, $formId) { } private function validateToken($token, $formId) { } private function handleSpam($reason) { } public function isEnabled($formId = false) { } private function getFieldName($formId) { } } /* @deprecated Current File FluentForm\App\Http\Controllers\TransferController */ class Transfer { /** * Request object * * @var \FluentForm\Framework\Request\Request $request */ protected $request; /** * Transfer constructor. * * @param \FluentForm\Framework\Foundation\Application $application */ public function __construct(\FluentForm\Framework\Foundation\Application $application) { } /** * Export forms as JSON. */ public function export() { } /** * Import forms from a previously exported JSON file. */ public function import() { } public function getFormMetas($formId) { } } } namespace FluentForm\App\Modules\HCaptcha { class HCaptcha { /** * Verify hCaptcha response. * * @param string $token response from the user. * @param null $secret provided or already stored secret key. * * @return bool */ public static function validate($token, $secret = null) { } } } namespace FluentForm\App\Modules\Logger { class DataLogger { public $app; public function __construct(\FluentForm\Framework\Foundation\Application $app) { } public function getLogFilters() { } public function log($data) { } public function getLogsByEntry($entry_id, $log_type = 'logs', $sourceType = 'submission_item') { } public function getAllLogs() { } public function getApiLogs() { } public function deleteLogsByIds($ids = []) { } public function deleteApiLogsByIds($ids = []) { } public function retryApiAction() { } private function getEntry($submission, $form) { } public function getApiLogFilters() { } } } namespace FluentForm\App\Modules\Payments { class AjaxEndpoints { public function handleEndpoint($route) { } public function enablePaymentModule() { } private function upgradeDB() { } public function updateGlobalSettings() { } public function getPaymentMethodSettings() { } public function savePaymentMethodSettings() { } public function getFormSettings() { } public function saveFormSettings() { } public function updateTransaction() { } public function getStripeConnectConfig() { } public function disconnectStripeConnect() { } public function getWpPages() { } public function cancelSubscription() { } } } namespace FluentForm\App\Modules\Payments\Classes { class PaymentAction { private $form; private $data; private $submissionData; private $submissionId = null; private $orderItems = []; private $hookedOrderItems = []; private $subscriptionItems = []; private $quantityItems = []; public $selectedPaymentMethod = ''; public $methodSettings = []; protected $paymentInputs = null; protected $subscriptionInputs = null; protected $currency = null; protected $methodField = null; protected $discountCodes = []; protected $couponField = []; public function __construct($form, $insertData, $data) { } private function setSubmissionData($insertData) { } private function setupData() { } public function isConditionPass() { } public function isFieldConditionPass($field) { } /** * Visible only when the coupon field's own conditions and every ancestor * container's conditions pass — so a coupon inside a hidden container is * not honored. */ public function isCouponFieldVisible($couponField) { } /** * Return the ancestor container fields wrapping $targetName (containers nest * children under columns[].fields[]), or null if not found in this branch. */ public function getFieldAncestorContainers($fields, $targetName, $ancestors = []) { } public function draftFormEntry() { } public function getOrderItems($forced = false) { } private function getQuantity($productName) { } private function pushItem($data) { } private function getItemFromVariables($item, $key) { } public function getCalculatedAmount() { } public function getPaymentType() { } private function getCurrency() { } public function getSubscriptionItems() { } private function checkForExistingSubmission() { } private function insertOrderItems($items, $existing = false) { } private function validateSubscriptionInputs() { } protected function applyDiscountCodes() { } } class PaymentEntries { public function init() { } public function loadApp() { } public function getPayments() { } public function handleBulkAction() { } private function authorizeTransactionForms($transactionData) { } public function getFilters() { } } class PaymentManagement { public function cancelSubscription($subscription) { } } class PaymentReceipt { private $entry; private $orderItems = null; private $subscriptions = null; private $subscriptionTotal = null; private $discountItems = null; public function __construct($entry) { } public function getItem($property) { } public function getSubmissionValue($property) { } public function getOrderItems() { } private function getSubscriptions() { } public function getDiscountItems() { } public function renderReceipt() { } private function beforePaymentReceipt() { } private function afterPaymentReceipt() { } private function paymentInfo() { } private function paymentInfoTable() { } private function itemDetails() { } private function customerDetails() { } private function loadCss() { } public function loadView($fileName, $data) { } private function subscriptionDetails() { } } } namespace FluentForm\App\Services\FormBuilder\Components { class BaseComponent { public $app; public function __construct($key = '', $title = '', $tags = [], $position = 'advanced') { } /** * Build unique ID concatenating form id and name attribute * * @param array $data $form * * @return string for id value */ protected function makeElementId($data, $form) { } /** * Build attributes for any html element * * @param array $attributes * * @return string [Compiled key='value' attributes] */ protected function buildAttributes($attributes, $form = null) { } /** * Extract value attribute from attribute list * * @param array &$element * * @return string */ protected function extractValueFromAttributes(&$element) { } protected function extractDynamicValues($data, $form) { } /** * Determine if the given element has conditions bound * * @param array $element [Html element being compiled] * * @return bool */ protected function hasConditions($element) { } /** * Generate a unique id for an element * * @param string $str [preix] * * @return string [Unique id] */ protected function getUniqueId($str) { } /** * Get a default class for each form element wrapper * @return string */ protected function getDefaultContainerClass() { } /** * Get required class for form element wrapper * * @param array $rules [Validation rules] * * @return mixed */ protected function getRequiredClass($rules) { } /** * Get asterisk placement for the required form elements * @return string */ protected function getAsteriskPlacement($form) { } /** * Generate a label for any element * * @param array $data * * @return string [label Html element] */ protected function buildElementLabel($data, $form) { } /** * Generate html/markup for any element * * @param string $elMarkup [Predifined partial markup] * @param array $data * @param stdClass $form [Form object] * * @return string [Compiled markup] */ protected function buildElementMarkup($elMarkup, $data, $form) { } /** * Generate a help message for any element beside label * * @param array $data * * @return string [Html] */ protected function getLabelHelpMessage($data) { } /** * Generate a help message for any element beside form element * * @param array $data * * @return string [Html] */ protected function getInputHelpMessage($data, $hideClass = '') { } protected function parseEditorSmartCode($text, $form) { } protected function printContent($hook, $html, $data, $form) { } /** * A helper method for remove shortcode from aria label * * @param string $label * * @return string $label */ protected function removeShortcode($label) { } } } namespace FluentForm\App\Services\FormBuilder { abstract class BaseFieldManager extends \FluentForm\App\Services\FormBuilder\Components\BaseComponent { protected $key = ''; protected $title = ''; protected $tags = []; protected $position = 'advanced'; public function __construct($key, $title, $tags = [], $position = 'advanced') { } public function register() { } public function pushConditionalSupport($conditonalItems) { } public function pushFormInputType($types) { } public function pushComponent($components) { } public function pushEditorElementPositions($placement_settings) { } public function generalEditorElement() { } public function advancedEditorElement() { } public function getGeneralEditorElements() { } public function getAdvancedEditorElements() { } public function getEditorCustomizationSettings() { } public function pushTags($tags, $form) { } abstract public function getComponent(); abstract public function render($element, $form); } } namespace FluentForm\App\Modules\Payments\Components { class CustomPaymentComponent extends \FluentForm\App\Services\FormBuilder\BaseFieldManager { public function __construct($key = 'custom_payment_component', $title = 'Custom Payment', $tags = ['custom', 'payment', 'donation'], $position = 'payments') { } function getComponent() { } public function getGeneralEditorElements() { } public function getAdvancedEditorElements() { } function render($data, $form) { } } class ItemQuantity extends \FluentForm\App\Services\FormBuilder\BaseFieldManager { public function __construct($key = 'item_quantity_component', $title = 'Quantity', $tags = ['custom', 'payment', 'quantity'], $position = 'payments') { } function getComponent() { } public function getGeneralEditorElements() { } public function getAdvancedEditorElements() { } public function getEditorCustomizationSettings() { } function render($data, $form) { } } class MultiPaymentComponent extends \FluentForm\App\Services\FormBuilder\BaseFieldManager { public function __construct($key = 'multi_payment_component', $title = 'Multi Payment Item', $tags = ['custom', 'payment', 'donation'], $position = 'payments') { } function getComponent() { } public function getGeneralEditorElements() { } public function getAdvancedEditorElements() { } function render($data, $form) { } public function renderSingleItem($data, $form) { } public function renderMultiProduct($data, $form) { } } class PaymentMethods extends \FluentForm\App\Services\FormBuilder\BaseFieldManager { public function __construct() { } function getComponent() { } public function recheckEditorComponent($component) { } public function getEditorCustomizationSettings() { } public function getGeneralEditorElements() { } function render($data, $form) { } } class PaymentSummaryComponent extends \FluentForm\App\Services\FormBuilder\BaseFieldManager { public function __construct($key = 'payment_summary_component', $title = 'Payment Summary', $tags = ['payment', 'summary', 'cart'], $position = 'payments') { } public function register() { } function getComponent() { } public function getGeneralEditorElements() { } public function generalEditorElement() { } public function getAdvancedEditorElements() { } function render($data, $form) { } } class Subscription extends \FluentForm\App\Services\FormBuilder\BaseFieldManager { public function __construct($key = 'subscription_payment_component', $title = 'Subscription Field', $tags = ['custom', 'payment', 'donation', 'subscription'], $position = 'payments') { } function getComponent() { } public function getGeneralEditorElements() { } public function getAdvancedEditorElements() { } function render($data, $form) { } private function isPlanExpiredAndHidden($plan) { } public function renderSingleItem($data, $form) { } public function renderMultiProduct($data, $form) { } private function getPaymentSummaryText($plan, $formId, $currency) { } private function getPlanInputAttributes($plan) { } private function hasTrial($plan) { } private function hasSignupFee($plan) { } private function makeCustomInputHtml($field, $plan, $parentInputType, $markup) { } public function addWhiteListedFields($whiteListedFields, $formId) { } } } namespace FluentForm\App\Modules\Payments\Migrations { class Migration { public static function run($network_wide = false) { } public static function migrate() { } } class OrderItems { /** * Migrate the table. * * @return void */ public static function migrate() { } public static function maybeAlterColumns() { } } class OrderSubscriptions { /** * Migrate the table. * * @return void */ public static function migrate() { } } class Transactions { /** * Migrate the table. * * @return void */ public static function migrate() { } public static function maybeAlterColumns() { } } } namespace FluentForm\App\Modules\Payments\Orders { class OrderData { public static function getSummary($submission, $form) { } public static function getOrderItems($submission) { } public static function getDiscounts($submission) { } public static function getTransactions($submissionId) { } public static function getRefunds($submissionId) { } public static function calculateOrderItemsTotal($orderItems, $formatted = false, $currency = false, $discountItems = []) { } public static function getSubscriptionsAndPaymentTotal($submission) { } public static function getSubscriptionTransactions($subscriptionId) { } public static function getTotalPaid($submission) { } } } namespace FluentForm\App\Modules\Payments { class PaymentHandler { public function init() { } public function pushGlobalSettings($components) { } public function getGlobalSettingsPaymentVars($globalSettingVars) { } public function handleAjaxEndpoints() { } private function resolveRouteFormId($route) { } private function resolveTransactionFormId() { } private function resolveSubscriptionFormId() { } public function maybeHandlePayment($insertData, $data, $form) { } public function isEnabled() { } public function modifySingleEntryLabels($labels, $submission, $form) { } public function maybeAddPaymentSettings($menus, $formId) { } /** * @param $html string * @param $property string * @param $instance ShortCodeParser * @return false|string */ public function paymentReceiptView($html, $property, $instance) { } private function validateFrameLessPage($data) { } public function maybeAssignTransactions($userId) { } public function paymentTranslations($i18n) { } public function validateSubscriptionInputs($error, $field, $formData) { } public function validatePaymentInputs($error, $field, $formData) { } public function validatePaymentMethod($error, $field, $formData, $fields, $form) { } } class PaymentHelper { public static function getFormCurrency($formId) { } public static function formatMoney($amountInCents, $currency) { } /** * Check payment settings available or not * @return bool */ public static function hasPaymentSettings() { } public static function getFormSettings($formId, $scope = 'public') { } public static function getCurrencyConfig($formId = false, $currency = false) { } public static function getPaymentSettings() { } public static function updatePaymentSettings($data) { } /** * https://support.stripe.com/questions/which-currencies-does-stripe-support */ public static function getCurrencies() { } /** * Get a specific currency symbol * * https://support.stripe.com/questions/which-currencies-does-stripe-support */ public static function getCurrencySymbol($currency = '') { } public static function getCurrencySymbols() { } public static function zeroDecimalCurrencies() { } public static function isZeroDecimal($currencyCode) { } public static function getPaymentStatuses() { } public static function getFormPaymentMethods($formId) { } public static function getCustomerEmail($submission, $form = false) { } static function getCustomerPhoneNumber($submission, $form) { } /** * Trim a string and append a suffix. * * @param string $string String to trim. * @param integer $chars Amount of characters. * Defaults to 200. * @param string $suffix Suffix. * Defaults to '...'. * @return string */ public static function formatPaymentItemString($string, $chars = 200, $suffix = '...') { } /** * Limit length of an arg. * * @param string $string Argument to limit. * @param integer $limit Limit size in characters. * @return string */ public static function limitLength($string, $limit = 127) { } public static function floatToString($float) { } public static function convertToCents($amount) { } public static function getCustomerName($submission, $form = false) { } public static function getStripeInlineConfig($formId) { } public static function log($data, $submission = false, $forceInsert = false) { } public static function maybeFireSubmissionActionHok($submission) { } public static function loadView($fileName, $data) { } public static function recordSubscriptionCancelled($subscription, $vendorData, $logData = []) { } public static function getPaymentSummaryText($plan, $formId, $currency, $withMarkup = true) { } public static function getCustomerAddress($submission) { } public static function getBillingIntervals() { } public static function getSubscriptionStatuses() { } public static function getFormInput($formId, $inputType) { } public static function encryptKey($value) { } public static function decryptKey($raw_value) { } public static function isPlanExpiredAndHidden($plan) { } } } namespace FluentForm\App\Modules\Payments\PaymentMethods { abstract class BasePaymentMethod { protected $key = ''; protected $settingsKey = ''; public function __construct($key) { } abstract public function getGlobalFields(); abstract public function getGlobalSettings(); } abstract class BaseProcessor { protected $method; protected $form = null; protected $submission = null; protected $submissionId = null; public function init() { } abstract public function handlePaymentAction($submissionId, $submissionData, $form, $methodSettings, $hasSubscriptions, $totalPayable); public function setSubmissionId($submissionId) { } public function getSubmissionId() { } public function insertTransaction($data) { } public function insertRefund($data) { } public function getTransaction($transactionId, $column = 'id') { } public function getRefund($refundId, $column = 'id') { } public function getTransactionByChargeId($chargeId) { } public function getLastTransaction($submissionId) { } public function changeSubmissionPaymentStatus($newStatus) { } public function recalculatePaidTotal() { } public function getRefundTotal() { } public function changeTransactionStatus($transactionId, $newStatus) { } public function updateTransaction($transactionId, $data) { } public function completePaymentSubmission($isAjax = true) { } public function getReturnData() { } public function getSubmission() { } public function getForm() { } public function getOrderItems() { } public function getDiscountItems() { } public function setMetaData($name, $value) { } public function deleteMetaData($name) { } public function getMetaData($metaKey) { } public function showPaymentView($returnData) { } public function loadView($view, $data = []) { } public function refund($refund_amount, $transaction, $submission, $method = '', $refundId = '', $refundNote = 'Refunded') { } public function updateRefund($totalRefund, $transaction, $submission, $method = '', $refundId = '', $refundNote = 'Refunded') { } private function maybeAutoLogin($loginId, $submission) { } public function getAmountTotal() { } public function handleSessionRedirectBack($data) { } public function getSubscriptions($status = false) { } public function updateSubscription($id, $data) { } public function maybeInsertSubscriptionCharge($item) { } public function getPaymentCountsAndTotal($subscriptionId, $paymentMethod = false) { } protected function getCancelAtTimeStamp($subscription) { } public function updateSubmission($id, $data) { } public function limitLength($string, $limit = 127) { } public function getTransactionDefaults() { } public function createInitialPendingTransaction($submission = false, $hasSubscriptions = false) { } /** * @param object $subscription * @param string $newStatus * @param string $note * @return object */ public function updateSubscriptionStatus($subscription, $newStatus, $note = '') { } } } namespace FluentForm\App\Modules\Payments\PaymentMethods\Stripe\API { trait RequestProcessor { private static function processResponse($response) { } private static function errorHandler($code, $message, $data = []) { } } class Account { use \FluentForm\App\Modules\Payments\PaymentMethods\Stripe\API\RequestProcessor; public static function retrive($accountId, $key) { } } /** * WC_Stripe_API class. * * Communicates with Stripe API. */ class ApiRequest { /** * Stripe API Endpoint */ private static $ENDPOINT = 'https://api.stripe.com/v1/'; const STRIPE_API_VERSION = '2020-08-27'; /** * Secret API Key. * @var string */ private static $secret_key = ''; /** * Set secret API Key. * @param string $secret_key */ public static function set_secret_key($secret_key) { } /** * Set secret API Key. * @param string $secret_key */ public static function set_end_point($endpont) { } /** * Get secret key. * @return string */ public static function get_secret_key() { } /** * Generates the user agent we use to pass to API request so * Stripe can identify our application. * * @since 4.0.0 * @version 4.0.0 */ public static function get_user_agent() { } /** * Generates the headers to pass to API request. * * @since 4.0.0 * @version 4.0.0 */ public static function get_headers() { } /** * Send the request to Stripe's API * * @param array $request * @param string $api * @param string $method * @return object|\WP_Error * @since 3.1.0 * @version 4.0.6 */ public static function request($request, $api = 'charges', $method = 'POST') { } /** * Retrieve API endpoint. * * @param string $api * @return mixed|\WP_Error|null * @since 4.0.0 * @version 4.0.0 */ public static function retrieve($api) { } } /** * Handle Stripe Checkout Session * @since 1.0.0 */ class CheckoutSession { public static function create($args) { } public static function retrieve($sessionId, $args = [], $formId = false) { } } class Customer { use \FluentForm\App\Modules\Payments\PaymentMethods\Stripe\API\RequestProcessor; public static function createCustomer($customerArgs, $formId) { } public static function validate($args) { } } class Invoice { use \FluentForm\App\Modules\Payments\PaymentMethods\Stripe\API\RequestProcessor; public static function createItem($item, $formId) { } public static function retrieve($invoiceId, $formId, $args = []) { } } /** * Handle Payment Charge Via Stripe * @since 1.2.0 */ class Plan { use \FluentForm\App\Modules\Payments\PaymentMethods\Stripe\API\RequestProcessor; public static function retrieve($planId, $formId) { } public static function create($plan, $formId) { } public static function getPriceIdsFromSubscriptionTransaction($subscription, $subscriptionTransaction) { } public static function getOrCreate($subscription, $submission) { } public static function getGeneratedSubscriptionId($subscription, $currency = 'USD') { } public static function subscribe($subscriptionArgs, $formId) { } public static function getCancelledAtTimestamp($subscription) { } public static function getSubscriptionPlanBySubscription($subscription, $currency) { } public static function maybeSetCancelAt($subscription, $stripeSub) { } } class SCA { use \FluentForm\App\Modules\Payments\PaymentMethods\Stripe\API\RequestProcessor; public static function createPaymentIntent($args, $formId) { } public static function retrievePaymentIntent($intentId, $args, $formId) { } public static function confirmPayment($intendId, $args, $formId) { } } class StripeListener { public function verifyIPN() { } // This is an onetime payment success private function handleChargeSucceeded($event) { } /* * Handle Subscription Payment IPN * Refactored in version 2.0 */ private function maybeHandleSubscriptionPayment($event) { } /* * Refactored at version 2.0 * We are logging refunds now for both subscription and * One time payments */ private function handleChargeRefund($event) { } /* * Handle Subscription Canceled */ private function handleSubscriptionCancelled($event) { } private function handleCheckoutSessionCompleted($event) { } /* * */ public function retrive($eventId, $formId = false) { } public function verifySignature($payload, $signature) { } protected function getTimeStamp($signature) { } private function getSignatures($header, $scheme = 'v1') { } protected function secureCompare($a, $b) { } protected function createSubsTransactionDataFromInvoice($invoice, $subscription, $submission) { } } } namespace FluentForm\App\Modules\Payments\PaymentMethods\Stripe\Components { class StripeInline extends \FluentForm\App\Services\FormBuilder\BaseFieldManager { /** * This is not a standalone editor components * rather just a frontend rendering. */ public function __construct() { } public function maybePushPaymentInputs($inlineContents, $method, $data, $form) { } /** * We don't need to return anything from here */ function getComponent() { } /** * We don't need to return anything from here */ function render($element, $form) { } } } namespace FluentForm\App\Modules\Payments\PaymentMethods\Stripe { class ConnectConfig { private static $connectBase = 'https://apiv2.wpmanageninja.com/fluentform/'; public static function getConnectConfig() { } public static function verifyAuthorizeSuccess($data) { } private static function getAccountInfo($settings, $mode) { } public static function disconnect($data, $sendResponse = false) { } } class PaymentManager { public function cancelSubscription($subscription, $scope = 'admin', $submission = false) { } public function refundTransaction($transaction, $scope = 'admin') { } private function retrieveVendorSubscription($subscription) { } private function retrieveVendorTransaction($transaction) { } } class StripeHandler { protected $key = 'stripe'; public function init() { } public function routeStripeProcessor($submissionId, $submissionData, $form, $methodSettings, $hasSubscriptions, $totalPayable = 0) { } public function pushPaymentMethodToForm($methods) { } public function enqueueAssets() { } public function validateSettings($errors, $settings) { } public function modifyTransaction($transaction) { } public function isEnabled() { } public function sanitizeGlobalSettings($settings) { } } class StripeProcessor extends \FluentForm\App\Modules\Payments\PaymentMethods\BaseProcessor { public $method = 'stripe'; protected $form; public function init() { } public function handlePaymentAction($submissionId, $submissionData, $form, $methodSettings, $hasSubscriptions, $totalPayable) { } public function handleCheckoutSession($transaction, $submission, $form, $methodSettings) { } protected function getPaymentIntentData($transaction, $submission, $form) { } public function getFormattedItems($currency) { } public function handleSessionRedirectBack($data) { } public function processStripeSession($session, $submission, $transaction) { } protected function getIntentSuccessName($intent) { } protected function getDescriptor($title) { } protected function formatAddress($address) { } public function handleRefund($event) { } public function getPaymentMode() { } public function processSubscriptionSuccess($subscriptions, $invoice, $submission) { } protected function recordStripeBillingAddress($charge, $submission) { } protected function processOneTimeSuccess($invoice, $transaction, $paymentStatus) { } protected function getIntentMetaData($submission, $form, $transaction, $paymentSettings = false) { } protected function retrieveCustomerDetailsFromInvoice($invoice) { } protected function retrieveCustomerDetailsFromCharge($charge) { } protected function handlePaymentChargeError($message, $submission, $transaction, $charge = false, $type = 'general') { } public function recordSubscriptionCharge($subscription, $transactionData) { } } class StripeInlineProcessor extends \FluentForm\App\Modules\Payments\PaymentMethods\Stripe\StripeProcessor { public function init() { } public function handlePaymentAction($submissionId, $submissionData, $form, $methodSettings, $hasSubscriptions, $totalPayable) { } // This is only for Subscription Payment protected function handleSetupIntent($submission, $paymentMethodId, $customer, $transaction, $totalPayable) { } protected function customerArguments($paymentMethodId, $submission) { } protected function handlePaidSubscriptionInvoice($invoice, $submission) { } protected function handlePaymentIntent($transaction, $submission, $intentArgs) { } protected function handlePaymentSuccess($charge, $transaction, $submission) { } /** * Validate SCA payment confirmation request * * @param int $submissionId Submission ID * @param string $paymentIntentId Payment Intent ID * @param object|null $submission Submission object * @param object|null $transaction Transaction object * @return array|WP_Error Array with validation result or WP_Error on strict mode failure */ protected function validateScaRequest($submissionId, $paymentIntentId, $submission = null, $transaction = null) { } public function confirmScaPayment() { } public function confirmScaSetupIntentsPayment() { } protected function sendSuccess($submission) { } protected function processScaBeforeVerification($formId, $submissionId, $transactionId, $chargeId) { } /** * Products name comma separated * @return string */ public function getProductNames() { } } class StripeSettings { public static function getSettings($decrypted = true) { } public static function updateSettings($data) { } public static function encryptKeys($settings) { } public static function maybeDecryptKeys($settings) { } public static function getSecretKey($formId = false) { } public static function getPublishableKey($formId = false) { } public static function isLive($formId = false) { } public static function getMode($formId = false) { } public static function supportedShippingCountries() { } public static function getClientId($paymentMode = 'live') { } public static function guessFormIdFromEvent($event) { } public static function getPaymentDescriptor($form) { } public static function isConnectedAndPlatformCountrySame() { } public static function getAccountId() { } } } namespace FluentForm\App\Modules\Payments { class TransactionShortcodes { public function init() { } public function registerPaymentsShortcode($atts, $content = '') { } public function registerReceiptShortcode($atts, $content = '') { } public function renderPaymentReceiptPage($data, $echo = true) { } public function routeAjaxEndpoints() { } public function getSubscriptionsHtml($userId, $viewConfig = [], $atts = []) { } public function getTransactionsHtml($userId, $viewConfig = [], $atts = []) { } public function sendSubscriptionPayments() { } private function getViewConfig() { } private function verifyNonce() { } private function canCancelSubscription($subscription) { } public function cancelSubscriptionAjax() { } private function sendError($message) { } public function getTransactionHtml($transaction, $withHeader = false) { } } } namespace FluentForm\App\Modules { class ProcessExteriorModule { public function handleExteriorPages() { } public function renderFormPreview($form_id) { } private function loadDefaultPageTemplate() { } /** * Set the posts to one * * @param WP_Query $query * * @return void */ public function pre_get_posts($query) { } } } namespace FluentForm\App\Modules\ReCaptcha { class ReCaptcha { /** * Verify reCaptcha response. * * @param string $token response from the user. * @param null $secret provided or already stored secret key. * * @return bool */ public static function validate($token, $secret = null, $version = 'v2_visible') { } } } namespace FluentForm\App\Modules\Registerer { class AdminBar { public function register() { } public static function isDisabled() { } public function addMenuBar($wpAdminBar) { } private function getMenuItems() { } } class Menu { /** * App instance * * @var \FluentForm\Framework\Foundation\Application */ protected $app; /** * Menu constructor. * * @param \FluentForm\Framework\Foundation\Application $application */ public function __construct(\FluentForm\Framework\Foundation\Application $application) { } public function reisterScripts() { } public function isFluentPages() { } public function enqueuePageScripts() { } /** * Register menu and sub-menus. */ public function register() { } private function getMenuIcon() { } public function renderFormAdminRoute() { } public function renderAllEntriesAdminRoute() { } public function renderFormInnerPages() { } public function renderSettings($form_id) { } /** * Remove the inactive addOn menu items * * @param string $addOn * * @return boolean */ public function filterFormSettingsMenu($settingsMenus, $form_id) { } public function renderFormSettings($form_id) { } public function renderForms() { } public function renderEditor($form_id) { } public function renderDocs() { } public function renderAddOns() { } private function enqueueEditorAssets() { } /** * Render global settings page. * * @throws \Exception */ public function renderGlobalSettings() { } public function renderTransfer() { } public function addPreviewButton($formId) { } public function addCopyShortcodeButton($formId) { } public function commonAction() { } public function renderGlobalMenu() { } public function renderPaymentEntries() { } public function renderReports() { } private function usedNameAttributes($formId) { } } class MigrationNotice { public static function register() { } protected static function shouldRegister() { } public static function show() { } private static function hasActiveCompatiblePlugins() { } private static function getActiveCompatiblePlugins() { } private static function getMessage() { } } class ReviewQuery { public static function register() { } protected static function shouldRegister() { } public static function show() { } private static function getMessage() { } } class TranslationString { public static function getAdminI18n() { } public static function getSettingsI18n() { } public static function getGlobalSettingsI18n() { } public static function getEditorI18n() { } public static function getPreviewI18n() { } public static function getEntriesI18n() { } public static function getAddOnModuleI18n() { } public static function getTransferModuleI18n() { } public static function getPaymentsI18n() { } public static function getReportsI18n() { } protected static function getSettingsCommonI18n() { } } } namespace FluentForm\App\Modules\Renderer\GlobalSettings { class Settings { /** * App instance * * @var \FluentForm\Framework\Foundation\Application */ protected $app; /** * GlobalSettings constructor. * * @param \FluentForm\Framework\Foundation\Application $app */ public function __construct(\FluentForm\Framework\Foundation\Application $app) { } /** * Render the page for native global settings components * * @throws \Exception */ public function render() { } /** * Enqueue necessary resources. * * @throws \Exception */ public function enqueue() { } } } namespace FluentForm\App\Modules\Report { class ReportHandler { protected $app; public function register($app) { } public function renderReport() { } } } namespace FluentForm\App\Modules\SubmissionHandler { class SubmissionHandler { protected $request = null; public function __construct(\FluentForm\Framework\Foundation\Application $app) { } public function submit() { } } } namespace FluentForm\App\Modules\Track { class SetupModule { public function installPlugin($repoSlug) { } private function installFluentSMTP() { } private function backgroundInstaller($plugin_to_install, $plugin_id) { } private function associate_plugin_file($plugins, $key) { } } //Could not Find any Usage any where class TrackModule { private $apiUrl = 'https://fluentform.com'; private $initialConsentKey = '_fluentform_notice_pref'; private $newsletterDelayTimeStamp = 172800; // 7 days private $adminNotice; public function __construct() { } public function initTrack() { } public function showInitialConsent() { } public function rejectTrack() { } public function sendInitialInfo() { } private function getLogData() { } public function getInitialNotice() { } private function isLocalhost() { } } } namespace FluentForm\App\Modules\Transfer { class Transfer { /** * Request object * * @var \FluentForm\Framework\Request\Request $request */ protected $request = null; public function __construct() { } /** * Export forms as JSON. */ public function exportForms() { } /** * Import forms from a previously exported JSON file. */ public function importForms() { } public function exportEntries() { } } } namespace FluentForm\App\Modules\Turnstile { class Turnstile { /** * Verify turnstile response. * * @param string $token response from the user. * @param null $secret provided or already stored secret key. * * @return bool */ public static function validate($token, $secret) { } public static function ensureSettings($values) { } } } namespace FluentForm\App\Modules\Widgets { class ElementorWidget { private $app = null; public function __construct($app) { } public function init_widgets($widgets_manager) { } public function enqueueAssets() { } } // Exit if accessed directly class FluentFormWidget extends \Elementor\Widget_Base { public function get_name() { } public function get_title() { } public function get_icon() { } public function get_keywords() { } public function get_categories() { } public function get_style_depends() { } public function get_script_depends() { } protected function register_controls() { } protected function register_general_controls() { } protected function register_error_controls() { } protected function register_title_description_style_controls() { } protected function register_form_container_style_controls() { } protected function register_label_style_controls() { } protected function register_input_textarea_style_controls() { } protected function register_terms_gdpr_style_controls() { } protected function register_placeholder_style_controls() { } protected function register_radio_checkbox_style_controls() { } protected function register_section_break_style_controls() { } protected function register_checkbox_grid_style_controls() { } protected function register_address_line_style_controls() { } protected function register_image_upload_style_controls() { } protected function register_pagination_style_controls() { } protected function register_submit_button_style_controls() { } protected function register_success_message_style_controls() { } protected function register_errors_style_controls() { } private function getStylePresets() { } /** * Render the widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * * @access protected */ protected function render() { } /** * Render the widget output in the editor. * * Written as a Backbone JavaScript template and used to generate the live preview. * * @since 1.0.0 * * @access protected */ protected function content_template() { } } class OxygenEl extends \OxyEl { public function init() { } public function class_names() { } public function button_place() { } public function button_priority() { } public function isBuilderEditorActive() { } } class OxyFluentFormWidget extends \FluentForm\App\Modules\Widgets\OxygenEl { public $css_added = false; public function name() { } public function slug() { } public function accordion_button_place() { } public function icon() { } public function controls() { } public function formContainerStyleControls() { } public function formInputLabelsStyle() { } public function formInputsStyle() { } public function checkboxGridStyle() { } public function gdprAndTermsConditionStyle() { } public function sectionBreakStyle() { } public function render($options, $defaults, $content) { } public function init() { } public function enablePresets() { } public function enableFullPresets() { } public function customCSS($options, $selector) { } public function checkboxAndRadioStyle() { } public function fileUploadStyle() { } public function progressBarStyle() { } public function submitBtnStyle() { } public function stepButtonStyle() { } public function successMessageStyle() { } public function errorMessageStyle() { } } class OxygenWidget { public function __construct() { } public function initOxygenEl() { } public function initWidgets() { } public function addAccordionSection() { } public function registerAddPlusSubsections() { } } class SidebarWidgets extends \WP_Widget { public function __construct() { } public function widget($args, $instance) { } public function form($instance) { } public function update($new_instance, $old_instance) { } } } namespace FluentForm\App\Services\Analytics { class AnalyticsService { public function reset($formId) { } public function store($formId) { } /** * Store (create/update) total view of a form * * @param int $formId */ private function increaseTotalViews($formId) { } } } namespace FluentForm\App\Services\Blocks { /** * BlockAttributes class for defining Gutenberg block attributes * @since 1.0.0 */ class BlockAttributes { /** * Get all attributes for the Fluent Forms Gutenberg block * * @return array Block attributes configuration */ public static function getAttributes() { } /** * Get form specific attributes * * @return array Form specific attributes */ public static function getFormAttributes() { } /** * Get the consolidated styles attribute * * @return array Styles attribute configuration */ public static function getStylesAttribute() { } public static function getBoxShadowAttributes() { } /** * Get typography related attributes * * @return array Typography related attributes */ public static function getTypographyAttributes() { } /** * Get color related attributes * * @return array Color related attributes */ public static function getColorAttributes() { } /** * Get border related attributes * * @return array Border related attributes */ public static function getBorderAttributes() { } /** * Get background related attributes * * @return array Background related attributes */ public static function getBackgroundAttributes() { } /** * Get spacing related attributes * * @return array Spacing related attributes */ public static function getSpacingAttributes() { } /** * Get button related attributes * * @return array Button related attributes */ public static function getButtonAttributes() { } /** * Get message related attributes * * @return array Message related attributes */ public static function getMessageAttributes() { } /** * Get advanced attributes * * @return array Advanced attributes */ public static function getAdvancedAttributes() { } } /** * GutenbergBlock class for handling Fluent Forms Gutenberg block functionality * @since 1.0.0 */ class GutenbergBlock { /** * Register the Gutenberg block * @return void */ public static function register() { } /** * Render the Gutenberg block * * @param array $atts Block attributes * @return string Rendered block HTML */ public static function render($atts) { } } } namespace FluentForm\App\Services\Browser { /** * File: Browser.php * Author: Chris Schuld (http://chrisschuld.com/) * Last Modified: July 22nd, 2016 * @version 2.0 * @package PegasusPHP * * Copyright (C) 2008-2010 Chris Schuld (chris@chrisschuld.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details at: * http://www.gnu.org/copyleft/gpl.html * * * Typical Usage: * * $browser = new Browser(); * if( $browser->getBrowser() == Browser::BROWSER_FIREFOX && $browser->getVersion() >= 2 ) { * echo 'You have FireFox version 2 or greater'; * } * * User Agents Sampled from: http://www.useragentstring.com/ * * This implementation is based on the original work from Gary White * http://apptools.com/phptools/browser/ * */ class Browser { private $_agent = ''; private $_browser_name = ''; private $_version = ''; private $_platform = ''; private $_os = ''; private $_is_aol = false; private $_is_mobile = false; private $_is_tablet = false; private $_is_robot = false; private $_is_facebook = false; private $_aol_version = ''; const BROWSER_UNKNOWN = 'unknown'; const VERSION_UNKNOWN = 'unknown'; const BROWSER_OPERA = 'Opera'; // http://www.opera.com/ const BROWSER_OPERA_MINI = 'Opera Mini'; // http://www.opera.com/mini/ const BROWSER_WEBTV = 'WebTV'; // http://www.webtv.net/pc/ const BROWSER_EDGE = 'Edge'; // https://www.microsoft.com/edge const BROWSER_IE = 'Internet Explorer'; // http://www.microsoft.com/ie/ const BROWSER_POCKET_IE = 'Pocket Internet Explorer'; // http://en.wikipedia.org/wiki/Internet_Explorer_Mobile const BROWSER_KONQUEROR = 'Konqueror'; // http://www.konqueror.org/ const BROWSER_ICAB = 'iCab'; // http://www.icab.de/ const BROWSER_OMNIWEB = 'OmniWeb'; // http://www.omnigroup.com/applications/omniweb/ const BROWSER_FIREBIRD = 'Firebird'; // http://www.ibphoenix.com/ const BROWSER_FIREFOX = 'Firefox'; // http://www.mozilla.com/en-US/firefox/firefox.html const BROWSER_ICEWEASEL = 'Iceweasel'; // http://www.geticeweasel.org/ const BROWSER_SHIRETOKO = 'Shiretoko'; // http://wiki.mozilla.org/Projects/shiretoko const BROWSER_MOZILLA = 'Mozilla'; // http://www.mozilla.com/en-US/ const BROWSER_AMAYA = 'Amaya'; // http://www.w3.org/Amaya/ const BROWSER_LYNX = 'Lynx'; // http://en.wikipedia.org/wiki/Lynx const BROWSER_SAFARI = 'Safari'; // http://apple.com const BROWSER_IPHONE = 'iPhone'; // http://apple.com const BROWSER_IPOD = 'iPod'; // http://apple.com const BROWSER_IPAD = 'iPad'; // http://apple.com const BROWSER_CHROME = 'Chrome'; // http://www.google.com/chrome const BROWSER_ANDROID = 'Android'; // http://www.android.com/ const BROWSER_GOOGLEBOT = 'GoogleBot'; // http://en.wikipedia.org/wiki/Googlebot const BROWSER_YANDEXBOT = 'YandexBot'; // http://yandex.com/bots const BROWSER_YANDEXIMAGERESIZER_BOT = 'YandexImageResizer'; // http://yandex.com/bots const BROWSER_YANDEXIMAGES_BOT = 'YandexImages'; // http://yandex.com/bots const BROWSER_YANDEXVIDEO_BOT = 'YandexVideo'; // http://yandex.com/bots const BROWSER_YANDEXMEDIA_BOT = 'YandexMedia'; // http://yandex.com/bots const BROWSER_YANDEXBLOGS_BOT = 'YandexBlogs'; // http://yandex.com/bots const BROWSER_YANDEXFAVICONS_BOT = 'YandexFavicons'; // http://yandex.com/bots const BROWSER_YANDEXWEBMASTER_BOT = 'YandexWebmaster'; // http://yandex.com/bots const BROWSER_YANDEXDIRECT_BOT = 'YandexDirect'; // http://yandex.com/bots const BROWSER_YANDEXMETRIKA_BOT = 'YandexMetrika'; // http://yandex.com/bots const BROWSER_YANDEXNEWS_BOT = 'YandexNews'; // http://yandex.com/bots const BROWSER_YANDEXCATALOG_BOT = 'YandexCatalog'; // http://yandex.com/bots const BROWSER_SLURP = 'Yahoo! Slurp'; // http://en.wikipedia.org/wiki/Yahoo!_Slurp const BROWSER_W3CVALIDATOR = 'W3C Validator'; // http://validator.w3.org/ const BROWSER_BLACKBERRY = 'BlackBerry'; // http://www.blackberry.com/ const BROWSER_ICECAT = 'IceCat'; // http://en.wikipedia.org/wiki/GNU_IceCat const BROWSER_NOKIA_S60 = 'Nokia S60 OSS Browser'; // http://en.wikipedia.org/wiki/Web_Browser_for_S60 const BROWSER_NOKIA = 'Nokia Browser'; // * all other WAP-based browsers on the Nokia Platform const BROWSER_MSN = 'MSN Browser'; // http://explorer.msn.com/ const BROWSER_MSNBOT = 'MSN Bot'; // http://search.msn.com/msnbot.htm const BROWSER_BINGBOT = 'Bing Bot'; // http://en.wikipedia.org/wiki/Bingbot const BROWSER_VIVALDI = 'Vivalidi'; // https://vivaldi.com/ const BROWSER_YANDEX = 'Yandex'; // https://browser.yandex.ua/ const BROWSER_NETSCAPE_NAVIGATOR = 'Netscape Navigator'; // http://browser.netscape.com/ (DEPRECATED) const BROWSER_GALEON = 'Galeon'; // http://galeon.sourceforge.net/ (DEPRECATED) const BROWSER_NETPOSITIVE = 'NetPositive'; // http://en.wikipedia.org/wiki/NetPositive (DEPRECATED) const BROWSER_PHOENIX = 'Phoenix'; // http://en.wikipedia.org/wiki/History_of_Mozilla_Firefox (DEPRECATED) const BROWSER_PLAYSTATION = "PlayStation"; const BROWSER_SAMSUNG = "SamsungBrowser"; const BROWSER_SILK = "Silk"; const BROWSER_I_FRAME = "Iframely"; const BROWSER_COCOA = "CocoaRestClient"; const PLATFORM_UNKNOWN = 'unknown'; const PLATFORM_WINDOWS = 'Windows'; const PLATFORM_WINDOWS_CE = 'Windows CE'; const PLATFORM_APPLE = 'Apple'; const PLATFORM_LINUX = 'Linux'; const PLATFORM_OS2 = 'OS/2'; const PLATFORM_BEOS = 'BeOS'; const PLATFORM_IPHONE = 'iPhone'; const PLATFORM_IPOD = 'iPod'; const PLATFORM_IPAD = 'iPad'; const PLATFORM_BLACKBERRY = 'BlackBerry'; const PLATFORM_NOKIA = 'Nokia'; const PLATFORM_FREEBSD = 'FreeBSD'; const PLATFORM_OPENBSD = 'OpenBSD'; const PLATFORM_NETBSD = 'NetBSD'; const PLATFORM_SUNOS = 'SunOS'; const PLATFORM_OPENSOLARIS = 'OpenSolaris'; const PLATFORM_ANDROID = 'Android'; const PLATFORM_PLAYSTATION = "Sony PlayStation"; const PLATFORM_ROKU = "Roku"; const PLATFORM_APPLE_TV = "Apple TV"; const PLATFORM_TERMINAL = "Terminal"; const PLATFORM_FIRE_OS = "Fire OS"; const PLATFORM_SMART_TV = "SMART-TV"; const PLATFORM_CHROME_OS = "Chrome OS"; const PLATFORM_JAVA_ANDROID = "Java/Android"; const PLATFORM_POSTMAN = "Postman"; const PLATFORM_I_FRAME = "Iframely"; const OPERATING_SYSTEM_UNKNOWN = 'unknown'; /** * Class constructor */ public function __construct($userAgent = "") { } /** * Reset all properties */ public function reset() { } /** * Check to see if the specific browser is valid * @param string $browserName * @return bool True if the browser is the specified browser */ function isBrowser($browserName) { } /** * The name of the browser. All return types are from the class contants * @return string Name of the browser */ public function getBrowser() { } /** * Set the name of the browser * @param $browser string The name of the Browser */ public function setBrowser($browser) { } /** * The name of the platform. All return types are from the class contants * @return string Name of the browser */ public function getPlatform() { } /** * Set the name of the platform * @param string $platform The name of the Platform */ public function setPlatform($platform) { } /** * The version of the browser. * @return string Version of the browser (will only contain alpha-numeric characters and a period) */ public function getVersion() { } /** * Set the version of the browser * @param string $version The version of the Browser */ public function setVersion($version) { } /** * The version of AOL. * @return string Version of AOL (will only contain alpha-numeric characters and a period) */ public function getAolVersion() { } /** * Set the version of AOL * @param string $version The version of AOL */ public function setAolVersion($version) { } /** * Is the browser from AOL? * @return boolean True if the browser is from AOL otherwise false */ public function isAol() { } /** * Is the browser from a mobile device? * @return boolean True if the browser is from a mobile device otherwise false */ public function isMobile() { } /** * Is the browser from a tablet device? * @return boolean True if the browser is from a tablet device otherwise false */ public function isTablet() { } /** * Is the browser from a robot (ex Slurp,GoogleBot)? * @return boolean True if the browser is from a robot otherwise false */ public function isRobot() { } /** * Is the browser from facebook? * @return boolean True if the browser is from facebook otherwise false */ public function isFacebook() { } /** * Set the browser to be from AOL * @param $isAol */ public function setAol($isAol) { } /** * Set the Browser to be mobile * @param boolean $value is the browser a mobile browser or not */ protected function setMobile($value = true) { } /** * Set the Browser to be tablet * @param boolean $value is the browser a tablet browser or not */ protected function setTablet($value = true) { } /** * Set the Browser to be a robot * @param boolean $value is the browser a robot or not */ protected function setRobot($value = true) { } /** * Set the Browser to be a Facebook request * @param boolean $value is the browser a robot or not */ protected function setFacebook($value = true) { } /** * Get the user agent value in use to determine the browser * @return string The user agent from the HTTP header */ public function getUserAgent() { } /** * Set the user agent value (the construction will use the HTTP header value - this will overwrite it) * @param string $agent_string The value for the User Agent */ public function setUserAgent($agent_string) { } /** * Used to determine if the browser is actually "chromeframe" * @since 1.7 * @return boolean True if the browser is using chromeframe */ public function isChromeFrame() { } /** * Returns a formatted string with a summary of the details of the browser. * @return string formatted string with a summary of the browser */ public function __toString() { } /** * Protected routine to calculate and determine what the browser is in use (including platform) */ protected function determine() { } /** * Protected routine to determine the browser type * @return boolean True if the browser was detected otherwise false */ protected function checkBrowsers() { } /** * Determine if the user is using a BlackBerry (last updated 1.7) * @return boolean True if the browser is the BlackBerry browser otherwise false */ protected function checkBrowserBlackBerry() { } /** * Determine if the user is using an AOL User Agent (last updated 1.7) * @return boolean True if the browser is from AOL otherwise false */ protected function checkForAol() { } /** * Determine if the browser is the GoogleBot or not (last updated 1.7) * @return boolean True if the browser is the GoogletBot otherwise false */ protected function checkBrowserGoogleBot() { } /** * Determine if the browser is the YandexBot or not * @return boolean True if the browser is the YandexBot otherwise false */ protected function checkBrowserYandexBot() { } /** * Determine if the browser is the YandexImageResizer or not * @return boolean True if the browser is the YandexImageResizer otherwise false */ protected function checkBrowserYandexImageResizerBot() { } /** * Determine if the browser is the YandexCatalog or not * @return boolean True if the browser is the YandexCatalog otherwise false */ protected function checkBrowserYandexCatalogBot() { } /** * Determine if the browser is the YandexNews or not * @return boolean True if the browser is the YandexNews otherwise false */ protected function checkBrowserYandexNewsBot() { } /** * Determine if the browser is the YandexMetrika or not * @return boolean True if the browser is the YandexMetrika otherwise false */ protected function checkBrowserYandexMetrikaBot() { } /** * Determine if the browser is the YandexDirect or not * @return boolean True if the browser is the YandexDirect otherwise false */ protected function checkBrowserYandexDirectBot() { } /** * Determine if the browser is the YandexWebmaster or not * @return boolean True if the browser is the YandexWebmaster otherwise false */ protected function checkBrowserYandexWebmasterBot() { } /** * Determine if the browser is the YandexFavicons or not * @return boolean True if the browser is the YandexFavicons otherwise false */ protected function checkBrowserYandexFaviconsBot() { } /** * Determine if the browser is the YandexBlogs or not * @return boolean True if the browser is the YandexBlogs otherwise false */ protected function checkBrowserYandexBlogsBot() { } /** * Determine if the browser is the YandexMedia or not * @return boolean True if the browser is the YandexMedia otherwise false */ protected function checkBrowserYandexMediaBot() { } /** * Determine if the browser is the YandexVideo or not * @return boolean True if the browser is the YandexVideo otherwise false */ protected function checkBrowserYandexVideoBot() { } /** * Determine if the browser is the YandexImages or not * @return boolean True if the browser is the YandexImages otherwise false */ protected function checkBrowserYandexImagesBot() { } /** * Determine if the browser is the MSNBot or not (last updated 1.9) * @return boolean True if the browser is the MSNBot otherwise false */ protected function checkBrowserMSNBot() { } /** * Determine if the browser is the BingBot or not (last updated 1.9) * @return boolean True if the browser is the BingBot otherwise false */ protected function checkBrowserBingBot() { } /** * Determine if the browser is the W3C Validator or not (last updated 1.7) * @return boolean True if the browser is the W3C Validator otherwise false */ protected function checkBrowserW3CValidator() { } /** * Determine if the browser is the Yahoo! Slurp Robot or not (last updated 1.7) * @return boolean True if the browser is the Yahoo! Slurp Robot otherwise false */ protected function checkBrowserSlurp() { } /** * Determine if the browser is Edge or not * @return boolean True if the browser is Edge otherwise false */ protected function checkBrowserEdge() { } /** * Determine if the browser is Internet Explorer or not (last updated 1.7) * @return boolean True if the browser is Internet Explorer otherwise false */ protected function checkBrowserInternetExplorer() { } /** * Determine if the browser is Opera or not (last updated 1.7) * @return boolean True if the browser is Opera otherwise false */ protected function checkBrowserOpera() { } /** * Determine if the browser is Chrome or not (last updated 1.7) * @return boolean True if the browser is Chrome otherwise false */ protected function checkBrowserChrome() { } /** * Determine if the browser is WebTv or not (last updated 1.7) * @return boolean True if the browser is WebTv otherwise false */ protected function checkBrowserWebTv() { } /** * Determine if the browser is NetPositive or not (last updated 1.7) * @return boolean True if the browser is NetPositive otherwise false */ protected function checkBrowserNetPositive() { } /** * Determine if the browser is Galeon or not (last updated 1.7) * @return boolean True if the browser is Galeon otherwise false */ protected function checkBrowserGaleon() { } /** * Determine if the browser is Konqueror or not (last updated 1.7) * @return boolean True if the browser is Konqueror otherwise false */ protected function checkBrowserKonqueror() { } /** * Determine if the browser is iCab or not (last updated 1.7) * @return boolean True if the browser is iCab otherwise false */ protected function checkBrowserIcab() { } /** * Determine if the browser is OmniWeb or not (last updated 1.7) * @return boolean True if the browser is OmniWeb otherwise false */ protected function checkBrowserOmniWeb() { } /** * Determine if the browser is Phoenix or not (last updated 1.7) * @return boolean True if the browser is Phoenix otherwise false */ protected function checkBrowserPhoenix() { } /** * Determine if the browser is Firebird or not (last updated 1.7) * @return boolean True if the browser is Firebird otherwise false */ protected function checkBrowserFirebird() { } /** * Determine if the browser is Netscape Navigator 9+ or not (last updated 1.7) * NOTE: (http://browser.netscape.com/ - Official support ended on March 1st, 2008) * @return boolean True if the browser is Netscape Navigator 9+ otherwise false */ protected function checkBrowserNetscapeNavigator9Plus() { } /** * Determine if the browser is Shiretoko or not (https://wiki.mozilla.org/Projects/shiretoko) (last updated 1.7) * @return boolean True if the browser is Shiretoko otherwise false */ protected function checkBrowserShiretoko() { } /** * Determine if the browser is Ice Cat or not (http://en.wikipedia.org/wiki/GNU_IceCat) (last updated 1.7) * @return boolean True if the browser is Ice Cat otherwise false */ protected function checkBrowserIceCat() { } /** * Determine if the browser is Nokia or not (last updated 1.7) * @return boolean True if the browser is Nokia otherwise false */ protected function checkBrowserNokia() { } /** * Determine if the browser is Firefox or not (last updated 1.7) * @return boolean True if the browser is Firefox otherwise false */ protected function checkBrowserFirefox() { } /** * Determine if the browser is Firefox or not (last updated 1.7) * @return boolean True if the browser is Firefox otherwise false */ protected function checkBrowserIceweasel() { } /** * Determine if the browser is Mozilla or not (last updated 1.7) * @return boolean True if the browser is Mozilla otherwise false */ protected function checkBrowserMozilla() { } /** * Determine if the browser is Lynx or not (last updated 1.7) * @return boolean True if the browser is Lynx otherwise false */ protected function checkBrowserLynx() { } /** * Determine if the browser is Amaya or not (last updated 1.7) * @return boolean True if the browser is Amaya otherwise false */ protected function checkBrowserAmaya() { } /** * Determine if the browser is Safari or not (last updated 1.7) * @return boolean True if the browser is Safari otherwise false */ protected function checkBrowserSafari() { } protected function checkBrowserSamsung() { } protected function checkBrowserSilk() { } protected function checkBrowserIframely() { } protected function checkBrowserCocoa() { } /** * Detect if URL is loaded from FacebookExternalHit * @return boolean True if it detects FacebookExternalHit otherwise false */ protected function checkFacebookExternalHit() { } /** * Detect if URL is being loaded from internal Facebook browser * @return boolean True if it detects internal Facebook browser otherwise false */ protected function checkForFacebookIos() { } /** * Detect Version for the Safari browser on iOS devices * @return boolean True if it detects the version correctly otherwise false */ protected function getSafariVersionOnIos() { } /** * Detect Version for the Chrome browser on iOS devices * @return boolean True if it detects the version correctly otherwise false */ protected function getChromeVersionOnIos() { } /** * Determine if the browser is iPhone or not (last updated 1.7) * @return boolean True if the browser is iPhone otherwise false */ protected function checkBrowseriPhone() { } /** * Determine if the browser is iPad or not (last updated 1.7) * @return boolean True if the browser is iPad otherwise false */ protected function checkBrowseriPad() { } /** * Determine if the browser is iPod or not (last updated 1.7) * @return boolean True if the browser is iPod otherwise false */ protected function checkBrowseriPod() { } /** * Determine if the browser is Android or not (last updated 1.7) * @return boolean True if the browser is Android otherwise false */ protected function checkBrowserAndroid() { } /** * Determine if the browser is Vivaldi * @return boolean True if the browser is Vivaldi otherwise false */ protected function checkBrowserVivaldi() { } /** * Determine if the browser is Yandex * @return boolean True if the browser is Yandex otherwise false */ protected function checkBrowserYandex() { } /** * Determine if the browser is a PlayStation * @return boolean True if the browser is PlayStation otherwise false */ protected function checkBrowserPlayStation() { } /** * Determine the user's platform (last updated 2.0) */ protected function checkPlatform() { } } } namespace FluentForm\App\Services { class ConditionAssesor { public static function evaluate(&$field, &$inputs, $form = null) { } private static function evaluateGroupConditions($conditionGroups, &$inputs, $form = null) { } private static function evaluateConditions($conditions, &$inputs, $type, $form = null) { } public static function assess(&$conditional, &$inputs, $form = null) { } private static function processSmartCodesInValue($value, &$inputs, $form = null, $isArrayAcceptable = true) { } } } namespace FluentForm\App\Services\Emogrifier { /** * This class provides functions for converting CSS styles into inline style attributes in your HTML code. * * For more information, please see the README.md file. * * @version 2.0.0 * * @author Cameron Brooks * @author Jaime Prado * @author Oliver Klee * @author Roman Ožana * @author Sander Kruger * @author Zoli Szabó */ class Emogrifier { /** * @var int */ const CACHE_KEY_CSS = 0; /** * @var int */ const CACHE_KEY_SELECTOR = 1; /** * @var int */ const CACHE_KEY_XPATH = 2; /** * @var int */ const CACHE_KEY_CSS_DECLARATIONS_BLOCK = 3; /** * @var int */ const CACHE_KEY_COMBINED_STYLES = 4; /** * for calculating nth-of-type and nth-child selectors * * @var int */ const INDEX = 0; /** * for calculating nth-of-type and nth-child selectors * * @var int */ const MULTIPLIER = 1; /** * @var string */ const ID_ATTRIBUTE_MATCHER = '/(\w+)?\#([\w\-]+)/'; /** * @var string */ const CLASS_ATTRIBUTE_MATCHER = '/(\w+|[\*\]])?((\.[\w\-]+)+)/'; /** * @var string */ const CONTENT_TYPE_META_TAG = ''; /** * @var string */ const DEFAULT_DOCUMENT_TYPE = ''; /** * @var string */ private $html = ''; /** * @var string */ private $css = ''; /** * @var bool[] */ private $excludedSelectors = []; /** * @var string[] */ private $unprocessableHtmlTags = ['wbr']; /** * @var bool[] */ private $allowedMediaTypes = ['all' => true, 'screen' => true, 'print' => true]; /** * @var mixed[] */ private $caches = [self::CACHE_KEY_CSS => [], self::CACHE_KEY_SELECTOR => [], self::CACHE_KEY_XPATH => [], self::CACHE_KEY_CSS_DECLARATIONS_BLOCK => [], self::CACHE_KEY_COMBINED_STYLES => []]; /** * the visited nodes with the XPath paths as array keys * * @var \DOMElement[] */ private $visitedNodes = []; /** * the styles to apply to the nodes with the XPath paths as array keys for the outer array * and the attribute names/values as key/value pairs for the inner array * * @var string[][] */ private $styleAttributesForNodes = []; /** * Determines whether the "style" attributes of tags in the the HTML passed to this class should be preserved. * If set to false, the value of the style attributes will be discarded. * * @var bool */ private $isInlineStyleAttributesParsingEnabled = true; /** * Determines whether the