Seite 1 von 1

Meeting.php in das Portal einbinden, aber wie?

Verfasst: 25.09.2007 02:48
von FT-Admin
Hallo Leute,

auf http://www.fahrzeugtechnik-forum.de findet ihr das Portal.

Ich habe den Meeting Mod ein wenig umgeschrieben
http://www.fahrzeugtechnik-forum.de/meeting.php,
so dass er relativ schlang und abgespeckt ist.

Nun würde ich die meeting.php gerne in der Portalmitte zwischen den Fetch Post und den Last Topics anzeigen lassen.

Kann mir jemand einen Tip geben wie ich da hinbekomme?

Ich habe schon eine ganze Menge versucht, die meeting_viewlist_body.tpl habe ich schon problemlos in die portal_body.tpl eingebunden bekommen, aber die Tabelle bleibt dann natürlich leer, weil die meeting.php nicht ausgeführt wurde...


Wer kann mir dabei helfen?


Lieben Gruß, Jürgen

Verfasst: 25.09.2007 16:46
von FT-Admin
Hat denn niemand eine Idee?

Verfasst: 25.09.2007 20:04
von Markus Wandel
Hi,
ich kann dir gerne meine Umsetzung zur Verfügung stellen.

Hier der Code für die portal.php

Code: Alles auswählen

// START Meeting Mod
$template->assign_block_vars('meeting_mod_on', array());

// Get access status for all meetings
$sql = "SELECT m.meeting_id, mg.meeting_group FROM " . MEETING_DATA_TABLE . " m, " . MEETING_USERGROUP_TABLE . " mg
	WHERE mg.meeting_id = m.meeting_id
	AND meeting_time > ".time();

if ( !$result = $db->sql_query($sql) )
{
	message_die(GENERAL_ERROR, 'Could not get meeting usergroups', '', __LINE__, __FILE__, $sql);
}

$meetings_access_ids = array();

while ( $row = $db->sql_fetchrow($result) )
{
	$meeting_id = $row['meeting_id'];
	$meeting_group = $row['meeting_group'];

	if ( $meeting_group == -1 )
	{
		$meetings_access_ids[] = $meeting_id;
	}
	else
	{
		$sql_auth_id = "SELECT g.group_id FROM " . GROUPS_TABLE . " g, " . USER_GROUP_TABLE . " ug
			WHERE g.group_id = $meeting_group
			AND g.group_id = ug.group_id
			AND ug.user_pending <> " . TRUE . "
			AND g.group_single_user <> " . TRUE . "
			AND ug.user_id = " . $userdata['user_id'];

		if ( !$result_auth_id = $db->sql_query($sql_auth_id) )
		{
			message_die(GENERAL_ERROR, 'Could not get meeting access data', '', __LINE__, __FILE__, $sql_auth_id);
		}

		$count_usergroups = $db->sql_numrows($result_auth_id);
		$db->sql_freeresult($result_auth_id);

		if ( $count_usergroups > 0 )
		{
			$meetings_access_ids[] = $meeting_id;
		}
	}
}
$meeting_active_ids = $db->sql_numrows($result);
$db->sql_freeresult($result);

if ( count($meetings_access_ids) > 0 )
{
	$meeting_ids = ( count($meetings_access_ids) == 1 ) ? $meetings_access_ids[0] : implode(',', $meetings_access_ids);
	$sql_meeting_access = ' WHERE meeting_id IN ('.$meeting_ids.') AND meeting_time > '.time();
}
else if ($userdata['user_level'] == ADMIN)
{
	$sql_meeting_access = ' WHERE meeting_time > '.time();
}
else
{
	$sql_meeting_access = '';
}

