'; echo 'Your AC Inspector settings was updated successfully.'; echo ''; } if ( sizeof( parent::$errors ) > 0 ) { echo '

'; echo "AC Inspector Error: "; foreach (parent::$errors as $error) { echo $error . " \n"; } printf('Please check your AC Inspector Settings.', self::$_plugin_options_url); echo '

'; } } public function enqueue_styles() { } public function enqueue_scripts($hook) { if ("settings_page_ac-inspector" != $hook) { return; } wp_enqueue_style('aci-main-style', plugins_url('css/main.css', ACI_PLUGIN_FILE), array(), '20140701'); wp_enqueue_style('aci-tabs-style', plugins_url('css/tabs.css', ACI_PLUGIN_FILE), array(), '20140115'); wp_enqueue_script('aci-tabs-script', plugins_url('js/tabs.js', ACI_PLUGIN_FILE), array('jquery-ui-tabs'), '20140115', true); } public function add_plugin_page() { add_action( 'admin_print_styles-ac-inspector', array(&$this, 'enqueue_styles') ); add_action( 'admin_print_scripts-ac-inspector', array(&$this, 'enqueue_scripts') ); // This page will be under "Settings" if ( is_multisite() && is_plugin_active_for_network( ACI_PLUGIN_BASENAME ) ) { add_submenu_page('settings.php', 'AC Inspector', 'AC Inspector', 'manage_options', 'ac-inspector', array( $this, 'create_admin_page' ) ); } else { add_options_page( 'Settings Admin', 'AC Inspector', 'manage_options', 'ac-inspector', array( $this, 'create_admin_page' ) ); } } public function create_admin_page() { ?>

Angry Creative Inspector Version by Angry Creative AB

Latest log entries

25) { array_shift($lines); } } } fclose($fp); echo '
    '; foreach ($lines as $line) { echo '
  • '; if (strpos($line, '|') !== false) { $sublines = array_map('trim', explode('|', $line)); $firstline = array_splice($sublines, 0, 1); echo $firstline[0]; echo '
      '; foreach ($sublines as $subline) { echo '
    • ' . $subline . '
    • '; } echo '
    '; } else { echo $line; } echo '
  • '; } echo '
'; ?>
0 ) { add_settings_section( 'aci_inspection_routine_settings', 'Routines on General Inspection', array( $this, 'print_inspection_routine_settings_info' ), 'ac-inspector' ); $routine_fields = array(); foreach( $inspection_routines as $routine ) { $routine_settings_fields[$routine] = array(); $routine_settings_fields[$routine]['id'] = $routine.'_settings_field'; $routine_settings_fields[$routine]['title'] = ucwords(str_replace("_", " ", str_replace("wp_", "", str_replace("aci_", "", str_replace("routine_", "", strtolower($routine)))))); $routine_settings_fields[$routine]['callback'] = array( &$this, 'routine_settings_field' ); $routine_settings_fields[$routine]['page'] = 'ac-inspector'; $routine_settings_fields[$routine]['section'] = 'aci_inspection_routine_settings'; $routine_settings_fields[$routine]['args'] = array('routine' => $routine); $routine_settings_fields[$routine] = apply_filters( $routine.'_settings_field_args', $routine_settings_fields[$routine] ); } foreach( $routine_settings_fields as $routine_field ) { add_settings_field( $routine_field['id'], $routine_field['title'], $routine_field['callback'], $routine_field['page'], $routine_field['section'], $routine_field['args'] ); } } $wp_hook_routines = ACI_Routine_Handler::get_wp_hook_routines(); if ( is_array($wp_hook_routines) && count($wp_hook_routines) > 0 ) { add_settings_section( 'aci_wp_hook_routine_settings', 'Routines on WP Action/Filter Hooks', array( $this, 'print_wp_hook_routine_settings_info' ), 'ac-inspector' ); foreach( $wp_hook_routines as $routine ) { $routine_settings_fields[$routine] = array(); $routine_settings_fields[$routine]['id'] = $routine.'_settings_field'; $routine_settings_fields[$routine]['title'] = ucwords(str_replace("_", " ", str_replace("wp_", "", str_replace("aci_", "", str_replace("routine_", "", strtolower($routine)))))); $routine_settings_fields[$routine]['callback'] = array( &$this, 'routine_settings_field' ); $routine_settings_fields[$routine]['page'] = 'ac-inspector'; $routine_settings_fields[$routine]['section'] = 'aci_wp_hook_routine_settings'; $routine_settings_fields[$routine]['args'] = array('routine' => $routine); $routine_settings_fields[$routine] = apply_filters( $routine.'_settings_field_args', $routine_settings_fields[$routine] ); } foreach( $routine_settings_fields as $routine_field ) { add_settings_field( $routine_field['id'], $routine_field['title'], $routine_field['callback'], $routine_field['page'], $routine_field['section'], $routine_field['args'] ); } } } public function validate_options( $input = array() ) { if ( empty( $input ) && $_SERVER['REQUEST_METHOD'] == "POST" && isset( $_POST['aci_options'] ) ) { $input = $_POST['aci_options']; } $saved_option = parent::get_option( 'ac_inspector_log_path' ); if ( !empty( $input['log_path'] ) ) { if ( $saved_option === FALSE ) { parent::add_option( 'ac_inspector_log_path', $input['log_path'] ); } else { parent::update_option( 'ac_inspector_log_path', $input['log_path'] ); } parent::$log_path = $input['log_path']; } $routines = (array) ACI_Routine_Handler::get_all(); foreach( array_keys($routines) as $routine ) { $routine_settings = ACI_Routine_Handler::get_options($routine); if ( !empty( $input[$routine] ) && is_array( $input[$routine] ) ) { $new_routine_settings = $input[$routine]; } else { $new_routine_settings = array(); } foreach($routine_settings as $opt => $val) { if ( isset( $new_routine_settings[$opt] ) ) { $routine_settings[$opt] = $new_routine_settings[$opt]; } } $routine_settings = apply_filters( $routine.'_settings', $routine_settings ); ACI_Routine_Handler::set_options( $routine, $routine_settings ); } if ( is_multisite() && is_plugin_active_for_network( ACI_PLUGIN_BASENAME ) ) { // redirect to settings page in network wp_redirect( add_query_arg( array( 'page' => 'ac-inspector', 'updated' => 'true' ), network_admin_url( 'settings.php' ) ) ); exit; } return $input; } public function print_general_settings_info() { print 'These are your general settings:'; } public function print_inspection_routine_settings_info() { print 'Below you can set options for your inspection routines on scheduled and user activated inspections:'; } public function print_wp_hook_routine_settings_info() { print 'Below you can set options for your inspection routines triggered by Wordpress hooks:'; } public function log_path_field() { ?>
Site specific settings
Submit your settings to enable/disable site-specific settings
get_col("SELECT blog_id FROM ".$wpdb->prefix."blogs"); if ( is_array( $site_blog_ids ) ) { foreach( $site_blog_ids AS $site_blog_id ) { $sitename = get_blog_details( $site_blog_id )->blogname; ?> Log level on Log level {$section['title']}\n"; if ( $section['callback'] ) call_user_func( $section['callback'], $section ); if ( ! isset( $wp_settings_fields ) || !isset( $wp_settings_fields[$page] ) || !isset( $wp_settings_fields[$page][$section['id']] ) ) continue; echo ''; do_settings_fields( $page, $section['id'] ); echo '
'; } } }