Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/wp-conte.../plugins/wpforms-.../includes/provider...
File: class-base.php
if ( empty( $_GET['form_id'] ) || ! empty( $this->form_data ) ) {
[1000] Fix | Delete
return;
[1001] Fix | Delete
}
[1002] Fix | Delete
[1003] Fix | Delete
$revisions = wpforms()->get( 'revisions' );
[1004] Fix | Delete
$revision = $revisions ? $revisions->get_revision() : null;
[1005] Fix | Delete
[1006] Fix | Delete
if ( $revision ) {
[1007] Fix | Delete
// Setup form data based on the revision_id.
[1008] Fix | Delete
$this->form_data = wpforms_decode( $revision->post_content );
[1009] Fix | Delete
[1010] Fix | Delete
return;
[1011] Fix | Delete
}
[1012] Fix | Delete
[1013] Fix | Delete
// Setup form data based on the ID.
[1014] Fix | Delete
$form = wpforms()->get( 'form' );
[1015] Fix | Delete
[1016] Fix | Delete
if ( ! $form ) {
[1017] Fix | Delete
return;
[1018] Fix | Delete
}
[1019] Fix | Delete
[1020] Fix | Delete
$this->form_data = $form->get(
[1021] Fix | Delete
absint( $_GET['form_id'] ),
[1022] Fix | Delete
[ 'content_only' => true ]
[1023] Fix | Delete
);
[1024] Fix | Delete
// phpcs:enable WordPress.Security.NonceVerification.Recommended
[1025] Fix | Delete
}
[1026] Fix | Delete
[1027] Fix | Delete
/**
[1028] Fix | Delete
* Display content inside the panel content area.
[1029] Fix | Delete
*
[1030] Fix | Delete
* @since 1.0.0
[1031] Fix | Delete
*/
[1032] Fix | Delete
public function builder_content() {
[1033] Fix | Delete
[1034] Fix | Delete
$form_data = $this->form_data;
[1035] Fix | Delete
$providers = wpforms_get_providers_options();
[1036] Fix | Delete
[1037] Fix | Delete
if ( ! empty( $form_data['providers'][ $this->slug ] ) && ! empty( $providers[ $this->slug ] ) ) {
[1038] Fix | Delete
[1039] Fix | Delete
foreach ( $form_data['providers'][ $this->slug ] as $connection_id => $connection ) {
[1040] Fix | Delete
[1041] Fix | Delete
foreach ( $providers[ $this->slug ] as $account_id => $connections ) {
[1042] Fix | Delete
[1043] Fix | Delete
if (
[1044] Fix | Delete
! empty( $connection['account_id'] ) &&
[1045] Fix | Delete
$connection['account_id'] === $account_id
[1046] Fix | Delete
) {
[1047] Fix | Delete
echo $this->output_connection( $connection_id, $connection, $form_data );
[1048] Fix | Delete
}
[1049] Fix | Delete
}
[1050] Fix | Delete
}
[1051] Fix | Delete
}
[1052] Fix | Delete
}
[1053] Fix | Delete
[1054] Fix | Delete
/**
[1055] Fix | Delete
* Get provider configured status.
[1056] Fix | Delete
*
[1057] Fix | Delete
* @since 1.6.8
[1058] Fix | Delete
*/
[1059] Fix | Delete
private function get_configured() {
[1060] Fix | Delete
[1061] Fix | Delete
return ! empty( $this->form_data['id'] ) && Status::init( $this->slug )->is_ready( $this->form_data['id'] )
[1062] Fix | Delete
? 'configured'
[1063] Fix | Delete
: '';
[1064] Fix | Delete
}
[1065] Fix | Delete
[1066] Fix | Delete
/**
[1067] Fix | Delete
* Display content inside the panel sidebar area.
[1068] Fix | Delete
*
[1069] Fix | Delete
* @since 1.0.0
[1070] Fix | Delete
*/
[1071] Fix | Delete
public function builder_sidebar() {
[1072] Fix | Delete
[1073] Fix | Delete
$configured = $this->get_configured();
[1074] Fix | Delete
[1075] Fix | Delete
echo '<a href="#" class="wpforms-panel-sidebar-section icon ' . esc_attr( $configured ) . ' wpforms-panel-sidebar-section-' . esc_attr( $this->slug ) . '" data-section="' . esc_attr( $this->slug ) . '">';
[1076] Fix | Delete
[1077] Fix | Delete
echo '<img src="' . esc_url( $this->icon ) . '">';
[1078] Fix | Delete
[1079] Fix | Delete
echo esc_html( $this->name );
[1080] Fix | Delete
[1081] Fix | Delete
echo '<i class="fa fa-angle-right wpforms-toggle-arrow"></i>';
[1082] Fix | Delete
[1083] Fix | Delete
if ( ! empty( $configured ) ) {
[1084] Fix | Delete
echo '<i class="fa fa-check-circle-o"></i>';
[1085] Fix | Delete
}
[1086] Fix | Delete
[1087] Fix | Delete
echo '</a>';
[1088] Fix | Delete
}
[1089] Fix | Delete
[1090] Fix | Delete
/**
[1091] Fix | Delete
* Wrap the builder content with the required markup.
[1092] Fix | Delete
*
[1093] Fix | Delete
* @since 1.0.0
[1094] Fix | Delete
*/
[1095] Fix | Delete
public function builder_output() {
[1096] Fix | Delete
[1097] Fix | Delete
$form_id = ! empty( $this->form_data['id'] ) ? $this->form_data['id'] : '';
[1098] Fix | Delete
[1099] Fix | Delete
?>
[1100] Fix | Delete
<div class="wpforms-panel-content-section wpforms-panel-content-section-<?php echo esc_attr( $this->slug ); ?>"
[1101] Fix | Delete
id="<?php echo esc_attr( $this->slug ); ?>-provider">
[1102] Fix | Delete
[1103] Fix | Delete
<?php $this->builder_output_before(); ?>
[1104] Fix | Delete
[1105] Fix | Delete
<div class="wpforms-panel-content-section-title">
[1106] Fix | Delete
[1107] Fix | Delete
<?php echo esc_html( $this->name ); ?>
[1108] Fix | Delete
[1109] Fix | Delete
<button class="wpforms-provider-connections-add" data-form_id="<?php echo absint( $form_id ); ?>"
[1110] Fix | Delete
data-provider="<?php echo esc_attr( $this->slug ); ?>"
[1111] Fix | Delete
data-type="<?php echo esc_attr( strtolower( $this->type ) ); ?>">
[1112] Fix | Delete
<?php
[1113] Fix | Delete
printf( /* translators: %s - provider type. */
[1114] Fix | Delete
esc_html__( 'Add New %s', 'wpforms-lite' ),
[1115] Fix | Delete
esc_html( $this->type )
[1116] Fix | Delete
);
[1117] Fix | Delete
?>
[1118] Fix | Delete
</button>
[1119] Fix | Delete
[1120] Fix | Delete
</div>
[1121] Fix | Delete
<?php
[1122] Fix | Delete
[1123] Fix | Delete
FormBuilder::display_content_default_screen(
[1124] Fix | Delete
Status::init( $this->slug )->is_ready( $form_id ),
[1125] Fix | Delete
$this->slug,
[1126] Fix | Delete
$this->name,
[1127] Fix | Delete
$this->icon
[1128] Fix | Delete
);
[1129] Fix | Delete
[1130] Fix | Delete
?>
[1131] Fix | Delete
<div class="wpforms-provider-connections-wrap wpforms-clear">
[1132] Fix | Delete
[1133] Fix | Delete
<div class="wpforms-provider-connections">
[1134] Fix | Delete
[1135] Fix | Delete
<?php $this->builder_content(); ?>
[1136] Fix | Delete
[1137] Fix | Delete
</div>
[1138] Fix | Delete
[1139] Fix | Delete
</div>
[1140] Fix | Delete
[1141] Fix | Delete
<?php $this->builder_output_after(); ?>
[1142] Fix | Delete
[1143] Fix | Delete
</div>
[1144] Fix | Delete
<?php
[1145] Fix | Delete
}
[1146] Fix | Delete
[1147] Fix | Delete
/**
[1148] Fix | Delete
* Optionally output content before the main builder output.
[1149] Fix | Delete
*
[1150] Fix | Delete
* @since 1.3.6
[1151] Fix | Delete
*/
[1152] Fix | Delete
public function builder_output_before() {
[1153] Fix | Delete
}
[1154] Fix | Delete
[1155] Fix | Delete
/**
[1156] Fix | Delete
* Optionally output content after the main builder output.
[1157] Fix | Delete
*
[1158] Fix | Delete
* @since 1.3.6
[1159] Fix | Delete
*/
[1160] Fix | Delete
public function builder_output_after() {
[1161] Fix | Delete
}
[1162] Fix | Delete
[1163] Fix | Delete
/*************************************************************************
[1164] Fix | Delete
* Integrations tab methods - these methods relate to the settings page. *
[1165] Fix | Delete
*************************************************************************/
[1166] Fix | Delete
[1167] Fix | Delete
/**
[1168] Fix | Delete
* Form fields to add a new provider account.
[1169] Fix | Delete
*
[1170] Fix | Delete
* @since 1.0.0
[1171] Fix | Delete
*/
[1172] Fix | Delete
public function integrations_tab_new_form() {
[1173] Fix | Delete
}
[1174] Fix | Delete
[1175] Fix | Delete
/**
[1176] Fix | Delete
* AJAX to disconnect a provider from the settings integrations tab.
[1177] Fix | Delete
*
[1178] Fix | Delete
* @since 1.0.0
[1179] Fix | Delete
*/
[1180] Fix | Delete
public function integrations_tab_disconnect() {
[1181] Fix | Delete
[1182] Fix | Delete
// Run a security check.
[1183] Fix | Delete
check_ajax_referer( 'wpforms-admin', 'nonce' );
[1184] Fix | Delete
[1185] Fix | Delete
// Check for permissions.
[1186] Fix | Delete
if ( ! wpforms_current_user_can() ) {
[1187] Fix | Delete
wp_send_json_error(
[1188] Fix | Delete
[
[1189] Fix | Delete
'error' => esc_html__( 'You do not have permission', 'wpforms-lite' ),
[1190] Fix | Delete
]
[1191] Fix | Delete
);
[1192] Fix | Delete
}
[1193] Fix | Delete
[1194] Fix | Delete
if ( empty( $_POST['provider'] ) || empty( $_POST['key'] ) ) {
[1195] Fix | Delete
wp_send_json_error(
[1196] Fix | Delete
[
[1197] Fix | Delete
'error' => esc_html__( 'Missing data', 'wpforms-lite' ),
[1198] Fix | Delete
]
[1199] Fix | Delete
);
[1200] Fix | Delete
}
[1201] Fix | Delete
[1202] Fix | Delete
$providers = wpforms_get_providers_options();
[1203] Fix | Delete
[1204] Fix | Delete
if ( ! empty( $providers[ $_POST['provider'] ][ $_POST['key'] ] ) ) {
[1205] Fix | Delete
[1206] Fix | Delete
unset( $providers[ $_POST['provider'] ][ $_POST['key'] ] );
[1207] Fix | Delete
update_option( 'wpforms_providers', $providers );
[1208] Fix | Delete
wp_send_json_success();
[1209] Fix | Delete
[1210] Fix | Delete
} else {
[1211] Fix | Delete
wp_send_json_error(
[1212] Fix | Delete
[
[1213] Fix | Delete
'error' => esc_html__( 'Connection missing', 'wpforms-lite' ),
[1214] Fix | Delete
]
[1215] Fix | Delete
);
[1216] Fix | Delete
}
[1217] Fix | Delete
}
[1218] Fix | Delete
[1219] Fix | Delete
/**
[1220] Fix | Delete
* AJAX to add a provider from the settings integrations tab.
[1221] Fix | Delete
*
[1222] Fix | Delete
* @since 1.0.0
[1223] Fix | Delete
*/
[1224] Fix | Delete
public function integrations_tab_add() {
[1225] Fix | Delete
[1226] Fix | Delete
if ( $_POST['provider'] !== $this->slug ) { //phpcs:ignore
[1227] Fix | Delete
return;
[1228] Fix | Delete
}
[1229] Fix | Delete
[1230] Fix | Delete
// Run a security check.
[1231] Fix | Delete
check_ajax_referer( 'wpforms-admin', 'nonce' );
[1232] Fix | Delete
[1233] Fix | Delete
// Check for permissions.
[1234] Fix | Delete
if ( ! wpforms_current_user_can() ) {
[1235] Fix | Delete
wp_send_json_error(
[1236] Fix | Delete
[
[1237] Fix | Delete
'error' => esc_html__( 'You do not have permission', 'wpforms-lite' ),
[1238] Fix | Delete
]
[1239] Fix | Delete
);
[1240] Fix | Delete
}
[1241] Fix | Delete
[1242] Fix | Delete
if ( empty( $_POST['data'] ) ) {
[1243] Fix | Delete
wp_send_json_error(
[1244] Fix | Delete
[
[1245] Fix | Delete
'error' => esc_html__( 'Missing data', 'wpforms-lite' ),
[1246] Fix | Delete
]
[1247] Fix | Delete
);
[1248] Fix | Delete
}
[1249] Fix | Delete
[1250] Fix | Delete
$data = wp_parse_args( $_POST['data'], [] );
[1251] Fix | Delete
$auth = $this->api_auth( $data, '' );
[1252] Fix | Delete
[1253] Fix | Delete
if ( is_wp_error( $auth ) ) {
[1254] Fix | Delete
[1255] Fix | Delete
wp_send_json_error(
[1256] Fix | Delete
[
[1257] Fix | Delete
'error' => esc_html__( 'Could not connect to the provider.', 'wpforms-lite' ),
[1258] Fix | Delete
'error_msg' => $auth->get_error_message(),
[1259] Fix | Delete
]
[1260] Fix | Delete
);
[1261] Fix | Delete
[1262] Fix | Delete
} else {
[1263] Fix | Delete
[1264] Fix | Delete
$account = '<li class="wpforms-clear">';
[1265] Fix | Delete
$account .= '<span class="label">' . sanitize_text_field( $data['label'] ) . '</span>';
[1266] Fix | Delete
$account .= '<span class="date">';
[1267] Fix | Delete
$account .= esc_html(
[1268] Fix | Delete
sprintf( /* translators: %1$s - Connection date. */
[1269] Fix | Delete
__( 'Connected on: %1$s', 'wpforms-lite' ),
[1270] Fix | Delete
wpforms_date_format( time(), '', true )
[1271] Fix | Delete
)
[1272] Fix | Delete
);
[1273] Fix | Delete
$account .= '</span>';
[1274] Fix | Delete
$account .= '<span class="remove"><a href="#" data-provider="' . $this->slug . '" data-key="' . esc_attr( $auth ) . '">' . esc_html__( 'Disconnect', 'wpforms-lite' ) . '</a></span>';
[1275] Fix | Delete
$account .= '</li>';
[1276] Fix | Delete
[1277] Fix | Delete
wp_send_json_success(
[1278] Fix | Delete
[
[1279] Fix | Delete
'html' => $account,
[1280] Fix | Delete
]
[1281] Fix | Delete
);
[1282] Fix | Delete
}
[1283] Fix | Delete
}
[1284] Fix | Delete
[1285] Fix | Delete
/**
[1286] Fix | Delete
* Add provider to the Settings Integrations tab.
[1287] Fix | Delete
*
[1288] Fix | Delete
* @since 1.0.0
[1289] Fix | Delete
*
[1290] Fix | Delete
* @param array $active Array of active connections.
[1291] Fix | Delete
* @param array $settings Array of all connections settings.
[1292] Fix | Delete
*/
[1293] Fix | Delete
public function integrations_tab_options( $active, $settings ) {
[1294] Fix | Delete
[1295] Fix | Delete
$connected = ! empty( $active[ $this->slug ] );
[1296] Fix | Delete
$accounts = ! empty( $settings[ $this->slug ] ) ? $settings[ $this->slug ] : [];
[1297] Fix | Delete
$class = $connected && $accounts ? 'connected' : '';
[1298] Fix | Delete
$arrow = 'right';
[1299] Fix | Delete
/* translators: %s - provider name. */
[1300] Fix | Delete
$title_connect_to = sprintf( esc_html__( 'Connect to %s', 'wpforms-lite' ), esc_html( $this->name ) );
[1301] Fix | Delete
[1302] Fix | Delete
// This lets us highlight a specific service by a special link.
[1303] Fix | Delete
if ( ! empty( $_GET['wpforms-integration'] ) ) { //phpcs:ignore
[1304] Fix | Delete
if ( $this->slug === $_GET['wpforms-integration'] ) { //phpcs:ignore
[1305] Fix | Delete
$class .= ' focus-in';
[1306] Fix | Delete
$arrow = 'down';
[1307] Fix | Delete
} else {
[1308] Fix | Delete
$class .= ' focus-out';
[1309] Fix | Delete
}
[1310] Fix | Delete
}
[1311] Fix | Delete
?>
[1312] Fix | Delete
[1313] Fix | Delete
<div id="wpforms-integration-<?php echo esc_attr( $this->slug ); ?>" class="wpforms-settings-provider wpforms-clear <?php echo esc_attr( $this->slug ); ?> <?php echo esc_attr( $class ); ?>">
[1314] Fix | Delete
[1315] Fix | Delete
<div class="wpforms-settings-provider-header wpforms-clear" data-provider="<?php echo esc_attr( $this->slug ); ?>">
[1316] Fix | Delete
[1317] Fix | Delete
<div class="wpforms-settings-provider-logo">
[1318] Fix | Delete
<i title="<?php esc_attr_e( 'Show Accounts', 'wpforms-lite' ); ?>" class="fa fa-chevron-<?php echo esc_attr( $arrow ); ?>"></i>
[1319] Fix | Delete
<img src="<?php echo esc_url( $this->icon ); ?>">
[1320] Fix | Delete
</div>
[1321] Fix | Delete
[1322] Fix | Delete
<div class="wpforms-settings-provider-info">
[1323] Fix | Delete
<h3><?php echo esc_html( $this->name ); ?></h3>
[1324] Fix | Delete
<p>
[1325] Fix | Delete
<?php
[1326] Fix | Delete
printf( /* translators: %s - provider name. */
[1327] Fix | Delete
esc_html__( 'Integrate %s with WPForms', 'wpforms-lite' ),
[1328] Fix | Delete
esc_html( $this->name )
[1329] Fix | Delete
);
[1330] Fix | Delete
?>
[1331] Fix | Delete
</p>
[1332] Fix | Delete
<span class="connected-indicator green"><i class="fa fa-check-circle-o"></i>&nbsp;<?php esc_html_e( 'Connected', 'wpforms-lite' ); ?></span>
[1333] Fix | Delete
</div>
[1334] Fix | Delete
[1335] Fix | Delete
</div>
[1336] Fix | Delete
[1337] Fix | Delete
<div class="wpforms-settings-provider-accounts" id="provider-<?php echo esc_attr( $this->slug ); ?>">
[1338] Fix | Delete
[1339] Fix | Delete
<div class="wpforms-settings-provider-accounts-list">
[1340] Fix | Delete
<ul>
[1341] Fix | Delete
<?php
[1342] Fix | Delete
if ( ! empty( $accounts ) ) {
[1343] Fix | Delete
foreach ( $accounts as $key => $account ) {
[1344] Fix | Delete
echo '<li class="wpforms-clear">';
[1345] Fix | Delete
echo '<span class="label">' . esc_html( $account['label'] ) . '</span>';
[1346] Fix | Delete
echo '<span class="date">';
[1347] Fix | Delete
echo esc_html(
[1348] Fix | Delete
sprintf( /* translators: %1$s - Connection date. */
[1349] Fix | Delete
__( 'Connected on: %1$s', 'wpforms-lite' ),
[1350] Fix | Delete
wpforms_date_format( (int) $account['date'], '', true )
[1351] Fix | Delete
)
[1352] Fix | Delete
);
[1353] Fix | Delete
echo '</span>';
[1354] Fix | Delete
echo '<span class="remove"><a href="#" data-provider="' . esc_attr( $this->slug ) . '" data-key="' . esc_attr( $key ) . '">' . esc_html__( 'Disconnect', 'wpforms-lite' ) . '</a></span>';
[1355] Fix | Delete
echo '</li>';
[1356] Fix | Delete
}
[1357] Fix | Delete
}
[1358] Fix | Delete
?>
[1359] Fix | Delete
</ul>
[1360] Fix | Delete
</div>
[1361] Fix | Delete
[1362] Fix | Delete
<p class="wpforms-settings-provider-accounts-toggle">
[1363] Fix | Delete
<a class="wpforms-btn wpforms-btn-md wpforms-btn-light-grey" href="#" data-provider="<?php echo esc_attr( $this->slug ); ?>">
[1364] Fix | Delete
<i class="fa fa-plus"></i> <?php esc_html_e( 'Add New Account', 'wpforms-lite' ); ?>
[1365] Fix | Delete
</a>
[1366] Fix | Delete
</p>
[1367] Fix | Delete
[1368] Fix | Delete
<div class="wpforms-settings-provider-accounts-connect">
[1369] Fix | Delete
[1370] Fix | Delete
<form>
[1371] Fix | Delete
<p><?php esc_html_e( 'Please fill out all of the fields below to add your new provider account.', 'wpforms-lite' ); ?></span></p>
[1372] Fix | Delete
[1373] Fix | Delete
<p class="wpforms-settings-provider-accounts-connect-fields">
[1374] Fix | Delete
<?php $this->integrations_tab_new_form(); ?>
[1375] Fix | Delete
</p>
[1376] Fix | Delete
[1377] Fix | Delete
<button type="submit" class="wpforms-btn wpforms-btn-md wpforms-btn-orange wpforms-settings-provider-connect"
[1378] Fix | Delete
data-provider="<?php echo esc_attr( $this->slug ); ?>" title="<?php echo esc_attr( $title_connect_to ); ?>">
[1379] Fix | Delete
<?php echo esc_html( $title_connect_to ); ?>
[1380] Fix | Delete
</button>
[1381] Fix | Delete
</form>
[1382] Fix | Delete
</div>
[1383] Fix | Delete
[1384] Fix | Delete
</div>
[1385] Fix | Delete
[1386] Fix | Delete
</div>
[1387] Fix | Delete
<?php
[1388] Fix | Delete
}
[1389] Fix | Delete
[1390] Fix | Delete
/**
[1391] Fix | Delete
* Error wrapper for WP_Error.
[1392] Fix | Delete
*
[1393] Fix | Delete
* @since 1.0.0
[1394] Fix | Delete
*
[1395] Fix | Delete
* @param string $message
[1396] Fix | Delete
* @param string $parent
[1397] Fix | Delete
*
[1398] Fix | Delete
* @return WP_Error
[1399] Fix | Delete
*/
[1400] Fix | Delete
public function error( $message = '', $parent = '0' ) {
[1401] Fix | Delete
return new WP_Error( $this->slug . '-error', $message );
[1402] Fix | Delete
}
[1403] Fix | Delete
}
[1404] Fix | Delete
[1405] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function