function lonelythread_init() { global $mybb, $db, $cache, $templates, $threadpage, $header, $headerinclude, $footer, $theme; if ($mybb->get_input('action') == 'lonelythreads') { $rpgsuite = new RPGSuite($mybb, $db, $cache); $threadlist = ""; $count = 0; if (isset($mybb->input['gid'])) { $threads = $rpgsuite->get_lonely_threads((int) $mybb->input['gid']); } else { $threads = $rpgsuite->get_lonely_threads(); } $groupfilters = ""; eval("\$groupfilters = \"" . $templates->get("rpglonelythread_groupfilter_nogroup") . "\";"); foreach ($rpgsuite->get_icgroups('fid <> 0') as $group) { $groupinfo = $group->get_info(); eval("\$groupfilters .= \"" . $templates->get("rpglonelythread_groupfilter_group") . "\";"); } foreach ($threads as $thread) { $trow = $count % 2 ? "trow2" : "trow1"; $threaddate = date($mybb->settings['dateformat'], $thread['dateline']); eval("\$threadlist .= \"" . $templates->get("rpglonelythread_row") . "\";"); $count++; } eval("\$threadpage = \"" . $templates->get("rpglonelythread_page") . "\";"); output_page($threadpage); exit; } }
function add_newreply_display() { global $mybb, $db, $cache, $templates, $thread, $headerinclude; $rpgsuite = new RPGSuite($mybb, $db, $cache); $usergroup = $rpgsuite->retrieve_forum_group($thread['fid']); if ($usergroup) { $group = $usergroup->get_info(); eval("\$headerinclude .= \"" . $templates->get('rpgmisc_groupstyle') . "\";"); } }
/** The actual Activity Check functionality */ function run_activitycheck() { global $mybb, $db, $cache; $masterclass = new RPGSuite($mybb, $db, $cache); $grouplist = $masterclass->get_icgroups_members('activitycheck = 1'); foreach ($grouplist as $id => $group) { foreach ($group->get_members() as $member) { $user = $member->get_info(); if (inactive($member)) { $group->hard_remove_member($user['uid']); } } } }
/** The actual Group Point functionality */ function run_grouppoints() { global $mybb, $db, $cache; $masterclass = new RPGSuite($mybb, $db, $cache); $grouplist = $masterclass->get_icgroups_members('grouppoints <> 0'); foreach ($grouplist as $group) { foreach ($group['members'] as $member) { $currentpoints = $member[Fields::GROUPPOINTS]; if ($group['grouppoints'] > 0) { $member->set_grouppoints(max(array($mybb->settings['rpgsuite_grouppoints_max'], $currentpoints + point_variance($group['grouppoints'])))); } else { $member->set_grouppoints(min(array(0, $currentpoints + point_variance($group['grouppoints'])))); } } } }
function groupstats_display() { global $mybb, $db, $cache, $templates, $groupstats, $statlist, $maletot, $femaletot, $youthtot, $adulttot, $limitgroupcount; $maletot = $femaletot = $youthtot = $adulttot = $overalltot = $limitgroupcount = 0; $adultlimit = Stats::ADULTCAP; $youthlimit = Stats::YOUTHCAP; $rpg = new RPGSuite($mybb, $db, $cache); eval("\$statlist = \"\";"); $rowcount = 0; foreach ($rpg->get_icgroups_members() as $id => $usergroup) { $statlist .= build_row($usergroup, $rowcount, $adultlimit, $youthlimit); $rowcount++; } $overalltot = $maletot + $femaletot; $grouplimit = ceil($overalltot / $adultlimit); eval("\$groupstats = \"" . $templates->get('rpggroupstats_full') . "\";"); }
<?php // Disallow direct access to this file for security reasons if (!defined("IN_MYBB")) { die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined."); } require_once MYBB_ROOT . "/inc/plugins/rpg_suite/models/class_RPGSuite.php"; $rpgsuite = new RPGSuite($mybb, $db, $cache); if ($mybb->request_method == "post") { $settings = array('title' => $db->escape_string($mybb->input['title']), 'description' => $db->escape_string($mybb->input['description']), 'region' => (int) $mybb->input['region'], 'prefix' => (int) $mybb->input['prefix'], 'namestyle' => $db->escape_string($mybb->input['namestyle']), 'image' => $db->escape_string($mybb->input['image']), 'members' => $db->escape_string($mybb->input['members']), 'pms' => $db->escape_string($mybb->input['managers'])); $rpgsuite->create_icgroup($settings); flash_message('Pack Created!', 'success'); admin_redirect("index.php?module=rpgsuite"); } $plugins->run_hooks("admin_rpgsuite_groupfields_begin"); $page->add_breadcrumb_item('Create Pack'); $page->output_header('Pack Creation'); // Generate list of IC Groups for editing $form = new Form("", "post"); $form_container = new FormContainer(); $form_container->output_row('Pack Name', '', '<input type="text" class="text_input" name="title">'); $form_container->output_row('Pack Description', 'The pack\'s joining rules.', '<textarea name="description" rows="5" cols="45"></textarea>'); $form_container->output_row('Pack Location (Region)', 'Region where the pack\'s claim lies.', '<select id="region" name="region">' . $rpgsuite->generate_regionoptions() . '</select>'); $form_container->output_row('Pack Location (Territory)', 'Prefix representing the Pack\'s claim.', '<span id="prefix">' . $rpgsuite->generate_prefixselect() . '</span>'); $form_container->output_row('Pack Namestyle', '', '<input type="text" class="text_input" name="namestyle" value="{username}">'); $form_container->output_row('Pack Image', 'Group image', '<input type="text" class="text_input" name="image" value="">'); $form_container->output_row('Pack Members', '', '<textarea name="members" id="members" rows="2" cols="38" tabindex="1" style="width: 450px;"></textarea>'); $form_container->output_row('Pack Managers', '', '<textarea name="managers" id="managers" rows="2" cols="38" tabindex="1" style="width: 450px;"></textarea>'); $form_container->end(); $buttons[] = $form->generate_submit_button("Create Pack"); $form->output_submit_wrapper($buttons);
public function get_settings_mod() { $rpglib = new RPGSuite($this->mybb, $this->db, $this->cache); $customsettings = array(); $customsettings[] = array('label' => "Date Joined", 'name' => 'group_dateline', 'form' => '<input type="text" class="textbox" name="group_datelineu' . $this->info['uid'] . '" value="' . date($this->mybb->settings['dateformat'], $this->info['group_dateline']) . '">'); $query = $this->db->simple_select('profilefields', '*', 'CONCAT(\',\',editableby,\',\') LIKE \'%,' . Groups::MOD . ',%\'', array("order_by" => 'disporder', "order_dir" => 'ASC')); while ($setting = $query->fetch_array()) { $customsettings[] = array('label' => $setting['name'], 'name' => 'fid' . $setting['fid'], 'form' => $rpglib->parse_setting($setting, $this->info['fid' . $setting['fid']], 'u' . $this->info['uid'])); } return $customsettings; }
<?php // Disallow direct access to this file for security reasons if (!defined("IN_MYBB")) { die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined."); } require_once MYBB_ROOT . "/inc/plugins/rpg_suite/models/class_RPGSuite.php"; $plugins->run_hooks("admin_rpgsuite_defaultranks_begin"); $page->add_breadcrumb_item('Manage Ranks'); $page->output_header('Setup Default Ranks'); // Generate list of IC Groups for editing $rpgsuite = new RPGSuite($mybb, $db, $cache); $ranktable = $rpgsuite->get_default_ranktable(); // Edit Vs Create $sub_tabs['edit'] = array('title' => "Edit Hierarchy", 'link' => "index.php?module=rpgsuite-ranks&action=edit", 'description' => 'Edit Current Ranks'); $sub_tabs['create_tier'] = array('title' => "Create New Tier", 'link' => "index.php?module=rpgsuite-ranks&action=create_tier", 'description' => 'Create New Tier'); $sub_tabs['create_rank'] = array('title' => "Create New Rank", 'link' => "index.php?module=rpgsuite-ranks&action=create_rank", 'description' => 'Create New Rank'); if ($mybb->request_method == "post") { if ($mybb->input['action'] == 'create_tier') { if (!empty($mybb->input['tierlabel'])) { $createtier = array('label' => $db->escape_string($mybb->input['tierlabel']), 'seq' => $db->escape_string($mybb->input['tierseq'])); $ranktable->update_tier($createtier); } flash_message("Tier successfully created!", "success"); admin_redirect(""); } else { if ($mybb->input['action'] == 'create_rank') { if (!empty($mybb->input['ranklabel'])) { $createrank = array('label' => $db->escape_string($mybb->input['ranklabel']), 'tid' => $db->escape_string($mybb->input['ranktier']), 'seq' => $db->escape_string($mybb->input['rankseq'])); $ranktable->update_rank($createrank); }
private function build_custom_settings($isadmin) { $rpglib = new RPGSuite($this->mybb, $this->db, $this->cache); $customsettings = array(); $query = $this->db->simple_select('groupfields', '*', 'onlyadmin IN (0, ' . $isadmin . ')', array("order_by" => 'disporder', "order_dir" => 'ASC')); while ($setting = $query->fetch_array()) { $customsettings[] = array('label' => $setting['name'], 'name' => 'fid' . $setting['fid'], 'description' => $setting['description'], 'form' => $rpglib->parse_setting($setting, $this->info['fid' . $setting['fid']])); } return $customsettings; }
/** * Sets the forum options values in ACP on submit */ function admin_group_commit() { global $mybb, $db, $cache, $updated_group, $usergroup; $rpgsuite = new RPGSuite($mybb, $db, $cache); $makeic = (int) $mybb->input['icgroup']; $updated_group['icgroup'] = $makeic; if ($makeic) { $rpgsuite->convert_to_ic($usergroup['gid']); } else { $rpgsuite->revert_to_ooc($usergroup['gid']); } }
<?php // Disallow direct access to this file for security reasons if (!defined("IN_MYBB")) { die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined."); } require_once MYBB_ROOT . "/inc/plugins/rpg_suite/models/class_RPGSuite.php"; // Generate list of IC Groups for editing $rpgsuite = new RPGSuite($mybb, $db, $cache); $options = array('text', 'textarea'); $plugins->run_hooks("admin_rpgsuite_groupfields_begin"); if ($mybb->request_method == "post") { $deleteids = ''; if ($mybb->input['action'] == 'create') { if (!empty($mybb->input['fieldname'])) { $createfield = array('name' => $db->escape_string($mybb->input['fieldname']), 'type' => $db->escape_string($mybb->input['fieldtype']), 'description' => $db->escape_string($mybb->input['fielddescription']), 'disporder' => $db->escape_string($mybb->input['fielddisporder']), 'onlyadmin' => $db->escape_string($mybb->input['fieldonlyadmin'])); $rpgsuite->update_groupfield($createfield); flash_message("Group Field successfully created!", "success"); admin_redirect(""); } } else { foreach ($rpgsuite->get_groupfields() as $field) { if (is_array($mybb->input['deletefields']) && in_array($field['fid'], $mybb->input['deletefields'])) { $deleteids .= $field['fid'] . ','; } else { $modifyfield = array('fid' => $field['fid'], 'name' => $db->escape_string($mybb->input['field' . $field['fid'] . 'name']), 'type' => $db->escape_string($mybb->input['field' . $field['fid'] . 'type']), 'description' => $db->escape_string($mybb->input['field' . $field['fid'] . 'description']), 'disporder' => $db->escape_string($mybb->input['field' . $field['fid'] . 'disporder']), 'onlyadmin' => $db->escape_string($mybb->input['field' . $field['fid'] . 'onlyadmin'])); $rpgsuite->update_groupfield($modifyfield); } } if (!empty($deleteids)) { $rpgsuite->delete_groupfields(rtrim($deleteids, ','));
function get_prefix_list() { global $mybb, $db, $cache; $rpgsuite = new RPGSuite($mybb, $db, $cache); echo $rpgsuite->generate_prefixselect($mybb->input['region']); }
$table->construct_header('Next Run'); $table->construct_cell('<strong>Activity Check</strong>'); if ($mybb->settings['rpgsuite_activitycheck']) { $activitycheck = new Ticker($db, 1, $mybb->settings['rpgsuite_activitycheck_freq']); $table->construct_cell(date("D, jS M Y @ g:ia", $activitycheck->next_run())); } else { $table->construct_cell('<i>Disabled</i>'); } $table->construct_row(); $table->construct_cell('<strong>Group Rewards/Penalties</strong>'); if ($mybb->settings['rpgsuite_grouppoints']) { $grouppoints = new Ticker($db, 2, $mybb->settings['rpgsuite_grouppoints_freq']); $table->construct_cell(date("D, jS M Y @ g:ia", $grouppoints->next_run())); } else { $table->construct_cell('<i>Disabled</i>'); } $table->construct_row(); $table->output("Management Jobs"); // Generate list of IC Groups for editing $rpgsuite = new RPGSuite($mybb, $db, $cache); $table = new Table(); foreach ($rpgsuite->get_icgroups() as $usergroup) { $group = $usergroup->get_info(); $table->construct_cell("<strong>" . $group['title'] . "</strong>"); $table->construct_cell("<a href='index.php?module=rpgsuite-group&action=settings&gid=" . $group['gid'] . "'>Manage Pack</a>"); $table->construct_cell("<a target='_blank' href='" . $mybb->settings['bburl'] . "/modcp.php?action=managegroup&gid=" . $group['gid'] . "'>Mod CP</a>"); $table->construct_row(); } $table->output("Current Packs"); echo "<div style='width:100%;text-align:center;'><a href='index.php?module=rpgsuite-create'><h2>Create a New Pack</h2></a></div>"; $page->output_footer();
function queue_details() { global $mybb, $db, $cache, $templates, $approval_page, $theme, $lang, $header, $headerinclude, $footer, $parser; if ($mybb->settings['rpgsuite_approval']) { $currentuser = new GroupMember($mybb, $db, $cache, $mybb->user); if ($currentuser->is_admin() && $mybb->input['action'] == 'activationqueue') { if ($mybb->request_method == "post") { $userid = (int) $mybb->input['userid']; $username = $db->escape_string($mybb->input['username']); $type = $mybb->input['type']; if (isset($mybb->input['approve'])) { approve($userid, $username, $type); } else { if (isset($mybb->input['deny'])) { deny($userid, $username); } } } add_breadcrumb('Approve New Members'); $rpgsuite = new RPGSuite($mybb, $db, $cache); $accounts = $rpgsuite->get_awaiting_approval(); foreach ($accounts as $user) { eval("\$userlist .= \"" . $templates->get("rpgapprove_user") . "\";"); } eval("\$approval_page = \"" . $templates->get("rpgapprove_page") . "\";"); output_page($approval_page); exit; } } }