PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 6.2
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v6.2
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 +7 -80 6.5.26.2 View file →
@@ -18,9 +18,9 @@
18 18 return;
19 19 }
20 20
21 21 $label = __( 'Add-Ons', 'formidable' );
22 - $label = '<span style="color:#1da867">' . $label . '</span>';
22 + $label = '<span style="color:#fe5a1d">' . $label . '</span>';
23 23
24 24 add_submenu_page( 'formidable', 'Formidable | ' . __( 'Add-Ons', 'formidable' ), $label, 'frm_view_forms', 'formidable-addons', 'FrmAddonsController::list_addons' );
25 25
26 26 if ( ! FrmAppHelper::pro_is_installed() ) {
@@ -1012,9 +1012,10 @@
1012 1012 * @return bool
1013 1013 */
1014 1014 public static function url_is_allowed( $download_url ) {
1015 1015 return (
1016 - FrmAppHelper::validate_url_is_in_s3_bucket( $download_url, 'zip' ) || in_array( $download_url, self::allowed_external_urls(), true )
1016 + FrmAppHelper::validate_url_is_in_s3_bucket( $download_url, 'zip' ) ||
1017 + ( strpos( $download_url, 'https://downloads.wordpress.org/plugin' ) === 0 && substr_compare( $download_url, '.zip', -4 ) === 0 )
1017 1018 );
1018 1019 }
1019 1020
1020 1021 /**
@@ -1023,10 +1024,8 @@
1023 1024 *
1024 1025 * @since 3.04.02
1025 1026 */
1026 1027 protected static function install_addon() {
1027 - FrmAppHelper::permission_check( 'install_plugins' );
1028 -
1029 1028 require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
1030 1029
1031 1030 $download_url = self::get_current_plugin();
1032 1031
@@ -1077,12 +1076,10 @@
1077 1076 */
1078 1077 private static function get_addon_activation_response() {
1079 1078 $activating_page = self::get_activating_page();
1080 1079
1081 - $message = $activating_page ? __( 'Your plugin has been activated. Would you like to save and reload the page now?', 'formidable' ) : __( 'Your plugin has been activated.', 'formidable' );
1082 -
1083 1080 $response = array(
1084 - 'message' => $message,
1081 + 'message' => __( 'Your plugin has been activated. Would you like to save and reload the page now?', 'formidable' ),
1085 1082 'saveAndReload' => $activating_page,
1086 1083 );
1087 1084
1088 1085 return $response;
@@ -1179,12 +1176,8 @@
1179 1176 *
1180 1177 * @return bool
1181 1178 */
1182 1179 public static function can_install_addon_api() {
1183 - if ( ! current_user_can( 'activate_plugins' ) ) {
1184 - return false;
1185 - }
1186 -
1187 1180 // Verify params present (auth & download link).
1188 1181 $post_auth = FrmAppHelper::get_param( 'token', '', 'request', 'sanitize_text_field' );
1189 1182 $post_url = FrmAppHelper::get_param( 'file_url', '', 'request', 'sanitize_text_field' );
1190 1183
@@ -1260,11 +1253,9 @@
1260 1253 }
1261 1254
1262 1255 $addon = self::get_addon( $plugin );
1263 1256 $upgrade_link = FrmAppHelper::admin_upgrade_link( $upgrade_link_args );
1264 -
1265 - $upgrade_link_args['link'] = $upgrade_link;
1266 - self::addon_upgrade_link( $addon, $upgrade_link_args );
1257 + self::addon_upgrade_link( $addon, $upgrade_link );
1267 1258 }
1268 1259
1269 1260 /**
1270 1261 * Render a conditional action button for an add on
@@ -1286,17 +1277,13 @@
1286 1277
1287 1278 /**
1288 1279 * @since 4.09.01
1289 1280 *
1290 - * @param array|false $addon
1291 - * @param string|array $upgrade_link
1281 + * @param array|false $addon
1292 1282 *
1293 1283 * @return void
1294 1284 */
1295 1285 protected static function addon_upgrade_link( $addon, $upgrade_link ) {
1296 - $atts = is_array( $upgrade_link ) ? $upgrade_link : array();
1297 - $upgrade_link = is_array( $upgrade_link ) ? $upgrade_link['link'] : $upgrade_link;
1298 -
1299 1286 if ( $addon ) {
1300 1287 $upgrade_link .= '&utm_content=' . $addon['slug'];
1301 1288 }
1302 1289
@@ -1303,15 +1290,10 @@
1303 1290 if ( $addon && isset( $addon['categories'] ) && in_array( 'Solution', $addon['categories'], true ) ) {
1304 1291 // Solutions will go to a separate page.
1305 1292 $upgrade_link = FrmAppHelper::admin_upgrade_link( 'addons', $addon['link'] );
1306 1293 }
1307 -
1308 - $class = ! empty( $atts['class'] ) ? $atts['class'] : '';
1309 - if ( strpos( $class, 'frm-button' ) === false ) {
1310 - $class .= ' frm-button-secondary frm-button-sm';
1311 - }
1312 1294 ?>
1313 - <a class="install-now button <?php echo esc_attr( $class ); ?>" href="<?php echo esc_url( $upgrade_link ); ?>" target="_blank" rel="noopener" aria-label="<?php esc_attr_e( 'Upgrade Now', 'formidable' ); ?>">
1295 + <a class="install-now button frm-button-secondary frm-button-sm" href="<?php echo esc_url( $upgrade_link ); ?>" target="_blank" rel="noopener" aria-label="<?php esc_attr_e( 'Upgrade Now', 'formidable' ); ?>">
1314 1296 <?php esc_html_e( 'Upgrade Now', 'formidable' ); ?>
1315 1297 </a>
1316 1298 <?php
1317 1299 }
@@ -1331,63 +1313,8 @@
1331 1313 }
1332 1314
1333 1315 echo json_encode( self::get_addon_activation_response() );
1334 1316 wp_die();
1335 - }
1336 -
1337 - /**
1338 - * Allowed URLs used for internal source of plugins installation.
1339 - *
1340 - * @since 6.3.1
1341 - *
1342 - * @return array
1343 - */
1344 - private static function allowed_external_urls() {
1345 - $allowed_url_list = array(
1346 - 'https://downloads.wordpress.org/plugin/formidable-gravity-forms-importer.zip',
1347 - 'https://downloads.wordpress.org/plugin/formidable-import-pirate-forms.zip',
1348 - 'https://downloads.wordpress.org/plugin/wp-mail-smtp.zip',
1349 - );
1350 -
1351 - /**
1352 - * List of URLs used in plugin formidable internal installation.
1353 - *
1354 - * @since 6.3.1
1355 - *
1356 - * @param array $allowed_url_list List of URLs.
1357 - */
1358 - $allowed_url_list = apply_filters( 'frm_allowed_external_urls', $allowed_url_list );
1359 -
1360 - if ( ! is_array( $allowed_url_list ) ) {
1361 - _doing_it_wrong( __METHOD__, 'Only an array of URLs could be used within this filter.', '6.3.1' );
1362 -
1363 - return array();
1364 - }
1365 -
1366 - return $allowed_url_list;
1367 - }
1368 -
1369 - /**
1370 - * Gets required plan for an addon.
1371 - *
1372 - * @since 6.4.2
1373 - *
1374 - * @return string Empty string if no plan is required for active license.
1375 - */
1376 - public static function get_addon_required_plan( $addon_id ) {
1377 - $api = new FrmFormApi();
1378 - $addons = $api->get_api_info();
1379 -
1380 - if ( is_array( $addons ) && array_key_exists( $addon_id, $addons ) ) {
1381 - $dates = $addons[ $addon_id ];
1382 - $requires = FrmFormsHelper::get_plan_required( $dates );
1383 - }
1384 -
1385 - if ( ! isset( $requires ) || ! is_string( $requires ) ) {
1386 - $requires = '';
1387 - }
1388 -
1389 - return $requires;
1390 1317 }
1391 1318
1392 1319 /**
1393 1320 * @since 4.06.02