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/clone/wp-conte.../plugins/ninja-fo.../includes/Admin/Menus
File: Forms.php
[500] Fix | Delete
// This step remove the <script> that sets inline vars we then use the $this variables into wp_localize_script
[501] Fix | Delete
$this->preloadedFormData = $form_data;
[502] Fix | Delete
[503] Fix | Delete
}
[504] Fix | Delete
[505] Fix | Delete
/**
[506] Fix | Delete
* Null Data Check
[507] Fix | Delete
* Accepts array of settings and removes null data the array.
[508] Fix | Delete
*
[509] Fix | Delete
* @param $settings - a key/value pair of settings.
[510] Fix | Delete
* @return array
[511] Fix | Delete
*/
[512] Fix | Delete
private function null_data_check( $settings )
[513] Fix | Delete
{
[514] Fix | Delete
// Loop over the settings we receive.
[515] Fix | Delete
foreach ($settings as $key => $setting) {
[516] Fix | Delete
// Check for null values in the settings array.
[517] Fix | Delete
if ( null === $setting ) {
[518] Fix | Delete
// Remove null settings from the array.
[519] Fix | Delete
unset( $settings[ $key ] );
[520] Fix | Delete
continue;
[521] Fix | Delete
}
[522] Fix | Delete
}
[523] Fix | Delete
return $settings;
[524] Fix | Delete
}
[525] Fix | Delete
[526] Fix | Delete
/**
[527] Fix | Delete
* Sanitize any field setting that can cause vulnerabilities
[528] Fix | Delete
*
[529] Fix | Delete
* @param array $fieldSettings
[530] Fix | Delete
* @return array
[531] Fix | Delete
*/
[532] Fix | Delete
private function sanitizeFieldSettings(array $fieldSettings): array
[533] Fix | Delete
{
[534] Fix | Delete
$return = $fieldSettings;
[535] Fix | Delete
[536] Fix | Delete
$return['label']=$this->removeScriptTriggers( $fieldSettings['label']);
[537] Fix | Delete
[538] Fix | Delete
return $return;
[539] Fix | Delete
}
[540] Fix | Delete
[541] Fix | Delete
/**
[542] Fix | Delete
* Remove known script triggers that can be output on screen
[543] Fix | Delete
*
[544] Fix | Delete
* @param string $string
[545] Fix | Delete
* @return string
[546] Fix | Delete
*/
[547] Fix | Delete
private function removeScriptTriggers(string $string): string
[548] Fix | Delete
{
[549] Fix | Delete
$return =wp_kses_post( NinjaForms\Includes\Handlers\Sanitizer::preventScriptTriggerInHtmlOutput($string));
[550] Fix | Delete
[551] Fix | Delete
return $return;
[552] Fix | Delete
}
[553] Fix | Delete
[554] Fix | Delete
private function _localize_field_type_data()
[555] Fix | Delete
{
[556] Fix | Delete
$field_type_sections = array_values( Ninja_Forms()->config( 'FieldTypeSections' ) );
[557] Fix | Delete
$field_type_settings = array();
[558] Fix | Delete
[559] Fix | Delete
$master_settings = array();
[560] Fix | Delete
[561] Fix | Delete
$setting_defaults = array();
[562] Fix | Delete
[563] Fix | Delete
foreach( Ninja_Forms()->fields as $field ){
[564] Fix | Delete
if ( 'password' == $field->get_type() || 'passwordconfirm' == $field->get_type() ) {
[565] Fix | Delete
if( ! $this->legacy_password && ! apply_filters( 'ninja_forms_enable_password_fields', false ) ){
[566] Fix | Delete
continue;
[567] Fix | Delete
}
[568] Fix | Delete
}
[569] Fix | Delete
[570] Fix | Delete
if ( ! apply_filters( 'ninja_forms_field_show_in_builder', $field->show_in_builder(), $field ) ) {
[571] Fix | Delete
continue;
[572] Fix | Delete
}
[573] Fix | Delete
[574] Fix | Delete
$name = $field->get_name();
[575] Fix | Delete
$settings = $field->get_settings();
[576] Fix | Delete
$groups = Ninja_Forms::config( 'SettingsGroups' );
[577] Fix | Delete
[578] Fix | Delete
$unique_settings = $this->_unique_settings( $settings );
[579] Fix | Delete
[580] Fix | Delete
$master_settings = array_merge( $master_settings, $unique_settings );
[581] Fix | Delete
[582] Fix | Delete
$settings_groups = $this->_group_settings( $settings, $groups );
[583] Fix | Delete
[584] Fix | Delete
$settings_defaults = $this->_setting_defaults( $unique_settings );
[585] Fix | Delete
[586] Fix | Delete
$field_type_settings[ $name ] = array(
[587] Fix | Delete
'id' => $name,
[588] Fix | Delete
'nicename' => $field->get_nicename(),
[589] Fix | Delete
'alias' => $field->get_aliases(),
[590] Fix | Delete
'parentType' => $field->get_parent_type(),
[591] Fix | Delete
'section' => $field->get_section(),
[592] Fix | Delete
'icon' => $field->get_icon(),
[593] Fix | Delete
'type' => $field->get_type(),
[594] Fix | Delete
'settingGroups' => $settings_groups,
[595] Fix | Delete
'settingDefaults' => $settings_defaults
[596] Fix | Delete
);
[597] Fix | Delete
}
[598] Fix | Delete
[599] Fix | Delete
$external_fields = $this->_fetch_field_feed();
[600] Fix | Delete
foreach( $external_fields as $field){
[601] Fix | Delete
[602] Fix | Delete
if( ! isset( $field[ 'name' ] ) || ! $field[ 'name' ] ) continue;
[603] Fix | Delete
[604] Fix | Delete
$section = ( isset( $field['section'] ) ) ? $field['section'] : '';
[605] Fix | Delete
$name = $field[ 'name' ];
[606] Fix | Delete
$nicename = ( isset( $field[ 'nicename' ] ) ) ? $field[ 'nicename' ] : '';
[607] Fix | Delete
$link = ( isset( $field[ 'link' ] ) ) ? $field[ 'link' ] : '';
[608] Fix | Delete
$modal_content = ( isset( $field[ 'modal_content' ] ) ) ? $field[ 'modal_content' ] : '';
[609] Fix | Delete
[610] Fix | Delete
if( isset( $field_type_settings[ $name ] ) ) continue;
[611] Fix | Delete
[612] Fix | Delete
$field_type_settings[ $name ] = array(
[613] Fix | Delete
'id' => $name,
[614] Fix | Delete
'nicename' => $nicename,
[615] Fix | Delete
'alias' => array(),
[616] Fix | Delete
'parentType' => '',
[617] Fix | Delete
'section' => $section,
[618] Fix | Delete
'icon' => 'arrow-circle-o-down',
[619] Fix | Delete
'type' => $name,
[620] Fix | Delete
'link' => $link,
[621] Fix | Delete
'modal_content' => $modal_content,
[622] Fix | Delete
'settingGroups' => array(),
[623] Fix | Delete
'settingDefaults' => array()
[624] Fix | Delete
);
[625] Fix | Delete
}
[626] Fix | Delete
[627] Fix | Delete
$saved_fields = Ninja_Forms()->form()->get_fields( array( 'saved' => 1) );
[628] Fix | Delete
[629] Fix | Delete
foreach( $saved_fields as $saved_field ){
[630] Fix | Delete
[631] Fix | Delete
$settings = $saved_field->get_settings();
[632] Fix | Delete
unset( $settings['cellcid'] );
[633] Fix | Delete
[634] Fix | Delete
$id = $saved_field->get_id();
[635] Fix | Delete
$type = $settings[ 'type' ];
[636] Fix | Delete
$label = $settings[ 'label' ];
[637] Fix | Delete
[638] Fix | Delete
$field_type_settings[ $id ] = $field_type_settings[ $type ];
[639] Fix | Delete
$field_type_settings[ $id ][ 'id' ] = $id;
[640] Fix | Delete
$field_type_settings[ $id ][ 'type' ] = $type;
[641] Fix | Delete
$field_type_settings[ $id ][ 'nicename' ] = $label;
[642] Fix | Delete
$field_type_settings[ $id ][ 'section' ] = 'saved';
[643] Fix | Delete
[644] Fix | Delete
$defaults = $field_type_settings[ $id ][ 'settingDefaults' ];
[645] Fix | Delete
if(is_array($defaults)){
[646] Fix | Delete
$defaults = array_merge( $defaults, $settings );
[647] Fix | Delete
}
[648] Fix | Delete
$defaults[ 'saved' ] = TRUE;
[649] Fix | Delete
[650] Fix | Delete
$field_type_settings[ $id ][ 'settingDefaults' ] = $defaults;
[651] Fix | Delete
}
[652] Fix | Delete
[653] Fix | Delete
// This step remove the <script> that sets inline vars we then use the $this variables into wp_localize_script
[654] Fix | Delete
$this->fieldTypeData = array_values( $field_type_settings );
[655] Fix | Delete
$this->fieldSettings = array_values( $master_settings );
[656] Fix | Delete
$this->fieldTypeSections = $field_type_sections;
[657] Fix | Delete
[658] Fix | Delete
}
[659] Fix | Delete
[660] Fix | Delete
private function _localize_action_type_data()
[661] Fix | Delete
{
[662] Fix | Delete
$action_type_settings = array();
[663] Fix | Delete
[664] Fix | Delete
$master_settings_list = array();
[665] Fix | Delete
[666] Fix | Delete
foreach( Ninja_Forms()->actions as $action ){
[667] Fix | Delete
[668] Fix | Delete
$name = $action->get_name();
[669] Fix | Delete
$settings = $action->get_settings();
[670] Fix | Delete
$groups = Ninja_Forms::config( 'SettingsGroups' );
[671] Fix | Delete
[672] Fix | Delete
$settings_groups = $this->_group_settings( $settings, $groups );
[673] Fix | Delete
[674] Fix | Delete
$master_settings_list = array_merge( $master_settings_list, $settings );
[675] Fix | Delete
[676] Fix | Delete
$action_type_settings[ $name ] = array(
[677] Fix | Delete
'id' => $name,
[678] Fix | Delete
'section' => $action->get_section(),
[679] Fix | Delete
'docUrl' => $action->get_doc_url(),
[680] Fix | Delete
'group' => $action->get_group(),
[681] Fix | Delete
'nicename' => $action->get_nicename(),
[682] Fix | Delete
'image' => $action->get_image(),
[683] Fix | Delete
'settingGroups' => $settings_groups,
[684] Fix | Delete
'settingDefaults' => $this->_setting_defaults( $master_settings_list )
[685] Fix | Delete
);
[686] Fix | Delete
}
[687] Fix | Delete
[688] Fix | Delete
$external_actions = $this->_fetch_action_feed();
[689] Fix | Delete
$u_id = get_option( 'nf_aff', false );
[690] Fix | Delete
if ( !$u_id ) $u_id = apply_filters( 'ninja_forms_affiliate_id', false );
[691] Fix | Delete
foreach( $external_actions as $action){
[692] Fix | Delete
[693] Fix | Delete
if( ! isset( $action[ 'name' ] ) || ! $action[ 'name' ] ) continue;
[694] Fix | Delete
[695] Fix | Delete
$group = ( isset( $action['group'] ) ) ? $action['group'] : '';
[696] Fix | Delete
$name = $action[ 'name' ];
[697] Fix | Delete
$nicename = ( isset( $action[ 'nicename' ] ) ) ? $action[ 'nicename' ] : '';
[698] Fix | Delete
$image = ( isset( $action[ 'image' ] ) ) ? $action[ 'image' ] : '';
[699] Fix | Delete
$link = ( isset( $action[ 'link' ] ) ) ? $action[ 'link' ] : '';
[700] Fix | Delete
$modal_content = ( isset( $action[ 'modal_content' ] ) ) ? $action[ 'modal_content' ] : '';
[701] Fix | Delete
[702] Fix | Delete
if ( $u_id ) {
[703] Fix | Delete
$last_slash = strripos( $link, '/' );
[704] Fix | Delete
$link = substr( $link, 0, $last_slash );
[705] Fix | Delete
$link = urlencode( $link );
[706] Fix | Delete
$link = 'http://www.shareasale.com/r.cfm?u=' . $u_id . '&b=812237&m=63061&afftrack=&urllink=' . $link;
[707] Fix | Delete
}
[708] Fix | Delete
[709] Fix | Delete
if( isset( $action_type_settings[ $name ] ) ) continue;
[710] Fix | Delete
[711] Fix | Delete
$action_type_settings[ $name ] = array(
[712] Fix | Delete
'id' => $name,
[713] Fix | Delete
'group' => $group,
[714] Fix | Delete
'section' => 'available',
[715] Fix | Delete
'nicename' => $nicename,
[716] Fix | Delete
'image' => $image,
[717] Fix | Delete
'link' => $link,
[718] Fix | Delete
'modal_content' => $modal_content,
[719] Fix | Delete
'settingGroups' => array(),
[720] Fix | Delete
'settingDefaults' => array()
[721] Fix | Delete
);
[722] Fix | Delete
}
[723] Fix | Delete
[724] Fix | Delete
/**
[725] Fix | Delete
* Remove some action types if Builder Dev Mode is not enabled.
[726] Fix | Delete
*/
[727] Fix | Delete
if( 1 != Ninja_Forms()->get_setting('builder_dev_mode') ) {
[728] Fix | Delete
/** Remove the WP Hook (custom) action. */
[729] Fix | Delete
unset( $action_type_settings[ 'custom' ] );
[730] Fix | Delete
}
[731] Fix | Delete
[732] Fix | Delete
$action_type_settings = apply_filters( 'ninja_forms_action_type_settings', $action_type_settings );
[733] Fix | Delete
[734] Fix | Delete
// This step remove the <script> that sets inline vars we then use the $this variables into wp_localize_script
[735] Fix | Delete
$this->actionTypeData = array_values( $action_type_settings );
[736] Fix | Delete
$this->actionSettings = array_values( $master_settings_list );
[737] Fix | Delete
[738] Fix | Delete
}
[739] Fix | Delete
[740] Fix | Delete
protected function _localize_form_settings()
[741] Fix | Delete
{
[742] Fix | Delete
$form_settings_types = Ninja_Forms::config( 'FormSettingsTypes' );
[743] Fix | Delete
[744] Fix | Delete
$form_settings[ 'display' ] = Ninja_Forms::config( 'FormDisplaySettings' );
[745] Fix | Delete
$form_settings[ 'restrictions' ] = Ninja_Forms::config( 'FormRestrictionSettings' );
[746] Fix | Delete
$form_settings[ 'calculations' ] = Ninja_Forms::config( 'FormCalculationSettings' );
[747] Fix | Delete
$form_settings = apply_filters( 'ninja_forms_localize_forms_settings', $form_settings );
[748] Fix | Delete
[749] Fix | Delete
foreach( $form_settings_types as $group_name => $form_setting_group ){
[750] Fix | Delete
if( ! isset( $form_settings[ $group_name ] ) ) $form_settings[ $group_name ] = array();
[751] Fix | Delete
$form_settings[ $group_name ] = apply_filters( 'ninja_forms_localize_form_' . $group_name . '_settings', $form_settings[ $group_name ] );
[752] Fix | Delete
}
[753] Fix | Delete
[754] Fix | Delete
$groups = Ninja_Forms::config( 'SettingsGroups' );
[755] Fix | Delete
[756] Fix | Delete
$master_settings = array();
[757] Fix | Delete
[758] Fix | Delete
foreach( $form_settings_types as $id => $type ) {
[759] Fix | Delete
[760] Fix | Delete
if( ! isset( $form_settings[ $id ] ) ) $form_settings[ $id ] = '';
[761] Fix | Delete
[762] Fix | Delete
$unique_settings = $this->_unique_settings( $form_settings[ $id ] );
[763] Fix | Delete
$master_settings = array_merge( $master_settings, $unique_settings );
[764] Fix | Delete
[765] Fix | Delete
$form_settings_types[ $id ]['settingGroups'] = $this->_group_settings($form_settings[ $id ], $groups);
[766] Fix | Delete
$form_settings_types[ $id ]['settingDefaults'] = $this->_setting_defaults($unique_settings);
[767] Fix | Delete
}
[768] Fix | Delete
[769] Fix | Delete
$external_settings = $this->_fetch_settings_feed();
[770] Fix | Delete
foreach( $external_settings as $setting){
[771] Fix | Delete
[772] Fix | Delete
if( ! isset( $setting[ 'id' ] ) || ! $setting[ 'id' ] ) continue;
[773] Fix | Delete
[774] Fix | Delete
$name = $setting[ 'id' ];
[775] Fix | Delete
$nicename = ( isset( $setting[ 'nicename' ] ) ) ? $setting[ 'nicename' ] : '';
[776] Fix | Delete
$link = ( isset( $setting[ 'link' ] ) ) ? $setting[ 'link' ] : '';
[777] Fix | Delete
$modal_content = ( isset( $setting[ 'modal_content' ] ) ) ? $setting[ 'modal_content' ] : '';
[778] Fix | Delete
[779] Fix | Delete
if( isset( $form_settings_types[ $name ] ) ) continue;
[780] Fix | Delete
[781] Fix | Delete
$form_settings_types[ $name ] = array(
[782] Fix | Delete
'id' => $name,
[783] Fix | Delete
'nicename' => $nicename,
[784] Fix | Delete
'link' => $link,
[785] Fix | Delete
'modal_content' => $modal_content,
[786] Fix | Delete
'settingGroups' => array(),
[787] Fix | Delete
'settingDefaults' => array()
[788] Fix | Delete
);
[789] Fix | Delete
}
[790] Fix | Delete
[791] Fix | Delete
// This step remove the <script> that sets inline vars we then use the $this variables into wp_localize_script
[792] Fix | Delete
$this->formSettingTypeData = array_values( $form_settings_types );
[793] Fix | Delete
$this->formSettings = array_values( $master_settings );
[794] Fix | Delete
[795] Fix | Delete
}
[796] Fix | Delete
[797] Fix | Delete
protected function _localize_merge_tags()
[798] Fix | Delete
{
[799] Fix | Delete
$merge_tags = array(
[800] Fix | Delete
'fields' => array(
[801] Fix | Delete
'id' => 'fields',
[802] Fix | Delete
'label' => esc_html__( 'Fields', 'ninja-forms' )
[803] Fix | Delete
)
[804] Fix | Delete
);
[805] Fix | Delete
[806] Fix | Delete
foreach( Ninja_Forms()->merge_tags as $key => $group ){
[807] Fix | Delete
/*
[808] Fix | Delete
* If the merge tag group doesn't have a title, don't localise it.
[809] Fix | Delete
*
[810] Fix | Delete
* This convention is used to allow merge tags to continue to function,
[811] Fix | Delete
* even though they can't be added to new forms.
[812] Fix | Delete
*/
[813] Fix | Delete
$title = $group->get_title();
[814] Fix | Delete
if ( empty( $title ) ) continue;
[815] Fix | Delete
[816] Fix | Delete
$merge_tags[ $key ] = array(
[817] Fix | Delete
'id' => $group->get_id(),
[818] Fix | Delete
'label' => $group->get_title(),
[819] Fix | Delete
'tags' => array_values( $group->get_merge_tags() ),
[820] Fix | Delete
'default_group' => $group->is_default_group()
[821] Fix | Delete
);
[822] Fix | Delete
}
[823] Fix | Delete
[824] Fix | Delete
$this->mergeTags = array_values( $merge_tags );
[825] Fix | Delete
[826] Fix | Delete
}
[827] Fix | Delete
[828] Fix | Delete
[829] Fix | Delete
protected function _group_settings( $settings, $groups )
[830] Fix | Delete
{
[831] Fix | Delete
if( ! is_array( $settings ) ) return $groups;
[832] Fix | Delete
[833] Fix | Delete
foreach( $settings as $setting ){
[834] Fix | Delete
[835] Fix | Delete
$group = ( isset( $setting[ 'group' ] ) ) ? $setting[ 'group' ] : '';
[836] Fix | Delete
[837] Fix | Delete
if( isset( $setting[ 'type'] ) && 'fieldset' == $setting[ 'type' ] ){
[838] Fix | Delete
$setting[ 'settings' ] = array_values( $setting[ 'settings' ] );
[839] Fix | Delete
}
[840] Fix | Delete
[841] Fix | Delete
$groups[ $group ][ 'settings'][] = $setting;
[842] Fix | Delete
}
[843] Fix | Delete
[844] Fix | Delete
foreach( $groups as $id => $group ) {
[845] Fix | Delete
if ( empty( $group[ 'settings' ] ) ) {
[846] Fix | Delete
unset( $groups[ $id ] );
[847] Fix | Delete
}
[848] Fix | Delete
}
[849] Fix | Delete
[850] Fix | Delete
unset( $groups[ "" ] );
[851] Fix | Delete
[852] Fix | Delete
usort($groups, array( $this, 'setting_group_priority' ) );
[853] Fix | Delete
[854] Fix | Delete
return $groups;
[855] Fix | Delete
}
[856] Fix | Delete
[857] Fix | Delete
protected function _unique_settings( $settings )
[858] Fix | Delete
{
[859] Fix | Delete
$unique_settings = array();
[860] Fix | Delete
[861] Fix | Delete
if( ! is_array( $settings ) ) return $unique_settings;
[862] Fix | Delete
[863] Fix | Delete
foreach( $settings as $setting ){
[864] Fix | Delete
[865] Fix | Delete
if( isset( $setting[ 'type' ] ) && 'fieldset' == $setting[ 'type' ] ){
[866] Fix | Delete
[867] Fix | Delete
$unique_settings = array_merge( $unique_settings, $this->_unique_settings( $setting[ 'settings' ] ) );
[868] Fix | Delete
} else {
[869] Fix | Delete
[870] Fix | Delete
$name = $setting[ 'name' ];
[871] Fix | Delete
$unique_settings[ $name ] = $setting;
[872] Fix | Delete
}
[873] Fix | Delete
[874] Fix | Delete
}
[875] Fix | Delete
[876] Fix | Delete
return $unique_settings;
[877] Fix | Delete
}
[878] Fix | Delete
[879] Fix | Delete
protected function _setting_defaults( $settings )
[880] Fix | Delete
{
[881] Fix | Delete
$setting_defaults = array();
[882] Fix | Delete
[883] Fix | Delete
foreach( $settings as $setting ){
[884] Fix | Delete
[885] Fix | Delete
$name = ( isset( $setting[ 'name' ] ) ) ? $setting[ 'name' ] : '';
[886] Fix | Delete
$default = ( isset( $setting[ 'value' ] ) ) ? $setting[ 'value' ] : null;
[887] Fix | Delete
$setting_defaults[ $name ] = $default;
[888] Fix | Delete
}
[889] Fix | Delete
[890] Fix | Delete
return $setting_defaults;
[891] Fix | Delete
}
[892] Fix | Delete
[893] Fix | Delete
protected function _fetch_action_feed()
[894] Fix | Delete
{
[895] Fix | Delete
return Ninja_Forms::config( 'AvailableActions' );
[896] Fix | Delete
}
[897] Fix | Delete
[898] Fix | Delete
protected function _fetch_settings_feed()
[899] Fix | Delete
{
[900] Fix | Delete
return Ninja_Forms::config( 'AvailableSettings' );
[901] Fix | Delete
}
[902] Fix | Delete
[903] Fix | Delete
protected function _fetch_field_feed()
[904] Fix | Delete
{
[905] Fix | Delete
return Ninja_Forms::config( 'AvailableFields' );
[906] Fix | Delete
}
[907] Fix | Delete
[908] Fix | Delete
protected function setting_group_priority( $a, $b )
[909] Fix | Delete
{
[910] Fix | Delete
$priority[ 0 ] = ( isset( $a[ 'priority' ] ) ) ? $a[ 'priority' ] : 500;
[911] Fix | Delete
$priority[ 1 ] = ( isset( $b[ 'priority' ] ) ) ? $b[ 'priority' ] : 500;
[912] Fix | Delete
[913] Fix | Delete
return $priority[ 0 ] - $priority[ 1 ];
[914] Fix | Delete
}
[915] Fix | Delete
[916] Fix | Delete
public function get_capability()
[917] Fix | Delete
{
[918] Fix | Delete
return apply_filters( 'ninja_forms_admin_parent_menu_capabilities', $this->capability );
[919] Fix | Delete
}
[920] Fix | Delete
[921] Fix | Delete
}
[922] Fix | Delete
[923] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function