/** * Render the upgrades completion bar. * * @since 1.0 */ protected function render_upgrades_bar() { $updated = $this->release->get_total_updated(); $total_activations = $this->release->get_total_active_activations(); $total_activations = max(1, $total_activations); $percent = min(number_format($updated / $total_activations * 100, 0), 100); if ($this->release->get_status() == Release::STATUS_DRAFT) { $hidden = ' hidden'; } else { $hidden = ''; } $tip = __("Update notifications can't be sent for archived releases.", Plugin::SLUG); if ($this->release->get_status() == Release::STATUS_ARCHIVED) { $disabled = ' button-disabled'; $title = " title=\"{$tip}\""; } else { $disabled = ''; $title = ''; } ?> <div class="spacing-wrapper bottom-border upgrade-progress-block<?php echo $hidden; ?> "> <h4> <?php _e("Updates", Plugin::SLUG); ?> <a href="javascript:" id="more-upgrades-link"><?php _e("More", Plugin::SLUG); ?> </a> </h4> <div class="progress-container" data-percent="<?php echo $percent; ?> "> <progress value="<?php echo esc_attr($updated); ?> " max="<?php echo esc_attr($total_activations); ?> "> <div class="progress-bar"> <span style="width: <?php echo $percent; ?> %;">Progress: <?php echo $percent; ?> %</span> </div> </progress> <button class="button <?php echo $disabled; ?> " id="notify-button"<?php echo $title; ?> data-tip="<?php echo $tip; ?> "> <?php _e("Notify", Plugin::SLUG); ?> </button> </div> </div> <?php }
/** * Prepare an individual key view. * * @since 1.0 * * @param Release $release * * @return array */ protected function prepare_record(Release $release) { if ($release->get_start_date()) { $start_date = $release->get_start_date()->format(get_option('date_format')); } else { $start_date = '-'; } $updated = $release->get_total_updated(); $total_activations = $release->get_total_active_activations(); $total_activations = max(1, $total_activations); $percent = min(number_format($updated / $total_activations * 100, 0), 100); $data = array('ID' => $release->get_ID(), 'release' => (string) $release, 'status' => $release->get_status(false), 'type' => $release->get_type(true), 'updated' => "{$percent}%", 'start_date' => $start_date); /** * Filter the columns on the releases list table. * * @since 1.0 * * @param array $data * @param Release $release */ $data = apply_filters('itelic_releases_list_table_columns', $data, $release); return $data; }