function createAndModerate($meetingId, $meetingName, $USER, $DB) { $groupChat = true; $id = explode("_", $meetingId); if (sizeof($id) < 3) { //chat individual $meetingId = $USER->firstname; $meetingName = "Sala do " . $USER->firstname; $groupChat = false; } createMeeting($meetingId, $meetingName); joinAsModerator($meetingId, $USER->firstname); if ($groupChat) { // set message to chat @($grupoChatDao = new ChatWebgdDao()); @($mensagemChat->user_id = $USER->id); @($mensagemChat->chatwebgd_grupo_id = $id[0]); @($mensagemChat->mensagem = "Foi criada uma sala de bate papo para esse grupo! Clique " . "<a class='video_link' href='#' rel='{$meetingId}'>aqui</a> " . "para entrar!"); @($mensagemChat->data_registro = time()); @$grupoChatDao->inserirMensagem($mensagemChat); } else { $mensagem = "Foi criada uma sala de bate papo por seu amigo! Clique " . "<a class='video_link' href='#' rel='{$meetingId}'>aqui</a> " . "para entrar!"; $msgObj = new stdClass(); $msgObj->mensagem = $mensagem; $msgObj->user_id = $USER->id; $msgObj->para_id = $id[0]; $msgObj->lido = 0; $msgObj->data = time(); // $salvo = $DB->insert_record('chatwebgd_mensagem', $msgObj); $DB->insert_record('chatwebgd_mensagem', $msgObj); // if ($salvo) { // echo '<li><span>' . $USER->firstname . ' disse:</span><p>' . $mensagem . '</p></li>'; // } } }
public function definition() { global $CFG, $OUTPUT, $USER; $mform = $this->_form; $idGrupo = isset($this->_customdata['idGrupo']) ? $this->_customdata['idGrupo'] : null; $nome = isset($this->_customdata['nome']) ? $this->_customdata['nome'] : null; $validarNome = isset($this->_customdata['validarNome']) ? $this->_customdata['validarNome'] : true; $mform->addElement('hidden', 'id'); $attrNome = array(); if (!is_null($idGrupo)) { $attrNome['disabled'] = 'disabled'; } $mform->addElement('text', 'nome', get_string('labelNome', 'block_chat_webgd'), $attrNome); if (!is_null($idGrupo)) { $mform->addElement('hidden', 'id', $idGrupo); } if (!is_null($nome)) { $mform->setDefault('nome', $nome); } if ($validarNome) { $mform->addRule('nome', get_string('labelValidacaoNome', 'block_chat_webgd'), 'required', null, 'client'); } $chatDao = new ChatWebgdDao(); $usuarios = $chatDao->findUser($USER->id, $idGrupo); $listaUsuarios = ''; foreach ($usuarios as $usuario) { $imsUser = $OUTPUT->user_picture($usuario, array('size' => 16, 'alttext' => false, 'link' => false)); $listaUsuarios .= '<div class="user-select-group"><input id="id_user_' . $usuario->id . '" type="checkbox" value="' . $usuario->id . '" name="usuarios_grupo[]"><label for="id_user_' . $usuario->id . '">' . $imsUser . $usuario->firstname . ' ' . $usuario->lastname . '</span></div>'; } $mform->addElement('html', '<div class="fitemtitle"><label for="id_nome">' . get_string('selecioneUsuarios', 'block_chat_webgd') . '</label></div>'); $mform->addElement('html', '<div class="select-users">' . $listaUsuarios . '</div>'); $buttonarray = array(); $buttonarray[] =& $mform->createElement('submit', 'submitbutton', get_string('savechanges')); $buttonarray[] =& $mform->createElement('button', 'cancelar', get_string('cancelar', 'block_chat_webgd'), 'onclick=location.href="' . $CFG->wwwroot . '/blocks/webgd_community/index.php"'); $mform->addGroup($buttonarray, 'buttonar', '', array(' '), false); $mform->closeHeaderBefore('buttonar'); }
} $retorno = "<ul class='list'>\n"; if (!empty($users)) { foreach ($users as $user) { $retorno .= '<li class="listentry">'; $retorno .= '<div class="user">'; $retorno .= '<a href="javascript:void(0);" id="' . $user->id . '" nome="' . $user->fullname . '" class="comecar">'; $retorno .= $OUTPUT->user_picture($user, array('size' => 16, 'alttext' => false, 'link' => false)); $retorno .= $user->fullname . '</a></div>'; $retorno .= "</li>\n"; } } else { $retorno .= "<li class=\"info\">" . get_string("none") . "</li>"; } $retorno .= "</ul><div class='clearer'><!-- --></div>"; $chatDao = new ChatWebgdDao(); $listaGrupos = $chatDao->findGroupUser($USER->id); $retorno .= '<hr /><img src="' . $CFG->wwwroot . '/blocks/chat_webgd/pix/chat_grupo.png" width="40"> ' . get_string('meusGrupos', 'block_chat_webgd') . ' <a href="' . $CFG->wwwroot . '/blocks/chat_webgd/index.php" class="criar-grupo-chat"> + </a><ul class="list">'; foreach ($listaGrupos as $grupo) { $retorno .= '<li class="listentry">'; $retorno .= '<div class="user">'; $retorno .= '<a href="javascript:void(0);" class="comecarGrupo" nome="' . $grupo->nome . '" id="' . $grupo->id . '_grupo">'; $retorno .= $grupo->nome . '</a></div>'; $retorno .= "</li>"; } $retorno .= "</ul>"; $retorno .= '</div>'; echo $retorno; break; case 'historico': $id = optional_param('id', 0, PARAM_INT);
<?php require_once '../../config.php'; global $USER, $CFG; require_once $CFG->dirroot . '/blocks/chat_webgd/class/ChatWebgdDao.php'; require_login(1); $mensagem = required_param('mensagem', PARAM_TEXT); $idGrupo = required_param('id', PARAM_TEXT); if ($mensagem && $idGrupo) { $grupoChatDao = new ChatWebgdDao(); $mensagemChat->user_id = $USER->id; $mensagemChat->chatwebgd_grupo_id = $idGrupo; $mensagemChat->mensagem = $mensagem; $mensagemChat->data_registro = time(); $retorno = array(); if ($grupoChatDao->inserirMensagem($mensagemChat)) { $retorno['enviado'] = true; } else { $retorno['enviado'] = false; } echo json_encode($retorno); }
echo '<style> .user-select-group{ width:200px; float:left; } .select-users{ border-top: 1px solid #e5e5e5; height:200px; overflow:auto; padding:10px; background:#f5f5f5; } </style>'; echo $OUTPUT->header('themeselector'); echo $OUTPUT->heading(get_string('CriarGrupo', 'block_chat_webgd')); $chatDao = new ChatWebgdDao(); $id = optional_param('id', 0, PARAM_INT); $valoresDefault = array(); $linkForm = $CFG->wwwroot . '/blocks/chat_webgd/index.php'; $grupo = null; if (!is_null($id)) { $grupo = $chatDao->findGroupById($id); if ($grupo) { $valoresDefault['idGrupo'] = $id; $valoresDefault['nome'] = $grupo->nome; $valoresDefault['validarNome'] = false; $linkForm .= '?id=' . $id; } } else { $aux = explode("_", $id); if (!$aux[0]) {
<?php require_once '../../config.php'; global $USER, $CFG; require_once $CFG->dirroot . '/blocks/chat_webgd/class/ChatWebgdDao.php'; require_login(1); $idGrupo = required_param('id', PARAM_TEXT); if ($idGrupo) { $grupoChatDao = new ChatWebgdDao(); $mensagens = $grupoChatDao->marcarMensagensLidas($idGrupo, $USER->id); }
function get_content() { global $USER, $CFG, $DB, $OUTPUT; if ($this->content !== NULL) { return $this->content; } $this->content = new stdClass(); $this->content->text = ''; $this->content->footer = ''; if (empty($this->instance)) { return $this->content; } if ($USER->id) { $timetoshowusers = 500; //Seconds default $now = time(); $timefrom = $now - 3600; // $timefrom = 100 * floor(($now - $timetoshowusers) / 100); $params = array(); $userfields = user_picture::fields('u', array('username')); $params['now'] = $now; $params['timefrom'] = $timefrom; $params['id'] = $USER->id; $sql = "SELECT {$userfields}\n FROM {user} u\n WHERE u.lastaccess > :timefrom\n AND u.lastaccess <= :now\n AND u.deleted = 0\n AND u.id <> :id"; if ($users = $DB->get_records_sql($sql, $params, 0, 50)) { foreach ($users as $user) { $users[$user->id]->fullname = fullname($user); } } else { $users = array(); } $this->content->text .= '<div id="contatos">'; if (!empty($users)) { $this->content->text .= "<ul class='list'>\n"; foreach ($users as $user) { $this->content->text .= '<li class="listentry">'; $this->content->text .= '<div class="user">'; $this->content->text .= '<a href="javascript:void(0);" id="' . $user->id . '" nome="' . $user->fullname . '" class="comecar">'; $this->content->text .= $OUTPUT->user_picture($user, array('size' => 16, 'alttext' => false, 'link' => false)) . $user->fullname . '</a></div>'; $this->content->text .= "</li>\n"; } $this->content->text .= '</ul><div class="clearer"><!-- --></div>'; } else { $this->content->text .= "<div class=\"info\">" . get_string("none") . "</div>"; } $chatDao = new ChatWebgdDao(); $listaGrupos = $chatDao->findGroupUser($USER->id); $this->content->text .= '<hr /><img src="' . $CFG->wwwroot . '/blocks/chat_webgd/pix/chat_grupo.png" width="40"> ' . get_string('meusGrupos', 'block_chat_webgd') . ' <a href="' . $CFG->wwwroot . '/blocks/chat_webgd/index.php" class="criar-grupo-chat"> + </a><ul class="list">'; foreach ($listaGrupos as $grupo) { $this->content->text .= '<li class="listentry">'; $this->content->text .= '<div class="user">'; $this->content->text .= '<a href="javascript:void(0);" class="comecarGrupo" nome="' . $grupo->nome . '" id="' . $grupo->id . '_grupo">'; $this->content->text .= $grupo->nome . '</a></div>'; $this->content->text .= "</li>"; } $this->content->text .= "</ul>"; $this->content->text .= '</div>'; $this->content->text .= '<script type="text/javascript" src="' . $CFG->wwwroot . '/blocks/chat_webgd/js/jquery.js"></script> <script type="text/javascript" src="' . $CFG->wwwroot . '/blocks/chat_webgd/js/functions.js"></script> <script type="text/javascript" src="' . $CFG->wwwroot . '/blocks/chat_webgd/js/chat.js"></script> <link href="' . $CFG->wwwroot . '/blocks/chat_webgd/styles.css" type="text/css" rel="stylesheet">'; } return $this->content; }
<?php require_once dirname(__FILE__) . '../../../config.php'; require_once $CFG->libdir . '/adminlib.php'; require_once $CFG->dirroot . '/blocks/chat_webgd/form/ChatForm.php'; require_once $CFG->dirroot . '/blocks/chat_webgd/class/ChatWebgdDao.php'; global $CFG, $DB, $USER; require_login(1); echo $OUTPUT->header('themeselector'); echo $OUTPUT->heading(get_string('sairGrupo', 'block_chat_webgd')); $chatDao = new ChatWebgdDao(); $id = optional_param('id', null, PARAM_INT); $aux = explode("_", $id); if (!$aux[0]) { $id = $aux; } else { $id = $aux[0]; } $grupo = $chatDao->findGroupUser($USER->id, $id); if ($grupo) { if ($chatDao->desativarUsuario($id, $USER->id)) { echo get_string('voceSaiuGrupo', 'block_chat_webgd'); } else { echo get_string('ErroAoEfetuarAcao', 'block_chat_webgd'); } } else { echo get_string('ErroGrupoNaoEncontrado', 'block_chat_webgd'); } echo $OUTPUT->footer();
.opcoes-grupo { list-style-type: none; font-weight:bold; } .opcoes-grupo li { float: left; margin-right:10px; } .opcoes-grupo li img{ margin-right:5px; } </style>'; $id = optional_param('id', 0, PARAM_INT); $chatDao = new ChatWebgdDao(); $grupo = $chatDao->findGroupUser($USER->id, $id); if ($grupo) { echo $OUTPUT->heading(get_string('Grupo', 'block_chat_webgd') . ': ' . $grupo->nome); echo '<ul class="opcoes-grupo"> <li><a href="' . $CFG->wwwroot . '/blocks/chat_webgd/index.php?id=' . $id . '"><img src="' . $CFG->wwwroot . '/theme/image.php/essential/core/1406937317/t/assignroles">' . get_string('chamarUsuario', 'block_chat_webgd') . '</a></li> <li><a href="' . $CFG->wwwroot . '/blocks/chat_webgd/sairGrupo.php?id=' . $id . '"><img src="' . $CFG->wwwroot . '/theme/image.php/essential/core/1406937317/t/delete">' . get_string('sairGrupo', 'block_chat_webgd') . '</a></li> </ul>'; echo '<div class="todo-chat" id="mensagens-chat">'; echo '</div>'; $form = new ChatGrupoForm(); $form->set_data(array('idGrupo' => $id)); $form->display(); echo '<script src="' . $CFG->wwwroot . '/blocks/chat_webgd/js/emoticons/jquery.corners.js" type="text/javascript"></script>'; echo '<script src="' . $CFG->wwwroot . '/blocks/chat_webgd/js/emoticons/jquery.emoticons.js" type="text/javascript"></script>'; echo '<script src="' . $CFG->wwwroot . '/blocks/chat_webgd/js/chat_grupo.js" type="text/javascript"/>';
<?php require_once '../../config.php'; global $USER, $CFG; require_once $CFG->dirroot . '/blocks/chat_webgd/class/ChatWebgdDao.php'; require_login(1); $idGrupo = required_param('id', PARAM_TEXT); $carregarMsg = optional_param('carregarMsg', false, PARAM_BOOL); if ($idGrupo) { $grupoChatDao = new ChatWebgdDao(); $retornar = array(); $totalNaoLidas = $grupoChatDao->countMensagensNaoLidas($idGrupo, $USER->id); if ($carregarMsg) { $retornar['carregarMsg'] = true; } else { $retornar['carregarMsg'] = false; } $retornar['totalNaoLidas'] = $totalNaoLidas; if ($totalNaoLidas > 0 || $carregarMsg) { $mensagens = $grupoChatDao->buscaMensagens($idGrupo, $USER->id); $mensagem = ''; $msg_aux = array_reverse($mensagens, TRUE); foreach ($msg_aux as $msg) { if ($msg->user_id == $USER->id) { $mensagem .= '<div class="bubble2">'; } else { $mensagem .= '<div class="bubble">'; } $mensagem .= '<span class="personName">' . $msg->nome_usuario . '</span></br>'; $mensagem .= '<span class="personSay">' . html_entity_decode(nl2br(stripslashes($msg->mensagem))) . '</span></br>'; $mensagem .= '<div class="timeSay">' . date('d/m/Y H:i:s', $msg->data_registro) . '</div></div>';