PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 6.32
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v6.32
6.35 6.34 6.33.1 6.33 6.32.1 6.32 6.31 6.25 6.25.1 6.26 6.26.1 6.27 6.28 6.29 6.3 6.3.1 6.3.2 6.30 6.4 6.4.1 6.4.2 6.5 6.5.1 6.5.2 6.5.3 All 141 releases
← All changes | classes/controllers/FrmAddonsController.php +44 -3 6.306.32 View file →
@@ -156,9 +156,10 @@
156 156 'pro' => array(
157 157 'title' => 'Formidable Forms Pro',
158 158 'slug' => 'formidable-pro',
159 159 'released' => '2011-02-05',
160 - 'docs' => 'knowledgebase/',
160 + 'docs' => 'knowledgebase/what-is-the-difference-between-the-lite-free-and-pro-version/',
161 + 'docs_label' => __( 'Why Upgrade', 'formidable' ),
161 162 'categories' => array( 'basic', 'plus', 'business', 'elite' ),
162 163 'excerpt' => 'Create calculators, surveys, smart forms, and data-driven applications. Build directories, real estate listings, job boards, and much more.',
163 164 ),
164 165 );
@@ -472,14 +473,54 @@
472 473 }
473 474
474 475 /**
475 476 * @since 4.06
477 + * @since 6.31 Added the $force_type param.
476 478 *
479 + * @param bool $force_type Whether to resolve grandfathered licenses to their real license type.
480 + *
477 481 * @return string
478 482 */
479 - public static function license_type() {
483 + public static function license_type( $force_type = false ) {
480 484 if ( is_callable( 'FrmProAddonsController::license_type' ) ) {
481 - return FrmProAddonsController::license_type();
485 + return FrmProAddonsController::license_type( $force_type );
486 + }
487 +
488 + return 'free';
489 + }
490 +
491 + /**
492 + * Determine the license status for payment fee decisions.
493 + *
494 + * Mirrors the API's determine_status_from_license_details logic.
495 + *
496 + * @since 6.31
497 + *
498 + * @return string 'active', 'expired', or 'free'.
499 + */
500 + public static function get_payment_license_status() {
501 + $version_info = self::get_primary_license_info();
502 +
503 + if ( ! $version_info ) {
504 + return 'free';
505 + }
506 +
507 + $error = $version_info['error'] ?? array();
508 +
509 + if ( is_array( $error ) ) {
510 + $code = $error['code'] ?? '';
511 +
512 + if ( 'expired' === $code ) {
513 + return 'expired';
514 + }
515 +
516 + if ( 'grandfathered' === $code && isset( $error['expires'] ) && gmdate( 'Y-m-d', $error['expires'] ) < '2016-04-26' ) {
517 + return 'free';
518 + }
519 + }
520 +
521 + if ( in_array( self::license_type( true ), array( 'elite', 'business' ), true ) ) {
522 + return 'active';
482 523 }
483 524
484 525 return 'free';
485 526 }