}
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');
Пример #3
0
 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')));
Пример #4
0
$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') . ')';