Ejemplo n.º 1
0
 /**
  * retrieve registered tools
 * @return array:array tools (array(array('slug', 'name', 'description'))
 */
 function custom_get_registered_tools($reload = false)
 {
     global $registered_tools;
     if ($reload || empty($registered_tools)) {
         $registered_tools = array();
         if (custom_is_registered()) {
             $available_tools = custom_get_available_tools();
             if (!empty($available_tools)) {
                 foreach ($available_tools as $tool) {
                     $active = apply_filters("custom_is_tool_" . $tool['slug'] . "_active", false);
                     if ($active) {
                         $registered_tools[] = $tool;
                     }
                 }
             }
         }
     }
     return $registered_tools;
 }
Ejemplo n.º 2
0
 /**
  * Register and add settings
  */
 public function page_init()
 {
     register_setting('custom_option_group', CUSTOM_CONFIG_OPTIONS, array($this, 'sanitize'));
     // --- Key activation
     add_settings_section('custom_settings_key_activation_id', __("Activation"), array($this, 'print_section_key_activation_info'), 'custom-admin');
     add_settings_field('key-activation-id', __("enter your key", CUSTOM_PLUGIN_TEXT_DOMAIN), array($this, 'print_setting_key_activation'), 'custom-admin', 'custom_settings_key_activation_id');
     $this->fields[] = "key-activation";
     // --- Tools
     if (custom_is_registered()) {
         $tools = custom_get_available_tools();
         foreach ($tools as $tool) {
             $fields = array();
             $fields = apply_filters("custom_config_options_fields_tool_" . $tool['slug'], $fields);
             if (!empty($fields)) {
                 // tool section
                 $callback = null;
                 if (function_exists("tool_" . $tool['slug'] . "_get_config_options_section_description")) {
                     $callback = "tool_" . $tool['slug'] . "_get_config_options_section_description";
                 }
                 $documentation_link = "";
                 if (function_exists("tool_" . $tool['slug'] . "_get_config_options_section_documentation_url")) {
                     $documentation_link = '<a class="tool-documentation" href="' . call_user_func("tool_" . $tool['slug'] . "_get_config_options_section_documentation_url") . '" target="_blank"><i class="fa fa-info-circle"></i></a>';
                 }
                 add_settings_section('custom_settings_tool_' . $tool['slug'] . '_id', $tool['name'] . $documentation_link, $callback, 'custom-admin');
                 // tool fields
                 if (!empty($fields)) {
                     foreach ($fields as $field) {
                         add_settings_field($field['slug'], $field['title'], $field['callback'], 'custom-admin', 'custom_settings_tool_' . $tool['slug'] . '_id', array('options' => $this->options));
                         $this->fields[] = $field['slug'];
                     }
                 }
             }
         }
     }
 }