} if (!isset($nickname_id) || !is_scalar($nickname_id)) { $nickname_id = 0; } if (!isset($new_nickname) || !is_scalar($new_nickname)) { $new_nickname = ''; } if (!empty($nickname_id) && !$nickname->_db_getList('id', 'id = ' . $nickname_id, 'user_id = ' . $profile_user_id, 1)) { // Nickname does not exists or not belongs to user $nickname_id = 0; } if (!empty($profile_user_id) && !empty($nickname_id)) { $new_nickname = trim($new_nickname); if (!empty($nickname_id) && $new_nickname != '') { $new_nickname = $nickname->optimizeColored('^' . $session->_conf_all['default_nickname_color'] . $new_nickname); $new_nickname_plain = $nickname->coloredToPlain($new_nickname, false); // Check nickname if ($new_nickname_plain == '') { // Nickname is empty $xmlwriter->setHeaderStatus(1); $xmlwriter->setHeaderMessage($l->g('nickname_empty_error')); } elseif (_pcpin_strlen($new_nickname_plain) < $session->_conf_all['nickname_length_min']) { // Nickname is too short $xmlwriter->setHeaderStatus(1); $xmlwriter->setHeaderMessage(str_replace('[LENGTH]', $session->_conf_all['nickname_length_min'], $l->g('nickname_too_short_error'))); } elseif (_pcpin_strlen($new_nickname_plain) > $session->_conf_all['nickname_length_max']) { // Nickname is too long $xmlwriter->setHeaderStatus(1); $xmlwriter->setHeaderMessage(str_replace('[LENGTH]', $session->_conf_all['nickname_length_max'], $l->g('nickname_too_long'))); } elseif ($nickname->_db_getList('id', 'id != ' . $nickname_id, 'nickname_plain LIKE ' . $new_nickname_plain, 1)) { // Nickname already exists
$invitations = $invitation->getNewInvitations($current_user->id, false, $invitation_id); if (empty($invitations)) { $_body_onload[] = 'window.close()'; $_body_onload[] = 'return false'; } else { $invitation_data = reset($invitations); // Init template _pcpin_loadClass('pcpintpl'); $tpl = new PcpinTpl(); $tpl->setBasedir('./tpl'); $tpl->readTemplatesFromFile('./invitation.tpl'); // Add language expressions to template foreach ($tpl->tpl_vars_plain as $var) { if (0 === strpos($var, 'LNG_')) { $var = strtolower($var); $tpl->addGlobalVar($var, htmlspecialchars($l->g(substr($var, 4)))); } } // Add global vars to template foreach ($global_tpl_vars as $key => $val) { $tpl->addGlobalVar($key, htmlspecialchars($val)); } $invitation_text = $l->g('user_invited_you'); $invitation_text = str_replace('[ROOM]', $invitation_data['room_name'], $invitation_text); $invitation_text = str_replace('[USER]', '<b>' . $nickname->coloredToHTML($invitation_data['author_nickname']) . '</b>', htmlspecialchars($invitation_text)); $tpl->addVar('main', 'invitation_text', nl2br($invitation_text)); $tpl->addGlobalVar('user_id', htmlspecialchars($invitation_data['author_id'])); $tpl->addGlobalVar('room_id', htmlspecialchars($invitation_data['room_id'])); $tpl->addGlobalVar('mute_user_locally', htmlspecialchars(str_replace('[USER]', $nickname->coloredToPlain($invitation_data['author_nickname'], false), $l->g('mute_user_locally')))); } $_window_title .= ' ' . PCPIN_WINDOW_TITLE_SEPARATOR . ' ' . $l->g('invitation');
if ($current_user->global_muted_until > date('Y-m-d H:i:s')) { $xmlwriter->setHeaderMessage($l->g('you_are_muted_until')); $xmlwriter->setHeaderMessage(str_replace('[EXPIRATION_DATE]', $current_user->makeDate(PCPIN_Common::datetimeToTimestamp($current_user->global_muted_until)), $message)); } elseif ($current_user->global_muted_permanently == 'y') { $xmlwriter->setHeaderMessage($l->g('you_are_muted_permanently')); } else { if (!empty($session->_s_room_id) && !empty($user_id) && $current_user->_db_getList('id', 'id = ' . $user_id, 1)) { // User exists if ($session->_db_getList('_s_room_id, _s_stealth_mode', '_s_user_id = ' . $user_id, 1)) { // User is online if ($session->_db_list[0]['_s_room_id'] == $session->_s_room_id) { // User is already in desired room if ($session->_db_list[0]['_s_stealth_mode'] == 'y' && $current_user->is_admin !== 'y') { // Invited user is in stealth mode, produce a dummy message $xmlwriter->setHeaderStatus(0); $xmlwriter->setHeaderMessage(str_replace('[USER]', $nickname->coloredToPlain($nickname->getDefaultNickname($user_id), false), $l->g('invitation_sent'))); } else { $xmlwriter->setHeaderStatus(1); $xmlwriter->setHeaderMessage(str_replace('[USER]', $nickname->coloredToPlain($nickname->getDefaultNickname($user_id), false), $l->g('user_is_already_in_your_room'))); } } else { // Send an invitation $xmlwriter->setHeaderStatus(0); $invitation->addInvitation($current_user->id, $user_id, $session->_s_room_id); $xmlwriter->setHeaderMessage(str_replace('[USER]', $nickname->coloredToPlain($nickname->getDefaultNickname($user_id), false), $l->g('invitation_sent'))); } $session->_db_freeList(); } else { // User is not online $xmlwriter->setHeaderStatus(1); $xmlwriter->setHeaderMessage(str_replace('[USER]', $nickname->coloredToPlain($nickname->getDefaultNickname($user_id), false), $l->g('user_not_online')));
$nickname = new PCPIN_Nickname($session); $_js_files[] = './js/user.js'; $_js_files[] = './js/pm_box.js'; $_js_lng[] = 'private_message'; _pcpin_loadClass('pcpintpl'); $tpl = new PcpinTpl(); $tpl->setBasedir('./tpl'); $tpl->readTemplatesFromFile('./pm_box.tpl'); if (empty($target_user_id) || $target_user_id == $current_user->id || !$current_user->_db_getList('id', 'id = ' . $target_user_id, 1)) { $_body_onload[] = 'window.close()'; } else { $_body_onload[] = 'initSmilieList()'; $current_user->_db_freeList(); $target_user_nickname = $nickname->getDefaultNickname($target_user_id); $_body_onload[] = 'initPMBox(' . $target_user_id . ', 60)'; $_window_title = $nickname->coloredToPlain($target_user_nickname, false) . '::' . $l->g('private_message') . ' (' . $session->_conf_all['chat_name'] . ')'; } // Add global vars to template foreach ($global_tpl_vars as $key => $val) { $tpl->addGlobalVar($key, htmlspecialchars($val)); } // Add language expressions to template foreach ($tpl->tpl_vars_plain as $var) { if (0 === strpos($var, 'LNG_')) { $var = strtolower($var); $tpl->addGlobalVar($var, htmlspecialchars($l->g(substr($var, 4)))); } } // Display fonts $tpl->addVar('fonts', 'fonts', htmlspecialchars($session->_conf_all['font_families'])); $tpl->addVar('fonts', 'font_sizes', htmlspecialchars($session->_conf_all['font_sizes']));
break; case 2: $violation_category = $l->g('insult'); break; case 3: $violation_category = $l->g('adult_content'); break; case 4: $violation_category = $l->g('illegal_content'); break; case 5: $violation_category = $l->g('harassment'); break; case 6: $violation_category = $l->g('fraud'); break; case 7: default: $violation_category = $l->g('other'); break; } // Send an email $email_body = $l->g('date') . ":\n\t" . $tmp_user->makeDate(time()) . "\n" . $l->g('room_name') . ":\n\t" . $current_room_name . "\n" . $l->g('author') . ":\n\t" . $nickname->coloredToPlain($current_nickname, false) . "\n" . $l->g('violation_category') . ":\n\t" . $violation_category . "\n" . $l->g('abuser_nickname') . ":\n\t" . $abuse_nickname . "\n" . $l->g('violation_description') . ":\n\n" . $abuse_description . "\n"; PCPIN_Email::send('"' . $session->_conf_all['chat_email_sender_name'] . '"' . ' <' . $session->_conf_all['chat_email_sender_address'] . '>', $tmp_user->email, $session->_conf_all['chat_name'] . ': ' . $l->g('abuse_arrived'), null, null, $email_body); } if ($old_language_id != $l->id) { // Restore original language $l->setLanguage($old_language_id); } } }
die; } _pcpin_loadClass('nickname'); $nickname = new PCPIN_Nickname($session); if (!isset($moderator_user_id) || !pcpin_ctype_digit($moderator_user_id)) { $moderator_user_id = 0; } $name = ''; if (!empty($moderator_user_id)) { if ('' == ($name = $nickname->getDefaultNickname($moderator_user_id))) { if ($current_user->_db_getList('login', 'id = ' . $moderator_user_id, 1)) { $name = $current_user->_db_list[0]['login']; $current_user->_db_freeList(); } } else { $name = $nickname->coloredToPlain($name, true); } if ($name != '') { $_body_onload[] = '$(\'nickname_search\').value=\'' . addslashes($name) . '\''; $_body_onload[] = 'moderatorSearchUser(' . (!empty($popup) ? 'true' : 'false') . ')'; } } // JS files $_js_files[] = './js/admin/edit_moderator.js'; // JS language expressions $_js_lng[] = 'no_members_found'; $_js_lng[] = 'edit_moderator'; $_js_lng[] = 'chat_category'; $_js_lng[] = 'chat_room'; $_js_lng[] = 'category_has_no_rooms'; $_body_onload[] = 'initEditModeratorWindow(' . (!empty($popup) ? 'true' : 'false') . ')';