Fix composer.json

This commit is contained in:
Thomas Zilio 2018-08-28 15:54:29 +02:00
parent 19b5d4e5e7
commit 4a149588ff
4 changed files with 32 additions and 27 deletions

View File

@ -55,4 +55,31 @@ switch (get('op')) {
echo '{( "name": "filelist_and_upload", "id_module": "'.$id_module.'", "id_record": "'.$id_record.'", "id_plugin": "'.$id_plugin.'" )}';
break;
case 'active_users':
$posizione = get('id_module');
if (isset($id_record)) {
$posizione .= ', '.get('id_record');
}
$user = Auth::user();
$interval = setting('Timeout notifica di presenza (minuti)') * 60 * 2;
$dbo->query('UPDATE zz_semaphores SET updated = NOW() WHERE id_utente = :user_id AND posizione = :position', [
':user_id' => $user['id'],
':position' => $posizione,
]);
// Rimozione record scaduti
$dbo->query('DELETE FROM zz_semaphores WHERE DATE_ADD(updated, INTERVAL :interval SECOND) <= NOW()', [
':interval' => $interval,
]);
$datas = $dbo->fetchArray('SELECT DISTINCT username FROM zz_semaphores INNER JOIN zz_users ON zz_semaphores.id_utente=zz_users.id WHERE zz_semaphores.id_utente != :user_id AND posizione = :position', [
':user_id' => $user['id'],
':position' => $posizione,
]);
echo json_encode($datas);
break;
}

View File

@ -1,22 +0,0 @@
<?php
include_once __DIR__.'/core.php';
$posizione = $id_module;
if (isset($id_record)) {
$posizione .= ', '.$id_record;
}
$dbo->query('UPDATE zz_semaphores SET updated = NOW() WHERE id_utente = '.prepare(Auth::user()['id']).' AND posizione = '.prepare($posizione));
$dbo->query('DELETE FROM zz_semaphores WHERE DATE_ADD(updated, INTERVAL '.(setting('Timeout notifica di presenza (minuti)') * 2).' SECOND) <= NOW()');
$datas = $dbo->fetchArray('SELECT DISTINCT username FROM zz_semaphores INNER JOIN zz_users ON zz_semaphores.id_utente=zz_users.id WHERE zz_semaphores.id_utente != '.prepare(Auth::user()['id']).' AND posizione = '.prepare($posizione));
$result = [];
foreach ($datas as $data) {
$result[] = [
'username' => $data['username'],
];
}
echo json_encode($result);

View File

@ -60,7 +60,7 @@
"Modules\\Fatture\\Custom\\": "modules/fatture/custom/src",
"Modules\\Anagrafiche\\": "modules/anagrafiche/src",
"Modules\\Anagrafiche\\Custom\\": "modules/anagrafiche/custom/src",
"Plugins\\Fatturazione\\": "plugins/fatturazione/src"
"Plugins\\Fatturazione\\": "plugins/fatturazione/src",
"Plugins\\Fatturazione\\Custom\\": "plugins/fatturazione/custom/src"
},
"files": [

View File

@ -17,7 +17,7 @@ include_once $docroot.'/actions.php';
echo '{( "name": "widgets", "id_module": "'.$id_module.'", "id_record": "'.$id_record.'", "position": "top", "place": "editor" )}';
$advanced_sessions = setting('Attiva notifica di presenza utenti sul record');
if ($advanced_sessions) {
if (!empty($advanced_sessions)) {
$dbo->query('DELETE FROM zz_semaphores WHERE id_utente='.prepare(Auth::user()['id']).' AND posizione='.prepare($id_module.', '.$id_record));
$dbo->query('INSERT INTO zz_semaphores (id_utente, posizione, updated) VALUES ('.prepare(Auth::user()['id']).', '.prepare($id_module.', '.$id_record).', NOW())');
@ -350,11 +350,11 @@ if ($read_only || !empty($block_edit)) {
<?php
if ($advanced_sessions) {
if (!empty($advanced_sessions)) {
?>
function getActiveUsers(){
$.getJSON('<?php echo ROOTDIR; ?>/call.php', {
$.getJSON('<?php echo ROOTDIR; ?>/ajax.php?op=active_users', {
id_module: <?php echo $id_module; ?>,
id_record: <?php echo $id_record; ?>
},
@ -372,7 +372,7 @@ if ($advanced_sessions) {
getActiveUsers();
setInterval(getActiveUsers, <?php echo setting('Timeout notifica di presenza (minuti)') * 1000; ?>);
setInterval(getActiveUsers, <?php echo setting('Timeout notifica di presenza (minuti)') * 60 * 1000; ?>);
<?php
}
?>