/** * Enrich the available plugin dependency data * * @param array $plugins * @return array */ public static function add_known_dependencies($plugins) { if (method_exists('Plugin_Dependencies', 'data_safe_plugin_merge')) { return Plugin_Dependencies::data_safe_plugin_merge($plugins, self::$list); } else { return self::data_safe_plugin_merge($plugins, self::$list); } }
private function generate_dep_list($deps, $unsatisfied = array(), $unsatisfied_network = array()) { $all_plugins = get_plugins(); $dep_list = ''; foreach ($deps as $dep) { $plugin_ids = Plugin_Dependencies::get_providers($dep); if (in_array($dep, $unsatisfied)) { $class = 'unsatisfied'; } elseif (in_array($dep, $unsatisfied_network)) { $class = 'unsatisfied_network'; } else { $class = 'satisfied'; } if (empty($plugin_ids)) { $name = html('span', esc_html($dep)); } else { $list = array(); foreach ($plugin_ids as $plugin_id) { $name = isset($all_plugins[$plugin_id]['Name']) ? $all_plugins[$plugin_id]['Name'] : $plugin_id; $list[] = html('a', array('href' => '#' . sanitize_title($name)), $name); } $name = implode(' or ', $list); } $dep_list .= html('li', compact('class'), $name); } return html('ul', array('class' => 'dep-list'), $dep_list); }