Check for division by zero
This commit is contained in:
@@ -958,6 +958,13 @@ if ( !function_exists( 'sp_solve' ) ) {
|
|||||||
if ( sp_array_value( $vars, 'eventsplayed', 0 ) <= 0 )
|
if ( sp_array_value( $vars, 'eventsplayed', 0 ) <= 0 )
|
||||||
return '-';
|
return '-';
|
||||||
|
|
||||||
|
// Equation Operating System
|
||||||
|
if ( ! class_exists( 'phpStack' ) )
|
||||||
|
include_once( SP()->plugin_path() . '/includes/libraries/class-phpstack.php' );
|
||||||
|
if ( ! class_exists( 'eqEOS' ) )
|
||||||
|
include_once( SP()->plugin_path() . '/includes/libraries/class-eqeos.php' );
|
||||||
|
$eos = new eqEOS();
|
||||||
|
|
||||||
// Clearance to begin calculating remains true if all equation variables are in vars
|
// Clearance to begin calculating remains true if all equation variables are in vars
|
||||||
$clearance = true;
|
$clearance = true;
|
||||||
|
|
||||||
@@ -966,24 +973,17 @@ if ( !function_exists( 'sp_solve' ) ) {
|
|||||||
foreach( $parts as $key => $value ):
|
foreach( $parts as $key => $value ):
|
||||||
if ( substr( $value, 0, 1 ) == '$' ):
|
if ( substr( $value, 0, 1 ) == '$' ):
|
||||||
if ( ! array_key_exists( preg_replace( "/[^a-z]/", '', $value ), $vars ) )
|
if ( ! array_key_exists( preg_replace( "/[^a-z]/", '', $value ), $vars ) )
|
||||||
$clearance = false;
|
return 0;
|
||||||
|
endif;
|
||||||
|
|
||||||
|
$pos = strpos( $equation, '/' );
|
||||||
|
if ( $pos ):
|
||||||
|
if ( $eos->solveIF( substr( $equation, $pos + 2 ), $vars ) == 0 )
|
||||||
|
return 0;
|
||||||
endif;
|
endif;
|
||||||
endforeach;
|
endforeach;
|
||||||
|
|
||||||
if ( $clearance ):
|
|
||||||
// Equation Operating System
|
|
||||||
if ( ! class_exists( 'phpStack' ) )
|
|
||||||
include_once( SP()->plugin_path() . '/includes/libraries/class-phpstack.php' );
|
|
||||||
if ( ! class_exists( 'eqEOS' ) )
|
|
||||||
include_once( SP()->plugin_path() . '/includes/libraries/class-eqeos.php' );
|
|
||||||
|
|
||||||
$eos = new eqEOS();
|
|
||||||
|
|
||||||
// Solve using EOS;
|
|
||||||
return number_format( $eos->solveIF( str_replace( ' ', '', $equation ), $vars ), $precision );
|
return number_format( $eos->solveIF( str_replace( ' ', '', $equation ), $vars ), $precision );
|
||||||
else:
|
|
||||||
return 0;
|
|
||||||
endif;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user