'tag.htm'; break; case 'flag': $pre .= $default_pre .= 'flag.htm'; break; case 'my': $pre .= $default_pre .= 'my.htm'; break; case 'my_password': $pre .= $default_pre .= 'my_password.htm'; break; case 'my_bind': $pre .= $default_pre .= 'my_bind.htm'; break; case 'my_avatar': $pre .= $default_pre .= 'my_avatar.htm'; break; case 'home_article': $pre .= $default_pre .= 'home_article.htm'; break; case 'home_comment': $pre .= $default_pre .= 'home_comment.htm'; break; case 'user': $pre .= $default_pre .= 'user.htm'; break; case 'user_login': $pre .= $default_pre .= 'user_login.htm'; break; case 'user_create': $pre .= $default_pre .= 'user_create.htm'; break; case 'user_resetpw': $pre .= $default_pre .= 'user_resetpw.htm'; break; case 'user_resetpw_complete': $pre .= $default_pre .= 'user_resetpw_complete.htm'; break; case 'user_comment': $pre .= $default_pre .= 'user_comment.htm'; break; case 'single_page': $pre .= $default_pre .= 'single_page.htm'; break; case 'search': $pre .= $default_pre .= 'search.htm'; break; case 'operate_sticky': $pre .= $default_pre .= 'operate_sticky.htm'; break; case 'operate_close': $pre .= $default_pre .= 'operate_close.htm'; break; case 'operate_delete': $pre .= $default_pre .= 'operate_delete.htm'; break; case 'operate_move': $pre .= $default_pre .= 'operate_move.htm'; break; case '404': $pre .= $default_pre .= '404.htm'; break; case 'read_404': $pre .= $default_pre .= 'read_404.htm'; break; case 'list_404': $pre .= $default_pre .= 'list_404.htm'; break; default: $pre .= $default_pre .= theme_mode_pre(); break; } if ($config['theme']) { $conffile = APP_PATH . 'view/template/' . $config['theme'] . '/conf.json'; $json = is_file($conffile) ? xn_json_decode(file_get_contents($conffile)) : array(); } !empty($json['installed']) and $path_file = APP_PATH . 'view/template/' . $config['theme'] . '/htm/' . ($id ? $id . '_' : '') . $pre; (empty($path_file) || !is_file($path_file)) and $path_file = APP_PATH . 'view/template/' . $config['theme'] . '/htm/' . $pre; if (!empty($config['theme_child']) && is_array($config['theme_child'])) { foreach ($config['theme_child'] as $theme) { if (empty($theme) || is_array($theme)) continue; $path_file = APP_PATH . 'view/template/' . $theme . '/htm/' . ($id ? $id . '_' : '') . $pre; !is_file($path_file) and $path_file = APP_PATH . 'view/template/' . $theme . '/htm/' . $pre; } } !is_file($path_file) and $path_file = APP_PATH . ($dir ? 'plugin/' . $dir . '/view/htm/' : 'view/htm/') . $default_pre; return $path_file; } function theme_mode_pre($type = 0) { global $config; $mode = $config['setting']['website_mode']; $pre = ''; if (1 == $mode) { $pre .= 2 == $type ? 'portal_category.htm' : 'portal.htm'; } elseif (2 == $mode) { $pre .= 2 == $type ? 'flat_category.htm' : 'flat.htm'; } else { $pre .= 2 == $type ? 'index_category.htm' : 'index.htm'; } return $pre; } ?>Comment IP Plugin - Fixing onfocus='this.select()'
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Comment IP Plugin - Fixing onfocus='this.select()'

programmeradmin3浏览0评论

I'm the process of getting an old plugin to work and what I need help with, if possible, is to review the "error" I'm getting.

No matter from who the comment is made, all I get is this: onfocus='this.select()'

I'm not good enough to fix this and so, if anyone can help I appreciate it.

This is the full code:

