// Include update lib require_once ROSTER_LIB . 'update.lib.php'; $update = new update(); // See if UU is requesting this page if (preg_match('/uniuploader/i', $_SERVER['HTTP_USER_AGENT'])) { $update->textmode = true; } // Set template vars $roster->tpl->assign_vars(array('S_DATA' => false, 'S_RESPONSE' => false, 'S_RESPONSE_ERROR' => false, 'S_PASS' => true, 'U_UPDATE' => makelink('update'), 'S_UPDATE_INS' => (bool) $roster->config['update_inst'], 'PAGE_INFO' => $roster->locale->act['pagebar_update'], 'L_UPLOAD_APP' => $roster->config['uploadapp'], 'L_PROFILER' => $roster->config['profiler'], 'L_PASSWORD_TIP' => makeOverlib($roster->locale->act['roster_upd_pw_help'], $roster->locale->act['password'], '', 2, '', ',WRAP,RIGHT'), 'MESSAGES' => '')); // Fetch addon data $update->fetchAddonData(); // Has data been uploaded? if (isset($_POST['process']) && $_POST['process'] == 'process' || $update->textmode) { $messages = $update->parseFiles(); $messages .= $update->processFiles(); $errors = $update->getErrors(); // Normal upload results if (!$update->textmode) { $roster->tpl->assign_var('S_RESPONSE', true); // print the error messages if (!empty($errors)) { // We have errors $roster->tpl->assign_vars(array('S_RESPONSE_ERROR' => true, 'RESPONSE_ERROR' => $errors, 'RESPONSE_ERROR_LOG' => htmlspecialchars(stripAllHtml($errors)))); } $roster->tpl->assign_vars(array('RESPONSE' => $messages, 'RESPONSE_POST' => htmlspecialchars(stripAllHtml($messages)))); $roster->tpl->set_handle('body', 'update.html'); $roster->tpl->display('body'); } else { // No-HTML result page for UU echo stripAllHtml($messages); $roster->output['show_header'] = false;
$member_ids = array(); foreach ($_POST['massdel'] as $member_id => $checked) { $member_ids[] = $member_id; } $member_ids = implode(',', $member_ids); $update->setMessage('<li>Deleting members "' . $member_ids . '".</li>'); $update->deleteMembers($member_ids); } elseif (substr($_POST['action'], 0, 4) == 'del_') { $member_id = substr($_POST['action'], 4); $update->setMessage('<li>Deleting member "' . $member_id . '".</li>'); $update->deleteMembers($member_id); } elseif ($_POST['action'] == 'clean') { $update->enforceRules(time()); } $messages = $update->getMessages(); $errors = $update->getErrors(); // print the error messages if (!empty($errors)) { // We have errors $roster->tpl->assign_vars(array('S_RESPONSE_ERROR' => true, 'RESPONSE_ERROR' => $errors, 'RESPONSE_ERROR_LOG' => htmlspecialchars(stripAllHtml($errors)))); } $roster->tpl->assign_vars(array('RESPONSE' => $messages, 'RESPONSE_POST' => htmlspecialchars(stripAllHtml($messages)))); } /** * Actual list */ $query = "SELECT " . " COUNT( `member_id` )" . " FROM `" . $roster->db->table('members') . "`" . " WHERE `guild_id` = " . (isset($roster->data['guild_id']) ? $roster->data['guild_id'] : 0) . ";"; $num_members = $roster->db->query_first($query); if ($num_members > 0) { $roster->tpl->assign_var('S_DATA', true); // Draw the header line
$messages = "<ul>\n"; // Loop over guilds foreach ($data as $guild) { $messages .= '<li>Updating relations for characters in "' . $guild['Name'] . '"' . "\n<ul>\n"; // We need to do the guild_pre to load the guild-specific rules $memberslist->guild_pre($guild); // Loop over all members foreach ($guild['Members'] as $member_name => $char) { $member_id = $char['member_id']; $memberslist->messages .= '<li>' . $member_name; $memberslist->guild($char, $member_id); $memberslist->messages .= '</li>' . "\n"; } // Guild post hook. Deletes old entries. $memberslist->guild_post($guild); $messages .= $memberslist->messages . "</ul></li>"; $memberslist->messages = ''; } $messages .= '</ul>' . "\n"; $errorstringout = $update->getErrors(); // print the error messages if (!empty($errorstringout)) { print '<div id="errorCol" style="display:inline;"> ' . border('sred', 'start', "<div style=\"cursor:pointer;width:550px;\" onclick=\"swapShow('errorCol','error')\"><img src=\"" . $roster->config['theme_path'] . "/images/plus.gif\" style=\"float:right;\" /><span class=\"red\">Update Errors</span></div>") . ' ' . border('sred', 'end') . ' </div> <div id="error" style="display:none"> ' . border('sred', 'start', "<div style=\"cursor:pointer;width:550px;\" onclick=\"swapShow('errorCol','error')\"><img src=\"" . $roster->config['theme_path'] . "/images/minus.gif\" style=\"float:right;\" /><span class=\"red\">Update Errors</span></div>") . $errorstringout . border('sred', 'end') . '</div>'; } // Print the update messages print border('syellow', 'start', 'Update Log') . '<div style="font-size:10px;background-color:#1F1E1D;text-align:left;height:300px;width:550px;overflow:auto;">' . $messages . '</div>' . border('syellow', 'end');