<?php
/**
* VFM - veno file manager: template/notify-users.php
*
* List users with access to current folder
* and an e-mail addres associated to select and notify uploads
*
* PHP version >= 5.3
*
* @category PHP
* @package VenoFileManager
* @author Nicola Franchini <support@veno.it>
* @copyright 2013 Nicola Franchini
* @license Exclusively sold on CodeCanyon
* @link http://filemanager.veno.it/
*/
if (!defined('VFM_APP')) {
return;
}
if ($location->editAllowed() && $gateKeeper->isAllowed('upload_enable')) {
$usercount = 0;
$notificables = array();
if ($setUp->getConfig('upload_notification_enable') == true && $gateKeeper->getUserInfo('email') !== null) {
foreach ($_USERS as $user) {
$showuser = false;
if (isset($user['email']) && strlen($user['email']) >= 5
&& $user['name'] !== $gateKeeper->getUserInfo('name')
) {
if (isset($user['dir']) && strlen($user['dir']) >= 1) {
$userpatharray = array();
$userpatharray = json_decode($user['dir']);
$startdir = $setUp->getConfig('starting_dir');
foreach ($userpatharray as $value) {
$userpath = $startdir.$value."/";
$pos = strpos($location->getDir(true, false, false, 0), $userpath);
if ($pos !== false) {
$showuser = true;
break;
}
}
} else {
$showuser = true;
}
if ($showuser === true) {
$notificable = array();
$notificable['email'] = $user['email'];
$notificable['name'] = $user['name'];
// show email only to SuperAdmins
$notificable['showmail'] = ($gateKeeper->isSuperAdmin() ? "<small>(".$notificable['email'].")</small>" : "");
$sanitized_key = strtolower($user['name']);
$sanitized_key = preg_replace('/[^a-z0-9_\-]/', '', $sanitized_key);
$notificables[ $sanitized_key ] = $notificable;
// array_push($notificables, $notificable);
$usercount++;
}
}
}
}
if ($usercount > 0) {
// Sort users by name.
ksort($notificables, SORT_NATURAL);
?>
<?php
// select all by default
// <script type="text/javascript">
// $(document).ready(function (e) {
// $('.selectme').prop('checked', true);
// checkNotiflist();
// });
// </script>
?>
<div class="col-12">
<button type="button" class="btn btn-link" data-bs-toggle="modal" data-bs-target="#userslistmodal">
<i class="bi bi-circle check-notif"></i> <?php echo $setUp->getString("upload_notifications"); ?>
</button>
</div>
<?php
} ?>
<div class="modal fade" id="userslistmodal" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<p class="modal-title"><?php echo $setUp->getString("notify_users"); ?></p>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<a class="selectallusers" href="#"><i class="bi bi-check-all"></i> <?php echo $setUp->getString("select_all"); ?></a>
<form class="form" id="userslist">
<input type="hidden" name="thislang" value="<?php echo $setUp->lang; ?>">
<input type="hidden" name="path" value="<?php echo urlencode($location->getDir(true, false, false, 0)); ?>">
<div class="mb-3">
<?php
foreach ($notificables as $key => $notifuser) { ?>
<div class="form-check">
<input class="selectme form-check-input" type="checkbox" name="senduser[]" value="<?php echo $notifuser['email']; ?>" id="senduser-<?php echo $key; ?>">
<label class="form-check-label" for="senduser-<?php echo $key; ?>">
<?php echo '<span class="badge rounded-pill bg-primary">'.$notifuser['name'].'</span> '.$notifuser['showmail']; ?>
</label>
</div>
<?php
} ?>
</div>
<h5><?php echo $setUp->getString("message"); ?></h5>
<textarea class="form-control" name="uploader_message"></textarea>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#userslistmodal">
<?php echo $setUp->getString("close"); ?>
</button>
</div>
</div>
</div>
</div>
<?php
}