Changeset 2398471
- Timestamp:
- 10/13/2020 07:39:57 AM (5 years ago)
- Location:
- admin-user-control/trunk
- Files:
-
- 5 added
- 21 edited
-
admin-user-control.php (modified) (6 diffs)
-
auc-login-monitor.php (modified) (3 diffs)
-
auc-maintenance.php (modified) (1 diff)
-
auc-notification.php (modified) (4 diffs)
-
css/admin-maintenance.css (modified) (1 diff)
-
css/admin-maintenance.css.map (modified) (1 diff)
-
css/admin-maintenance.min.css (modified) (1 diff)
-
css/admin-maintenance.scss (modified) (1 diff)
-
css/admin-notification.css (modified) (1 diff)
-
css/admin-notification.css.map (modified) (1 diff)
-
css/admin-notification.min.css (modified) (1 diff)
-
css/admin-notification.scss (modified) (1 diff)
-
css/auc-admin.css (added)
-
css/auc-admin.css.map (added)
-
css/auc-admin.min.css (added)
-
css/auc-admin.scss (added)
-
css/login-monitor.css (modified) (1 diff)
-
css/login-monitor.css.map (modified) (1 diff)
-
css/login-monitor.min.css (modified) (1 diff)
-
css/login-monitor.scss (modified) (1 diff)
-
includes/optionpage.php (added)
-
js/admin-user-control.js (modified) (1 diff)
-
js/admin-user-control.min.js (modified) (1 diff)
-
languages/admin-user-control-ja.mo (modified) (previous)
-
languages/admin-user-control-ja.po (modified) (3 diffs)
-
readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
admin-user-control/trunk/admin-user-control.php
r2311275 r2398471 1 1 <?php 2 3 2 /** 4 3 * Plugin Name: Admin User Control 5 4 * Description: This plugin adds a useful feature to the administration screen that allows administrators to control the users involved in their operations. 6 * Version: 1.0.05 * Version: 2.0.0 7 6 * Author: PRESSMAN 8 7 * Author URI: https://www.pressman.ne.jp … … 26 25 class Admin_User_Control { 27 26 const LIFETIME = 30; // 30 sec. 27 const UM_KEY = 'auc_ip_addr'; 28 28 private $am; 29 29 private $an; … … 47 47 add_action( 'wp_ajax_admin-user-control', [ $this, 'create_response' ] ); 48 48 49 $this->am->run(); 50 $this->an->run(); 51 $this->lm->run(); 49 // add option page 50 add_action( 'admin_menu', [ $this, 'add_option_to_menu' ] ); 51 52 $this->is_maintenance_enabled = get_option( 'auc_is_maintenance_enabled', true ); 53 $this->is_notification_enabled = get_option( 'auc_is_notification_enabled', true ); 54 $this->is_loginmonitor_enabled = get_option( 'auc_is_loginmonitor_enabled', true ); 55 56 if ( $this->is_maintenance_enabled ) { 57 $this->am->run(); 58 } 59 if ( $this->is_notification_enabled ) { 60 $this->an->run(); 61 } 62 if ( $this->is_loginmonitor_enabled ) { 63 $this->lm->run(); 64 } 52 65 } 53 66 … … 66 79 67 80 if ( is_admin_bar_showing() ) { 68 wp_enqueue_style( 'login-monitor', plugin_dir_url( __FILE__ ) . "css/login-monitor{$ext}.css", [], $this->version ); 81 if ( $this->is_loginmonitor_enabled ) { 82 wp_enqueue_style( 'login-monitor', plugin_dir_url( __FILE__ ) . "css/login-monitor{$ext}.css", [], $this->version ); 83 } 69 84 } 70 85 71 wp_enqueue_style( 'admin-notification', plugin_dir_url( __FILE__ ) . "css/admin-notification{$ext}.css", [], $this->version ); 72 wp_enqueue_style( 'admin-maintenance', plugin_dir_url( __FILE__ ) . "css/admin-maintenance{$ext}.css", [], $this->version ); 86 wp_enqueue_style( 'auc-admin', plugin_dir_url( __FILE__ ) . "css/auc-admin{$ext}.css", [], $this->version ); 87 if ( $this->is_notification_enabled ) { 88 wp_enqueue_style( 'admin-notification', plugin_dir_url( __FILE__ ) . "css/admin-notification{$ext}.css", [], $this->version ); 89 } 90 if ( $this->is_maintenance_enabled ) { 91 wp_enqueue_style( 'admin-maintenance', plugin_dir_url( __FILE__ ) . "css/admin-maintenance{$ext}.css", [], $this->version ); 92 } 73 93 74 $capability = apply_filters( 'change_auc_capability', 'edit_posts' ); 75 76 if ( is_user_logged_in() && current_user_can( $capability ) ) { 94 if ( is_user_logged_in() ) { 77 95 wp_enqueue_script( 'admin-user-control', plugin_dir_url( __FILE__ ) . "js/admin-user-control{$ext}.js", [], null, true ); 78 96 $lifetime = apply_filters( 'change_auc_lifetime', self::LIFETIME ); … … 89 107 90 108 public function load_acf_lite() { 91 if ( ! defined( 'ACF_LITE' ) ) {92 define( 'ACF_LITE', true );93 }94 109 if ( ! class_exists( 'Acf' ) ) { 110 if ( ! defined( 'ACF_LITE' ) ) { 111 define( 'ACF_LITE', true ); 112 } 95 113 include_once( plugin_dir_path( __FILE__ ) . 'includes/acf/acf.php' ); 96 114 } … … 101 119 } 102 120 121 public function add_option_to_menu() { 122 123 //create new top-level menu 124 add_menu_page( 'Admin User Control', __( 'Admin User Control', 'admin-user-control' ), 'administrator', __FILE__, [ 125 $this, 126 'require_option_page' 127 ] ); 128 129 //call register settings function 130 add_action( 'admin_init', [ $this, 'register_settings_group' ] ); 131 } 132 133 public function require_option_page() { 134 require_once( dirname( __FILE__ ) . '/includes/optionpage.php' ); 135 } 136 137 public function register_settings_group() { 138 register_setting( 'admin-user-control-settings-group', 'auc_lm_display_user' ); 139 register_setting( 'admin-user-control-settings-group', 'auc_is_maintenance_enabled' ); 140 register_setting( 'admin-user-control-settings-group', 'auc_is_notification_enabled' ); 141 register_setting( 'admin-user-control-settings-group', 'auc_is_loginmonitor_enabled' ); 142 } 143 103 144 public function create_response() { 104 145 $response = []; 146 update_user_meta( get_current_user_id(), self::UM_KEY, $_SERVER['REMOTE_ADDR'] ); 105 147 106 148 $response = array_merge( $response, $this->lm->create_response( apply_filters( 'change_auc_lifetime', self::LIFETIME ) ) ); -
admin-user-control/trunk/auc-login-monitor.php
r2311275 r2398471 16 16 */ 17 17 public function add_lm_node( $wp_admin_bar ) { 18 $wp_admin_bar->add_node( [ 19 'id' => 'login-monitor', 20 'parent' => 'top-secondary', 21 'meta' => [], 22 'title' => '<span class="ab-icon"></span><span class="ab-label"><span id="lm-cnt">--</span> ' . __( 'Logged in', 'admin-user-control' ) . '</span>', 23 'href' => '#', 24 ] ); 18 if ($this->is_target_user()){ 19 $wp_admin_bar->add_node( [ 20 'id' => 'login-monitor', 21 'parent' => 'top-secondary', 22 'meta' => [], 23 'title' => '<span class="ab-icon"></span><span class="ab-label"><span id="lm-cnt">--</span> ' . __( 'Logged in', 'admin-user-control' ) . '</span>', 24 'href' => '#', 25 ] ); 25 26 26 $wp_admin_bar->add_node( [ 27 'id' => 'login-monitor-detail', 28 'parent' => 'login-monitor', 29 'meta' => [], 30 'title' => '<ul id="lm-list"></ul>', 31 'href' => '#', 32 ] ); 27 $wp_admin_bar->add_node( [ 28 'id' => 'login-monitor-detail', 29 'parent' => 'login-monitor', 30 'meta' => [], 31 'title' => '<ul id="lm-list"></ul>', 32 'href' => '#', 33 ] ); 34 } 35 } 36 37 public function is_target_user(){ 38 if (current_user_can( 'administrator' ) || get_option('auc_lm_display_user') != '1'){ 39 return true; 40 } 41 return false; 33 42 } 34 43 … … 49 58 $isAdministrator = current_user_can( 'administrator' ); 50 59 foreach ( $users->get_results() as $user ) { 60 $avatar_url = esc_url(get_avatar_url( $user->ID, [ 'size' => 28 ] )); 51 61 $ary['login-monitor'][] = [ 52 62 'id' => $user->ID, … … 54 64 'display_name' => $user->display_name, 55 65 'color' => substr( md5( $user->display_name ), 0, 6 ), 56 'profile_url' => $isAdministrator ? $this->get_admin_edit_user_link( $user->ID ) : null 66 'profile_url' => $isAdministrator ? apply_filters( 'auc_lm_user_link', $this->get_admin_edit_user_link( $user->ID ) ) : null, 67 'avatar_url' => $avatar_url 57 68 ]; 58 69 } -
admin-user-control/trunk/auc-maintenance.php
r2311275 r2398471 269 269 270 270 $widget = '<p>' . __( 'Click a title to display a detail.', 'admin-user-control' ) . '</p>'; 271 $widget .= '<ul class="auc-maintenance-list ">';271 $widget .= '<ul class="auc-maintenance-list auc-dashboard-list">'; 272 272 if ( $maintenances->have_posts() ) { 273 273 foreach ( $maintenances->posts as $maintenance ) { -
admin-user-control/trunk/auc-notification.php
r2311275 r2398471 24 24 $wp_admin_bar->add_node( [ 25 25 'id' => self::POST_TYPE, 26 'title' => __( 'New notification', 'admin-user-control' ),26 'title' => '<span>' . __( 'New notification', 'admin-user-control' ) . '</span>', 27 27 'href' => get_dashboard_url(), 28 28 ] ); … … 86 86 $widget = '<p>' . __( 'Click a title to display a detail. If you read it, mark it as read.', 'admin-user-control' ) . '</p>'; 87 87 $read_notification_ids = get_user_meta( get_current_user_id(), 'auc_read_notification' ); 88 $widget .= '<ul class="auc-notification-list ">';88 $widget .= '<ul class="auc-notification-list auc-dashboard-list">'; 89 89 foreach ( $notifications->posts as $notification ) { 90 90 $post_date = date_i18n( get_option( 'date_format' ), strtotime( $notification->post_date ) ); … … 104 104 <div class="title">{$post_title}</div> 105 105 <div class="body">{$post_body}</div> 106 < div class="is_read"><span class="read_btn">{$read_notification_link}</span></div>106 <p class="is_read"><input type="submit" name="read_btn" id="read_btn" class="button read_btn" value="{$read_notification_link}"></p> 107 107 </div> 108 108 </li> … … 170 170 ]; 171 171 } 172 172 173 } -
admin-user-control/trunk/css/admin-maintenance.css
r2311275 r2398471 1 ul.auc-maintenance-list { 2 margin: 1em 0 0 0; 3 } 4 ul.auc-maintenance-list li { 5 display: flex; 6 margin-bottom: 1em; 7 } 8 ul.auc-maintenance-list li .date { 9 min-width: 155px; 10 } 11 ul.auc-maintenance-list li .content { 12 width: calc(100% - 155px); 13 } 14 ul.auc-maintenance-list li .content .title { 15 display: inline-block; 16 cursor: pointer; 17 color: #0073aa; 18 } 19 ul.auc-maintenance-list li .content .body { 20 display: none; 21 } 22 ul.auc-maintenance-list li.open .content .body { 23 display: block; 24 } 25 ul.auc-maintenance-list li:last-child { 26 margin-bottom: 0.5em; 27 } 28 1 @charset "UTF-8"; 29 2 .auc-modal { 30 3 display: none; -
admin-user-control/trunk/css/admin-maintenance.css.map
r2311275 r2398471 1 {"version":3,"sourceRoot":"","sources":["admin-maintenance.scss"],"names":[],"mappings":"AAAA;EACE;;AAEA;EACE;EACA;;AAEA;EACE;;AAEF;EACE;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AAKN;EACE;;AAGF;EACE;;;AAGJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAEA;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAIJ;EACE;EACA;EACA;;AAGF;EACE;;;AAOJ;AAAA;AAAA;EACE","file":"admin-maintenance.css"} 1 { 2 "version": 3, 3 "mappings": "AAAA,UAAW;EACT,OAAO,EAAE,IAAI;EACb,QAAQ,EAAE,KAAK;EACf,OAAO,EAAE,MAAM;EACf,IAAI,EAAE,CAAC;EACP,GAAG,EAAE,CAAC;EACN,MAAM,EAAE,IAAI;EACZ,KAAK,EAAE,IAAI;EACX,QAAQ,EAAE,IAAI;EACd,gBAAgB,EAAE,kBAAkB;;AAEpC,yBAAe;EACb,gBAAgB,EAAE,OAAO;EACzB,KAAK,EAAE,KAAK;EACZ,QAAQ,EAAE,KAAK;EACf,OAAO,EAAE,MAAM;EACf,IAAI,EAAE,iBAAiB;EACvB,GAAG,EAAE,KAAK;EACV,OAAO,EAAE,IAAI;EACb,UAAU,EAAE,8BAA8B;EAC1C,MAAM,EAAE,iBAAiB;EACzB,aAAa,EAAE,GAAG;;AAGpB,sBAAY;EACV,OAAO,EAAE,IAAI;;AAEb,4BAAM;EACJ,KAAK,EAAE,KAAK;EACZ,MAAM,EAAE,CAAC;EACT,OAAO,EAAE,CAAC;;AAEV,uCAAW;EACT,SAAS,EAAE,IAAI;EACf,KAAK,EAAE,OAAO;;AAIlB,wBAAE;EACA,SAAS,EAAE,IAAI;EACf,MAAM,EAAE,SAAS;EACjB,WAAW,EAAE,GAAG;;AAGlB,mCAAa;EACX,MAAM,EAAE,CAAC;;;AAOb;;0DAA+C;EAC7C,OAAO,EAAE,eAAe", 4 "sources": ["admin-maintenance.scss"], 5 "names": [], 6 "file": "admin-maintenance.css" 7 } -
admin-user-control/trunk/css/admin-maintenance.min.css
r2311275 r2398471 1 ul.auc-maintenance-list{margin:1em 0 0 0}ul.auc-maintenance-list li{display:flex;margin-bottom:1em}ul.auc-maintenance-list li .date{min-width:155px}ul.auc-maintenance-list li .content{width:calc(100% - 155px)}ul.auc-maintenance-list li .content .title{display:inline-block;cursor:pointer;color:#0073aa}ul.auc-maintenance-list li .content .body{display:none}ul.auc-maintenance-list li.open .content .body{display:block}ul.auc-maintenance-list li:last-child{margin-bottom:.5em}.auc-modal{display:none;position:fixed;z-index:100000;left:0;top:0;height:100%;width:100%;overflow:auto;background-color:rgba(0,0,0,0.8)}.auc-modal .modal-content{background-color:#f7f7f7;width:400px;position:fixed;z-index:100001;left:calc(50% - 220px);top:100px;padding:20px;box-shadow:0 10px 10px rgba(0,0,0,0.7);border:2px solid #ca4a1f;border-radius:5px}.auc-modal .modal-body{display:flex}.auc-modal .modal-body .icon{width:100px;margin:0;padding:0}.auc-modal .modal-body .icon .dashicons{font-size:60px;color:#ca4a1f}.auc-modal .modal-body p{font-size:14px;margin:0 0 1em 0;line-height:1.5}.auc-modal .modal-body p:last-child{margin:0}.post-type-maintenance.post-new-php .ui_tpicker_second,.post-type-maintenance.post-new-php .ui_tpicker_second::before,.post-type-maintenance.post-php .ui_tpicker_second,.post-type-maintenance.post-php .ui_tpicker_second::before{display:none!important}1 @charset "UTF-8";.auc-modal{display:none;position:fixed;z-index:100000;left:0;top:0;height:100%;width:100%;overflow:auto;background-color:rgba(0,0,0,.8)}.auc-modal .modal-content{background-color:#f7f7f7;width:400px;position:fixed;z-index:100001;left:calc(50% - 220px);top:100px;padding:20px;box-shadow:0 10px 10px rgba(0,0,0,.7);border:2px solid #ca4a1f;border-radius:5px}.auc-modal .modal-body{display:flex}.auc-modal .modal-body .icon{width:100px;margin:0;padding:0}.auc-modal .modal-body .icon .dashicons{font-size:60px;color:#ca4a1f}.auc-modal .modal-body p{font-size:14px;margin:0 0 1em 0;line-height:1.5}.auc-modal .modal-body p:last-child{margin:0}.post-type-maintenance.post-new-php .ui_tpicker_second,.post-type-maintenance.post-new-php .ui_tpicker_second::before,.post-type-maintenance.post-php .ui_tpicker_second,.post-type-maintenance.post-php .ui_tpicker_second::before{display:none!important} -
admin-user-control/trunk/css/admin-maintenance.scss
r2311275 r2398471 1 ul.auc-maintenance-list {2 margin: 1em 0 0 0;3 4 li {5 display: flex;6 margin-bottom: 1em;7 8 .date{9 min-width: 155px;10 }11 .content{12 width: calc(100% - 155px);13 14 .title{15 display: inline-block;16 cursor: pointer;17 color: #0073aa;18 }19 20 .body {21 display: none;22 }23 }24 }25 26 li.open .content .body {27 display: block;28 }29 30 li:last-child {31 margin-bottom: 0.5em;32 }33 }34 1 .auc-modal { 35 2 display: none; -
admin-user-control/trunk/css/admin-notification.css
r2311275 r2398471 1 1 @charset "UTF-8"; 2 #wp-admin-bar-notifications { 3 background-color: #ee0000; 4 animation: blinkBackgroundColor 2s infinite alternate; 2 #wpadminbar #wp-admin-bar-notifications { 3 background: #ca4a1f; 4 } 5 #wpadminbar #wp-admin-bar-notifications .ab-item { 6 display: flex; 7 align-items: center; 8 } 9 #wpadminbar #wp-admin-bar-notifications .ab-item::before { 10 display: block; 11 content: "\f348"; 12 margin-right: 6px; 13 font: 20px/1 dashicons !important; 14 color: #fff; 5 15 } 6 16 7 @ keyframes blinkBackgroundColor{8 0%{9 color: #ee0000;10 background-color: #840000;17 @media (max-width: 600px) { 18 #wpadminbar .quicklinks #wp-admin-bar-notifications .ab-item::before { 19 margin: 0; 20 font-size: 40px !important; 11 21 } 12 100% { 13 color: #ffffff; 14 background-color: #ee0000; 22 #wpadminbar .quicklinks #wp-admin-bar-notifications .ab-item span { 23 display: none; 15 24 } 16 }17 ul.auc-notification-list {18 margin: 1em 0 0 0;19 }20 ul.auc-notification-list li {21 display: flex;22 margin-bottom: 1em;23 }24 ul.auc-notification-list li .date {25 min-width: 155px;26 }27 ul.auc-notification-list li .content {28 width: calc(100% - 155px);29 }30 ul.auc-notification-list li .content .title {31 display: inline-block;32 color: #0073aa;33 cursor: pointer;34 }35 ul.auc-notification-list li .content .body, ul.auc-notification-list li .content .is_read {36 display: none;37 }38 ul.auc-notification-list li .content .is_read {39 text-align: right;40 }41 ul.auc-notification-list li .content .read_btn {42 border: 1px solid #999;43 border-radius: 2px;44 padding: 1px 3px;45 display: inline-block;46 cursor: pointer;47 }48 ul.auc-notification-list li .content .read_btn:hover {49 background: #0073aa;50 color: #ffffff;51 }52 ul.auc-notification-list li.open .content .body,53 ul.auc-notification-list li.open .content .is_read {54 display: block;55 }56 ul.auc-notification-list li.read .content .is_read {57 display: none;58 }59 ul.auc-notification-list li.unread .title:after {60 vertical-align: middle;61 font-family: "dashicons";62 font-size: 1.4em;63 line-height: 1;64 display: inline-block;65 margin-left: 0.2em;66 content: "";67 color: #ee0000;68 }69 ul.auc-notification-list li:last-child {70 margin-bottom: 0.5em;71 25 } 72 26 -
admin-user-control/trunk/css/admin-notification.css.map
r2311275 r2398471 1 {"version":3,"sourceRoot":"","sources":["admin-notification.scss"],"names":[],"mappings":";AAAA;EACE;EACA;;;AAGF;EACE;IACE;IACA;;EAEF;IACE;IACA;;;AAIJ;EACE;;AAEA;EACE;EACA;;AAEA;EACE;;AAGF;EACE;;AAEA;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;;AAKN;AAAA;EAEE;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE","file":"admin-notification.css"} 1 { 2 "version": 3, 3 "mappings": "AAAA,uCAAwC;EACvC,UAAU,EAAE,OAAO;;AACnB,gDAAS;EACR,OAAO,EAAE,IAAI;EACb,WAAW,EAAE,MAAM;;AACnB,wDAAU;EACT,OAAO,EAAE,KAAK;EACd,OAAO,EAAE,OAAO;EAChB,YAAY,EAAE,GAAG;EACjB,IAAI,EAAE,2BAA2B;EACjC,KAAK,EAAE,IAAI;;;AAId,yBAA0B;EAGvB,oEAAU;IACT,MAAM,EAAE,CAAC;IACT,SAAS,EAAE,eAAe;;EAE3B,iEAAK;IACJ,OAAO,EAAE,IAAI", 4 "sources": ["admin-notification.scss"], 5 "names": [], 6 "file": "admin-notification.css" 7 } -
admin-user-control/trunk/css/admin-notification.min.css
r2311275 r2398471 1 @charset "UTF-8";#wp -admin-bar-notifications{background-color:#e00;animation:blinkBackgroundColor 2s infinite alternate}@keyframes blinkBackgroundColor{0{color:#e00;background-color:#840000}100%{color:#fff;background-color:#e00}}ul.auc-notification-list{margin:1em 0 0 0}ul.auc-notification-list li{display:flex;margin-bottom:1em}ul.auc-notification-list li .date{min-width:155px}ul.auc-notification-list li .content{width:calc(100% - 155px)}ul.auc-notification-list li .content .title{display:inline-block;color:#0073aa;cursor:pointer}ul.auc-notification-list li .content .body,ul.auc-notification-list li .content .is_read{display:none}ul.auc-notification-list li .content .is_read{text-align:right}ul.auc-notification-list li .content .read_btn{border:1px solid #999;border-radius:2px;padding:1px 3px;display:inline-block;cursor:pointer}ul.auc-notification-list li .content .read_btn:hover{background:#0073aa;color:#fff}ul.auc-notification-list li.open .content .body,ul.auc-notification-list li.open .content .is_read{display:block}ul.auc-notification-list li.read .content .is_read{display:none}ul.auc-notification-list li.unread .title:after{vertical-align:middle;font-family:"dashicons";font-size:1.4em;line-height:1;display:inline-block;margin-left:.2em;content:"";color:#e00}ul.auc-notification-list li:last-child{margin-bottom:.5em}1 @charset "UTF-8";#wpadminbar #wp-admin-bar-notifications{background:#ca4a1f}#wpadminbar #wp-admin-bar-notifications .ab-item{display:flex;align-items:center}#wpadminbar #wp-admin-bar-notifications .ab-item::before{display:block;content:"\f348";margin-right:6px;font:20px/1 dashicons!important;color:#fff}@media (max-width:600px){#wpadminbar .quicklinks #wp-admin-bar-notifications .ab-item::before{margin:0;font-size:40px!important}#wpadminbar .quicklinks #wp-admin-bar-notifications .ab-item span{display:none}} -
admin-user-control/trunk/css/admin-notification.scss
r2311275 r2398471 1 #wp-admin-bar-notifications { 2 background-color: #ee0000; 3 animation: blinkBackgroundColor 2s infinite alternate; 1 #wpadminbar #wp-admin-bar-notifications { 2 background: #ca4a1f; 3 .ab-item { 4 display: flex; 5 align-items: center; 6 &::before { 7 display: block; 8 content: "\f348"; 9 margin-right: 6px; 10 font: 20px/1 dashicons !important; 11 color: #fff; 12 } 13 } 4 14 } 5 6 @keyframes blinkBackgroundColor { 7 0% { 8 color: #ee0000; 9 background-color: #840000; 10 } 11 100% { 12 color: #ffffff; 13 background-color: #ee0000; 14 } 15 @media (max-width: 600px) { 16 #wpadminbar .quicklinks #wp-admin-bar-notifications { 17 .ab-item { 18 &::before { 19 margin: 0; 20 font-size: 40px !important; 21 } 22 span { 23 display: none; 24 } 25 } 26 } 15 27 } 16 17 ul.auc-notification-list {18 margin: 1em 0 0 0;19 20 li {21 display: flex;22 margin-bottom: 1em;23 24 .date {25 min-width: 155px;26 }27 28 .content {29 width: calc(100% - 155px);30 31 .title {32 display: inline-block;33 color: #0073aa;34 cursor: pointer;35 }36 37 .body, .is_read {38 display: none;39 }40 41 .is_read {42 text-align: right;43 }44 45 .read_btn {46 border: 1px solid #999;47 border-radius: 2px;48 padding: 1px 3px;49 display: inline-block;50 cursor: pointer;51 }52 53 .read_btn:hover {54 background: #0073aa;55 color: #ffffff;56 }57 }58 }59 60 li.open .content .body,61 li.open .content .is_read {62 display: block;63 }64 65 li.read .content .is_read {66 display: none;67 }68 69 li.unread .title:after {70 vertical-align: middle;71 font-family: "dashicons";72 font-size: 1.4em;73 line-height: 1;74 display: inline-block;75 margin-left: 0.2em;76 content: "\f534";77 color: #ee0000;78 }79 80 li:last-child {81 margin-bottom: 0.5em;82 }83 } -
admin-user-control/trunk/css/login-monitor.css
r2311275 r2398471 1 1 @charset "UTF-8"; 2 2 #wp-admin-bar-login-monitor .ab-icon:before { 3 content: " ";3 content: "\f110"; 4 4 top: 3px; 5 } 6 #wp-admin-bar-login-monitor .ab-submenu { 7 padding: 10px 0; 5 8 } 6 9 #wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item { 7 10 height: auto; 11 padding: 0; 8 12 } 9 13 #wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item:hover { 10 14 color: inherit; 11 15 } 12 #wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item a {16 #wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item > a { 13 17 padding: 0; 14 18 } 15 19 #wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item ul#lm-list li { 16 vertical-align: bottom;17 margin-bottom: 5px;20 margin: 0; 21 padding: 0 10px; 18 22 } 19 #wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item ul#lm-list li .lm-badge { 20 display: inline-block; 21 line-height: 1; 22 border-radius: 50%; 23 #wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item ul#lm-list li:nth-child(n+2) { 24 margin-top: 8px; 25 } 26 #wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item ul#lm-list li a { 27 position: relative; 28 display: flex; 29 align-items: center; 30 margin: 0; 31 padding: 0; 32 width: 100%; 33 } 34 #wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item ul#lm-list li.no-link { 35 cursor: default; 36 } 37 #wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item ul#lm-list li.no-link a { 38 pointer-events: none; 39 } 40 #wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item ul#lm-list li img { 23 41 width: 28px; 24 42 height: 28px; 25 text-align: center;26 margin -right: 6px;43 padding: 0; 44 margin: 0 10px 0 0; 27 45 } 28 #wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item ul#lm-list li .lm-badge .lm-badge-str { 29 line-height: 1; 30 display: inline-block; 31 position: relative; 32 font-weight: bold; 33 font-size: 1.25em; 34 top: 25%; 46 #wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item ul#lm-list li span { 47 width: 240px; 48 max-width: 240px; 49 padding: 0; 50 margin: 0; 51 line-height: 1.2; 52 text-align: left; 53 word-break: break-all; 54 white-space: normal; 35 55 } 36 56 37 57 @media screen and (max-width: 782px) { 58 #wpadminbar .quicklinks #wp-admin-bar-notifications > a { 59 padding-left: 6px; 60 padding-right: 6px; 61 } 62 38 63 #wp-toolbar > ul > #wp-admin-bar-login-monitor { 39 64 display: block; 65 } 66 #wp-toolbar > ul > #wp-admin-bar-login-monitor.hover { 67 position: static; 68 } 69 70 #wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item ul#lm-list li span { 71 width: inherit; 72 max-width: inherit; 40 73 } 41 74 } -
admin-user-control/trunk/css/login-monitor.css.map
r2311275 r2398471 1 {"version":3,"sourceRoot":"","sources":["login-monitor.scss"],"names":[],"mappings":";AACC;EACC;EACA;;AAIA;EACC;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;;;AAQN;EACC;IACC","file":"login-monitor.css"} 1 { 2 "version": 3, 3 "mappings": "AAEE,2CAAgB,CACd,OAAO,CAAE,OAAO,CAChB,GAAG,CAAE,GAAG,CAEV,uCAAY,CACV,OAAO,CAAE,MAAM,CAGjB,uEAA4C,CAC1C,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,CAAC,CAEV,6EAAQ,CACN,KAAK,CAAE,OAAO,CAGhB,yEAAI,CACF,OAAO,CAAE,CAAC,CAGZ,qFAAc,CACZ,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,MAAM,CACf,oGAAiB,CACf,UAAU,CAAE,GAAG,CAEjB,uFAAE,CACA,QAAQ,CAAE,QAAQ,CAClB,OAAO,CAAE,IAAI,CACb,WAAW,CAAE,MAAM,CACnB,MAAM,CAAE,CAAC,CACT,OAAO,CAAE,CAAC,CACV,KAAK,CAAE,IAAI,CAGb,6FAAU,CACR,MAAM,CAAE,OAAO,CAEf,+FAAE,CACA,cAAc,CAAE,IAAI,CAIxB,yFAAI,CACF,KAAK,CAAE,IAAI,CACX,MAAM,CAAE,IAAI,CACZ,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,UAAU,CAGpB,0FAAK,CACH,KAAK,CAAE,KAAK,CACZ,SAAS,CAAE,KAAK,CAChB,OAAO,CAAE,CAAC,CACV,MAAM,CAAE,CAAC,CACT,WAAW,CAAE,GAAG,CAChB,UAAU,CAAE,IAAI,CAChB,UAAU,CAAE,SAAS,CACrB,WAAW,CAAE,MAAM,CAM3B,oCAAqC,CACnC,qDAAwD,CACtD,YAAY,CAAE,GAAG,CACjB,aAAa,CAAE,GAAG,CAGpB,0CAA+C,CAC7C,OAAO,CAAE,KAAK,CACd,gDAAQ,CACN,QAAQ,CAAE,MAAM,CAMd,0FAAK,CACH,KAAK,CAAE,OAAO,CACd,SAAS,CAAE,OAAO", 4 "sources": ["login-monitor.scss"], 5 "names": [], 6 "file": "login-monitor.css" 7 } -
admin-user-control/trunk/css/login-monitor.min.css
r2311275 r2398471 1 @charset "UTF-8";#wp-admin-bar-login-monitor .ab-icon:before{content:" ";top:3px}#wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item{height:auto}#wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item:hover{color:inherit}#wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item a{padding:0}#wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item ul#lm-list li{vertical-align:bottom;margin-bottom:5px}#wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item ul#lm-list li .lm-badge{display:inline-block;line-height:1;border-radius:50%;width:28px;height:28px;text-align:center;margin-right:6px}#wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item ul#lm-list li .lm-badge .lm-badge-str{line-height:1;display:inline-block;position:relative;font-weight:bold;font-size:1.25em;top:25%}@media screen and (max-width:782px){#wp-toolbar>ul>#wp-admin-bar-login-monitor{display:block}}1 @charset "UTF-8";#wp-admin-bar-login-monitor .ab-icon:before{content:"\f110";top:3px}#wp-admin-bar-login-monitor .ab-submenu{padding:10px 0}#wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item{height:auto;padding:0}#wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item:hover{color:inherit}#wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item>a{padding:0}#wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item ul#lm-list li{margin:0;padding:0 10px}#wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item ul#lm-list li:nth-child(n+2){margin-top:8px}#wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item ul#lm-list li a{position:relative;display:flex;align-items:center;margin:0;padding:0;width:100%}#wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item ul#lm-list li.no-link{cursor:default}#wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item ul#lm-list li.no-link a{pointer-events:none}#wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item ul#lm-list li img{width:28px;height:28px;padding:0;margin:0 10px 0 0}#wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item ul#lm-list li span{width:240px;max-width:240px;padding:0;margin:0;line-height:1.2;text-align:left;word-break:break-all;white-space:normal}@media screen and (max-width: 782px){#wpadminbar .quicklinks #wp-admin-bar-notifications>a{padding-left:6px;padding-right:6px}#wp-toolbar>ul>#wp-admin-bar-login-monitor{display:block}#wp-toolbar>ul>#wp-admin-bar-login-monitor.hover{position:static}#wp-admin-bar-login-monitor #wp-admin-bar-login-monitor-detail .ab-item ul#lm-list li span{width:inherit;max-width:inherit}} -
admin-user-control/trunk/css/login-monitor.scss
r2311275 r2398471 1 @charset "UTF-8"; 1 2 #wp-admin-bar-login-monitor { 2 .ab-icon:before { 3 content: "\f110"; 4 top: 3px; 5 } 3 .ab-icon:before { 4 content: "\f110"; 5 top: 3px; 6 } 7 .ab-submenu { 8 padding: 10px 0; 9 } 6 10 7 #wp-admin-bar-login-monitor-detail{8 .ab-item { 9 height: auto;11 #wp-admin-bar-login-monitor-detail .ab-item { 12 height: auto; 13 padding: 0; 10 14 11 &:hover {12 color: inherit;13 }15 &:hover { 16 color: inherit; 17 } 14 18 15 a{16 padding: 0;17 }19 > a { 20 padding: 0; 21 } 18 22 19 ul#lm-list li { 20 vertical-align: bottom; 21 margin-bottom: 5px; 22 23 .lm-badge { 24 display: inline-block; 25 line-height: 1; 26 border-radius: 50%; 27 width: 28px; 28 height: 28px; 29 text-align: center; 30 margin-right: 6px; 23 ul#lm-list li { 24 margin: 0; 25 padding: 0 10px; 26 &:nth-child(n+2) { 27 margin-top: 8px; 28 } 29 a { 30 position: relative; 31 display: flex; 32 align-items: center; 33 margin: 0; 34 padding: 0; 35 width: 100%; 36 } 31 37 32 .lm-badge-str { 33 line-height: 1; 34 display: inline-block; 35 position: relative; 36 font-weight: bold; 37 font-size: 1.25em; 38 top: 25%; 39 } 40 } 41 } 42 } 43 } 38 &.no-link { 39 cursor: default; 40 41 a { 42 pointer-events: none; 43 } 44 } 45 46 img { 47 width: 28px; 48 height: 28px; 49 padding: 0; 50 margin: 0 10px 0 0; 51 } 52 53 span { 54 width: 240px; 55 max-width: 240px; 56 padding: 0; 57 margin: 0; 58 line-height: 1.2; 59 text-align: left; 60 word-break: break-all; 61 white-space: normal; 62 } 63 } 64 } 44 65 } 45 66 46 67 @media screen and (max-width: 782px) { 47 #wp-toolbar > ul > #wp-admin-bar-login-monitor { 48 display: block; 49 } 68 #wpadminbar .quicklinks #wp-admin-bar-notifications > a { 69 padding-left: 6px; 70 padding-right: 6px; 71 } 72 73 #wp-toolbar > ul > #wp-admin-bar-login-monitor { 74 display: block; 75 &.hover { 76 position: static; 77 } 78 } 79 #wp-admin-bar-login-monitor { 80 #wp-admin-bar-login-monitor-detail .ab-item { 81 ul#lm-list li { 82 span { 83 width: inherit; 84 max-width: inherit; 85 } 86 } 87 } 88 } 50 89 } -
admin-user-control/trunk/js/admin-user-control.js
r2311275 r2398471 44 44 45 45 for (let i in json['login-monitor']) { 46 const li = document.createElement('li'), 47 badge = document.createElement('span'), 48 badgeStr = document.createElement('li'), 49 name = document.createTextNode(json['login-monitor'][i].display_name); 46 const li = document.createElement( 'li' ), 47 image = document.createElement( 'img' ), 48 name = document.createElement( 'span' ); 50 49 51 badge.classList.add('lm-badge');52 badge.style.background = '#' + json['login-monitor'][i].color;50 image.src = json[ 'login-monitor' ][ i ].avatar_url 51 name.textContent = json[ 'login-monitor' ][ i ].display_name; 53 52 54 badgeStr.classList.add('lm-badge-str'); 55 badgeStr.innerText = json['login-monitor'][i].display_name.substr(0, 1).toUpperCase(); 56 badge.appendChild(badgeStr); 53 if (json['login-monitor'][i].profile_url === null) { 54 json['login-monitor'][i].profile_url = '#'; 55 li.classList.add( 'no-link' ); 56 } 57 57 58 if (json['login-monitor'][i].profile_url !== null) { 59 const profileLink = document.createElement('a'); 60 profileLink.setAttribute('href', json['login-monitor'][i].profile_url); 61 profileLink.appendChild(badge); 62 profileLink.appendChild(name); 63 li.appendChild(profileLink); 64 } else { 65 li.appendChild(badge); 66 li.appendChild(name); 67 } 58 const profileLink = document.createElement('a'); 59 profileLink.setAttribute('href', json['login-monitor'][i].profile_url); 60 profileLink.appendChild(image); 61 profileLink.appendChild(name); 62 li.appendChild(profileLink); 68 63 69 64 ul.appendChild(li); -
admin-user-control/trunk/js/admin-user-control.min.js
r2311275 r2398471 1 document.addEventListener("DOMContentLoaded",()=>{const wpAdminBarLoginMonitor=document.getElementById("wp-admin-bar-login-monitor");const AdminUserControlRefresh=()=>{fetch(ADMIN_USER_CONTROL_CONST.url,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({action:ADMIN_USER_CONTROL_CONST.action}).toString()}).then(response=>{if(!response.ok){switch(response.status){case 400:throw Error("INVALID TOKEN");case 401:throw Error("UNAUTHORIZED");case 500:throw Error("INTERNAL SERVER ERROR");case 502:throw Error("BAD GATEWAY");case 404:throw Error("NOT FOUND");default:throw Error("UNHANDLED ERROR")}}const contentType=response.headers.get("content-type");if(!contentType||!contentType.includes("application/json")){throw new TypeError("Not JSON")}return response.json()}).then(json=>{if(wpAdminBarLoginMonitor){document.getElementById("lm-cnt").innerText=json["login-monitor"].length;const ul=document.getElementById("lm-list");ul.innerHTML="";for(let i in json["login-monitor"]){const li=document.createElement("li"), badge=document.createElement("span"),badgeStr=document.createElement("li"),name=document.createTextNode(json["login-monitor"][i].display_name);badge.classList.add("lm-badge");badge.style.background="#"+json["login-monitor"][i].color;badgeStr.classList.add("lm-badge-str");badgeStr.innerText=json["login-monitor"][i].display_name.substr(0,1).toUpperCase();badge.appendChild(badgeStr);if(json["login-monitor"][i].profile_url!==null){const profileLink=document.createElement("a");profileLink.setAttribute("href",json["login-monitor"][i].profile_url);profileLink.appendChild(badge);profileLink.appendChild(name);li.appendChild(profileLink)}else{li.appendChild(badge);li.appendChild(name)}ul.appendChild(li)}}if(json["admin-notification"]["is_exist_notification"]){jQuery("#wp-admin-bar-notifications").show()}else{jQuery("#wp-admin-bar-notifications").hide()}if(json["admin-maintenance"]["is_maintenance"]){let modal=document.getElementById("auc-modal");modal.style.display="block";setTimeout(function(){location.href=json["admin-maintenance"]["logout_url"]},1e4);jQuery("#auc-maintenanceEndTime")[0].innerText=" : "+json["admin-maintenance"]["maintenance_end_time"]}}).catch(error=>console.error(error))};setInterval(AdminUserControlRefresh,ADMIN_USER_CONTROL_CONST.lifetime*1e3);AdminUserControlRefresh();const ReadNotification=notificationId=>{fetch(ADMIN_USER_CONTROL_CONST.url,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({action:ADMIN_USER_CONTROL_CONST.readNotificationAction,notificationId:notificationId}).toString()}).then(response=>{if(!response.ok){switch(response.status){case 400:throw Error("INVALID TOKEN");case 401:throw Error("UNAUTHORIZED");case 500:throw Error("INTERNAL SERVER ERROR");case 502:throw Error("BAD GATEWAY");case 404:throw Error("NOT FOUND");default:throw Error("UNHANDLED ERROR")}}const contentType=response.headers.get("content-type");if(!contentType||!contentType.includes("application/json")){throw new TypeError("Not JSON")}return response.json()}).then(json=>{if(json["result"]){jQuery("ul.auc-notification-list li.post[data-postid="+notificationId+"]").removeClass("unread").addClass("read");if(jQuery("ul.auc-notification-list li.post.unread").length===0){jQuery("#wp-admin-bar-notifications").hide()}}}).catch(error=>console.error(error))};jQuery("ul.auc-maintenance-list").on("click","li.post .title",function(){jQuery(this).parents("li.post").toggleClass("open")});jQuery("ul.auc-notification-list").on("click","li.post .title",function(){jQuery(this).parents("li.post").toggleClass("open")});jQuery("ul.auc-notification-list").on("click","li.post .content .read_btn",function(){const postid=jQuery(this).parents("li").attr("data-postid");const regex=/[^0-9]/g;if(null===postid.match(regex)){ReadNotification(postid)}})});1 document.addEventListener("DOMContentLoaded",()=>{const wpAdminBarLoginMonitor=document.getElementById("wp-admin-bar-login-monitor");const AdminUserControlRefresh=()=>{fetch(ADMIN_USER_CONTROL_CONST.url,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({action:ADMIN_USER_CONTROL_CONST.action}).toString()}).then(response=>{if(!response.ok){switch(response.status){case 400:throw Error("INVALID TOKEN");case 401:throw Error("UNAUTHORIZED");case 500:throw Error("INTERNAL SERVER ERROR");case 502:throw Error("BAD GATEWAY");case 404:throw Error("NOT FOUND");default:throw Error("UNHANDLED ERROR")}}const contentType=response.headers.get("content-type");if(!contentType||!contentType.includes("application/json")){throw new TypeError("Not JSON")}return response.json()}).then(json=>{if(wpAdminBarLoginMonitor){document.getElementById("lm-cnt").innerText=json["login-monitor"].length;const ul=document.getElementById("lm-list");ul.innerHTML="";for(let i in json["login-monitor"]){const li=document.createElement("li"),image=document.createElement("img"),name=document.createElement("span");image.src=json["login-monitor"][i].avatar_url;name.textContent=json["login-monitor"][i].display_name;if(json["login-monitor"][i].profile_url===null){json["login-monitor"][i].profile_url="#";li.classList.add("no-link")}const profileLink=document.createElement("a");profileLink.setAttribute("href",json["login-monitor"][i].profile_url);profileLink.appendChild(image);profileLink.appendChild(name);li.appendChild(profileLink);ul.appendChild(li)}}if(json["admin-notification"]["is_exist_notification"]){jQuery("#wp-admin-bar-notifications").show()}else{jQuery("#wp-admin-bar-notifications").hide()}if(json["admin-maintenance"]["is_maintenance"]){let modal=document.getElementById("auc-modal");modal.style.display="block";setTimeout(function(){location.href=json["admin-maintenance"]["logout_url"]},1e4);jQuery("#auc-maintenanceEndTime")[0].innerText=" : "+json["admin-maintenance"]["maintenance_end_time"]}}).catch(error=>console.error(error))};setInterval(AdminUserControlRefresh,ADMIN_USER_CONTROL_CONST.lifetime*1e3);AdminUserControlRefresh();const ReadNotification=notificationId=>{fetch(ADMIN_USER_CONTROL_CONST.url,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({action:ADMIN_USER_CONTROL_CONST.readNotificationAction,notificationId:notificationId}).toString()}).then(response=>{if(!response.ok){switch(response.status){case 400:throw Error("INVALID TOKEN");case 401:throw Error("UNAUTHORIZED");case 500:throw Error("INTERNAL SERVER ERROR");case 502:throw Error("BAD GATEWAY");case 404:throw Error("NOT FOUND");default:throw Error("UNHANDLED ERROR")}}const contentType=response.headers.get("content-type");if(!contentType||!contentType.includes("application/json")){throw new TypeError("Not JSON")}return response.json()}).then(json=>{if(json["result"]){jQuery("ul.auc-notification-list li.post[data-postid="+notificationId+"]").removeClass("unread").addClass("read");if(jQuery("ul.auc-notification-list li.post.unread").length===0){jQuery("#wp-admin-bar-notifications").hide()}}}).catch(error=>console.error(error))};jQuery("ul.auc-maintenance-list").on("click","li.post .title",function(){jQuery(this).parents("li.post").toggleClass("open")});jQuery("ul.auc-notification-list").on("click","li.post .title",function(){jQuery(this).parents("li.post").toggleClass("open")});jQuery("ul.auc-notification-list").on("click","li.post .content .read_btn",function(){const postid=jQuery(this).parents("li").attr("data-postid");const regex=/[^0-9]/g;if(null===postid.match(regex)){ReadNotification(postid)}})}); -
admin-user-control/trunk/languages/admin-user-control-ja.po
r2311275 r2398471 7 7 "control\n" 8 8 "POT-Creation-Date: 2020-05-18T02:23:41+00:00\n" 9 "PO-Revision-Date: 2020- 05-18 11:26+0900\n"9 "PO-Revision-Date: 2020-10-01 19:35+0900\n" 10 10 "Last-Translator: \n" 11 11 "Language-Team: \n" … … 14 14 "Content-Type: text/plain; charset=UTF-8\n" 15 15 "Content-Transfer-Encoding: 8bit\n" 16 "X-Generator: Poedit 2. 3\n"16 "X-Generator: Poedit 2.4.1\n" 17 17 "X-Domain: admin-user-control\n" 18 18 "Plural-Forms: nplurals=1; plural=0;\n" … … 80 80 #: auc-notification.php:26 81 81 msgid "New notification" 82 msgstr "新しいお知らせ があります"82 msgstr "新しいお知らせ" 83 83 84 84 #: auc-notification.php:50 -
admin-user-control/trunk/readme.txt
r2311275 r2398471 5 5 License: GNU General Public License, v2 or higher 6 6 License URI: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html 7 Stable tag: 1.07 Stable tag: 2.0.0 8 8 Requires at least: 5.4 9 Tested up to: 5. 49 Tested up to: 5.5.1 10 10 11 11 This plugin adds a useful feature to the administration screen that allows administrators to control the users involved in their operations. … … 41 41 42 42 == Changelog == 43 44 = 2.0 = 45 Changed to enable only necessary functions in the settings screen. 46 Added enable/disable setting for toolbars in settings screen. 47 Changed to show user avatar in icon. 48 Added filter hook for user's link URL. 49 Added saving IP address to user meta information when using Ajax communication. 50 A minor bug fix. 51 Tested up to 5.5.1. 52 43 53 = 1.0 = 44 54 * first version.
Note: See TracChangeset
for help on using the changeset viewer.