| @@ -1313,9 +1313,12 @@ | ||
| 1313 | 1313 | |
| 1314 | 1314 | protected function render() |
| 1315 | 1315 | { |
| 1316 | 1316 | $settings = $this->get_settings_for_display(); |
| 1317 | - $counter_percent = round(($settings['counter_value'] / $settings['max_value']) * 100); | |
| 1317 | + // A cleared or zero Max Value would divide by zero and take the page down with it. | |
| 1318 | + $counter_value = (float) Core::jsNumber($settings, 'counter_value', 70); | |
| 1319 | + $max_value = (float) Core::jsNumber($settings, 'max_value', 100); | |
| 1320 | + $counter_percent = $max_value > 0 ? round(($counter_value / $max_value) * 100) : 0; | |
| 1318 | 1321 | |
| 1319 | 1322 | $this->add_render_attribute('king-addons-progress-bar', [ |
| 1320 | 1323 | 'class' => 'king-addons-progress-bar', |
| 1321 | 1324 | 'data-options' => wp_json_encode([ |
| @@ -1321,10 +1324,10 @@ | ||
| 1321 | 1324 | 'data-options' => wp_json_encode([ |
| 1322 | 1325 | 'counterValue' => $settings['counter_value'], |
| 1323 | 1326 | 'counterValuePercent' => $counter_percent, |
| 1324 | 1327 | 'counterSeparator' => $settings['counter_separator'], |
| 1325 | - 'animDuration' => $settings['anim_duration'] * 1000, | |
| 1326 | - 'animDelay' => $settings['anim_delay'] * 1000, | |
| 1328 | + 'animDuration' => Core::jsNumber($settings, 'anim_duration', 1) * 1000, | |
| 1329 | + 'animDelay' => Core::jsNumber($settings, 'anim_delay', 0) * 1000, | |
| 1327 | 1330 | 'loop' => $settings['anim_loop'] ?? '', |
| 1328 | 1331 | 'loopDelay' => $settings['anim_loop_delay'] ?? '', |
| 1329 | 1332 | ]), |
| 1330 | 1333 | ]); |