|
|
|
@ -178,15 +178,15 @@ class Chat extends WidgetBase |
|
|
|
$presence = $presence[0]; |
|
|
|
|
|
|
|
if($contact->getData('chaton') != 1 && isset($presence) && $presence->presence->getval() != 6) { |
|
|
|
$contact->chaton->setval(2); |
|
|
|
|
|
|
|
$contact->run_query($contact->query()->save($contact)); |
|
|
|
|
|
|
|
RPC::call('movim_prepend', |
|
|
|
'chats', |
|
|
|
RPC::cdata($this->prepareChat($contact))); |
|
|
|
RPC::call('scrollAllTalks'); |
|
|
|
|
|
|
|
$contact->chaton->setval(1); |
|
|
|
|
|
|
|
$contact->run_query($contact->query()->save($contact)); |
|
|
|
|
|
|
|
RPC::commit(); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -233,13 +233,14 @@ class Chat extends WidgetBase |
|
|
|
->where(array( |
|
|
|
'key' => $this->user->getLogin(), |
|
|
|
'jid' => $jid)); |
|
|
|
$contact = Contact::run_query($query); |
|
|
|
$contact = $contact[0]; |
|
|
|
|
|
|
|
if($contact->getData('chaton') == 1 || $contact->getData('chaton') == 2) { |
|
|
|
$contact->chaton->setval(0); |
|
|
|
|
|
|
|
$contact->run_query($contact->query()->save($contact)); |
|
|
|
$contacts = Contact::run_query($query); |
|
|
|
//$contact = $contact[0];
|
|
|
|
foreach($contacts as $contact) { |
|
|
|
if((int)$contact->getData('chaton') == 1 || (int)$contact->getData('chaton') == 2) { |
|
|
|
$contact->chaton->setval(0); |
|
|
|
|
|
|
|
$contact->run_query($contact->query()->save($contact)); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -274,7 +275,7 @@ class Chat extends WidgetBase |
|
|
|
$content = $message->getData('body'); |
|
|
|
|
|
|
|
if(preg_match("#^/me#", $message->getData('body'))) { |
|
|
|
$html .= "own "; |
|
|
|
$html .= " own "; |
|
|
|
$content = "** ".substr($message->getData('body'), 4); |
|
|
|
} |
|
|
|
|
|
|
|
@ -313,24 +314,44 @@ class Chat extends WidgetBase |
|
|
|
|
|
|
|
$style = ''; |
|
|
|
if($contact->getData('chaton') == 2) { |
|
|
|
$style = ' style="display: none;" '; |
|
|
|
$tabstyle = ' style="display: none;" '; |
|
|
|
$panelstyle = ' style="display: block;" '; |
|
|
|
} |
|
|
|
|
|
|
|
$html = ' |
|
|
|
<div class="chat" onclick="this.querySelector(\'textarea\').focus()">'. |
|
|
|
'<div class="messages" '.$style.' id="messages'.$contact->getData('jid').'">'.$messageshtml.' |
|
|
|
<div style="display: none;" class="message" id="composing'.$contact->getData('jid').'">'.t('Composing...').'</div> |
|
|
|
<div style="display: none;" class="message" id="paused'.$contact->getData('jid').'">'.t('Paused...').'</div> |
|
|
|
</div>'. |
|
|
|
'<textarea onkeyup="movim_textarea_autoheight(this);" '.$style.' |
|
|
|
onkeypress="if(event.keyCode == 13) {'.$this->genCallAjax('ajaxSendMessage', "'".$contact->getData('jid')."'", "sendMessage(this, '".$contact->getData('jid')."')").' return false; }" |
|
|
|
onfocus="setBackgroundColor(\'chatwindow'.$contact->getData('jid').'\', \'#444444\')" |
|
|
|
></textarea>'. |
|
|
|
'<a class="name" onclick="'.$this->genCallAjax("ajaxHideTalk", "'".$contact->getData('jid')."'").' hideTalk(this);">'. |
|
|
|
'<img class="avatar" src="'.$contact->getPhoto('xs').'" /><span>'.$contact->getTrueName().'</span>'. |
|
|
|
'</a>'. |
|
|
|
'<span class="cross" onclick="'.$this->genCallAjax("ajaxCloseTalk", "'".$contact->getData('jid')."'").' closeTalk(this)"></span>'. |
|
|
|
'</div>'; |
|
|
|
<div class="chat" onclick="this.querySelector(\'textarea\').focus()"> |
|
|
|
<div class="panel" '.$panelstyle.'> |
|
|
|
<div class="head" > |
|
|
|
<span class="chatbutton cross" onclick="'.$this->genCallAjax("ajaxCloseTalk", "'".$contact->getData('jid')."'").' closeTalk(this)"></span> |
|
|
|
<span class="chatbutton arrow" onclick="'.$this->genCallAjax("ajaxHideTalk", "'".$contact->getData('jid')."'").' hideTalk(this)"></span> |
|
|
|
<img class="avatar" src="'.$contact->getPhoto('xs').'" /> |
|
|
|
<a class="name" href="?q=friend&f='.$contact->getData('jid').'"> |
|
|
|
'.$contact->getTrueName().' |
|
|
|
</a> |
|
|
|
</div> |
|
|
|
<div class="messages" id="messages'.$contact->getData('jid').'"> |
|
|
|
'.$messageshtml.' |
|
|
|
<div style="display: none;" class="message" id="composing'.$contact->getData('jid').'">'.t('Composing...').'</div> |
|
|
|
<div style="display: none;" class="message" id="paused'.$contact->getData('jid').'">'.t('Paused...').'</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="text"> |
|
|
|
<textarea |
|
|
|
rows="1" |
|
|
|
onkeyup="movim_textarea_autoheight(this);" |
|
|
|
onkeypress="if(event.keyCode == 13) {'.$this->genCallAjax('ajaxSendMessage', "'".$contact->getData('jid')."'", "sendMessage(this, '".$contact->getData('jid')."')").' return false; }" |
|
|
|
onfocus="setBackgroundColor(\'chatwindow'.$contact->getData('jid').'\', \'#444444\')" |
|
|
|
></textarea> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="tab" '.$tabstyle.' onclick="'.$this->genCallAjax("ajaxHideTalk", "'".$contact->getData('jid')."'").' showTalk(this);"> |
|
|
|
<div class="name"> |
|
|
|
<img class="avatar" src="'.$contact->getPhoto('xs').'" />'.$contact->getTrueName().' |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
'; |
|
|
|
return $html; |
|
|
|
} |
|
|
|
|
|
|
|
|