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
File: Helper.php
*/
[500] Fix | Delete
public static function gated_release( $threshold = 0 ) {
[501] Fix | Delete
$gatekeeper = $threshold >= self::get_zuul();
[502] Fix | Delete
$gatekeeper = apply_filters( 'ninja_forms_gatekeeper', $gatekeeper );
[503] Fix | Delete
[504] Fix | Delete
return $gatekeeper;
[505] Fix | Delete
}
[506] Fix | Delete
[507] Fix | Delete
/**
[508] Fix | Delete
* Is Maintenance
[509] Fix | Delete
*
[510] Fix | Delete
* Checks the upgrades table to see if the form the user is viewing
[511] Fix | Delete
* is under maintenance mode.
[512] Fix | Delete
*
[513] Fix | Delete
* @since 3.4.0
[514] Fix | Delete
*
[515] Fix | Delete
* @param $form_id - The ID of the form we are checking.
[516] Fix | Delete
*
[517] Fix | Delete
* @return boolean
[518] Fix | Delete
*/
[519] Fix | Delete
public static function form_in_maintenance( $form_id ) {
[520] Fix | Delete
global $wpdb;
[521] Fix | Delete
[522] Fix | Delete
$db_version = get_option( 'ninja_forms_db_version' );
[523] Fix | Delete
[524] Fix | Delete
if( ! $db_version ) return false;
[525] Fix | Delete
[526] Fix | Delete
// Exit early if the column doesn't exist.
[527] Fix | Delete
if( version_compare( '1.3', $db_version, '>' ) ) return false;
[528] Fix | Delete
[529] Fix | Delete
// Get our maintenance value from the DB and return it at the zero position.
[530] Fix | Delete
$maintenance = $wpdb->get_row(
[531] Fix | Delete
"SELECT `maintenance` FROM `{$wpdb->prefix}nf3_upgrades` WHERE `id` = {$form_id}", 'ARRAY_A'
[532] Fix | Delete
);
[533] Fix | Delete
[534] Fix | Delete
/*
[535] Fix | Delete
* If maintenance isn't empty and basic on maintenance's value
[536] Fix | Delete
* return a boolean value.
[537] Fix | Delete
*/
[538] Fix | Delete
if( ! empty( $maintenance ) && 1 == $maintenance[ 'maintenance' ] ) {
[539] Fix | Delete
return true;
[540] Fix | Delete
} else {
[541] Fix | Delete
return false;
[542] Fix | Delete
}
[543] Fix | Delete
}
[544] Fix | Delete
[545] Fix | Delete
/**
[546] Fix | Delete
* This function either put all forms in maintenance mode or remove maintenance
[547] Fix | Delete
* mode for all forms. Depending on the input parameters
[548] Fix | Delete
*
[549] Fix | Delete
* @since 3.4.0
[550] Fix | Delete
*
[551] Fix | Delete
* @param $mode - Default 0 ( Take all forms out of maintenance mode )
[552] Fix | Delete
*/
[553] Fix | Delete
public static function set_forms_maintenance_mode( $mode = 0 ) {
[554] Fix | Delete
global $wpdb;
[555] Fix | Delete
[556] Fix | Delete
// default is 0, so if we get passed bad data, just use 0
[557] Fix | Delete
if( ! in_array( $mode, array( 0, 1 ) ) ) {
[558] Fix | Delete
$mode = 0;
[559] Fix | Delete
}
[560] Fix | Delete
[561] Fix | Delete
// set maintenance flag to $mode (0 or 1)
[562] Fix | Delete
$sql = $wpdb->prepare( "UPDATE `{$wpdb->prefix}nf3_upgrades` SET "
[563] Fix | Delete
. "maintenance = %d", intval( $mode ) );
[564] Fix | Delete
[565] Fix | Delete
$wpdb->query( $sql );
[566] Fix | Delete
}
[567] Fix | Delete
[568] Fix | Delete
/**
[569] Fix | Delete
* We'll use to determine if we need to use the form cache or not. This will
[570] Fix | Delete
* be used for all users not on the newest version of the database
[571] Fix | Delete
*
[572] Fix | Delete
* @return boolean
[573] Fix | Delete
*/
[574] Fix | Delete
public static function use_cache() {
[575] Fix | Delete
return true;
[576] Fix | Delete
[577] Fix | Delete
$cache_mode = intval( get_option('ninja_forms_cache_mode') );
[578] Fix | Delete
// if we've already decided to use the cache return true and exit.
[579] Fix | Delete
if( 0 < $cache_mode ) return true;
[580] Fix | Delete
[581] Fix | Delete
$db_version = get_option('ninja_forms_db_version');
[582] Fix | Delete
// If not in cache mode, get the db version and return true if we aren't at a certain threshold version-wise
[583] Fix | Delete
if( ! $db_version || version_compare($db_version, '1.4', '<' )) {
[584] Fix | Delete
return true;
[585] Fix | Delete
}
[586] Fix | Delete
[587] Fix | Delete
$finished_updates = get_option( 'ninja_forms_required_updates', false );
[588] Fix | Delete
// make sure we've run the lastest update to reconcile db with cache field values
[589] Fix | Delete
if( $finished_updates && !isset( $finished_updates[ 'CacheFieldReconcilliation' ] ) ) {
[590] Fix | Delete
return true;
[591] Fix | Delete
}
[592] Fix | Delete
[593] Fix | Delete
return false;
[594] Fix | Delete
}
[595] Fix | Delete
[596] Fix | Delete
/**
[597] Fix | Delete
* Sanitizes single/multiple CSS classNames
[598] Fix | Delete
*
[599] Fix | Delete
* Explodes on space, sanitize each className, implode with space to recombine
[600] Fix | Delete
* @param string $value
[601] Fix | Delete
* @return string
[602] Fix | Delete
*/
[603] Fix | Delete
public static function sanitize_classes($value):string {
[604] Fix | Delete
[605] Fix | Delete
$outgoing = $value;
[606] Fix | Delete
$sanitized = [];
[607] Fix | Delete
[608] Fix | Delete
$exploded = explode(' ',$value);
[609] Fix | Delete
[610] Fix | Delete
foreach($exploded as $singleClass){
[611] Fix | Delete
$sanitized[] = sanitize_html_class($singleClass);
[612] Fix | Delete
}
[613] Fix | Delete
[614] Fix | Delete
$outgoing = implode(' ',$sanitized);
[615] Fix | Delete
[616] Fix | Delete
return $outgoing;
[617] Fix | Delete
}
[618] Fix | Delete
[619] Fix | Delete
/**
[620] Fix | Delete
* Sanitizes string values for field settings
[621] Fix | Delete
*
[622] Fix | Delete
* WIP methods can still be implemented for this.
[623] Fix | Delete
*
[624] Fix | Delete
* @param string $key Setting name
[625] Fix | Delete
* @param string $value of setting
[626] Fix | Delete
* @return string sanitized value for setting
[627] Fix | Delete
*/
[628] Fix | Delete
public static function sanitize_string_setting_value($key, $value):string {
[629] Fix | Delete
[630] Fix | Delete
if( in_array( $key, ["element_class", "container_class"] ) ) {
[631] Fix | Delete
$value = self::sanitize_classes($value);
[632] Fix | Delete
} else if( in_array( $key, ["label"] )){
[633] Fix | Delete
$value = self::sanitize_text_field($value);
[634] Fix | Delete
}
[635] Fix | Delete
[636] Fix | Delete
[637] Fix | Delete
return $value;
[638] Fix | Delete
}
[639] Fix | Delete
[640] Fix | Delete
/**
[641] Fix | Delete
* Check the DISALLOW_UNFILTERED_HTML constant value and return early if true.
[642] Fix | Delete
* If false, return opposite for 'unfiltered_html' current user capability
[643] Fix | Delete
*
[644] Fix | Delete
* @return bool
[645] Fix | Delete
*/
[646] Fix | Delete
public static function maybe_disallow_unfiltered_html_for_sanitization():bool {
[647] Fix | Delete
[648] Fix | Delete
/**
[649] Fix | Delete
* Exit early if the config setting is TRUE to mimic WordPress capability check.
[650] Fix | Delete
*/
[651] Fix | Delete
if( defined( 'DISALLOW_UNFILTERED_HTML' ) && DISALLOW_UNFILTERED_HTML ) return true;
[652] Fix | Delete
[653] Fix | Delete
$disallow_unfiltered_html = ! current_user_can( 'unfiltered_html' );
[654] Fix | Delete
return $disallow_unfiltered_html;
[655] Fix | Delete
}
[656] Fix | Delete
[657] Fix | Delete
/**
[658] Fix | Delete
* Check the DISALLOW_UNFILTERED_HTML constant value only on the escaping side
[659] Fix | Delete
*
[660] Fix | Delete
* @return bool
[661] Fix | Delete
*/
[662] Fix | Delete
public static function maybe_disallow_unfiltered_html_for_escaping():bool {
[663] Fix | Delete
[664] Fix | Delete
// Default intentinally left set to false to avoid breaking countless pre-existing forms using this feature.
[665] Fix | Delete
$disallow_unfiltered_html = defined( 'DISALLOW_UNFILTERED_HTML' ) ? DISALLOW_UNFILTERED_HTML : false;
[666] Fix | Delete
[667] Fix | Delete
return $disallow_unfiltered_html;
[668] Fix | Delete
}
[669] Fix | Delete
[670] Fix | Delete
/**
[671] Fix | Delete
* Sanitize output to csv to prevent formula injection.
[672] Fix | Delete
*
[673] Fix | Delete
* @param String $value The value to be escaped.
[674] Fix | Delete
* @return String
[675] Fix | Delete
*/
[676] Fix | Delete
public static function maybe_escape_csv_column( $value ):string {
[677] Fix | Delete
if (!is_string($value) && !is_numeric($value)) {
[678] Fix | Delete
if(is_array($value)){
[679] Fix | Delete
$value = implode(' ', $value);
[680] Fix | Delete
}else{
[681] Fix | Delete
throw new Exception('Incoming value to maybe_escape_csv_column is neither string nor array');
[682] Fix | Delete
}
[683] Fix | Delete
}
[684] Fix | Delete
[685] Fix | Delete
if( 0 < strlen($value ) ) {
[686] Fix | Delete
$first_char = substr( $value, 0, 1 );
[687] Fix | Delete
if( in_array( $first_char, array( '=', '@', '+', '-' ) ) ) {
[688] Fix | Delete
$value = "'" . $value;
[689] Fix | Delete
}
[690] Fix | Delete
}
[691] Fix | Delete
return $value;
[692] Fix | Delete
}
[693] Fix | Delete
[694] Fix | Delete
} // End Class WPN_Helper
[695] Fix | Delete
[696] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function