Skip to content

Commit

Permalink
Work in progress.
Browse files Browse the repository at this point in the history
  • Loading branch information
dev4press committed Apr 1, 2023
1 parent 082a272 commit c2caa46
Show file tree
Hide file tree
Showing 34 changed files with 522 additions and 439 deletions.
12 changes: 6 additions & 6 deletions core/admin.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ function debugpress_do_settings_sections( $page ) {
$close = false;

foreach ( (array) $wp_settings_sections[ $page ] as $section ) {
$id = $section['id'];
$id = $section[ 'id' ];

if ( isset( $tabs[ $id ] ) ) {
$tab = $tabs[ $id ];
Expand All @@ -47,21 +47,21 @@ function debugpress_do_settings_sections( $page ) {
}

echo '<div class="debugpress-settings-section section-' . $id . '">';
if ( $section['title'] ) {
if ( $section[ 'title' ] ) {
echo "<h2>{$section['title']}</h2>\n";
}

if ( $section['callback'] ) {
if ( $section[ 'callback' ] ) {
echo '<div class="debugpress-section-info">';
call_user_func( $section['callback'], $section );
call_user_func( $section[ 'callback' ], $section );
echo '</div>';
}

if ( ! isset( $wp_settings_fields ) || ! isset( $wp_settings_fields[ $page ] ) || ! isset( $wp_settings_fields[ $page ][ $section['id'] ] ) ) {
if ( ! isset( $wp_settings_fields ) || ! isset( $wp_settings_fields[ $page ] ) || ! isset( $wp_settings_fields[ $page ][ $section[ 'id' ] ] ) ) {
continue;
}
echo '<table class="form-table" role="presentation">';
do_settings_fields( $page, $section['id'] );
do_settings_fields( $page, $section[ 'id' ] );
echo '</table>';
echo '</div>';
}
Expand Down
8 changes: 4 additions & 4 deletions core/admin/Plugin.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public static function instance() : Plugin {
}

public function plugin_action_links( $actions ) {
$actions['settings'] = '<a href="' . admin_url( 'options-general.php?page=debugpress' ) . '">' . esc_html__( "Settings", "debugpress" ) . '</a>';
$actions[ 'settings' ] = '<a href="' . admin_url( 'options-general.php?page=debugpress' ) . '">' . esc_html__( "Settings", "debugpress" ) . '</a>';

return $actions;
}
Expand All @@ -56,16 +56,16 @@ public function enqueue_scripts() {
}

public function admin_menu() {
$this->_pages['settings'] = add_options_page( __( "DebugPress Settings", "debugpress" ), __( "DebugPress", "debugpress" ), 'manage_options', 'debugpress', array(
$this->_pages[ 'settings' ] = add_options_page( __( "DebugPress Settings", "debugpress" ), __( "DebugPress", "debugpress" ), 'manage_options', 'debugpress', array(
$this,
'settings_page'
) );
$this->_pages['info'] = add_management_page( __( "DebugPress Info", "debugpress" ), __( "DebugPress Info", "debugpress" ), 'manage_options', 'debugpress-info', array(
$this->_pages[ 'info' ] = add_management_page( __( "DebugPress Info", "debugpress" ), __( "DebugPress Info", "debugpress" ), 'manage_options', 'debugpress-info', array(
$this,
'tools_page'
) );

add_action( 'load-' . $this->_pages['settings'], array( $this, 'settings_context_help' ) );
add_action( 'load-' . $this->_pages[ 'settings' ], array( $this, 'settings_context_help' ) );
}

public function settings_page() {
Expand Down
41 changes: 40 additions & 1 deletion core/admin/Settings.php
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,12 @@ public function sections() {
array( $this, 'block_pretty' ),
'debugpress' );

add_settings_section(
'debugpress_settings_shortcut',
__( "Keyboard Shortcut", "debugpress" ),
array( $this, 'block_shortcut' ),
'debugpress' );

add_settings_section(
'debugpress_settings_autos',
__( "Auto debug overrides", "debugpress" ),
Expand Down Expand Up @@ -161,6 +167,20 @@ public function fields() {
'debugpress',
'debugpress_settings_autos' );

add_settings_field(
'debugpress_settings_mousetrap',
'<label for="debugpress_settings_mousetrap">' . __( "Enable Shortcut Support", "debugpress" ) . '</label>',
array( $this, 'option_mousetrap' ),
'debugpress',
'debugpress_settings_shortcut' );

add_settings_field(
'debugpress_settings_mousetrap_sequence',
'<label for="debugpress_settings_mousetrap_sequence">' . __( "Shortcut Key Combination", "debugpress" ) . '</label>',
array( $this, 'option_mousetrap_sequence' ),
'debugpress',
'debugpress_settings_shortcut' );

add_settings_field(
'debugpress_settings_panel_content',
'<label for="debugpress_settings_panel_content">' . __( "Registered Content", "debugpress" ) . '</label>',
Expand Down Expand Up @@ -292,7 +312,7 @@ private function _roles_values() : array {
$roles = array();

foreach ( wp_roles()->roles as $role => $details ) {
$roles[ $role ] = translate_user_role( $details['name'] );
$roles[ $role ] = translate_user_role( $details[ 'name' ] );
}

return $roles;
Expand Down Expand Up @@ -363,6 +383,10 @@ public function block_pretty() {
echo __( "Choose which pretty print implementation to load. This is used to display complex arrays and objects in a readable form.", "debugpress" );
}

public function block_shortcut() {
echo __( "Show and hide the debugger popup using the shortcut combination on the keyboard.", "debugpress" );
}

public function block_autos() {
echo __( "If WP_DEBUG and SAVEQUERIES are not defined, plugin will attempt to enable both, because they are needed for the full debugger information to be displayed.", "debugpress" );
}
Expand Down Expand Up @@ -419,6 +443,7 @@ public function option_access_key() {

echo "<input class='widefat' id='debugpress_settings_access_key' name='debugpress_settings[access_key]' type='text' value='" . esc_attr( $enabled ) . "' />";
echo '<p class="description">' . esc_html__( "Access key to use in the URL to activate DebugPress on demand. Use any URL friendly string you want that includes one or more: lowercase letters, numbers, dashes.", "debugpress" ) . '</p>';
echo '<p class="description">' . esc_html__( "URL Query Argument:", "debugpress" ) . '<code>?debugpress={access-key}</code></p>';
}

public function option_pretty_print() {
Expand All @@ -445,6 +470,20 @@ public function option_auto_savequeries() {
echo '<p class="description">' . esc_html__( "Plugin will attempt to set SAVEQUERIES to 'true'. But, if the SAVEQUERIES was previously defined elsewhere as 'false', this option will not work.", "debugpress" ) . '</p>';
}

public function option_mousetrap() {
$checked = debugpress_plugin()->get( 'mousetrap' ) ? ' checked="checked" ' : '';

echo "<input " . $checked . " id='debugpress_settings_mousetraps' name='debugpress_settings[mousetrap]' type='checkbox' />";
}

public function option_mousetrap_sequence() {
$enabled = debugpress_plugin()->get( 'mousetrap_sequence' );

echo "<input class='widefat' id='debugpress_settings_mousetrap_sequence' name='debugpress_settings[mousetrap_sequence]' type='text' value='" . esc_attr( $enabled ) . "' />";
echo '<p class="description">' . esc_html__( "Keyboard keys combination to activate the debugger popup. You can use any number of letter key, with one or more special modifier keys. Use symbol + to connect separate the keys.", "debugpress" ) . '</p>';
echo '<p class="description">' . esc_html__( "Modifier keys:", "debugpress" ) . '<code>shift</code>, <code>ctrl</code>, <code>alt</code>, <code>command</code></p>';
}

public function option_panel_content() {
$checked = debugpress_plugin()->get( 'panel_content' ) ? ' checked="checked" ' : '';

Expand Down
80 changes: 40 additions & 40 deletions core/display/ErrorFormat.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ public static function render_caller( $caller, $escape = false ) : string {
public static function php_error( $error ) : string {
$class = 'debugpress-wrapper-warning debugpress-warning-errors debugpress-error-';

if ( ! isset( $error['errno'] ) || ! isset( $error['caller'] ) ) {
if ( ! isset( $error[ 'errno' ] ) || ! isset( $error[ 'caller' ] ) ) {
return __( "Error information is missing", "debugpress" );
}

switch ( $error['errno'] ) {
switch ( $error[ 'errno' ] ) {
case E_ERROR:
case E_CORE_ERROR:
case E_COMPILE_ERROR:
Expand Down Expand Up @@ -62,40 +62,40 @@ public static function php_error( $error ) : string {
break;
}

$caller = maybe_unserialize( $error['caller'] );
$caller = maybe_unserialize( $error[ 'caller' ] );
$caller = is_array( $caller ) ? join( '<br/>', $caller ) : $caller;

$render = '<div class="' . $class . '">';
$render .= '<h4>' . $title . ' [' . $error['errno'] . ']</h4>';
$render .= '<strong>' . __( "On line", "debugpress" ) . ":</strong> " . $error['errline'] . '<br/>';
$render .= '<strong>' . __( "In file", "debugpress" ) . ":</strong> " . $error['errfile'] . '<br/>';
$render .= '<h4>' . $title . ' [' . $error[ 'errno' ] . ']</h4>';
$render .= '<strong>' . __( "On line", "debugpress" ) . ":</strong> " . $error[ 'errline' ] . '<br/>';
$render .= '<strong>' . __( "In file", "debugpress" ) . ":</strong> " . $error[ 'errfile' ] . '<br/>';

if ( ! empty( $caller ) ) {
$render .= ErrorFormat::render_caller( $caller );
}

$render .= '<div class="debugpress-error-message">' . esc_html( $error['errstr'] ) . '</div>';
$render .= '<div class="debugpress-error-message">' . esc_html( $error[ 'errstr' ] ) . '</div>';
$render .= '</div>';

return $render;
}

public static function doing_it_wrong( $item ) : string {
$render = '<div class="debugpress-wrapper-warning debugpress-warning-doingitwrong">';
$render .= '<h4>' . sprintf( __( "For <strong>%s</strong>", "debugpress" ), $item['deprecated'] ) . '</h4>';
$render .= '<strong>' . __( "Since version", "debugpress" ) . ":</strong> " . $item['version'] . ', ';
$render .= '<strong>' . __( "On line", "debugpress" ) . ":</strong> " . $item['on_line'] . '<br/>';
$render .= '<strong>' . __( "In file", "debugpress" ) . ":</strong> " . $item['in_file'] . '<br/>';
$render .= '<h4>' . sprintf( __( "For <strong>%s</strong>", "debugpress" ), $item[ 'deprecated' ] ) . '</h4>';
$render .= '<strong>' . __( "Since version", "debugpress" ) . ":</strong> " . $item[ 'version' ] . ', ';
$render .= '<strong>' . __( "On line", "debugpress" ) . ":</strong> " . $item[ 'on_line' ] . '<br/>';
$render .= '<strong>' . __( "In file", "debugpress" ) . ":</strong> " . $item[ 'in_file' ] . '<br/>';

$caller = isset( $item['caller'] ) ? maybe_unserialize( $item['caller'] ) : '';
$caller = isset( $item[ 'caller' ] ) ? maybe_unserialize( $item[ 'caller' ] ) : '';
$caller = is_array( $caller ) ? join( '<br/>', $caller ) : $caller;

if ( ! empty( $caller ) ) {
$render .= ErrorFormat::render_caller( $caller );
}

if ( $item['message'] ) {
$render .= '<div class="debugpress-error-message">' . esc_html( $item['message'] ) . '</div>';
if ( $item[ 'message' ] ) {
$render .= '<div class="debugpress-error-message">' . esc_html( $item[ 'message' ] ) . '</div>';
}

$render .= '</div>';
Expand All @@ -106,13 +106,13 @@ public static function doing_it_wrong( $item ) : string {
public static function deprecated_file( $item ) : string {
$render = '<div class="debugpress-wrapper-warning debugpress-warning-deprecated debugpress-deprecated-file">';
$render .= '<h4>' . __( "Deprecated File", "debugpress" ) . ':</h4>';
$render .= '<strong>' . __( "On line", "debugpress" ) . ":</strong> " . $item["on_line"] . '<br/>';
$render .= '<strong>' . __( "In file", "debugpress" ) . ":</strong> " . $item["in_file"] . '<br/>';
$render .= '<strong>' . __( "On line", "debugpress" ) . ":</strong> " . $item[ "on_line" ] . '<br/>';
$render .= '<strong>' . __( "In file", "debugpress" ) . ":</strong> " . $item[ "in_file" ] . '<br/>';

if ( $item["replacement"] ) {
$render .= sprintf( __( "<strong>%s</strong> is deprecated since version %s. Use <strong>%s</strong> instead.", "debugpress" ), $item["deprecated"], $item["version"], $item["replacement"] );
if ( $item[ "replacement" ] ) {
$render .= sprintf( __( "<strong>%s</strong> is deprecated since version %s. Use <strong>%s</strong> instead.", "debugpress" ), $item[ "deprecated" ], $item[ "version" ], $item[ "replacement" ] );
} else {
$render .= sprintf( __( "<strong>%s</strong> is deprecated since version %s.", "debugpress" ), $item["deprecated"], $item["version"] );
$render .= sprintf( __( "<strong>%s</strong> is deprecated since version %s.", "debugpress" ), $item[ "deprecated" ], $item[ "version" ] );
}

$render .= '</div>';
Expand All @@ -123,21 +123,21 @@ public static function deprecated_file( $item ) : string {
public static function deprecated_function( $item ) : string {
$render = '<div class="debugpress-wrapper-warning debugpress-warning-deprecated debugpress-deprecated-function">';
$render .= '<h4>' . __( "Deprecated Function", "debugpress" ) . ':</h4>';
$render .= '<strong>' . __( "On line", "debugpress" ) . ":</strong> " . $item["on_line"] . '<br/>';
$render .= '<strong>' . __( "In file", "debugpress" ) . ":</strong> " . $item["in_file"] . '<br/>';
$render .= '<strong>' . __( "On line", "debugpress" ) . ":</strong> " . $item[ "on_line" ] . '<br/>';
$render .= '<strong>' . __( "In file", "debugpress" ) . ":</strong> " . $item[ "in_file" ] . '<br/>';

if ( $item["hook"] ) {
$render .= "<strong>" . __( "Hook", "debugpress" ) . ":</strong> " . $item["hook"] . "<br/>";
if ( $item[ "hook" ] ) {
$render .= "<strong>" . __( "Hook", "debugpress" ) . ":</strong> " . $item[ "hook" ] . "<br/>";
}

if ( $item["replacement"] ) {
$render .= sprintf( __( "<strong>%s</strong> is deprecated since version %s. Use <strong>%s</strong> instead.", "debugpress" ), $item["deprecated"], $item["version"], $item["replacement"] );
if ( $item[ "replacement" ] ) {
$render .= sprintf( __( "<strong>%s</strong> is deprecated since version %s. Use <strong>%s</strong> instead.", "debugpress" ), $item[ "deprecated" ], $item[ "version" ], $item[ "replacement" ] );
} else {
$render .= sprintf( __( "<strong>%s</strong> is deprecated since version %s.", "debugpress" ), $item["deprecated"], $item["version"] );
$render .= sprintf( __( "<strong>%s</strong> is deprecated since version %s.", "debugpress" ), $item[ "deprecated" ], $item[ "version" ] );
}

if ( isset( $item['message'] ) && ! empty( $item['message'] ) ) {
$render .= '<em>' . $item['message'] . '</em>';
if ( isset( $item[ 'message' ] ) && ! empty( $item[ 'message' ] ) ) {
$render .= '<em>' . $item[ 'message' ] . '</em>';
}

$render .= '</div>';
Expand All @@ -148,13 +148,13 @@ public static function deprecated_function( $item ) : string {
public static function deprecated_constructor( $item ) : string {
$render = '<div class="debugpress-wrapper-warning debugpress-warning-deprecated debugpress-deprecated-constructor">';
$render .= '<h4>' . __( "Deprecated Constructor", "debugpress" ) . ':</h4>';
$render .= '<strong>' . __( "On line", "debugpress" ) . ":</strong> " . $item["on_line"] . '<br/>';
$render .= '<strong>' . __( "In file", "debugpress" ) . ":</strong> " . $item["in_file"] . '<br/>';
$render .= '<strong>' . __( "On line", "debugpress" ) . ":</strong> " . $item[ "on_line" ] . '<br/>';
$render .= '<strong>' . __( "In file", "debugpress" ) . ":</strong> " . $item[ "in_file" ] . '<br/>';

$render .= sprintf( __( "For <strong>%s</strong> since version %s.", "debugpress" ), $item["deprecated"], $item["version"] );
$render .= sprintf( __( "For <strong>%s</strong> since version %s.", "debugpress" ), $item[ "deprecated" ], $item[ "version" ] );

if ( isset( $item['message'] ) && ! empty( $item['message'] ) ) {
$render .= '<em>' . $item['message'] . '</em>';
if ( isset( $item[ 'message' ] ) && ! empty( $item[ 'message' ] ) ) {
$render .= '<em>' . $item[ 'message' ] . '</em>';
}

$render .= '</div>';
Expand All @@ -166,18 +166,18 @@ public static function deprecated_argument( $item ) : string {
$render = '<div class="debugpress-wrapper-warning debugpress-warning-deprecated debugpress-deprecated-argument">';
$render .= '<h4>' . __( "Deprecated Argument", "debugpress" ) . ':</h4>';

if ( $item['in_file'] ) {
if ( $item['on_line'] ) {
$render .= "<strong>" . __( "On line", "debugpress" ) . ":</strong> " . $item["on_line"] . ", ";
if ( $item[ 'in_file' ] ) {
if ( $item[ 'on_line' ] ) {
$render .= "<strong>" . __( "On line", "debugpress" ) . ":</strong> " . $item[ "on_line" ] . ", ";
}

$render .= "<strong>" . __( "In file", "debugpress" ) . ":</strong> " . $item["in_file"] . "<br/>";
$render .= "<strong>" . __( "In file", "debugpress" ) . ":</strong> " . $item[ "in_file" ] . "<br/>";
}

$render .= sprintf( __( "Argument in <strong>%s</strong> is deprecated since version %s.", "debugpress" ), $item["deprecated"], $item["version"] );
$render .= sprintf( __( "Argument in <strong>%s</strong> is deprecated since version %s.", "debugpress" ), $item[ "deprecated" ], $item[ "version" ] );

if ( isset( $item['message'] ) && ! empty( $item['message'] ) ) {
$render .= '<em>' . $item['message'] . '</em>';
if ( isset( $item[ 'message' ] ) && ! empty( $item[ 'message' ] ) ) {
$render .= '<em>' . $item[ 'message' ] . '</em>';
}

$render .= '</div>';
Expand Down
Loading

0 comments on commit c2caa46

Please sign in to comment.