if ($meeting_active_ids == 0 || $sql_meeting_access == '')
{
	$template->assign_block_vars('meeting_mod_on.no_meeting', array(
		'NO_MEETING' => $lang['No_active_meetings'])
	);
}
else
{
	$sql = "SELECT * FROM " . MEETING_DATA_TABLE . "
		$sql_meeting_access
		ORDER BY meeting_time ASC
		LIMIT 0, 10";

	if ( !$result = $db->sql_query($sql) )
	{
		message_die(GENERAL_ERROR, 'Could not get meeting data', '', __LINE__, __FILE__, $sql);
	}

	while ( $row = $db->sql_fetchrow($result) )
	{
		$meeting_id = $row['meeting_id'];
		$meeting_user_ids = array();

		$sql_user = "SELECT m.user_id, m.meeting_sure, u.username FROM " . MEETING_USER_TABLE . " m, " . USERS_TABLE . " u
			WHERE m.user_id = u.user_id
			AND m.meeting_id = $meeting_id
			AND m.meeting_sure <> 0";
		if ( !$result_user = $db->sql_query($sql_user) )
		{
			message_die(GENERAL_ERROR, 'Could not get meeting data', '', __LINE__, __FILE__, $sql_user);
		}

		while ( $row_user = $db->sql_fetchrow($result_user) )
		{
			$meeting_user_ids[] = $row_user['user_id'];
		}
		$db->sql_freeresult($result_user);

		$meeting_users = sizeof($meeting_user_ids);
		$meeting_time = create_date($board_config['default_dateformat'], $row['meeting_time'], $board_config['board_timezone']);
		$meeting_free_places = ( $meeting_user_ids != 0 ) ? ($meeting_places - $meeting_users) : $meeting_places;

		$template->assign_block_vars('meeting_mod_on.meetingrow', array(
			'MEETING_SUBJECT' => ( $userdata['session_logged_in'] ) ? '<a class="mainmenu" href="'. append_sid('meeting.'.$phpEx.'?mode=detail&id='. $row['meeting_id']).'">'. $row['meeting_subject'] .'</a>' : $row['meeting_subject'],
			'MEETING_TIME' => $meeting_time,
			'MEETING_SIGNED_ON_USERS' => $lang['Meeting_userlist'].': '.$meeting_users)
		);
	}
	$template->assign_vars(array(
		'MEETING_LINK' => append_sid("meeting.$phpEx"),
		'MEETING_ACTIVE' => '[ '.$meeting_active_ids.' ]')
	);
	$db->sql_freeresult($result);
}
// END Meeting Mod
Und hier der Teil für die portal_body.tpl.

Code: Alles auswählen

	<!-- M E E T I N G - M O D -->
		<!-- BEGIN meeting_mod_on -->
		<table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline">
		<tr>
			<td class="catHead" height="25"><span class="genmed"><a class="mainmenu" href="{MEETING_LINK}"><b>RoCoFa-Treffen {MEETING_ACTIVE}</b></a></span></td>
		</tr>
		<!-- BEGIN no_meeting -->
		<tr>
			<td class="row1" align="center" colspan="2"><span class="gensmall">{meeting_mod_on.no_meeting.NO_MEETING}</span></td>
		</tr>
		<!-- END no_meeting -->
		<!-- BEGIN meetingrow -->
		<tr>
			<td class="row1" align="center" colspan="2" wrap="wrap"><span class="gensmall">{meeting_mod_on.meetingrow.MEETING_TIME}<br /><b>{meeting_mod_on.meetingrow.MEETING_SUBJECT}</b></span></td>
		</tr>
		<!-- END meetingrow -->
		</table>
		<br />
		<!-- END meeting_mod_on -->
	<!-- M E E T I N G - M O D -->
Dieses benhaltet einige kleine Modifikationen die ich für meine Zwecke angepaßt habe. Alle Dateien sind für das ezPortal gedacht.

Gruß,
Markus

Verfasst: 25.09.2007 23:19
von FT-Admin
Du bist ein Schatz, genau das was ich brauche!

Super Danke!

Verfasst: 28.09.2007 12:17
von mark05
hi

mal ne keine frage hierzu ,

koennte man das meeting datum mit in der uebersich im portal anzeigen ?

holger