Meeting Mod Add-On

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
J?rg
Beiträge: 136
Registriert: So 20.Jun, 2004 18:51
Wohnort: Buseck
Kontaktdaten:

Meeting Mod Add-On

Beitrag von J?rg »

Hi ,

ich wollte das Add-On zum Metting-Mod 1.06 installieren , aber ich
bekomme im Portal nichts angezeigt.
Ich frage mich nun warum???

Jörg
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

1. Welches Add-On?
2. Sind aktive Meetings vorhanden (wenn es der Portal-Block ist)?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
J?rg
Beiträge: 136
Registriert: So 20.Jun, 2004 18:51
Wohnort: Buseck
Kontaktdaten:

Beitrag von J?rg »

Hi ,
das in dem Verzeichnis ADD-ON wollte ich einbauen. (Portal)
Im Moment habe ich 2 meetings die anstehen .

Für welches Portal ist es den gedacht , da ich das INTRO/Portal von www.awsw.de genohmen habe.

Jörg
Zuletzt geändert von J?rg am Sa 29.Jan, 2005 19:00, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Für welches Portal ist es den gedacht , da ich das INTRO/Portal von www.awsw.de genohmen habe.
Für das ezPortal. Aber auch im AWSW-Portal sollte es möglich sein. Mit etwas Anpassung.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
J?rg
Beiträge: 136
Registriert: So 20.Jun, 2004 18:51
Wohnort: Buseck
Kontaktdaten:

Beitrag von J?rg »

Hi,
ok dann weiss ich bescheid und stelle die Anleitung nachher mal
ins Netz.
Zuletzt geändert von J?rg am So 30.Jan, 2005 12:11, insgesamt 1-mal geändert.
J?rg
Beiträge: 136
Registriert: So 20.Jun, 2004 18:51
Wohnort: Buseck
Kontaktdaten:

Beitrag von J?rg »

so nun habe ich zumindestens die Tabelle drin, aber die 2 Treffen die ich aktiv habe werden nicht als Link angezeigt.

Meine Codes:

Portal.php

Code: Alles auswählen

// SWITCH MEETING START
if( $introportalmod_config['meeting_active'] == "1" )
{
	$template->assign_block_vars('meeting_mod_on', array());

	$meeting_link = '<span class="genmed"><a href="'.append_sid("meeting.$phpEx").'" class="nav">'.$lang['Meeting'].'</a></span>';

	$template->assign_vars(array(
		'MEETING_LINK' => $meeting_link)
	);

	// 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
	{
		$sql_meeting_access = ' WHERE meeting_time > '.time();
	}

	if ( $meeting_active_ids == 0 )
	{
		$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 DESC";
		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'];

			$sql_user = "SELECT count(user_id) AS total_users FROM " . MEETING_USER_TABLE . "
					WHERE meeting_id = $meeting_id
					AND 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['total_users'];
			}
			$db->sql_freeresult($result_user);

			$meeting_places = $row['meeting_places'];
			$meeting_free_places = ( $meeting_user_ids != 0 ) ? ($meeting_places - $meeting_user_ids) : $meeting_places;

			$template->assign_block_vars('meeting_mod_on.meetingrow', array(
				'MEETING_SUBJECT' => $row['meeting_subject'],
				'MEETING_FREE_PLACES' => $lang['Meeting_free_places'].': '.$meeting_free_places,
				'MEETING_SIGNED_ON_USERS' => $lang['Meeting_userlist'].': '.$meeting_user_ids)
			);
		}
		$template->assign_vars(array(
			'MEETING_ACTIVE' => '[ '.$meeting_active_ids.' ]')
		);
		$db->sql_freeresult($result);
	}

$template->assign_block_vars('switch_meeting_active', array(
$template->assign_vars(array(
// TEMPLATE CODE VARS START
'meeting1' => $lang['meeting1'],
'meeting2' => $lang['meeting2']
// TEMPLATE CODE VARS END
))
));
}
// SWITCH MEETING END
Template:

Code: Alles auswählen

<!-- ##### Meeting START ##### -->
<!-- BEGIN switch_meeting_active -->
<table width="100%" border="0" cellpadding="1" cellspacing="1" style="border-collapse: collapse" class="forumline">
<tr>
<td class="catHead" colspan="2" height="25">
<p align="center"><span class="cattitle">
{meeting1}:
</span></td>
</tr>
<tr>
<td colspan="2" height="1" class="row3"><img src="images/spacer.gif" width="1" height="1" alt="."></td>
</tr>
<tr>  <!-- CODE -->
<td align="center" nowrap="nowrap" class="row1"><span class="gensmall"><b>{MEETING_LINK}</b></span></td>
		   </tr>
		<!-- BEGIN no_meeting -->
		   <tr>
			<td class="row1" align="left" 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"><b>{meeting_mod_on.meetingrow.MEETING_SUBJECT}</b><br />{meeting_mod_on.meetingrow.MEETING_FREE_PLACES}<br />{meeting_mod_on.meetingrow.MEETING_SIGNED_ON_USERS}</span></td>
		   </tr>
		<!-- END meetingrow -->
		   <tr>
			<td class="row2" align="center" colspan="2">{MEETING_ACTIVE}</td>
		   </tr>
           <!-- CODE -->
</span></td>
</tr>
</table>


<!-- END switch_meeting_active -->
<!-- ##### Meeting END ##### -->
Jörg
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Das Template müste so aussehen:

Code: Alles auswählen

