/**
     * display raidplan add/edit form
     *
     * @param Raidplan $raidplan
     * @param RaidCalendar $cal
     */
    public function showadd(Raidplan $raidplan, RaidCalendar $cal)
    {
        global $db, $auth, $user, $config, $template, $phpEx, $phpbb_root_path;
        include $phpbb_root_path . 'includes/functions_display.' . $phpEx;
        $s_action = append_sid("{$phpbb_root_path}dkp.{$phpEx}", "page=planner&view=raidplan&raidplanid=" . $raidplan->getId());
        /*
         * fill template
         *
         */
        $user->setup('posting');
        $user->add_lang(array('posting', 'mods/dkp_common', 'mods/raidplanner'));
        if ($raidplan->getId() > 0) {
            $page_title = $user->lang['CALENDAR_EDIT_RAIDPLAN'];
        } else {
            $page_title = $user->lang['CALENDAR_POST_RAIDPLAN'];
        }
        //count events from bbDKP, put them in a pulldown...
        foreach ($this->eventlist as $eventid => $event) {
            $selected = '';
            if ($raidplan->id == 0) {
                $selected = '';
            } else {
                if ($raidplan->getEventType() == $eventid) {
                    $selected = ' selected="selected" ';
                }
            }
            $template->assign_block_vars('bbdkp_events_options', array('KEY' => $eventid, 'VALUE' => $event['event_name'], 'SELECTED' => $selected));
        }
        // populate raidplan acces level pulldowns
        $level_sel = array();
        if ($auth->acl_get('u_raidplanner_create_public_raidplans')) {
            $level_sel[2] = $user->lang['EVENT_ACCESS_LEVEL_PUBLIC'];
        }
        if ($auth->acl_get('u_raidplanner_create_group_raidplans')) {
            $level_sel[1] = $user->lang['EVENT_ACCESS_LEVEL_GROUP'];
        }
        if ($auth->acl_get('u_raidplanner_create_private_raidplans')) {
            $level_sel[0] = $user->lang['EVENT_ACCESS_LEVEL_PERSONAL'];
        }
        foreach ($level_sel as $key => $value) {
            $template->assign_block_vars('accesslevel_options', array('KEY' => $key, 'VALUE' => $value, 'SELECTED' => $raidplan->getAccesslevel() == $key ? ' selected="selected"' : ''));
        }
        // Find what groups this user is a member of and add them to the list of groups to invite
        $disp_hidden_groups = $config['rp_display_hidden_groups'];
        if ($auth->acl_get('u_raidplanner_nonmember_groups')) {
            if ($disp_hidden_groups == 1) {
                $sql = 'SELECT g.group_id, g.group_name, g.group_type
						FROM ' . GROUPS_TABLE . ' g
						ORDER BY g.group_type, g.group_name';
            } else {
                $sql = 'SELECT g.group_id, g.group_name, g.group_type
						FROM ' . GROUPS_TABLE . ' g
						' . (!$auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel') ? ' 	WHERE g.group_type <> ' . GROUP_HIDDEN : '') . '
						ORDER BY g.group_type, g.group_name';
            }
        } else {
            if ($disp_hidden_groups == 1) {
                $sql = 'SELECT g.group_id, g.group_name, g.group_type
						FROM ' . GROUPS_TABLE . ' g, ' . USER_GROUP_TABLE . " ug\n\t\t\t\t\t\tWHERE ug.user_id = " . $db->sql_escape($user->data['user_id']) . '
							AND g.group_id = ug.group_id
							AND ug.user_pending = 0
						ORDER BY g.group_type, g.group_name';
            } else {
                $sql = 'SELECT g.group_id, g.group_name, g.group_type
						FROM ' . GROUPS_TABLE . ' g, ' . USER_GROUP_TABLE . " ug\n\t\t\t\t\t\tWHERE ug.user_id = " . $db->sql_escape($user->data['user_id']) . "\n\t\t\t\t\t\t\tAND g.group_id = ug.group_id" . (!$auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel') ? ' 	AND g.group_type <> ' . GROUP_HIDDEN : '') . '
							AND ug.user_pending = 0
						ORDER BY g.group_type, g.group_name';
            }
        }
        $result = $db->sql_query($sql);
        while ($row = $db->sql_fetchrow($result)) {
            $template->assign_block_vars('group_sel_options', array('KEY' => $row['group_id'], 'VALUE' => $row['group_type'] == GROUP_SPECIAL ? $user->lang['G_' . $row['group_name']] : $row['group_name'], 'SELECTED' => ''));
        }
        $db->sql_freeresult($result);
        /**
         * populate day pulldown
         */
        if ($raidplan->getId() > 0) {
            $day = $user->format_date($raidplan->getStartTime(), 'd', true);
            $month = $user->format_date($raidplan->getStartTime(), 'm', true);
            $year = $user->format_date($raidplan->getStartTime(), 'Y', true);
        } else {
            $day = $cal->date['day'];
            $month = $cal->date['month_no'];
            $year = $cal->date['year'];
        }
        //day dropdown
        for ($i = 1; $i <= $cal->days_in_month; $i++) {
            $template->assign_block_vars('enddayoptions', array('KEY' => $i, 'VALUE' => $i, 'SELECTED' => (int) $day == $i ? ' selected="selected"' : ''));
        }
        // month dropdown
        for ($i = 1; $i <= 12; $i++) {
            $template->assign_block_vars('endmonthoptions', array('KEY' => $i, 'VALUE' => $user->lang['datetime'][$cal->month_names[$i]], 'SELECTED' => $month == $i ? ' selected="selected"' : ''));
        }
        //year dropdown
        $temp_year = gmdate('Y');
        for ($i = $temp_year - 1; $i < $temp_year + 5; $i++) {
            $template->assign_block_vars('endyearoptions', array('KEY' => $i, 'VALUE' => $i, 'SELECTED' => (int) $year == $i ? ' selected="selected"' : ''));
        }
        /**
         *	populate Raid invite time select
         */
        $hour_mode = $config['rp_hour_mode'];
        $presetinvhour = intval(($raidplan->getInviteTime() > 0 ? $user->format_date($raidplan->getInviteTime(), 'G', true) * 60 : $config['rp_default_invite_time']) / 60);
        for ($i = 0; $i < 24; $i++) {
            $mod_12 = $i % 12;
            if ($mod_12 == 0) {
                $mod_12 = 12;
            }
            $am_pm = $user->lang['PM'];
            if ($i < 12) {
                $am_pm = $user->lang['AM'];
            }
            $template->assign_block_vars('invhouroptions', array('KEY' => $i, 'VALUE' => $hour_mode == 12 ? $mod_12 . ' ' . $am_pm : $i, 'SELECTED' => $i == $presetinvhour ? ' selected="selected"' : ''));
        }
        /**
         *	populate Raid invite minute
         */
        if ($raidplan->getInviteTime() > 0) {
            $presetinvmin = $user->format_date($raidplan->getInviteTime(), 'i', true);
        } else {
            $presetinvmin = (int) $config['rp_default_invite_time'] - $presetinvhour * 60;
        }
        for ($i = 0; $i <= 59; $i++) {
            $template->assign_block_vars('invminoptions', array('KEY' => $i, 'VALUE' => $i, 'SELECTED' => $i == $presetinvmin ? ' selected="selected"' : ''));
        }
        /**
         *	populate Raid start hour pulldown
         */
        $hour_start_selcode = "";
        $presetstarthour = intval(($raidplan->getStartTime() > 0 ? $user->format_date($raidplan->getStartTime(), 'G', true) * 60 : $config['rp_default_start_time']) / 60);
        for ($i = 0; $i < 24; $i++) {
            $mod_12 = $i % 12;
            if ($mod_12 == 0) {
                $mod_12 = 12;
            }
            $am_pm = $user->lang['PM'];
            if ($i < 12) {
                $am_pm = $user->lang['AM'];
            }
            $template->assign_block_vars('starthouroptions', array('KEY' => $i, 'VALUE' => $hour_mode == 12 ? $mod_12 . ' ' . $am_pm : $i, 'SELECTED' => $i == $presetstarthour ? ' selected="selected"' : ''));
        }
        /**
         *	populate Raid start minute pulldown
         */
        if ($raidplan->id > 0) {
            $presetstartmin = $user->format_date($raidplan->getStartTime(), 'i', true);
        } else {
            $presetstartmin = (int) $config['rp_default_start_time'] - $presetstarthour * 60;
        }
        for ($i = 0; $i <= 59; $i++) {
            $template->assign_block_vars('startminoptions', array('KEY' => $i, 'VALUE' => $i, 'SELECTED' => $i == $presetstartmin ? ' selected="selected"' : ''));
        }
        /**
         *	populate Raid END time pulldown
         */
        $presetendhour = intval(($raidplan->getEndTime() > 0 ? $user->format_date($raidplan->getEndTime(), 'G', true) * 60 : $config['rp_default_end_time']) / 60);
        for ($i = 0; $i < 24; $i++) {
            $mod_12 = $i % 12;
            if ($mod_12 == 0) {
                $mod_12 = 12;
            }
            $am_pm = $user->lang['PM'];
            if ($i < 12) {
                $am_pm = $user->lang['AM'];
            }
            $template->assign_block_vars('endhouroptions', array('KEY' => $i, 'VALUE' => $hour_mode == 12 ? $mod_12 . ' ' . $am_pm : $i, 'SELECTED' => $i == $presetendhour ? ' selected="selected"' : ''));
        }
        /**
         *	populate Raid end minute pulldown
         */
        if ($raidplan->getEndTime() > 0) {
            $presetendmin = $user->format_date($raidplan->getEndTime(), 'i', true);
        } else {
            $presetendmin = (int) $config['rp_default_end_time'] - $presetendhour * 60;
        }
        for ($i = 0; $i <= 59; $i++) {
            $template->assign_block_vars('endminuteoptions', array('KEY' => $i, 'VALUE' => $i, 'SELECTED' => $i == $presetendmin ? ' selected="selected"' : ''));
        }
        // get team array
        $sql = 'SELECT * FROM ' . RP_TEAMS . '
					ORDER BY teams_id';
        $db->sql_query($sql);
        $team_id = 0;
        $result = $db->sql_query($sql);
        while ($row = $db->sql_fetchrow($result)) {
            $team_id = $row['teams_id'];
            $template->assign_block_vars('team_row', array('VALUE' => $row['teams_id'], 'SELECTED' => ' selected="selected"', 'OPTION' => $row['team_name'] . ': ' . $row['team_size']));
        }
        $db->sql_freeresult($result);
        if ($team_id == 0) {
            trigger_error('NOTEAMSDEFINED');
        }
        /*
         * make raid composition proposal
         */
        if ($raidplan->getId() == 0 && $team_id > 0) {
            // make roles proposal
            $sql = 'SELECT t.game_id, t.role_id, t.role_needed, t.teams_id, r.role_color, r.role_icon, l.name as role_description
            FROM ' . RP_TEAMSIZE . ' t
            INNER JOIN ' . BB_GAMEROLE_TABLE . ' r ON r.role_id=t.role_id
            INNER JOIN ' . RP_TEAMS . ' e ON e.teams_id = t.teams_id
            INNER JOIN ' . BB_LANGUAGE . ' l ON l.game_id=t.game_id AND r.role_id = l.attribute_id
            WHERE t.teams_id = ' . $team_id . " AND l.attribute='role' AND l.language='" . $config['bbdkp_lang'] . "'";
            $result = $db->sql_query($sql);
            while ($row = $db->sql_fetchrow($result)) {
                $template->assign_block_vars('teamsize', array('ROLE_COLOR' => $row['role_color'], 'S_ROLE_ICON_EXISTS' => strlen($row['role_icon']) > 1 ? true : false, 'ROLE_ICON' => strlen($row['role_icon']) > 1 ? $phpbb_root_path . "images/bbdkp/role_icons/" . $row['role_icon'] . ".png" : '', 'ROLE_ID' => $row['role_id'], 'ROLE_NAME' => $row['role_description'], 'ROLE_NEEDED' => $row['role_needed']));
            }
            $db->sql_freeresult($result);
        } else {
            //repopulate dropdown from object
            $sql = 'SELECT * FROM ' . RP_TEAMS . '
					ORDER BY teams_id';
            $db->sql_query($sql);
            $result = $db->sql_query($sql);
            while ($row = $db->sql_fetchrow($result)) {
                $template->assign_block_vars('team_row', array('VALUE' => $row['teams_id'], 'SELECTED' => $row['teams_id'] == $raidplan->getRaidteam() ? ' selected="selected"' : '', 'OPTION' => $row['team_name'] . ': ' . $row['team_size']));
            }
            $db->sql_freeresult($result);
            unset($row);
            // get roles from object
            foreach ($raidplan->getRaidroles() as $key => $role) {
                $template->assign_block_vars('teamsize', array('ROLE_COLOR' => $role['role_color'], 'S_ROLE_ICON_EXISTS' => strlen($role['role_icon']) > 1 ? true : false, 'ROLE_ICON' => strlen($role['role_icon']) > 1 ? $phpbb_root_path . "images/bbdkp/role_icons/" . $role['role_icon'] . ".png" : '', 'ROLE_ID' => $key, 'ROLE_NAME' => $role['role_name'], 'ROLE_NEEDED' => $role['role_needed']));
            }
        }
        $body = $raidplan->getBody();
        $bbcode = $raidplan->getBbcode();
        $message = generate_text_for_edit($body, isset($bbcode['uid']) ? $bbcode['uid'] : '', isset($bbcode['bitfield']) ? $bbcode['bitfield'] : '', 7);
        // HTML, BBCode, Smilies, Images and Flash status
        $bbcode_status = $config['allow_bbcode'] ? true : false;
        $img_status = $bbcode_status ? true : false;
        $flash_status = $bbcode_status && $config['allow_post_flash'] ? true : false;
        $url_status = $config['allow_post_links'] ? true : false;
        $smilies_status = $bbcode_status && $config['allow_smilies'] ? true : false;
        if ($smilies_status) {
            // Generate smiley listing
            $cal->generate_calendar_smilies('inline');
        }
        $start_date = gmmktime(0, 0, 0, $month, $day, $year) - $user->timezone - $user->dst;
        $ajaxpath = append_sid($phpbb_root_path . 'styles/' . $user->theme['template_path'] . '/template/planner/raidplan/ajax1.' . $phpEx, "ajax=1");
        if ($raidplan->id > 0) {
            $eventname = $this->eventlist[$raidplan->getEventType()]['event_name'];
            $eventcolor = $this->eventlist[$raidplan->getEventType()]['color'];
            if (strlen($this->eventlist[$raidplan->getEventType()]['imagename']) > 1) {
                $eventimg = $phpbb_root_path . "images/bbdkp/event_images/" . $this->eventlist[$raidplan->getEventType()]['imagename'] . ".png";
            } else {
                $eventimg = $phpbb_root_path . "images/bbdkp/event_images/dummy.png";
            }
        } else {
            $eventimg = $phpbb_root_path . "images/bbdkp/event_images/dummy.png";
            $eventcolor = '';
            $eventname = $user->lang['NEW_RAID'];
        }
        $template->assign_vars(array('ETYPE_DISPLAY_NAME' => $eventname, 'EVENT_COLOR' => $eventcolor, 'EVENT_IMAGE' => $eventimg, 'S_POST_ACTION' => $s_action, 'RAIDPLAN_ID' => $raidplan->id, 'S_PLANNER_EDIT' => $raidplan->id > 0 ? true : false, 'S_PLANNER_ADD' => $raidplan->getId() > 0 ? false : true, 'S_DELETE_ALLOWED' => $raidplan->getAuthCandelete(), 'S_BBCODE_ALLOWED' => $bbcode_status, 'S_SMILIES_ALLOWED' => $smilies_status, 'S_LINKS_ALLOWED' => $url_status, 'S_BBCODE_IMG' => $img_status, 'S_BBCODE_URL' => $url_status, 'S_BBCODE_FLASH' => $flash_status, 'S_BBCODE_QUOTE' => false, 'TEAM_ID' => $raidplan->getRaidteam(), 'TEAM_NAME' => $raidplan->getRaidteamname(), 'TEAM_SIZE' => $raidplan->getRaidTeamNeeded(), 'L_POST_A' => $page_title, 'SUBJECT' => $raidplan->getSubject(), 'MESSAGE' => $message['text'], 'START_DATE' => $user->format_date($start_date, $config['rp_date_format'], true), 'START_HOUR_SEL' => $hour_start_selcode, 'BBCODE_STATUS' => $bbcode_status ? sprintf($user->lang['BBCODE_IS_ON'], '<a href="' . append_sid("{$phpbb_root_path}faq.{$phpEx}", 'mode=bbcode') . '">', '</a>') : sprintf($user->lang['BBCODE_IS_OFF'], '<a href="' . append_sid("{$phpbb_root_path}faq.{$phpEx}", 'mode=bbcode') . '">', '</a>'), 'IMG_STATUS' => $img_status ? $user->lang['IMAGES_ARE_ON'] : $user->lang['IMAGES_ARE_OFF'], 'FLASH_STATUS' => $flash_status ? $user->lang['FLASH_IS_ON'] : $user->lang['FLASH_IS_OFF'], 'SMILIES_STATUS' => $smilies_status ? $user->lang['SMILIES_ARE_ON'] : $user->lang['SMILIES_ARE_OFF'], 'URL_STATUS' => $bbcode_status && $url_status ? $user->lang['URL_IS_ON'] : $user->lang['URL_IS_OFF'], 'LA_ALERT_OLDBROWSER' => $user->lang['ALERT_OLDBROWSER'], 'UA_AJAXHANDLER1' => $ajaxpath));
        // Build custom bbcodes array
        display_custom_bbcodes();
    }
