update
This commit is contained in:
@@ -0,0 +1,279 @@
|
||||
|
||||
/* base styles */
|
||||
input[type="radio"],
|
||||
input[type="checkbox"] {
|
||||
height: 20px;
|
||||
width: 20px;
|
||||
vertical-align: middle;
|
||||
margin: 0 0.4em 0.4em 0;
|
||||
background: rgba(255, 255, 255, 1);
|
||||
border: 1px solid #AAAAAA;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
/* border radius for radio*/
|
||||
.onoffswitch input[type="radio"] {
|
||||
border-radius: 100%;
|
||||
}
|
||||
|
||||
/* border radius for checkbox */
|
||||
.onoffswitch input[type="checkbox"] {
|
||||
border-radius: 2px;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
/* hover state */
|
||||
input[type="radio"]:not(:disabled):hover,
|
||||
input[type="checkbox"]:not(:disabled):hover {
|
||||
border: 1px solid rgba(58, 197, 201, 1);
|
||||
}
|
||||
|
||||
/* active state */
|
||||
input[type="radio"]:active:not(:disabled),
|
||||
input[type="checkbox"]:active:not(:disabled) {
|
||||
border: 1px solid rgba(58, 197, 201, 1);
|
||||
}
|
||||
|
||||
/* input checked border color */
|
||||
input[type="radio"]:checked,
|
||||
input[type="checkbox"]:checked {
|
||||
border: 1px solid rgba(58, 197, 201, 1);
|
||||
}
|
||||
|
||||
input[type="checkbox"]:checked:not(:disabled) {
|
||||
background: rgba(58, 197, 201, 1);
|
||||
}
|
||||
|
||||
/* radio checked */
|
||||
input[type="radio"]:checked:before {
|
||||
display: block;
|
||||
height: 14px;
|
||||
width: 14px;
|
||||
position: relative;
|
||||
left: 2px;
|
||||
top: 2px;
|
||||
background: rgba(58, 197, 201, 1);
|
||||
border-radius: 100%;
|
||||
content: '';
|
||||
}
|
||||
|
||||
/* checkbox checked */
|
||||
input[type="checkbox"]:checked:before {
|
||||
font-weight: bold;
|
||||
color: white;
|
||||
content: '\2713';
|
||||
margin-left: 2px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
/* disabled input */
|
||||
input:disabled {
|
||||
background: rgba(0, 0, 0, 0.3);
|
||||
&:checked {
|
||||
border: 1px solid rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
}
|
||||
|
||||
input[type="radio"]:disabled:checked:before {
|
||||
display: block;
|
||||
height: 14px;
|
||||
width: 14px;
|
||||
position: relative;
|
||||
left: 2px;
|
||||
top: 2px;
|
||||
background: rgba(255, 255, 255, 1);
|
||||
border-radius: 100%;
|
||||
content: '';
|
||||
}
|
||||
|
||||
/* SWITCH STYLES */
|
||||
/* SOURCE: https://proto.io/freebies/onoff/ */
|
||||
.onoffswitch {
|
||||
position: relative;
|
||||
width: 56px;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
top: -10px;
|
||||
left: 40px;
|
||||
}
|
||||
.onoffswitch-checkbox {
|
||||
display: none;
|
||||
}
|
||||
.onoffswitch-label {
|
||||
display: block; overflow: hidden; cursor: pointer;
|
||||
border: 2px solid #FFFFFF; border-radius: 20px;
|
||||
}
|
||||
.onoffswitch-inner {
|
||||
display: block; width: 200%; margin-left: -100%;
|
||||
transition: margin 0.3s ease-in 0s;
|
||||
}
|
||||
.onoffswitch-inner:before, .onoffswitch-inner:after {
|
||||
display: block; float: left; width: 50%; height: 22px; padding: 0; line-height: 22px;
|
||||
font-size: 12px; color: black; font-family: Trebuchet, Arial, sans-serif; font-weight: bold;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.onoffswitch-inner:before {
|
||||
content: "ON";
|
||||
padding-left: 6px;
|
||||
background-color: #048a1a;
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.onoffswitch-inner:after {
|
||||
content: "OFF";
|
||||
padding-right: 6px;
|
||||
background-color: #b10707e0;
|
||||
color: #FFFFFF;
|
||||
text-align: right;
|
||||
}
|
||||
.onoffswitch-switch {
|
||||
display: block; width: 12px; margin: 5px;
|
||||
background: #FFFFFF;
|
||||
position: absolute; top: 0; bottom: 0;
|
||||
right: 30px;
|
||||
border: 2px solid #FFFFFF; border-radius: 20px;
|
||||
transition: all 0.3s ease-in 0s;
|
||||
}
|
||||
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
|
||||
margin-left: 0;
|
||||
}
|
||||
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
|
||||
right: 0px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.tabordion {
|
||||
color: #333;
|
||||
display: block;
|
||||
font-family: arial, sans-serif;
|
||||
margin: auto;
|
||||
position: relative;
|
||||
}
|
||||
.tabordion input[name="sections"] {
|
||||
left: -9999px;
|
||||
position: absolute;
|
||||
top: -9999px;
|
||||
}
|
||||
.tabordion section {
|
||||
display: block;
|
||||
}
|
||||
.tabordion section label {
|
||||
background: #eee;
|
||||
color: #bbb;
|
||||
border:1px solid #fff;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
font-size: 1.2em;
|
||||
font-weight: bold;
|
||||
padding: 15px 20px;
|
||||
position: relative;
|
||||
width: 180px;
|
||||
z-index:100;
|
||||
}
|
||||
.tabordion section article {
|
||||
display: none;
|
||||
left: 230px;
|
||||
min-width: 300px;
|
||||
padding: 0 0 0 21px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
background: #fff;
|
||||
padding: 10px 30px 30px 30px;
|
||||
min-height: 400px;
|
||||
width: 75%;
|
||||
}
|
||||
.tabordion input[name="sections"]:checked + label {
|
||||
background: #ccc;
|
||||
color: #111;
|
||||
}
|
||||
small {
|
||||
color: #9a9a9a;
|
||||
}
|
||||
.tabordion input[name="sections"]:checked ~ article {
|
||||
display: block;
|
||||
}
|
||||
|
||||
@media (max-width: 533px) {
|
||||
h1 {
|
||||
width: 100%;
|
||||
}
|
||||
.tabordion {
|
||||
width: 100%;
|
||||
}
|
||||
.tabordion section label {
|
||||
font-size: 1em;
|
||||
width: 160px;
|
||||
}
|
||||
.tabordion section article {
|
||||
left: 200px;
|
||||
min-width: 270px;
|
||||
}
|
||||
.tabordion section article:after {
|
||||
background-color: #ccc;
|
||||
bottom: 0;
|
||||
content: "";
|
||||
display: block;
|
||||
left:-199px;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
width: 200px;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/*custom css code*/
|
||||
.wbcr-factory-page-header {
|
||||
overflow: hidden;
|
||||
background-color: #32373c;
|
||||
border-radius: 5px 5px 0 0;
|
||||
width: 98%;
|
||||
}
|
||||
tr.mlw-box-left {
|
||||
text-align: left;
|
||||
}
|
||||
.wbcr-factory-tab__short-description {
|
||||
display: block;
|
||||
font-size: 13px;
|
||||
font-weight: normal;
|
||||
text-transform: none;
|
||||
color: #9a9a9a;
|
||||
}
|
||||
.textarea-wrap {
|
||||
background: #eee;
|
||||
width: 100%;
|
||||
min-height: 400px;
|
||||
}
|
||||
span.dashicons.dashicons-admin-generic, .dashicons.dashicons-admin-users,
|
||||
span.dashicons.dashicons-menu, span.dashicons.dashicons dashicons-menu {
|
||||
float: right;
|
||||
}
|
||||
.settings-label{
|
||||
float: left;
|
||||
width: 250px;
|
||||
}
|
||||
.clear {
|
||||
margin-top: 25px;
|
||||
}
|
||||
.fm-footer{
|
||||
text-align: right;
|
||||
padding: 10px;
|
||||
background: #F1F1F1;
|
||||
border-bottom:1px solid #ccc;
|
||||
margin-top: 70px;
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
h1 {
|
||||
width: 96%;
|
||||
}
|
||||
|
||||
.tabordion {
|
||||
width: 96%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1366px) {
|
||||
h1 {
|
||||
margin-left: 15px;
|
||||
}
|
||||
}
|
||||
244
wp-content/plugins/disable-update-notifications/css/index.php
Normal file
244
wp-content/plugins/disable-update-notifications/css/index.php
Normal file
@@ -0,0 +1,244 @@
|
||||
<?php
|
||||
/*
|
||||
* Plugin Name: Disable WordPress Update Notifications
|
||||
* Plugin URI: https://www.premtiwari.in/disable-wordpress-update-notifications/
|
||||
* Description: This plugin will disable WordPress core update notification, plugin update notification and theme update notifications and inline warnings in your admin panel.
|
||||
* Author: Prem Tiwari
|
||||
* Version: 2.4.3
|
||||
* Author URI: https://www.premtiwari.in/
|
||||
*/
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit; // Exit if accessed directly
|
||||
}
|
||||
|
||||
define( 'DWUN_PLUGIN_BASE', plugin_basename( __FILE__ ) );
|
||||
|
||||
// include disable auto-update Email Notifications.
|
||||
require_once( ABSPATH . 'wp-includes/pluggable.php' );
|
||||
|
||||
function dwun_plugin_admin_style() {
|
||||
if ( isset( $_GET['page'] ) && 'fm-dwns' === $_GET['page'] ) {
|
||||
wp_enqueue_style( 'dwun-admin-style', plugins_url( "css/admin-style.css", __FILE__ ) );
|
||||
}
|
||||
}
|
||||
add_action( 'admin_enqueue_scripts', 'dwun_plugin_admin_style' );
|
||||
|
||||
function dwun_plugin_settings() {
|
||||
/**
|
||||
* Update the plugin settings.
|
||||
*
|
||||
* @author Prem Tiwari
|
||||
* @since 2.4.0
|
||||
*/
|
||||
if ( isset( $_POST['submit-nonce'] ) && wp_verify_nonce( sanitize_text_field( wp_unslash ( $_POST['submit-nonce'] ) ), 'dwun_plugin_submit_form' ) ) {
|
||||
// Safe: Update plugin settings
|
||||
$dwun_values = [
|
||||
'dpun_setting' => isset( $_POST[ 'dpun' ] ),
|
||||
'dwtu_setting' => isset( $_POST[ 'dwtu' ] ),
|
||||
'dwcun_setting' => isset( $_POST[ 'dwcun' ] ),
|
||||
'den_setting' => isset( $_POST[ 'den' ] ),
|
||||
];
|
||||
|
||||
update_option( 'dwun_plugin_options', $dwun_values );
|
||||
// Print the success message.
|
||||
echo '<div class="updated notice notice-success is-dismissible below-h2" id="message"><p>Settings updated successfully. </p></div>';
|
||||
}
|
||||
|
||||
// Get option settings values.
|
||||
$settings_values = get_option( 'dwun_plugin_options' );
|
||||
?>
|
||||
<div class="clear"></div>
|
||||
<div class="wbcr-factory-page-header">
|
||||
<h1 style="color:#fff">Disable Admin Notices — Settings </h1>
|
||||
</div>
|
||||
|
||||
<div class="tabordion">
|
||||
<section id="section1">
|
||||
<input type="radio" name="sections" id="option1" checked>
|
||||
<label for="option1">Settings
|
||||
<span class="dashicons dashicons-admin-generic"></span>
|
||||
<div class="wbcr-factory-tab__short-description">
|
||||
General settings
|
||||
</div>
|
||||
</label>
|
||||
<article>
|
||||
<h2>Admin notifications</h2>
|
||||
<p>Do you know the situation, when some plugin offers you to update to premium, to collect technical data and shows many annoying notices? You are close these notices every now and again but they newly appears and interfere your work with WordPress. Even worse, some plugin’s authors delete “close” button from notices and they shows in your admin panel forever.</p>
|
||||
<form name="fm_dwun" method="POST">
|
||||
<table>
|
||||
<tbody>
|
||||
<tr class="mlw-box-left">
|
||||
<th scope="row">
|
||||
<span for="dpun">Plugin Update </span><br>
|
||||
<small>Hide all plugins update notifications.</small>
|
||||
</th>
|
||||
<td>
|
||||
<div class="onoffswitch">
|
||||
<input type="checkbox" name="dpun" class="onoffswitch-checkbox" id="myonoffswitch" <?php if ( ! empty( $settings_values['dpun_setting'] ) ) {
|
||||
echo "checked"; } ?>>
|
||||
|
||||
<label class="onoffswitch-label" for="myonoffswitch" style="background: none; width: 56px; border: none;padding: inherit;">
|
||||
<span class="onoffswitch-inner"></span>
|
||||
<span class="onoffswitch-switch"></span>
|
||||
</label>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="mlw-box-left">
|
||||
<th scope="row">
|
||||
<span for="dwtu">Theme Update</span><br>
|
||||
<small>Hide all themes update notifications.</small>
|
||||
</th>
|
||||
<td>
|
||||
<div class="onoffswitch">
|
||||
<input type="checkbox" name="dwtu" class="onoffswitch-checkbox" id="dwtu" <?php if ( ! empty( $settings_values['dwtu_setting'] ) ) {
|
||||
echo "checked"; } ?>>
|
||||
<label class="onoffswitch-label" for="dwtu" style="background: none; width: 56px; border: none;padding: inherit;">
|
||||
<span class="onoffswitch-inner"></span>
|
||||
<span class="onoffswitch-switch"></span>
|
||||
</label>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="mlw-box-left">
|
||||
<th scope="row">
|
||||
<span for="dwcun">WordPress Core Update</span><br>
|
||||
<small>Hide WordPress core version update notifications.</small>
|
||||
</th>
|
||||
<td>
|
||||
<div class="onoffswitch">
|
||||
<input type="checkbox" name="dwcun" class="onoffswitch-checkbox" id="dwcun" <?php if ( ! empty( $settings_values['dwcun_setting'] ) ) {
|
||||
echo "checked"; } ?>>
|
||||
<label class="onoffswitch-label" for="dwcun" style="background: none; width: 56px; border: none;padding: inherit;">
|
||||
<span class="onoffswitch-inner"></span>
|
||||
<span class="onoffswitch-switch"></span>
|
||||
</label>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="mlw-box-left">
|
||||
<th scope="row">
|
||||
<span for="den">Disable auto-update Email Notifications</span><br>
|
||||
<small>Disable plugins & themes auto-update email notifications.</small>
|
||||
</th>
|
||||
<td>
|
||||
<div class="onoffswitch">
|
||||
<input type="checkbox" name="den" class="onoffswitch-checkbox" id="den" <?php if ( ! empty( $settings_values['den_setting'] ) ) {
|
||||
echo "checked"; } ?>>
|
||||
<label class="onoffswitch-label" for="den" style="background: none; width: 56px; border: none;padding: inherit;">
|
||||
<span class="onoffswitch-inner"></span>
|
||||
<span class="onoffswitch-switch"></span>
|
||||
</label>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p class="fm-footer">
|
||||
<?php wp_nonce_field( 'dwun_plugin_submit_form', 'submit-nonce' ); ?>
|
||||
<input type="submit" name="publish" id="publish" class="button button-primary" value="Save Changes">
|
||||
</p>
|
||||
</form>
|
||||
</article>
|
||||
</section>
|
||||
|
||||
<section id="section3">
|
||||
<input type="radio" name="sections" id="option3">
|
||||
<label for="option3">Help
|
||||
<span class="dashicons dashicons-admin-users"></span>
|
||||
<div class="wbcr-factory-tab__short-description">
|
||||
Having Issues?
|
||||
</div>
|
||||
</label>
|
||||
<article>
|
||||
<h2>Need Support</h2>
|
||||
<div id="wbcr-clr-support-widget" class="wbcr-factory-sidebar-widget">
|
||||
<p>
|
||||
<strong>Do you want the plugin to improved and update?</strong>
|
||||
</p>
|
||||
<p>Help the author, leave a review on wordpress.org. Thanks to feedback, I will know that the plugin is really useful to you and is needed.</p>
|
||||
<p><strong>Having Issues?</strong></p>
|
||||
<div class="wbcr-clr-support-widget-body">
|
||||
<p>
|
||||
We provide free support for this plugin. If you are pushed with a problem, just create a new ticket. We will definitely help you! </p>
|
||||
<ul>
|
||||
<li style="margin-top: 15px;background: #fff4f1;padding: 10px;color: #a58074;">
|
||||
<span class="dashicons dashicons-warning"></span>
|
||||
If you find a php error or a vulnerability in plugin, you can <a href="https://github.com/speedyprem/disable-update-notifications/issues" target="_blank" rel="noopener">raise an issue</a> in github.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
</section>
|
||||
</div>
|
||||
<div class="clear" style="min-height:550px;"></div>
|
||||
<?php
|
||||
}
|
||||
|
||||
// Add in admin side panel.
|
||||
function dwun_plugin_admin_menu() {
|
||||
add_options_page( 'Disable Wordpress Notification Settings', 'Disable Notifications', 'manage_options', 'fm-dwns', 'dwun_plugin_settings' );
|
||||
}
|
||||
|
||||
add_action( 'admin_menu', 'dwun_plugin_admin_menu' );
|
||||
|
||||
// Get option settings values.
|
||||
$settings_values = get_option( 'dwun_plugin_options' );
|
||||
|
||||
// Disable the wordpress plugin update notifications.
|
||||
if ( ! empty( $settings_values[ 'dpun_setting' ] ) ) {
|
||||
remove_action( 'load-update-core.php', 'wp_update_plugins' );
|
||||
add_filter( 'pre_site_transient_update_plugins', '__return_null' );
|
||||
}
|
||||
|
||||
// Disable the wordpress theme update notifications.
|
||||
if ( ! empty( $settings_values[ 'dwtu_setting' ] ) ) {
|
||||
remove_action( 'load-update-core.php', 'wp_update_themes' );
|
||||
add_filter('pre_site_transient_update_themes','dwun_plugin_disable_theme_updates');
|
||||
}
|
||||
|
||||
// Disable the wordpress core update notifications
|
||||
if ( ! empty( $settings_values[ 'dwcun_setting' ] ) ) {
|
||||
add_action( 'after_setup_theme', 'dwun_plugin_disable_core_updates' );
|
||||
function dwun_plugin_disable_core_updates() {
|
||||
if ( ! current_user_can( 'update_core' ) ) {
|
||||
return;
|
||||
}
|
||||
add_filter( 'pre_option_update_core', '__return_null' );
|
||||
add_filter( 'pre_site_transient_update_core', '__return_null' );
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Disable auto-update Email Notifications.
|
||||
*
|
||||
* @since 2.2 version.
|
||||
*/
|
||||
if ( ! empty( $settings_values[ 'den_setting' ] ) ) {
|
||||
// Disable plugins auto-update email notifications.
|
||||
add_filter( 'auto_plugin_update_send_email', '__return_false' );
|
||||
// Disable themes auto-update email notifications.
|
||||
add_filter( 'auto_theme_update_send_email', '__return_false' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Genral plugins functions used for Admin and frontend enterface.
|
||||
*/
|
||||
function dwun_plugin_settings_link($links) {
|
||||
$settings_link = '<a href="options-general.php?page=fm-dwns">Settings</a>';
|
||||
array_unshift($links, $settings_link);
|
||||
return $links;
|
||||
}
|
||||
|
||||
add_filter( 'plugin_action_links_' . DWUN_PLUGIN_BASE, 'dwun_plugin_settings_link' );
|
||||
|
||||
/**
|
||||
* Disable WordPress theme update notifications.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function dwun_plugin_disable_theme_updates() {
|
||||
global $wp_version; return(object) array('last_checked'=> time(),'version_checked'=> $wp_version,);
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
=== Disable WordPress Update Notifications and auto-update Email Notifications ===
|
||||
Contributors: freewebmentor
|
||||
Tags: disable, core update, plugin update, update notifications, hide Warnings
|
||||
Requires at least: 3.5
|
||||
Tested up to: 6.4
|
||||
Stable tag: 2.4.3
|
||||
License: GPLv3
|
||||
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
||||
|
||||
Disables WordPress core update notification and plugins update notification update checks and notifications.
|
||||
|
||||
== Description ==
|
||||
|
||||
[Homepage](https://www.premtiwari.in/) | [Documentation](https://wordpress.org/plugins/disable-update-notifications/#installation) | [Support](https://wordpress.org/support/plugin/disable-update-notifications/reviews/#new-post)
|
||||
|
||||
This plugin will completely disables the Plugins, Themes, and WordPress core update notifications displayed by WordPress based on your plugin settings. Apart from this it will also disable auto-update Email Notifications.
|
||||
|
||||
== 🎉 Disable auto-update Email Notifications ==
|
||||
|
||||
Since WordPress 5.5 version, if you have enabled plugin and theme auto-update you will receive an automated email notifications when any plugin or theme auto-update is successful or failed.
|
||||
|
||||
If you manage a dozen of websites, then the you will receive the constant stream of auto-update notifications emails and may be it annoying you.
|
||||
|
||||
I have added a new feature to cure the problem by automatically Disable auto-update Email Notifications for plugins and themes auto-update email notifications.
|
||||
|
||||
👉 Most importantly, This plugin is free and always will be free.
|
||||
|
||||
== Installation ==
|
||||
|
||||
1. Unzip the ZIP file and drop the folder straight into your 'wp-content/plugins/' directory.
|
||||
2. Activate the plugin through the wordpress admin >> 'Plugins' menu in WordPress.
|
||||
3. For plugin configurations go to settings >> Disable Notification Settings
|
||||
4. Save settings. It's done.
|
||||
|
||||
== Frequently Asked Questions ==
|
||||
|
||||
= Does this plugin disable the automatic updates in WordPress higher versions? =
|
||||
|
||||
Yes, will disable the core and plugins update checks.
|
||||
|
||||
= Can I disable the theme update notifications too? =
|
||||
|
||||
Yes.
|
||||
|
||||
== Screenshots ==
|
||||
|
||||
1. screenshot-1.png
|
||||
2. screenshot-2.png
|
||||
|
||||
== Changelog ==
|
||||
= 2.4.2 - 13/03/2024 =
|
||||
* Add: Generic function and option names
|
||||
* Fix: Security and performance issues
|
||||
|
||||
= 2.3.2 - 22/09/2021 =
|
||||
* Fix: Hides all checkboxes in admin issue
|
||||
|
||||
= 2.2 - 15/01/2021 =
|
||||
* Disable auto-update Email Notifications which was added as part of the WordPress 5.5 version.
|
||||
* Fixed PHPCS warnings.
|
||||
|
||||
= 2.1.0 - 08/06/2016 =
|
||||
* Fixed admin css issues
|
||||
|
||||
= 1.0.0 =
|
||||
* Initial release.
|
||||
Reference in New Issue
Block a user