Current File : //usr/local/lsws/add-ons/webcachemgr/src/View/Tpl/DashNotifier.tpl |
<?php
use Lsc\Wp\View\Model\DashNotifierViewModel as ViewModel;
$iconDir = $this->viewModel->getTplData(ViewModel::FLD_ICON_DIR);
$discoveredCnt = $this->viewModel->getTplData(ViewModel::FLD_DISCOVERED_COUNT);
$rapMsgIds = $this->viewModel->getTplData(ViewModel::FLD_RAP_MSG_IDS);
$bamMsgIds = $this->viewModel->getTplData(ViewModel::FLD_BAM_MSG_IDS);
/**
* Close usual "lswsform" to allow the following page to have multiple forms
* based on selected tab.
*/
echo '</form>';
?>
<div id="heading">
<h1 class="uk-margin-top-remove">
<?php if ( $iconDir != '' ) : ?>
<span>
<img src="<?php echo $iconDir; ?>/wpNotifier.svg" alt="wp_dash_notifier_icon" />
</span>
<?php endif; ?>
WordPress Dashboard Notification
</h1>
<p class="uk-width-medium-2-3 uk-width-small-1-1 uk-text-dark"
style="font-size: 15px; margin-left: 0px;">
This tool deploys and activates the
<a href="https://wordpress.org/plugins/dash-notifier/" target='_blank'>WP Dash Notifier</a>
WordPress plugin on all of the server's WordPress installations.
</p>
</div>
<div id="display-msgs">
<button class="accordion accordion-error" type="button" style="display: none">
Error Messages
<span id ="errMsgCnt" class="badge errMsg-badge">0</span>
</button>
<div class="panel panel-error">
<?php
$d = array(
'id' => 'errMsgs',
'class' => 'scrollable',
);
$this->loadTplBlock('DivMsgBox.tpl', $d);
?>
</div>
<button class="accordion accordion-success" type="button" style="display: none">
Success Messages
<span id="succMsgCnt" class="badge succMsg-badge">0</span>
</button>
<div class="panel panel-success">
<?php
$d = array(
'id' => 'succMsgs',
'class' => 'scrollable',
);
$this->loadTplBlock('DivMsgBox.tpl', $d);
?>
</div>
</div>
<ul class="uk-tab uk-tab-grid" data-uk-tab="{connect:'#notify'}">
<li>
<a href="#">
<i class="fa fa-puzzle-piece fa-1x uk-margin-small-right"></i>Recommend A
Plugin
</a>
</li>
<li>
<a href="#">
<i class="fa fa-paper-plane fa-1x uk-margin-small-right"></i>Broadcast A
Message
</a>
</li>
</ul>
<ul id="notify" class="uk-switcher uk-margin">
<li>
<form name="rap-form" accept-charset="utf-8">
<input type="hidden" name="step" value="1"/>
<input type="hidden" name="do" value="dash_notifier"/>
<div class="uk-block uk-block-default uk-panel-space
uk-padding-top-remove uk-padding-bottom-remove">
<div>
<div class="uk-margin-bottom uk-margin-top uk-text-dark">
Broadcast a notification message recommending a particular plugin,
complete with an install/activate button for that plugin.
</div>
</div>
<button class="accordion uk-margin-bottom button-primary" type="button">
<i class="fa fa-info-circle fa-1x uk-margin-small-right
uk-text-primary"></i>
Recommending A Plugin
</button>
<div class="panel uk-accordion-content-background">
<div class="uk-margin uk-margin-top">
<p>
On this page, a plugin can be recommended to all
<a href="?do=lscwp_manage">discovered WordPress installations</a>
by providing both the plugin's slug and a dashboard message.
The following illustrates possible dashboard messages shown to
WordPress users when recommending a plugin with plugin slug
'litespeed-cache' with a simple plain text message.
</p>
<ol>
<li class="uk-margin-top">
<span>
User does not have the 'litespeed-cache' plugin installed
</span>
<figure class="uk-margin-small uk-margin-small-top">
<img src="<?php echo $iconDir; ?>/../images/dash-notify-install.png"
alt="recommend_new_plugin_img" class="uk-border-rounded"/>
</figure>
</li>
<li class="uk-margin-top">
<span>
User has 'litespeed-cache' plugin installed, but
deactivated
</span>
<figure class="uk-margin-small uk-margin-small-top">
<img src="<?php echo $iconDir; ?>/../images/dash-notify-activate.png"
alt="recommend_disabled_plugin_img"
class="uk-border-rounded" />
</figure>
</li>
<li class="uk-margin-top">
<span>
User has 'litespeed-cache' plugin installed and active
<br />
* No message will be displayed
</span>
</li>
</ol>
<h3>Other Info</h3>
<ul class="uk-list-space">
<li>
WordPress users who click the "Dismiss" button will not be
re-notified if the provided dashboard message and plugin slug
match those of the dismissed message.
</li>
<li>
WordPress users who click the "Never Notify Me Again" button
will have the Dash Notifier plugin uninstalled and a
'.dash_notifier_bypass' file created in their installation's
root directory. These users will not be notified of any
further messages while this file exists.
</li>
</ul>
</div>
</div>
<ul class="uk-grid uk-grid-width-large-1-2 uk-grid-width-medium-1-1
uk-grid-small">
<li class="uk-panel uk-panel-space">
<div class="">
<span>Plugin Slug</span>
<span class="far fa-question-circle uk-margin-small-right
uk-text-muted"
style="font-size: 14px;"
title="A plugin's unique identifier. This can be found by finding the plugin's page on wordpress.org/plugins and taking the last part of the URL. For example, the URL for the LiteSpeed Cache plugin for WordPress is wordpress.org/plugins/litespeed-cache, making the plugin slug 'litespeed-cache'."
data-uk-tooltip></span>
<input id="pluginSlug" class="uk-margin-right" type="text"
name="notify_slug" size="30" value=""/>
<button class="nowrap lsws-muted-btn" type="button" name="verify_slug"
value="Verify Plugin Slug" title="Verify provided WordPress plugin slug"
onclick="javascript:dashVerifySlug(
document.getElementById('pluginSlug').value);">
Verify
</button>
<br />
<span id="verify-output" class="uk-text-small"></span>
</div>
<div>
<div>
<span>WordPress Dashboard Message</span>
<span class="far fa-question-circle uk-text-muted"
style="font-size: 14px;"
title="Message to be displayed as a Dash Notifier message. Both plain text and HTML are allowed. Newlines will be ignored in plain text."
data-uk-tooltip></span>
<button type="button" class="uk-margin-left uk-button-link"
name="clear_msg" value="Clear Current Message"
title="Clear current WordPress Dashboard Message"
onclick="javascript:clearDashMsg('rap');" data-uk-tooltip>
<i class="fa fa-times"
style="color: #FF5C85; font-size: 18px;"></i>
</button>
</div>
<div>
<textarea id="rap-dashMsg" class="uk-margin-small-top" rows="10"
name="notify_msg"
style="width: 90%; resize: vertical;"></textarea>
</div>
</div>
</li>
<li class="uk-panel uk-panel-space">
<div class="uk-margin-bottom">
<div class="uk-margin-small-right">
<span>Stored Messages</span>
<span class="far fa-question-circle uk-text-muted"
style="font-size: 14px;"
title="Load or delete previously saved dashboard message + plugin slug combinations"
data-uk-tooltip></span>
</div>
<div>
<select id="rap-msgIds"
style="min-width: 200px;border-color: #bbb;
border-radius: 5px;">
<?php
foreach ( $rapMsgIds as $id ):
$safeId = htmlspecialchars($id);
?>
<option value ="<?php echo $safeId; ?>">
<?php echo $safeId; ?>
</option>
<?php endforeach; ?>
</select>
<span id="savedMsgsBtnsRap">
<button type="button" class="nowrap lsws-muted-btn"
title="Load the selected version"
onclick="javascript:loadSavedDashMsg('rap');">
Load
</button>
<button type="button" class="nowrap lsws-muted-btn"
title="Delete the selected version"
onclick="javascript:deleteSavedDashMsg('rap');">
Delete
</button>
</span>
</div>
</div>
<div class="uk-margin-large-bottom">
<div class="uk-margin-small-right">
<span>Save As</span>
<span class="far fa-question-circle uk-text-muted"
style="font-size: 14px;"
title="Save the entered Dashbaord Message and Plugin Slug combination. Maximum of 50 characters (a-zA-Z0-9_-)."
data-uk-tooltip></span>
</div>
<div>
<input id="rap-saveKey" type="text"
name="save_key" value=""/>
<button class="nowrap lsws-muted-btn" type="button" name="save_msg"
value="Save Message As"
title="Save current message with the provided ID"
onclick="javascript:saveDashMsg(
document.getElementById('rap-saveKey').value,
'rap');">
Save
</button>
</div>
</div>
</li>
</ul>
<button class="accordion uk-margin-bottom button-primary" type="button">
<span class="uk-margin-small-left">Testing / Preview</span>
</button>
<div class="panel uk-padding-top uk-accordion-content-background"
style="border-radius: 0 0 5px 5px;">
<div class="uk-margin uk-margin-top">
<span>
Use this option to test enabling/disabling notifications on a
single WordPress installation by providing it's path.
</span>
<br /><br />
<span class="uk-margin-small-right">
Specify a WordPress installation path
</span>
<input class="uk-margin-right" id="rap-wpPath" type="text" name="wpPath"
size="40" value=""/>
<span id="rap-notifySingleBtn">
<button class="lsws-primary-btn" type="button" name="notify_single"
value="Notify Installation" title="Notify provided WordPress installation"
onclick="javascript:dashNotifySingle(
document.getElementById('rap-wpPath').value,
document.getElementById('rap-dashMsg').value
.replace(/^\s+|\s+$/g, ''), 'rap');">
Deploy / Notify
</button>
</span>
<span id="rap-disableSingleBtn">
<button class="lsws-primary-btn" type="button" name="disable_single"
value="Disable for Installation"
title="Disable Dash Notifier for provided WordPress installation"
onclick="javascript:dashDisableSingle(
document.getElementById('rap-wpPath').value,
'rap');">
Remove
</button>
</span>
<br />
</div>
</div>
<div class="uk-block uk-margin-top uk-padding-top uk-padding-bottom">
<span>
Discovered WordPress installations
<a href="?do=lscwp_manage">
(<b><?php echo $discoveredCnt; ?></b> Discovered
)</a>
</span>
<br /><br />
<button type="button" name="mass-notify" value="Deploy / Notify All"
class="lsws-primary-btn"
title="Notify all WordPress installations discovered in 'Manage Cache Installations' using the Dashboard Notifier plugin."
onclick="javascript:dashMassActionSubmit(this.name,
this.value, 'rap');"
>
Mass Deploy / Notify
</button>
<button type="button" name="mass-disable-dash-notifier" value="Remove All"
class="lsws-primary-btn"
title="Disable and remove Dashboard Notifier Wordpress plugin from all WordPress installations discovered in 'Manage Cache Installations'."
onclick="javascript:dashMassActionSubmit(this.name,
this.value, 'rap');"
>
Mass Remove
</button>
</div>
</div>
</form>
<hr />
</li>
<li>
<form name="bam-form" accept-charset="utf-8">
<input type="hidden" name="step" value="1"/>
<input type="hidden" name="do" value="dash_notifier"/>
<div class="uk-block uk-block-default uk-panel-space
uk-padding-top-remove uk-padding-bottom-remove">
<div>
<div class="uk-margin-bottom uk-margin-top uk-text-dark">
Broadcast simple informational messages.
</div>
</div>
<button class="accordion uk-margin-bottom button-primary" type="button">
<i class="fa fa-info-circle fa-1x uk-margin-small-right
uk-text-primary"></i>
Broadcasting A Message
</button>
<div class="panel uk-accordion-content-background">
<div class="uk-margin uk-margin-top">
<p>
On this page, a message can be sent to all
<a href="?do=lscwp_manage">discovered WordPress installations</a>
by providing a dashboard message. The following illustrates
the dashboard messages shown to WordPress users when sending a
simple plain text message.
</p>
<ol>
<li class="uk-margin-top">
<figure class="uk-margin-small uk-margin-small-top">
<img src="<?php echo $iconDir; ?>/../images/dash-notify-simple.png"
alt="send_a_message_img" class="uk-border-rounded"/>
</figure>
</li>
</ol>
<h3>Other Info</h3>
<ul class="uk-list-space">
<li>
WordPress users who click the "Dismiss" button will not be
re-notified if the provided dashboard message matches that
of the last dismissed message.
</li>
<li>
WordPress users who click the "Never Notify Me Again" button
will have the Dash Notifier plugin uninstalled and a
'.dash_notifier_bypass' file created in their installation's
root directory. These users will not be notified of any
further messages while this file exists.
</li>
</ul>
</div>
</div>
<ul class="uk-grid uk-grid-width-large-1-2 uk-grid-width-medium-1-1
uk-grid-small">
<li class="uk-panel uk-panel-space">
<div>
<div>
<span>WordPress Dashboard Message</span>
<span class="far fa-question-circle uk-text-muted"
style="font-size: 14px;"
title="Message to be displayed as a Dash Notifier message. Both plain text and HTML are allowed. Newlines will be ignored in plain text."
data-uk-tooltip></span>
<button class="uk-margin-left uk-button-link" type="button"
name="clear_msg" value="Clear Current Message"
title="Clear current WordPress Dashboard Message"
onclick="javascript:clearDashMsg('bam');" data-uk-tooltip>
<i class="fa fa-times"
style="color: #FF5C85; font-size: 18px;"></i>
</button>
</div>
<div>
<textarea id="bam-dashMsg" class="uk-margin-small-top" rows="10"
name="notify_msg"
style="width: 90%; resize: vertical;"></textarea>
</div>
</div>
</li>
<li class="uk-panel uk-panel-space">
<div class="uk-margin-bottom">
<div class="uk-margin-small-right">
<span>Stored Messages</span>
<span class="far fa-question-circle uk-text-muted"
style="font-size: 14px;"
title="Load or delete previously saved dashboard message + plugin slug combinations"
data-uk-tooltip></span>
</div>
<div>
<select id="bam-msgIds"
style="min-width: 200px; border-color: #bbb;
border-radius: 5px;">
<?php
foreach ( $bamMsgIds as $id ):
$safeId = htmlspecialchars($id);
?>
<option value ="<?php echo $safeId; ?>">
<?php echo $safeId; ?>
</option>
<?php endforeach; ?>
</select>
<span id="savedMsgsBtnsBam">
<button type="button" class="nowrap lsws-muted-btn"
title="Load the selected version"
onclick="javascript:loadSavedDashMsg('bam');">
Load
</button>
<button type="button" class="nowrap lsws-muted-btn"
title="Delete the selected version"
onclick="javascript:deleteSavedDashMsg('bam');">
Delete
</button>
</span>
</div>
</div>
<div>
<div class="uk-margin-small-right">
<span>Save As</span>
<span class="far fa-question-circle uk-text-muted"
style="font-size: 14px;"
title="Save the entered Dashbaord Message and Plugin Slug combination. Maximum of 50 characters (a-zA-Z0-9_-)."
data-uk-tooltip></span>
</div>
<div>
<input id="bam-saveKey" type="text" name="save_key" value=""/>
<button class="nowrap lsws-muted-btn" type="button" name="save_msg"
value="Save Message As"
title="Save current message with the provided ID"
onclick="javascript:saveDashMsg(
document.getElementById('bam-saveKey').value,
'bam');">
Save
</button>
</div>
</div>
</li>
</ul>
<button class="accordion uk-margin-bottom button-primary" type="button">
<span class="uk-margin-small-left">Testing / Preview</span>
</button>
<div class="panel uk-padding-top uk-accordion-content-background"
style="border-radius: 0 0 5px 5px;">
<div class="uk-margin uk-margin-top">
<span>
Use this option to test enabling/disabling notifications on a
single WordPress installation by providing it's path.
</span>
<br /><br />
<span class="uk-margin-small-right">
Specify a WordPress installation path
</span>
<input class="uk-margin-right" id="bam-wpPath" type="text" name="wpPath"
size="40" value=""/>
<span id="bam-notifySingleBtn">
<button class="lsws-primary-btn" type="button" name="notify_single"
value="Notify Installation" title="Notify provided WordPress installation"
onclick="javascript:dashNotifySingle(
document.getElementById('bam-wpPath').value,
document.getElementById('bam-dashMsg').value
.replace(/^\s+|\s+$/g, ''), 'bam');">
Deploy / Notify
</button>
</span>
<span id="bam-disableSingleBtn">
<button class="lsws-primary-btn" type="button" name="disable_single"
value="Disable for Installation"
title="Disable Dash Notifier for provided WordPress installation"
onclick="javascript:dashDisableSingle(
document.getElementById('bam-wpPath').value,
'bam');">
Remove
</button>
</span>
<br />
</div>
</div>
<div class="uk-block uk-margin-top uk-padding-top uk-padding-bottom">
<span>
Discovered WordPress installations
<a href="?do=lscwp_manage">
(<b><?php echo $discoveredCnt; ?></b> Discovered)
</a>
</span>
<br /><br />
<button type="button" name="mass-notify" value="Deploy / Notify All"
class="lsws-primary-btn"
title="Notify all WordPress installations discovered in 'Manage Cache Installations' using the Dashboard Notifier plugin."
onclick="javascript:dashMassActionSubmit(this.name,
this.value, 'bam');"
>
Mass Deploy / Notify
</button>
<button type="button" name="mass-disable-dash-notifier" value="Remove All"
class="lsws-primary-btn"
title="Disable and remove Dashboard Notifier Wordpress plugin from all WordPress installations discovered in 'Manage Cache Installations'."
onclick="javascript:dashMassActionSubmit(this.name,
this.value, 'bam');"
>
Mass Remove
</button>
<br />
</div>
</div>
</form>
<hr />
</li>
</ul>
<?php
$d = array(
'back' => 'Back'
);
$this->loadTplBlock('ButtonPanelBackNext.tpl', $d);
?>
<script type="text/javascript">lswsInitDropdownBoxes();</script>