コード例 #1
0
 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);
 }