<!-- ##### Meeting START ##### -->
<!-- BEGIN switch_meeting_active -->
<!-- BEGIN meeting_mod_on -->
<table width="100%" border="0" cellpadding="1" cellspacing="1" style="border-collapse: collapse" class="forumline">
<tr>
<td class="catHead" colspan="2" height="25">
<p align="center"><span class="cattitle">
{meeting1}:
</span></td>
</tr>
<tr>
<td colspan="2" height="1" class="row3"><img src="images/spacer.gif" width="1" height="1" alt="."></td>
</tr>
<tr>  <!-- CODE -->
<td align="center" nowrap="nowrap" class="row1"><span class="gensmall"><b>{MEETING_LINK}</b></span></td>
		   </tr>
		<!-- BEGIN no_meeting -->
		   <tr>
			<td class="row1" align="left" 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"><b>{meeting_mod_on.meetingrow.MEETING_SUBJECT}</b><br />{meeting_mod_on.meetingrow.MEETING_FREE_PLACES}<br />{meeting_mod_on.meetingrow.MEETING_SIGNED_ON_USERS}</span></td>
		   </tr>
		<!-- END meetingrow -->
		   <tr>
			<td class="row2" align="center" colspan="2">{MEETING_ACTIVE}</td>
		   </tr>
           <!-- CODE -->
</span></td>
</tr>
</table>

<!-- END meeting_mod_on -->
<!-- END switch_meeting_active -->
<!-- ##### Meeting END ##### -->
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
J?rg
Beiträge: 136
Registriert: So 20.Jun, 2004 18:51
Wohnort: Buseck
Kontaktdaten:

Beitrag von J?rg »

hmmm sobald ich diese Zeile hinzufüge, dann sehe
ich die Meeting-Tabelle nicht mehr im Index.php

Code: Alles auswählen

<!-- BEGIN meeting_mod_on --> 
Woher kommt Sie den??

Gruß Jörg
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Aus dem Mod ;)
Das Problem ist hier nun, daß 1 Switch in den anderen greift, um den Block darzustellen. Damit der Block ein-/ausschaltbar bleibt, sollte der Switch "switch_meeting_active" nicht ausgebaut werden. Dieser kollidiert aber mit dem Switch für das Meeting selber!
Und dann muss dieser Code-Block komplett geändert werden (ich befürchtete es bereits).
Also hier der Code für die portal.php:

Code: Alles auswählen

// SWITCH MEETING START
if( $introportalmod_config['meeting_active'] == "1" )
{
	$meeting_link = '<span class="genmed"><a href="'.append_sid("meeting.$phpEx").'" class="nav">'.$lang['Meeting'].'</a></span>';

	$template->assign_vars(array(
		'MEETING_LINK' => $meeting_link)
	);

	// 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
	{
		$sql_meeting_access = ' WHERE meeting_time > '.time();
	}

	if ( $meeting_active_ids == 0 )
	{
		$template->assign_block_vars('no_meeting', array(
			'NO_MEETING' => $lang['No_active_meetings'])
		);
	}
	else
	{
		$sql = "SELECT * FROM " . MEETING_DATA_TABLE . "
			$sql_meeting_access
			ORDER BY meeting_time DESC";
		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'];

			$sql_user = "SELECT count(user_id) AS total_users FROM " . MEETING_USER_TABLE . "
					WHERE meeting_id = $meeting_id
					AND 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['total_users'];
			}
			$db->sql_freeresult($result_user);

			$meeting_places = $row['meeting_places'];
			$meeting_free_places = ( $meeting_user_ids != 0 ) ? ($meeting_places - $meeting_user_ids) : $meeting_places;

			$template->assign_block_vars('meetingrow', array(
				'MEETING_SUBJECT' => $row['meeting_subject'],
				'MEETING_FREE_PLACES' => $lang['Meeting_free_places'].': '.$meeting_free_places,
				'MEETING_SIGNED_ON_USERS' => $lang['Meeting_userlist'].': '.$meeting_user_ids)
			);
		}
		$template->assign_vars(array(
			'MEETING_ACTIVE' => '[ '.$meeting_active_ids.' ]')
		);
		$db->sql_freeresult($result);
	}

$template->assign_block_vars('switch_meeting_active', array(
$template->assign_vars(array(
// TEMPLATE CODE VARS START
'meeting1' => $lang['meeting1'],
'meeting2' => $lang['meeting2']
// TEMPLATE CODE VARS END
))
));
}
// SWITCH MEETING END
und die portal_body.tpl

Code: Alles auswählen

<!-- ##### Meeting START ##### -->
<!-- BEGIN switch_meeting_active -->
<table width="100%" border="0" cellpadding="1" cellspacing="1" style="border-collapse: collapse" class="forumline">
<tr>
<td class="catHead" colspan="2" height="25">
<p align="center"><span class="cattitle">
{meeting1}:
</span></td>
</tr>
<tr>
<td colspan="2" height="1" class="row3"><img src="images/spacer.gif" width="1" height="1" alt="."></td>
</tr>
<tr>  <!-- CODE -->
<td align="center" nowrap="nowrap" class="row1"><span class="gensmall"><b>{MEETING_LINK}</b></span></td>
		   </tr>
		<!-- BEGIN no_meeting -->
		   <tr>
			<td class="row1" align="left" colspan="2"><span class="gensmall">{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"><b>{meetingrow.MEETING_SUBJECT}</b><br />{meetingrow.MEETING_FREE_PLACES}<br />{meetingrow.MEETING_SIGNED_ON_USERS}</span></td>
		   </tr>
		<!-- END meetingrow -->
		   <tr>
			<td class="row2" align="center" colspan="2">{MEETING_ACTIVE}</td>
		   </tr>
           <!-- CODE -->
</span></td>
</tr>
</table>


<!-- END switch_meeting_active -->
<!-- ##### Meeting END ##### -->
Das wäre nun dier korrektere Code. Da ich das Portal aber selber nicht verwende, kann ich es nur schwer testen. Ich drück die Daumen, daß es nun geht. Logisch sollte es so richtig sein.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten