disconnect chat en page switch / tab closed
This commit is contained in:
16
config.php
16
config.php
@@ -1185,7 +1185,7 @@ class Databap extends PhpObject
|
|||||||
$asHistory = $this->oMySql->selectRows($asInfo);
|
$asHistory = $this->oMySql->selectRows($asInfo);
|
||||||
foreach($asHistory as $asCode)
|
foreach($asHistory as $asCode)
|
||||||
{
|
{
|
||||||
$asProfile['history'][$asCode['id_code']]['action'] = (($asCode['refer_id']==$asCode['id_code'])?'Création':'Modification').' de code';
|
$asProfile['history'][$asCode['id_code']]['action'] = (($asCode['refer_id']==$asCode['id_code'])?'Création':'Modification').' de code';
|
||||||
$asProfile['history'][$asCode['id_code']]['date'] = self::getDateFormat($asCode['led']);
|
$asProfile['history'][$asCode['id_code']]['date'] = self::getDateFormat($asCode['led']);
|
||||||
$asProfile['history'][$asCode['id_code']]['description'] = $asCode['description'];
|
$asProfile['history'][$asCode['id_code']]['description'] = $asCode['description'];
|
||||||
$asProfile['history'][$asCode['id_code']]['phrase'] = ($asCode['phrase']=='')?$asCode['id_code']:$asCode['phrase'];
|
$asProfile['history'][$asCode['id_code']]['phrase'] = ($asCode['phrase']=='')?$asCode['id_code']:$asCode['phrase'];
|
||||||
@@ -1326,7 +1326,6 @@ class Databap extends PhpObject
|
|||||||
$asInfo['constraint'][MySqlManager::getId(MySqlManager::CHAN_TABLE)] = $iChanId;
|
$asInfo['constraint'][MySqlManager::getId(MySqlManager::CHAN_TABLE)] = $iChanId;
|
||||||
$asInfo['constOpe'][MySqlManager::getId(MySqlManager::CHAN_TABLE)] = '=';
|
$asInfo['constOpe'][MySqlManager::getId(MySqlManager::CHAN_TABLE)] = '=';
|
||||||
}
|
}
|
||||||
//$this->oMySql->bTrace = true;
|
|
||||||
return (count($this->oMySql->selectRows($asInfo))>0);
|
return (count($this->oMySql->selectRows($asInfo))>0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2152,11 +2151,16 @@ class Databap extends PhpObject
|
|||||||
|
|
||||||
public function disconnectChat()
|
public function disconnectChat()
|
||||||
{
|
{
|
||||||
//$this->getConnectedChans();
|
|
||||||
|
|
||||||
$sTime = $this->oMySql->selectRows(array('select'=>'DATE_SUB(NOW(), INTERVAL '.self::KEEP_ALIVE.' SECOND)'));
|
$sTime = $this->oMySql->selectRows(array('select'=>'DATE_SUB(NOW(), INTERVAL '.self::KEEP_ALIVE.' SECOND)'));
|
||||||
$this->oMySql->updateRows(MySqlManager::CONN_TABLE, array(MySqlManager::getId(MySqlManager::USER_TABLE)=>$this->getUserId()), array('led'=>$sTime));
|
|
||||||
$this->addMessage('se déconnecte', self::MESSAGE_CONN, self::ALL_CHAN_ID);
|
//Is the user connected?
|
||||||
|
$sUserIdColName = MySqlManager::getId(MySqlManager::USER_TABLE);
|
||||||
|
$bConnected = $this->oMySql->selectRows(array('select'=>array('COUNT(1)'), 'from'=>MySqlManager::CONN_TABLE, 'constraint'=>array($sUserIdColName=>$this->getUserId(), 'led'=>$sTime), 'constOpe'=>array($sUserIdColName=>'=', 'led'=>'>')));
|
||||||
|
if($bConnected)
|
||||||
|
{
|
||||||
|
$this->oMySql->updateRows(MySqlManager::CONN_TABLE, array(MySqlManager::getId(MySqlManager::USER_TABLE)=>$this->getUserId()), array('led'=>$sTime));
|
||||||
|
$this->addMessage('se déconnecte', self::MESSAGE_CONN, self::ALL_CHAN_ID);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function checkValue($sTableName, $asConstraints)
|
public function checkValue($sTableName, $asConstraints)
|
||||||
|
|||||||
@@ -34,21 +34,21 @@
|
|||||||
<div id="help" class="help tiny_round">
|
<div id="help" class="help tiny_round">
|
||||||
<p class="title">Manuel d'utilisation<span id="close_help" class="clickable">x</span></p>
|
<p class="title">Manuel d'utilisation<span id="close_help" class="clickable">x</span></p>
|
||||||
<p class="subtitle"><span>Message</span></p>
|
<p class="subtitle"><span>Message</span></p>
|
||||||
<p class="item"><span class="key">Echap</span>Supprime le texte en cours de rédaction</p>
|
<p class="item"><span class="key">Echap</span>Supprime le texte en cours de rédaction</p>
|
||||||
<p class="item"><span class="key">Flèche haut</span>Répète dernier message envoyé</p>
|
<p class="item"><span class="key">Flèche haut</span>Répète dernier message envoyé</p>
|
||||||
<p class="item"><span class="key">@X Y</span>Vous dites Y à X (pseudo de Y en rouge)</p>
|
<p class="item"><span class="key">@X Y</span>Vous dites Y à X (pseudo de Y en rouge)</p>
|
||||||
<p class="item"><span class="key">/me X</span>Votre_pseudo X. Utile lorsque vous voulez parler de vous à la 3ème personne. Par exemple : /me se touche la nouille au taff</p>
|
<p class="item"><span class="key">/me X</span>Votre_pseudo X. Utile lorsque vous voulez parler de vous à la 3ème personne. Par exemple : /me se touche la nouille au taff</p>
|
||||||
<p class="item"><span class="key">/mail X Y</span>Vous envoyez à X un email contenant Y (adresse professionel)</p>
|
<p class="item"><span class="key">/mail X Y</span>Vous envoyez à X un email contenant Y (adresse professionel)</p>
|
||||||
<p class="item">
|
<p class="item">
|
||||||
<span class="key">Tab</span>
|
<span class="key">Tab</span>
|
||||||
Chaque hit pré-remplie le message en faisant défiler la liste des connectés.
|
Chaque hit pré-remplie le message en faisant défiler la liste des connectés.
|
||||||
Il est possible d'écrire la/les premières lettres afin de faire commencer le défilement aux pseudos commençant par ces lettre-ci.
|
Il est possible d'écrire la/les premières lettres afin de faire commencer le défilement aux pseudos commençant par ces lettre-ci.
|
||||||
Le fonctionnement demeure le même si l'on fait précéder le pseudo par @
|
Le fonctionnement demeure le même si l'on fait précéder le pseudo par @
|
||||||
</p>
|
</p>
|
||||||
<p class="subtitle"><span>Chans</span></p>
|
<p class="subtitle"><span>Chans</span></p>
|
||||||
<p class="item">Les chans sont divisés en trois catégories : les chans privés (PM, pour deux personnes seulement), les chans entreprise (pour toutes les personnes d'une même entreprise) et les autres (chans publiques)</p>
|
<p class="item">Les chans sont divisés en trois catégories : les chans privés (PM, pour deux personnes seulement), les chans entreprise (pour toutes les personnes d'une même entreprise) et les autres (chans publiques)</p>
|
||||||
<p class="item"><span class="key">/join #X</span>Vous rejoignez le chan X (si autorisé)</p>
|
<p class="item"><span class="key">/join #X</span>Vous rejoignez le chan X (si autorisé)</p>
|
||||||
<p class="item"><span class="key">/pm #X</span>Vous rejoignez le chan privé (vous et X)</p>
|
<p class="item"><span class="key">/pm #X</span>Vous rejoignez le chan privé (vous et X)</p>
|
||||||
<p class="item"><span class="key">/quit #X</span>Vous quittez le chan X</p>
|
<p class="item"><span class="key">/quit #X</span>Vous quittez le chan X</p>
|
||||||
<p class="item"><span class="key">/chans</span>Liste des chans publiques disponibles (aussi accessible via /channels et /list)</p>
|
<p class="item"><span class="key">/chans</span>Liste des chans publiques disponibles (aussi accessible via /channels et /list)</p>
|
||||||
<p class="subtitle"><span>Options</span></p>
|
<p class="subtitle"><span>Options</span></p>
|
||||||
@@ -76,6 +76,7 @@ databap.pageInit = function()
|
|||||||
|
|
||||||
//Page variables
|
//Page variables
|
||||||
databap.tmp('sending_msg', 'boolean');
|
databap.tmp('sending_msg', 'boolean');
|
||||||
|
databap.tmp('refresh', 'boolean');
|
||||||
databap.initVar('unread_msg', 'object');
|
databap.initVar('unread_msg', 'object');
|
||||||
|
|
||||||
//Main elements
|
//Main elements
|
||||||
@@ -130,11 +131,17 @@ databap.pageInit = function()
|
|||||||
//Disconnect from the chat
|
//Disconnect from the chat
|
||||||
databap.onQuit = function()
|
databap.onQuit = function()
|
||||||
{
|
{
|
||||||
//databap.getSyncInfo('disconnect_chat');
|
if(databap.tmp('refresh') == false) databap.getSyncInfo('disconnect_chat');
|
||||||
databap.vars.chans_list = {};
|
databap.vars.chans_list = {};
|
||||||
if(typeof oChatTimer != "undefined") clearTimeout(oChatTimer);
|
if(typeof oChatTimer != "undefined") clearTimeout(oChatTimer);
|
||||||
if(typeof oUserTimer != "undefined") clearTimeout(oUserTimer);
|
if(typeof oUserTimer != "undefined") clearTimeout(oUserTimer);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
databap.onKeyDown = function(e)
|
||||||
|
{
|
||||||
|
if(e.keyCode == 116) databap.tmp('refresh', true);
|
||||||
|
else databap.tmp('refresh', false);
|
||||||
|
};
|
||||||
|
|
||||||
//Sidebar
|
//Sidebar
|
||||||
databap.getMainElem('.sidebar_box_title').click
|
databap.getMainElem('.sidebar_box_title').click
|
||||||
@@ -258,7 +265,7 @@ function joinChan(sChanName, bFirstConn, asAttendees, bSwitchOnJoin)
|
|||||||
'json',
|
'json',
|
||||||
function()
|
function()
|
||||||
{
|
{
|
||||||
databap.addFailIcon('Chan non autorisé');
|
databap.addFailIcon('Chan non autorisé');
|
||||||
},
|
},
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user