<?php namespace WoWPress\Frontend\Widgets; class BossKills extends Widget { protected $template_path = "boss_kills.php"; protected $title = "Boss-Kills"; protected $base_id = "wowpress_boss_kills"; public $name = "Boss-Kills"; protected $restricted = false; public function getBossList($instance){ $out = []; foreach($instance['bosses'] as $boss){ if(!empty($boss['name'])){ $out[] = $boss; } } return $out; } public function getCompletePercent($instance){ $bosses = $this->getBossList($instance); $done = 0; foreach($bosses as $boss){ if(!empty($boss['date'])){ $done++; } } return ($done/count($bosses))*100; } public function form($instance) { $raid_name = !empty($instance['raid_name']) ? $instance['raid_name'] : ""; ?> <p> <label for="<?php echo esc_attr($this->get_field_id("raid_name")); ?>"><?php echo esc_html__('Raid-Name', 'wowpress'); ?></label> <input type="text" class="widefat" id="<?php echo esc_attr($this->get_field_id("raid_name")); ?>" name="<?php echo esc_attr($this->get_field_name("raid_name")); ?>" value="<?php echo esc_attr($raid_name); ?>"> </p> <?php for ($i = 0; $i <= 15; $i++) { $boss_name = !empty($instance['bosses'][$i]['name']) ? $instance['bosses'][$i]['name'] : ""; $boss_kill = !empty($instance['bosses'][$i]['date']) ? $instance['bosses'][$i]['date'] : ""; ?> <p> <label for="<?php echo esc_attr($this->get_field_id("bosses[$i][name]")); ?>"><?php echo esc_html__('Boss-Name', 'wowpress'); ?></label> <input type="text" class="widefat" id="<?php echo esc_attr($this->get_field_id("bosses[$i][name]")); ?>" name="<?php echo esc_attr($this->get_field_name("bosses[$i][name]")); ?>" value="<?php echo esc_attr($boss_name); ?>"> </p> <p> <label for="<?php echo esc_attr($this->get_field_id("bosses[$i][date]")); ?>"><?php echo esc_html__('Firstkill', 'wowpress'); ?></label> <input type="date" class="widefat" id="<?php echo esc_attr($this->get_field_id("bosses[$i][date]")); ?>" name="<?php echo esc_attr($this->get_field_name("bosses[$i][date]")); ?>" value="<?php echo esc_attr($boss_kill); ?>"> </p> <?php } } public function update($new_instance, $old_instance) { $instance = array(); $instance['raid_name'] = (!empty($new_instance['raid_name'])) ? strip_tags($new_instance['raid_name']) : ''; for ($i = 0; $i <= 15; $i++) { $instance['bosses'][$i]['name'] = (!empty($new_instance['bosses'][$i]['name'])) ? strip_tags($new_instance['bosses'][$i]['name']) : ''; $instance['bosses'][$i]['date'] = (!empty($new_instance['bosses'][$i]['date'])) ? strip_tags($new_instance['bosses'][$i]['date']) : ''; } return $instance; } }