예제 #1
0
if (!empty($session->_conf_all['allow_sounds'])) {
    $_js_files[] = './js/base/mp3_player.js';
}
// JavaScript language expressions
$_js_lng = array('password', 'ok', 'cancel');
// CSS files
$_css_files = array('./main.css');
// Global template variables
$global_tpl_vars = array('s_id' => $session->_s_id, 'formlink' => PCPIN_FORMLINK);
// Init main template handler
_pcpin_loadClass('pcpintpl');
$template = new PcpinTpl();
$template->setBasedir('./tpl');
$template->readTemplatesFromFile('./main.tpl');
// Add language data to main template
$template->addVar('main', 'iso_lng', $l->iso_name);
// Default inc
if (!isset($inc)) {
    $inc = '';
}
// Specify the page to load
if (empty($session->_s_user_id)) {
    if (!empty($activation_code)) {
        // Something to activate...
        require_once './inc/activation.inc.php';
    } else {
        // Login page
        if (PCPIN_SLAVE_MODE) {
            header('Content-Type: text/html; charset=UTF-8');
            header('Expires: ' . gmdate('D, d M Y H:i:s') . ' GMT');
            echo '<html><head><meta http-equiv="Content-Type" content="text/xml; charset=utf-8" /></head><body onload="rdrForm.submit()"><form id="rdrForm" action="' . PCPIN_SLAVE_LOGIN_PATH . '" method="' . PCPIN_SLAVE_LOGIN_METHOD . '">';
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *    GNU General Public License for more details.
 *
 *    You should have received a copy of the GNU General Public License
 *    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
$_body_onload[] = 'initImageWindow()';
// JS file
$_js_files[] = './js/show_image.js';
$_js_lng[] = 'close_window';
if (empty($img_b_id) || !is_scalar($img_b_id) || !pcpin_ctype_digit($img_b_id)) {
    die;
}
_pcpin_loadClass('pcpintpl');
$tpl = new PcpinTpl();
$tpl->setBasedir('./tpl');
$tpl->readTemplatesFromFile('./show_image.tpl');
// 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))));
    }
}
$tpl->addVar('main', 'b_id', htmlspecialchars($img_b_id));
예제 #3
0
$_js_lng[] = 'email_invalid';
$_js_lng[] = 'username_length_error';
$_js_lng[] = 'password_too_short';
$_js_lng[] = 'passwords_not_ident';
// 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))));
    }
}
$tpl->addVar('main', 'login_maxlength', htmlspecialchars($session->_conf_all['login_length_max']));
$tpl->addVar('guest_login', 'display', empty($hide_account_options) && $session->_conf_all['allow_guests']);
$tpl->addVar('account_options', 'display', empty($hide_account_options));
$tpl->addVars('chat_summary', array('display' => !empty($session->_conf_all['display_startup_summary']), 'height' => htmlspecialchars($session->_conf_all['startup_summary_height'])));
if (!empty($direct_login) && !empty($login) && !empty($password)) {
    $tpl->addVars('main', array('login_username' => htmlspecialchars($login), 'login_password' => htmlspecialchars($password)));
    $_body_onload[] = 'doLogin()';
}
// Language selection
if (!empty($session->_conf_all['allow_language_selection']) && !empty($session->_conf_all['login_language_selection'])) {
    $tpl->addVar('language_selection', 'display', true);
    foreach ($languages as $data) {
        $tpl->addVars('language_selection_option', array('id' => htmlspecialchars($data['id']), 'local_name' => htmlspecialchars($data['local_name']), 'selected' => $data['id'] == $l->id ? 'selected="selected"' : ''));
        $tpl->parseTemplate('language_selection_option', 'a');
    }
}
        $title = $l->g('design');
        break;
    case 'security':
        $title = $l->g('security');
        break;
    case 'server':
        $title = $l->g('server');
        break;
    case 'slave':
        $title = $l->g('slave_mode');
        break;
}
$_body_onload[] = 'initSettingsForm(\'' . htmlspecialchars($group) . '\')';
// Initialize template handler
_pcpin_loadClass('pcpintpl');
$tpl = new PcpinTpl();
$tpl->setBasedir('./tpl');
$tpl->readTemplatesFromFile('./admin/settings.tpl');
// 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))));
    }
}
$tpl->addVar('main', 'title', $title);
예제 #5
0
 *    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
