File "checksum.php"
Full Path: /home/vantageo/public_html/cache/cache/cache/cache/cache/cache/cache/.wp-cli/wp-content/plugins/loginizer/main/settings/checksum.php
File size: 11.77 KB
MIME-type: text/x-php
Charset: utf-8
<?php
if(!defined('ABSPATH')){
die('Hacking Attempt!');
}
// Loginizer - Checksum load data
function loginizer_page_checksums_L(&$files, &$_ignores){
global $loginizer, $lz_error, $lz_env;
// Load any mismatched files and ignores
$files = get_option('loginizer_checksums_diff');
$_ignores = get_option('loginizer_checksums_ignore');
$_ignores = is_array($_ignores) ? $_ignores : array(); // SHOULD ALWAYS BE PURE
$ignores = array();
foreach($_ignores as $ik => $iv){
$ignores[$iv] = array();
if(!empty($files[$iv])){
$ignores[$iv] = $files[$iv];
}
}
$lz_env['files'] = $files;
$lz_env['ignores'] = $ignores;
}
// Loginizer - PasswordLess Page
function loginizer_page_checksums(){
global $loginizer, $lz_error, $lz_env;
if(!current_user_can('manage_options')){
wp_die('Sorry, but you do not have permissions to change settings.');
}
if(!loginizer_is_premium() && count($_POST) > 0){
$lz_error['not_in_free'] = __('This feature is not available in the Free version. <a href="'.LOGINIZER_PRICING_URL.'" target="_blank" style="text-decoration:none; color:green;"><b>Upgrade to Pro</b></a>', 'loginizer');
return loginizer_page_checksums_T();
}
/* Make sure post was from this page */
if(count($_POST) > 0){
check_admin_referer('loginizer-options');
}
// Are we to run it ?
if(isset($_REQUEST['lz_run_checksum'])){
loginizer_checksums();
}
loginizer_page_checksums_L($files, $_ignores);
$lz_env['csum_freq'][1] = __('Once a Day', 'loginizer');
$lz_env['csum_freq'][7] = __('Once a Week', 'loginizer');
$lz_env['csum_freq'][30] = __('Once a Month', 'loginizer');
if(isset($_POST['save_lz'])){
// In the future there can be more settings
$option['disable_checksum'] = (int) lz_optpost('disable_checksum');
$option['no_checksum_email'] = (int) lz_optpost('no_checksum_email');
$option['checksum_frequency'] = (int) lz_optpost('checksum_frequency');
$option['checksum_time'] = lz_optpost('checksum_time');
// Is there an error ?
if(!empty($lz_error)){
return loginizer_page_checksums_T();
}
// Save the options
update_option('loginizer_checksums', $option);
// Mark as saved
$GLOBALS['lz_saved'] = true;
}
// Add or remove from ignore list
if(isset($_POST['save_lz_csum_ig'])){
if(@is_array($_POST['checksum_del_ignore'])){
foreach($_POST['checksum_del_ignore'] as $k => $v){
$key = array_search($v, $_ignores);
if($key !== false){
unset($_ignores[$key]);
}
}
// Save it
update_option('loginizer_checksums_ignore', $_ignores);
}
if(@is_array($_POST['checksum_add_ignore'])){
foreach($_POST['checksum_add_ignore'] as $k => $v){
if(!empty($files[$v])){
$_ignores[] = $v;
}
}
// Save it
update_option('loginizer_checksums_ignore', $_ignores);
}
// Reload
loginizer_page_checksums_L($files, $_ignores);
// Mark as saved
$GLOBALS['lz_saved'] = true;
}
// Call theme
loginizer_page_checksums_T();
}
// Loginizer - PasswordLess Page Theme
function loginizer_page_checksums_T(){
global $loginizer, $lz_error, $lz_env;
// Universal header
loginizer_page_header('File Checksum Settings');
loginizer_feature_available('File Checksum');
if(defined('LOGINIZER_PRO_DIR_URL')){
wp_enqueue_script('jquery-clockpicker', LOGINIZER_PRO_DIR_URL.'/assets/js/jquery-clockpicker.min.js', array('jquery'), '0.0.7');
wp_enqueue_style('jquery-clockpicker', LOGINIZER_PRO_DIR_URL.'/assets/css/jquery-clockpicker.min.css', array(), '0.0.7');
}
// Saved ?
if(!empty($GLOBALS['lz_saved'])){
echo '<div id="message" class="updated"><p>'. __('The settings were saved successfully', 'loginizer'). '</p></div><br />';
}
// Did we just run the checksums
if(isset($_REQUEST['lz_run_checksum'])){
echo '<div id="message" class="updated"><p>'. __('The Checksum process was executed successfully', 'loginizer'). '</p></div><br />';
}
// Any errors ?
if(!empty($lz_error)){
lz_report_error($lz_error);echo '<br />';
}
?>
<style>
input[type="text"], textarea, select {
width: 70%;
}
.form-table label{
font-weight:bold;
}
.exp{
font-size:12px;
}
</style>
<script>
function lz_apply_status(ele, the_class){
var status = ele.checked;
jQuery(the_class).each(function(){
this.checked = status;
});
}
</script>
<div id="" class="postbox">
<div class="postbox-header">
<h2 class="hndle ui-sortable-handle">
<span><?php echo __('Checksum Settings', 'loginizer'); ?></span>
</h2>
</div>
<div class="inside">
<form action="" method="post" enctype="multipart/form-data" loginizer-premium-only="1">
<?php wp_nonce_field('loginizer-options'); ?>
<table class="form-table">
<tr>
<td scope="row" valign="top" style="width:400px !important">
<label><?php echo __('Disable Checksum of WP Core', 'loginizer'); ?></label><br>
<span class="exp"><?php echo __('If disabled, Loginizer will not check your sites core files against the WordPress checksum list.', 'loginizer'); ?></span>
</td>
<td valign="top">
<input type="checkbox" value="1" name="disable_checksum" <?php echo lz_POSTchecked('disable_checksum', (empty($loginizer['disable_checksum']) ? false : true)); ?> />
</td>
</tr>
<tr>
<td scope="row" valign="top" style="width:400px !important">
<label><?php echo __('Disable Email of Checksum Results', 'loginizer'); ?></label><br>
<span class="exp"><?php echo __('If checked, Loginizer will not email you the checksum results.', 'loginizer'); ?></span>
</td>
<td valign="top">
<input type="checkbox" value="1" name="no_checksum_email" <?php echo lz_POSTchecked('no_checksum_email', (empty($loginizer['no_checksum_email']) ? false : true)); ?> />
</td>
</tr>
<tr>
<td scope="row" valign="top" style="width:400px !important">
<label><?php echo __('Checksum Frequency', 'loginizer'); ?></label><br>
<span class="exp"><?php echo __('If Checksum is enabled, at what frequency should the checksums be performed.', 'loginizer'); ?></span>
</td>
<td valign="top">
<select name="checksum_frequency">
<?php
foreach($lz_env['csum_freq'] as $k => $v){
echo '<option '.lz_POSTselect('checksum_frequency', $k, ((!empty($loginizer['checksum_frequency']) && $loginizer['checksum_frequency'] == $k) ? true : false)).' value="'.$k.'">'.$v.'</value>';
}
?>
</select>
</td>
</tr>
<tr id="lz_checksum_time">
<td scope="row" valign="top" style="width:400px !important">
<label><?php echo __('Time of Day', 'loginizer'); ?></label><br>
<span class="exp"><?php echo __('If Checksum is enabled, what time of day should Loginizer do the check. Note : The check will be done on or after this time has elapsed as per the accesses being made.', 'loginizer'); ?></span>
</td>
<td valign="top">
<div class="input-group clockpicker" data-autoclose="true">
<input type="text" name="checksum_time" class="form-control" value="<?php echo (empty($loginizer['checksum_time']) ? '00:00' : $loginizer['checksum_time']);?>">
<span class="input-group-addon">
<span class="glyphicon glyphicon-time"></span>
</span>
</div>
<script type="text/javascript">
jQuery(document).ready(function(){
(function($) {
$('.clockpicker').clockpicker({donetext: 'Done'});
})(jQuery);
});
</script>
</td>
</tr>
<tr>
<td colspan="2">
<?php echo __('If disabled, Loginizer will not check your sites core files against the WordPress checksum list.', 'loginizer'); ?>
</td>
</tr>
</table><br />
<center><input name="save_lz" class="button button-primary action" value="<?php echo __('Save Settings', 'loginizer'); ?>" type="submit" /><input name="lz_run_checksum" style="float:right; background: #5cb85c; color:white; border:#5cb85c" class="button button-secondary" value="<?php echo __('Do a Checksum Now', 'loginizer'); ?>" type="submit" /></center>
</form>
</div>
</div>
<div id="" class="postbox">
<div class="postbox-header">
<h2 class="hndle ui-sortable-handle">
<span><?php echo __('Mismatching Files', 'loginizer'); ?></span>
</h2>
</div>
<div class="inside">
<form action="" method="post" enctype="multipart/form-data" loginizer-premium-only="1">
<?php wp_nonce_field('loginizer-options'); ?>
<table class="wp-list-table fixed striped users" border="0" width="100%" cellpadding="10" align="center">
<?php
$files = $lz_env['files'];
// Avoid undefined notice for $files
if(!empty($files)){
foreach($files as $k => $v){
if(!empty($lz_env['ignores'][$k])){
unset($files[$k]);
}
}
}
echo '
<tr>
<th style="background:#EFEFEF;">'.__('Relative Path', 'loginizer').'</th>
<th style="width:240px; background:#EFEFEF;">'.__('Found', 'loginizer').'</th>
<th style="width:240px; background:#EFEFEF;">'.__('Should be', 'loginizer').'</th>
<th style="width:10px; background:#EFEFEF;"><input type="checkbox" onchange="lz_apply_status(this, \'.csum_add_ig\');" /></th>
</tr>';
if(is_array($files) && count($files) > 0){
foreach($files as $k => $v){
echo '
<tr>
<td>'.$k.'</td>
<td>'.$v['cur_md5'].'</td>
<td>'.$v['md5'].'</td>
<td><input type="checkbox" name="checksum_add_ignore[]" class="csum_add_ig" value="'.$k.'" /></td>
</tr>';
}
}else{
echo '
<tr>
<td colspan="4" align="center">'.__('This is great ! No file with any wrong checksum has been found.','loginizer').'</td>
</tr>';
}
?>
</table><br />
<center><input name="save_lz_csum_ig" class="button button-primary action" value="<?php echo __('Add Selected to Ignore List', 'loginizer'); ?>" type="submit" /></center>
</form>
</div>
</div>
<br />
<div id="" class="postbox">
<div class="postbox-header">
<h2 class="hndle ui-sortable-handle">
<span><?php echo __('Ignore List', 'loginizer'); ?></span>
</h2>
</div>
<div class="inside">
<form action="" method="post" enctype="multipart/form-data" loginizer-premium-only="1">
<?php wp_nonce_field('loginizer-options'); ?>
<table class="wp-list-table fixed striped users" border="0" width="100%" cellpadding="10" align="center">
<?php
$ignores = $lz_env['ignores'];
echo '
<tr>
<th style="background:#EFEFEF;">'.__('Relative Path', 'loginizer').'</th>
<th style="width:240px; background:#EFEFEF;">'.__('Found', 'loginizer').'</th>
<th style="width:240px; background:#EFEFEF;">'.__('Should be', 'loginizer').'</th>
<th style="width:10px; background:#EFEFEF;"><input type="checkbox" onchange="lz_apply_status(this, \'.csum_del_ig\');" /></th>
</tr>';
// Load any mismatched files
$files = $ignores;
if(is_array($files) && count($files) > 0){
foreach($files as $k => $v){
echo '
<tr>
<td>'.$k.'</td>
<td>'.$v['cur_md5'].'</td>
<td>'.$v['md5'].'</td>
<td><input type="checkbox" name="checksum_del_ignore[]" class="csum_del_ig" value="'.$k.'" /></td>
</tr>';
}
}else{
echo '
<tr>
<td colspan="4" align="center">'.__('No files have been added to the ignore list','loginizer').'</td>
</tr>';
}
?>
</table><br />
<center><input name="save_lz_csum_ig" class="button button-primary action" value="<?php echo __('Remove Selected from Ignore List', 'loginizer'); ?>" type="submit" /></center>
</form>
</div>
</div>
<br />
<?php
loginizer_page_footer();
}