Esempio n. 2
0
    /**
     * displays the next x number of upcoming raidplans
     *
     */
    private function _display_next_raidplans()
    {
        global $config, $user, $db, $template, $phpEx, $phpbb_root_path;
        // build sql
        $sql_array = array('SELECT' => 'r.raidplan_id ', 'FROM' => array(RP_RAIDS_TABLE => 'r'), 'WHERE' => '(raidplan_access_level = 2
					   OR (r.poster_id = ' . $db->sql_escape($user->data['user_id']) . ' ) OR (r.raidplan_access_level = 1 AND (' . $this->group_options . ')) )
					  AND (r.raidplan_start_time >= ' . $db->sql_escape(time()) . " )", 'ORDER_BY' => 'r.raidplan_start_time ASC');
        $sql = $db->sql_build_query('SELECT', $sql_array);
        $result = $db->sql_query_limit($sql, $config['rp_display_next_raidplans'], 0, 3600);
        while ($row = $db->sql_fetchrow($result)) {
            unset($raidplan);
            $raidplan = new Raidplan($this->game_id, $this->guild_id, $this->eventlist, $row['raidplan_id']);
            if (!isset($this->eventlist[$raidplan->getEventType()])) {
                //this event is closed, so fetch the whole eventlist including closed ones.
                $this->eventlist = new \bbdkp\controller\raidplanner\rpevents(0);
                $this->eventlist = $this->eventlist->events;
            }
            if (strlen($this->eventlist[$raidplan->getEventType()]['imagename']) > 1) {
                $eventimg = $phpbb_root_path . "images/bbdkp/event_images/" . $this->eventlist[$raidplan->getEventType()]['imagename'] . ".png";
            } else {
                $eventimg = $phpbb_root_path . "images/bbdkp/event_images/dummy.png";
            }
            $template->assign_block_vars('upcoming', array('RAID_ID' => $raidplan->id, 'EVENTNAME' => $this->eventlist[$raidplan->getEventType()]['event_name'], 'EVENT_URL' => append_sid("{$phpbb_root_path}dkp.{$phpEx}", "page=planner&amp;view=raidplan&amp;raidplanid=" . $raidplan->id), 'EVENT_ID' => $raidplan->id, 'COLOR' => $this->eventlist[$raidplan->getEventType()]['color'], 'SUBJECT' => censor_text($raidplan->getSubject()), 'IMAGE' => $eventimg, 'START_TIME' => $user->format_date($raidplan->getStartTime(), $config['rp_date_format'], true), 'END_TIME' => $user->format_date($raidplan->getEndTime(), $config['rp_time_format'], true), 'DISPLAY_BOLD' => $user->data['user_id'] == $raidplan->getPoster() ? true : false));
        }
        $db->sql_freeresult($result);
        $template->assign_vars(array('S_PLANNER_UPCOMING' => true));
    }
Esempio n. 3
0
    function main($id, $mode)
    {
        global $db, $user, $auth, $template, $config, $phpbb_root_path, $phpEx;
        $Navigation = new \bbdkp\views\viewNavigation('ucp');
        $user->add_lang(array('mods/raidplanner', 'mods/dkp_common'));
        if (!function_exists('group_memberships')) {
            include_once $phpbb_root_path . 'includes/functions_user.' . $phpEx;
        }
        $this->eventlist = new \bbdkp\controller\raidplanner\rpevents($Navigation->getDkpsysId());
        // get the groups of which this user is part of.
        $groups = group_memberships(false, $user->data['user_id']);
        $group_options = "";
        // build the sql to get access
        foreach ($groups as $grouprec) {
            if ($group_options != "") {
                $group_options .= " OR ";
            }
            $group_options .= "group_id = " . $grouprec['group_id'] . " OR group_id_list LIKE '%," . $grouprec['group_id'] . ",%'";
        }
        // build template
        $daycount = request_var('daycount', 7);
        $disp_date_format = $config['rp_date_format'];
        $disp_date_time_format = $config['rp_date_time_format'];
        // show all in coming year
        $start_temp_date = time() - 86400;
        $sort_timestamp_cutoff = $start_temp_date + 86400 * 365;
        // get
        $sql_array = array('SELECT' => ' r.raidplan_id  ', 'FROM' => array(RP_RAIDS_TABLE => 'r'), 'WHERE' => '
		    	 (r.raidplan_access_level = 2)
		    	OR  (r.poster_id = ' . $db->sql_escape($user->data['user_id']) . ' )
		    	OR  (r.raidplan_access_level = 1 AND (' . $group_options . ') )
		        AND r.raidplan_start_time >= ' . (int) $start_temp_date . '
		        AND r.raidplan_start_time <= ' . (int) $sort_timestamp_cutoff, 'ORDER_BY' => 'r.raidplan_start_time ASC ');
        $sql = $db->sql_build_query('SELECT', $sql_array);
        $result = $db->sql_query_limit($sql, $config['rp_display_next_raidplans'], 0);
        while ($row = $db->sql_fetchrow($result)) {
            unset($raidplan);
            $raidplan = new Raidplan($Navigation->getGameId(), $Navigation->getGuildId(), $this->eventlist->events, $row['raidplan_id']);
            if (!isset($this->eventlist->events[$raidplan->getEventType()])) {
                //this event is closed, so fetch the whole eventlist including closed ones.
                $this->eventlist = new \bbdkp\controller\raidplanner\rpevents(0);
            }
            if (strlen($this->eventlist->events[$raidplan->getEventType()]['imagename']) > 1) {
                $eventimg = $phpbb_root_path . "images/bbdkp/event_images/" . $this->eventlist->events[$raidplan->getEventType()]['imagename'] . ".png";
            } else {
                $eventimg = $phpbb_root_path . "images/bbdkp/event_images/dummy.png";
            }
            $subj = $raidplan->getSubject();
            if ($config['rp_display_truncated_name'] > 0) {
                if (utf8_strlen($raidplan->getSubject()) > $config['rp_display_truncated_name']) {
                    $subj = truncate_string(utf8_strlen($raidplan->getSubject()), $config['rp_display_truncated_name']) . '…';
                }
            }
            $delete_url = "";
            $edit_url = "";
            if ($user->data['is_registered']) {
                // can user edit ?
                if ($auth->acl_get('u_raidplanner_edit_raidplans') && ($user->data['user_id'] == $raidplan->getPoster() || $auth->acl_get('m_raidplanner_edit_other_users_raidplans'))) {
                    $edit_url = append_sid("{$phpbb_root_path}dkp.{$phpEx}", "page=planner&amp;view=raidplan&amp;action=showadd&amp;raidplanid=" . $raidplan->id);
                }
                //can user delete ?
                if ($auth->acl_get('u_raidplanner_delete_raidplans') && ($user->data['user_id'] == $raidplan->getPoster() || $auth->acl_get('m_raidplanner_delete_other_users_raidplans'))) {
                    $delete_url = append_sid("{$phpbb_root_path}dkp.{$phpEx}", "page=planner&amp;view=raidplan&amp;action=delete&amp;raidplanid=" . $raidplan->id);
                }
            }
            $template->assign_block_vars('raids', array('RAID_ID' => $raidplan->id, 'IMAGE' => $eventimg, 'EVENTNAME' => $this->eventlist->events[$raidplan->getEventType()]['event_name'], 'EVENT_URL' => append_sid("{$phpbb_root_path}dkp.{$phpEx}", "page=planner&amp;view=raidplan&amp;raidplanid=" . $raidplan->id), 'EVENT_ID' => $raidplan->id, 'COLOR' => $this->eventlist->events[$raidplan->getEventType()]['color'], 'SUBJECT' => $subj, 'U_DELETE' => $delete_url, 'U_EDIT' => $edit_url, 'POSTER' => $raidplan->getPosterUrl(), 'START_TIME' => $user->format_date($raidplan->getStartTime(), $disp_date_time_format, true), 'START_TIME' => $user->format_date($raidplan->getStartTime(), $config['rp_date_format'], true), 'END_TIME' => $user->format_date($raidplan->getEndTime(), $config['rp_time_format'], true), 'DISPLAY_BOLD' => $user->data['user_id'] == $raidplan->getPoster() ? true : false));
            // get signups
            foreach ($raidplan->getRaidroles() as $key => $role) {
                foreach ($role['role_signups'] as $signup) {
                    if (is_object($signup) && $signup instanceof RaidplanSignup) {
                        switch ($signup->getSignupVal()) {
                            case 0:
                                $signupcolor = '#00FF00';
                                $signuptext = $user->lang['YES'];
                                break;
                            case 1:
                                $signupcolor = '#FF0000';
                                $signuptext = $user->lang['NO'];
                                break;
                            case 2:
                                $signupcolor = '#FFCC33';
                                $signuptext = $user->lang['MAYBE'];
                                break;
                        }
                        $template->assign_block_vars('raids.signups', array('COLOR' => $signupcolor, 'CHARNAME' => $signup->getDkpmembername(), 'COLORCODE' => $signup->getColorcode() == '' ? '#123456' : $signup->getColorcode(), 'CLASS_IMAGE' => strlen($signup->getImagename()) > 1 ? $phpbb_root_path . "images/bbdkp/class_images/" . $signup->getImagename() . ".png" : '', 'S_CLASS_IMAGE_EXISTS' => strlen($signup->getImagename()) > 1 ? true : false, 'VALUE_TXT' => " : " . $signuptext));
                    }
                }
            }
        }
        $db->sql_freeresult($result);
        switch ($mode) {
            case 'raidplanner_registration':
                $this->tpl_name = 'planner/ucp_planner';
                $template->assign_vars(array('U_COUNT_ACTION' => $this->u_action, 'DAYCOUNT' => $daycount));
                break;
        }
    }