예제 #1
0
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;
    }
}
예제 #2
0
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') . "\";");
    }
}
예제 #3
0
/**
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']);
            }
        }
    }
}
예제 #4
0
/**
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']))));
            }
        }
    }
}
예제 #5
0
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') . "\";");
}
예제 #6
0
<?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);
예제 #7
0
 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;
 }
예제 #8
0
<?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&amp;action=edit", 'description' => 'Edit Current Ranks');
$sub_tabs['create_tier'] = array('title' => "Create New Tier", 'link' => "index.php?module=rpgsuite-ranks&amp;action=create_tier", 'description' => 'Create New Tier');
$sub_tabs['create_rank'] = array('title' => "Create New Rank", 'link' => "index.php?module=rpgsuite-ranks&amp;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);
            }
예제 #9
0
 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;
 }
예제 #10
0
/**
 * 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']);
    }
}
예제 #11
0
<?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, ','));
예제 #12
0
function get_prefix_list()
{
    global $mybb, $db, $cache;
    $rpgsuite = new RPGSuite($mybb, $db, $cache);
    echo $rpgsuite->generate_prefixselect($mybb->input['region']);
}
예제 #13
0
$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();
예제 #14
0
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;
        }
    }
}