if (empty($current_user->id) || $current_user->is_admin !== 'y') {
    header('Location: ' . PCPIN_FORMLINK . '?' . md5(microtime()));
    die;
}
$_force_buggy_doctype = true;
// Do not hide <!DOCTYPE> declaration for IE6
// Init template
_pcpin_loadClass('pcpintpl');
$tpl = new PcpinTpl();
$tpl->setBasedir('./tpl');
$tpl->readTemplatesFromFile('./admin/header.tpl');
// JS files
$_js_files[] = './js/admin/header.js';
// JS language expressions
//$_js_lng[]='avatar';
// 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))));
    }
}
$tpl->addVars('main', array('username' => htmlspecialchars($current_user->login), 'chat_name' => htmlspecialchars($session->_conf_all['chat_name']), 'welcome_msg' => htmlspecialchars(str_replace('[USER]', $current_user->login, $l->g('welcome_user')))));
$tpl->addVar('exit', 'logout', $session->_s_backend == 'y');
예제 #6
0
    $_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']));
// Add smilies to the main template
_pcpin_loadClass('smilie');
$smilie = new PCPIN_Smilie($session);
$smilies = $smilie->getSmilies();
if (!empty($smilies)) {
    // Append empty elements to smilies array
    $smilies_append = $session->_conf_all['smilies_per_row'] - count($smilies) % $session->_conf_all['smilies_per_row'];
    if ($smilies_append != $session->_conf_all['smilies_per_row'] && $smilies_append > 0) {
        for ($i = 0; $i < $smilies_append; $i++) {
            array_push($smilies, array('id' => '', 'binaryfile_id' => '', 'code' => '', 'description' => ''));
        }
    }
    $col = 1;
    $maxcol = 0;
// Init template
_pcpin_loadClass('pcpintpl');
$tpl = new PcpinTpl();
$tpl->setBasedir('./tpl');
$tpl->readTemplatesFromFile('./avatar_gallery.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));
}
// Add avatars
$tpl->addVar('main', 'header_colspan', htmlspecialchars($session->_conf_all['gallery_avatars_per_row']));
while (count($avatars) % $session->_conf_all['gallery_avatars_per_row'] > 0) {
    $avatars[] = array('id' => 0, 'binaryfile_id' => 0, 'width' => 0, 'height' => 0);
}
$col = 0;
foreach ($avatars as $avatar_data) {
    $tpl->addVars('avatar_gallery_col', array('id' => htmlspecialchars($avatar_data['id']), 'binaryfile_id' => htmlspecialchars($avatar_data['binaryfile_id'])));
    $tpl->parseTemplate('avatar_gallery_col', 'a');
    if (++$col == $session->_conf_all['gallery_avatars_per_row']) {
        $tpl->parseTemplate('avatar_gallery_row', 'a');
        $tpl->clearTemplate('avatar_gallery_col');
        $col = 0;
    }
}
$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');
$tpl->setBasedir('./tpl');
$tpl->readTemplatesFromFile('./admin/db_restore.tpl');
// 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 errors
if (!empty($errortext)) {
    $tpl->addVar('error', 'error', nl2br(htmlspecialchars(implode("\n", $errortext))));
}
// Display status messages
if (!empty($statustext)) {
    $tpl->addVar('status', 'status', nl2br(htmlspecialchars(implode("\n", $statustext))));
}
/**
 * Execute a query parsed out from dump file
 * @param   string    $query        Query
 */
function execQuery($query)
{
    $query = trim($query);
    if ($query != '') {
        global $session;
        global $errortext;
예제 #10
0
}
// Add JS language expressions to template
if (!empty($_js_lng) && is_array($_js_lng)) {
    $_js_lng = array_unique($_js_lng);
    foreach ($_js_lng as $lng_key) {
        if ($lng_key != '') {
            $lng_val = str_replace('\'', '\\\'', htmlspecialchars($l->g($lng_key)));
            $lng_val = str_replace("\n", '\\n', str_replace("\r", '\\r', $lng_val));
            array_unshift($_body_onload, 'setLng(\'' . str_replace('\'', '\\\'', $lng_key) . '\', \'' . $lng_val . '\')');
        }
    }
}
// Close database conection
$session->_db_close();
// Add language data to main template
$template->addVar('main', 'iso_lng', $l->iso_name);
// Add title
$template->addVar('main', 'title', htmlspecialchars($_window_title));
// Add global vars to template
foreach ($global_tpl_vars as $key => $val) {
    $template->addGlobalVar($key, htmlspecialchars($val));
}
// Load colorbox JavaScript code and template?
if ($_load_colorbox) {
    $_js_files[] = './js/base/colorbox.js';
    $template->addVar('colorbox', 'display', true);
}
// Add JavaScript files to template
foreach ($_js_files as $file) {
    if (file_exists($file)) {
        $template->addVar('js_files', 'file', $file . '?' . filemtime($file));
$_js_lng[] = 'confirm_delete_avatar';
$_js_lng[] = 'primary';
$_js_lng[] = 'active';
$_js_lng[] = 'delete_nickname';
$_js_lng[] = 'edit';
$_js_lng[] = 'confirm_delete_nickname';
$_js_lng[] = 'sure_activate_account';
$_js_lng[] = 'change_own_level_error';
$_js_lng[] = 'sure_change_user_level';
$_js_lng[] = 'really_sure';
$_js_lng[] = 'delete';
$_js_lng[] = 'delete_my_account_confirmation';
// 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 language selection
if (!empty($session->_conf_all['allow_language_selection'])) {
    $tpl->addVar('language_selection', 'display', true);
    foreach ($languages as $data) {
        $tpl->addVars('language_selection_option', array('id' => htmlspecialchars($data['id']), 'local_name' => htmlspecialchars($data['local_name']), 'selected' => $data['id'] == $session->_s_language_id ? 'selected="selected"' : ''));
        $tpl->parseTemplate('language_selection_option', 'a');
    }
}
예제 #12
0
$_js_lng[] = 'category_name_empty';
$_js_lng[] = 'edit_room';
$_js_lng[] = 'room_name_empty';
$_js_lng[] = 'passwords_not_ident';
$_js_lng[] = 'password_too_short';
$_js_lng[] = 'background_image';
$_js_lng[] = 'confirm_delete_category';
$_js_lng[] = 'confirm_delete_room';
$_js_lng[] = 'online_status_0';
$_js_lng[] = 'online_status_1';
$_js_lng[] = 'online_status_2';
$_js_lng[] = 'online_status_3';
$_body_onload[] = 'initRoomsForm()';
// Initialize template handler
_pcpin_loadClass('pcpintpl');
$tpl = new PcpinTpl();
$tpl->setBasedir('./tpl');
$tpl->readTemplatesFromFile('./admin/rooms.tpl');
// 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))));
    }
}
$tpl->addVar('main', 'default_message_color', $session->_conf_all['default_message_color']);
 *    GNU General Public License for more details.
 *
 *    You should have received a copy of the GNU General Public License
 *    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
if (empty($current_user->id) || $current_user->is_admin !== 'y') {
    header('Location: ' . PCPIN_FORMLINK . '?' . md5(microtime()));
    die;
}
// Init template
_pcpin_loadClass('pcpintpl');
$tpl = new PcpinTpl();
$tpl->setBasedir('./tpl');
$tpl->readTemplatesFromFile('./admin/navigation.tpl');
// JS files
$_js_files[] = './js/admin/navigation.js';
$_body_onload[] = 'initNavigationWindow()';
// 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 "Add new user" link
$tpl->addVar('add_new_user', 'display', !PCPIN_SLAVE_MODE);
 *    You should have received a copy of the GNU General Public License
 *    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
if (empty($current_user->id)) {
    header('Location: ' . PCPIN_FORMLINK . '?' . md5(microtime()));
    die;
}
$_js_files[] = './js/call_moderator.js';
$_js_lng[] = 'abuser_nickname_empty';
$_js_lng[] = 'violation_category_not_selected';
_pcpin_loadClass('nickname');
$nickname = new PCPIN_Nickname($session);
_pcpin_loadClass('pcpintpl');
$tpl = new PcpinTpl();
$tpl->setBasedir('./tpl');
$tpl->readTemplatesFromFile('./call_moderator.tpl');
$_body_onload[] = 'initCMBox()';
$_window_title .= ' ' . PCPIN_WINDOW_TITLE_SEPARATOR . ' SOS ' . PCPIN_WINDOW_TITLE_SEPARATOR . ' ' . $l->g('call_moderator');
// 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))));
    }
}
$tpl->addVar('main', 'nickname', $nickname->coloredToHTML($current_nickname));
$tpl->addVar('main', 'room_name', htmlspecialchars($current_room_name));
$tpl = new PcpinTpl();
$tpl->setBasedir('./tpl');
$tpl->readTemplatesFromFile('./chat_room.tpl');
// 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']));
// Display help texts
$help_texts = $l->getExpressions('cmd_help_');
asort($help_texts);
foreach ($help_texts as $code => $expr) {
    $cmd_allowed = true;
    // Block privileged commands
    switch (str_replace('cmd_help_', '', $code)) {
        case 'admin':
        case 'ban':
        case 'mute':
        case 'unmute':
        case 'ipban':
            // Command can be called by chat administrator only
            $cmd_allowed = $current_user->is_admin === 'y';
$_js_lng[] = 'ban_canceled_ip_equals';
$_js_lng[] = 'muted_locally';
$_js_lng[] = 'permanently_globalmuted';
$_js_lng[] = 'globalmuted_until';
$_js_lng[] = 'yes';
$_js_lng[] = 'no';
$_js_lng[] = 'create_new_room';
$_js_lng[] = 'room_is_password_protected';
$_js_lng[] = 'active';
$_js_lng[] = 'profile';
$_js_lng[] = 'guest';
$_js_lng[] = 'registered';
$_js_lng[] = 'admin';
// 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))));
    }
}
// Add other vars
$tpl->addVar('main', 'welcome_message', htmlspecialchars(str_replace('[USER]', $current_user->login, $l->g('welcome_user'))));
if ($current_user->is_guest == 'n') {
    $tpl->addVar('last_login', 'last_login', htmlspecialchars($current_user->previous_login > '0000-00-00 00:00:00' ? $current_user->makeDate(PCPIN_Common::datetimeToTimestamp($current_user->previous_login)) : $l->g('never')));
}
$template->addVar('moderator_user_options', 'display', $current_user->moderated_rooms != '' || $current_user->is_admin === 'y');
$template->addVar('admin_user_options', 'display', $current_user->is_admin === 'y');
                }
                break;
        }
    }
}
_pcpin_loadClass('pcpintpl');
$tpl = new PcpinTpl();
$tpl->setBasedir('./tpl');
$tpl->readTemplatesFromFile('./file_upload.tpl');
// JS files
$_js_files[] = './js/file_upload.js';
if (!empty($upload_status)) {
    $message = str_replace('\'', '\\\'', htmlspecialchars($upload_status['message']));
    $message = str_replace("\n", '\\n', str_replace("\r", '\\r', $message));
    $_body_onload[] = 'parseUploadResponse(' . $upload_status['code'] . ', \'' . $message . '\', ' . $binaryfile_id . ', ' . $width . ', ' . $height . ', \'' . str_replace('\'', '\\\'', $filename) . '\')';
} else {
    $_body_onload[] = 'initUploadForm(\'' . $f_target . '\')';
}
// 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))));
    }
}
$tpl->addVar('main', 'profile_user_id', htmlspecialchars($profile_user_id));
    $key = PCPIN_Common::randomString(36, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-()[].,');
    $version->setVersionCheckKey($key);
    $session->_s_updateSession($session->_s_id, true, true, null, null, null, md5($key));
    header('Location: ' . PCPIN_VERSIONCHECKER_URL . '?' . htmlspecialchars($key));
    die;
}
// Initialize template handler
_pcpin_loadClass('pcpintpl');
$tpl = new PcpinTpl();
$tpl->setBasedir('./tpl');
$tpl->readTemplatesFromFile('./admin/versions.tpl');
// 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))));
    }
}
if (empty($do_check)) {
    // Display form
    $tpl->addvars('main', array('current_version' => htmlspecialchars($current_version), 'last_check' => htmlspecialchars($last_check)));
    if ($current_version < $new_version_available) {
        $tpl->addVars('newer_version', array('display' => true, 'url' => $new_version_url, 'newversionavailable' => htmlspecialchars(str_replace('[VERSION]', $new_version_available, $l->g('new_version_is_available')))));
    } elseif (isset($version_checked)) {
        $tpl->addVar('no_new_version', 'display', true);
    }
}
// Init template
_pcpin_loadClass('pcpintpl');
$tpl = new PcpinTpl();
$tpl->setBasedir('./tpl');
$tpl->readTemplatesFromFile('./memberlist.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));
}
$tpl->addVar('admin_filter_options', 'display', $current_user->is_admin === 'y');
if (isset($banned_members)) {
    $tpl->addVar('admin_filter_options', 'banned_members_checked', 'checked="checked"');
} elseif (isset($muted_members)) {
    $tpl->addVar('admin_filter_options', 'muted_members_checked', 'checked="checked"');
} elseif (isset($moderator_members)) {
    $tpl->addVar('admin_filter_options', 'moderator_members_checked', 'checked="checked"');
} elseif (isset($admin_members)) {
    $tpl->addVar('admin_filter_options', 'admin_members_checked', 'checked="checked"');
} else {
    $tpl->addVar('admin_filter_options', 'all_members_checked', 'checked="checked"');
}
$template->addVar('moderator_user_options', 'display', $current_user->is_admin === 'y');
$template->addVar('admin_user_options', 'display', $current_user->is_admin === 'y');
$tpl->addVar('admin_filter_options_not_activated', 'display', !PCPIN_SLAVE_MODE);