defined('ABSPATH') or exit;
add_action( 'load-edit-comments.php', array ( 'Track_Comment_IP_Column', 'init' ));
class Track_Comment_Column{
protected $col = '';
protected $filters = array ();
protected $header = '';
protected $orderby = '';
public static function init(){
new self;
}
public function __construct(){
foreach ( $this->filters as $filter => $function ){
add_filter( $filter, array ( $this, $function ), 10, 99 );
}}
public function set_column_header_name( $headers ){
return array_merge( $headers, array ( $this->col => $this->header ) );
}
public function set_sort_parameter( $cols ){
return array_merge( $cols, array ( $this->col => $this->orderby ) );
}
public function show_cell( $column_name, $id ){
$this->col == $column_name and $this->print_cell_markup( $id );
}
protected function print_cell_markup( $id ){
print 'Extend me in a separate class!';
}}
class Track_Comment_IP_Column extends Track_Comment_Column{
protected $col = 'ip';
protected $filters = array(
'manage_edit-comments_columns' => 'set_column_header_name',
'manage_edit-comments_sortable_columns' => 'set_sort_parameter',
'manage_comments_custom_column' => 'show_cell',
'query' => 'fix_ip_order'
);
protected $header  = 'IP Address';
protected $orderby = 'comment_author_IP';
public static function init(){
new self;
}
public function fix_ip_order( $q ){
return str_replace( $this->orderby, "INET_ATON($this->orderby)", $q );
}
protected function print_cell_markup( $id ){
$ip = get_comment_author_IP( $id );
$out = "<input size=15 value=$ip onfocus='this.select()'>
<br><a href='/$ip' target='_blank'>Look up IP</a>";
print $out;
}}

I'm the process of getting an old plugin to work and what I need help with, if possible, is to review the "error" I'm getting.

No matter from who the comment is made, all I get is this: onfocus='this.select()'

I'm not good enough to fix this and so, if anyone can help I appreciate it.

This is the full code:

defined('ABSPATH') or exit;
add_action( 'load-edit-comments.php', array ( 'Track_Comment_IP_Column', 'init' ));
class Track_Comment_Column{
protected $col = '';
protected $filters = array ();
protected $header = '';
protected $orderby = '';
public static function init(){
new self;
}
public function __construct(){
foreach ( $this->filters as $filter => $function ){
add_filter( $filter, array ( $this, $function ), 10, 99 );
}}
public function set_column_header_name( $headers ){
return array_merge( $headers, array ( $this->col => $this->header ) );
}
public function set_sort_parameter( $cols ){
return array_merge( $cols, array ( $this->col => $this->orderby ) );
}
public function show_cell( $column_name, $id ){
$this->col == $column_name and $this->print_cell_markup( $id );
}
protected function print_cell_markup( $id ){
print 'Extend me in a separate class!';
}}
class Track_Comment_IP_Column extends Track_Comment_Column{
protected $col = 'ip';
protected $filters = array(
'manage_edit-comments_columns' => 'set_column_header_name',
'manage_edit-comments_sortable_columns' => 'set_sort_parameter',
'manage_comments_custom_column' => 'show_cell',
'query' => 'fix_ip_order'
);
protected $header  = 'IP Address';
protected $orderby = 'comment_author_IP';
public static function init(){
new self;
}
public function fix_ip_order( $q ){
return str_replace( $this->orderby, "INET_ATON($this->orderby)", $q );
}
protected function print_cell_markup( $id ){
$ip = get_comment_author_IP( $id );
$out = "<input size=15 value=$ip onfocus='this.select()'>
<br><a href='https://whatismyipaddress/ip/$ip' target='_blank'>Look up IP</a>";
print $out;
}}
Share Improve this question asked Jul 24, 2020 at 8:30 Moa AndersenMoa Andersen 154 bronze badges 1
  • Can you indent the code? It's super difficult to read withoout indentation :( – Tom J Nowell Commented Jul 24, 2020 at 9:26
Add a comment  | 

1 Answer 1

Reset to default 1

You haven't put quotes around the HTML attributes on this line:

$out = "<input size=15 value=$ip onfocus='this.select()'>

It needs to be:

$out = "<input size='15' value='$ip' onfocus='this.select()'>
发布评论

评论列表(0)

  1. 暂无评论