Changeset - c4bbbf34f9be
[Not reviewed]
0 1 0
Julia - 8 years ago 2017-12-28 13:00:14
midnightwhisper@web.de
Szenenanzahl / Usernamen gelöschte Charaktere

Im Profil lässt sich nun die gesamte Anzahl an Szenen aufrufen.
Außerdem werden gelöschte Charaktere im Profil-Szenentracker nicht mehr weiter als "Gast" bezeichnet, sondern werden nun mit ihrem richtigen alten Charakternamen angezeigt.
1 file changed with 6 insertions and 2 deletions:
0 comments (0 inline, 0 general)
inc/plugins/inplaytracker.php
Show inline comments
 
@@ -303,385 +303,385 @@ if(use_xmlhttprequest == "1")
 
		'dateline'	=> TIME_NOW
 
	);
 
	$db->insert_query("templates", $insert_array);
 

	
 
  $insert_array = array(
 
		'title'		=> 'newthread_inplaytracker_date',
 
		'template'	=> $db->escape_string('<tr>
 
<td class="trow1" width="20%"><strong>{$lang->inplaytracker_date}</strong></td>
 
<td class="trow1"><span class="smalltext"><select name="day">{$day_bit}</select> <select name="month">{$month_bit}</select>
 
<input type="text" name="year" value="{$year}" style="width: 55px;" /></td>
 
</tr>'),
 
		'sid'		=> '-1',
 
		'version'	=> '',
 
		'dateline'	=> TIME_NOW
 
	);
 
	$db->insert_query("templates", $insert_array);
 

	
 
	$insert_array = array(
 
        'title'        => 'newthread_inplaytracker_ort',
 
        'template'    => $db->escape_string('<tr>
 
<td class="trow1" width="20%"><strong>{$lang->inplaytracker_location}</strong></td>
 
<td class="trow1"><span class="smalltext"><input type="text" class="textbox" name="iport" size="40" maxlength="155" value="{$iport}" /> <br />{$lang->inplaytracker_location_desc}</span> </td>
 
</tr>'),
 
        'sid'        => '-1',
 
        'version'    => '',
 
        'dateline'    => TIME_NOW
 
    );
 
    $db->insert_query("templates", $insert_array);
 

	
 
		$insert_array = array(
 
	        'title'        => 'newthread_inplaytracker_daytime',
 
	        'template'    => $db->escape_string('<tr>
 
	<td class="trow1" width="20%"><strong>{$lang->inplaytracker_daytime}</strong></td>
 
	<td class="trow1"><span class="smalltext"><input type="text" class="textbox" name="ipdaytime" size="40" maxlength="155" value="{$ipdaytime}" /> <br />{$lang->inplaytracker_daytime_desc}</span> </td>
 
	</tr>'),
 
	        'sid'        => '-1',
 
	        'version'    => '',
 
	        'dateline'    => TIME_NOW
 
	    );
 
	    $db->insert_query("templates", $insert_array);
 

	
 
  $insert_array = array(
 
		'title'		=> 'misc_inplaytracker',
 
		'template'	=> $db->escape_string('<html>
 
<head>
 
<title>{$mybb->settings[\'bbname\']} - {$lang->inplaytracker}</title>
 
{$headerinclude}
 
</head>
 
<body>
 
{$header}
 
<table border="0" cellspacing="{$theme[\'borderwidth\']}" cellpadding="{$theme[\'tablespace\']}" class="tborder">
 
<tr>
 
<td class="thead"><strong>{$lang->inplaytracker}</strong></td>
 
</tr>
 
<tr>
 
<td class="trow1" align="center">
 
<h1><i>{$countgesamt}</i> {$lang->inplaytracker_all_scenes}, <i>{$opengesamt}</i> {$lang->inplaytracker_open_scenes}</h1>
 
{$scenes_user}
 
</td>
 
</tr>
 
</table>
 
{$footer}
 
</body>
 
</html>'),
 
		'sid'		=> '-1',
 
		'version'	=> '',
 
		'dateline'	=> TIME_NOW
 
	);
 
	$db->insert_query("templates", $insert_array);
 

	
 
  $insert_array = array(
 
		'title'		=> 'misc_inplaytracker_user',
 
		'template'	=> $db->escape_string('<table border="0" cellspacing="{$theme[\'borderwidth\']}" cellpadding="5" class="tborder smalltext" style="width: 85%; margin: 10px;">
 
	<tr>
 
		<td class="tcat" colspan="3">
 
			{$lang->inplaytracker_scenes_by} {$username} ({$lang->inplaytracker_all_scenes} <i>{$countscenes}</i>, <i>{$countactive}</i> {$lang->inplaytracker_open_scenes})
 
		</td>
 
	</tr>
 
	<tr class="trow2">
 
	<td width="20%">
 
		<strong>{$lang->inplaytracker_next_post}</strong>
 
	</td>
 
	<td>
 
		<strong>{$lang->inplaytracker_scene_information}</strong>
 
	</td>
 
	<td style="width: 25%">
 
		<strong>{$lang->inplaytracker_last_post}</strong>
 
	</td>
 
</tr>
 
{$scenes_bit}
 
</table>'),
 
		'sid'		=> '-1',
 
		'version'	=> '',
 
		'dateline'	=> TIME_NOW
 
	);
 
	$db->insert_query("templates", $insert_array);
 

	
 
  $insert_array = array(
 
		'title'		=> 'misc_inplaytracker_bit',
 
		'template'	=> $db->escape_string('<tr class="trow1">
 
	<td width="20%">
 
		{$status}
 
	</td>
 
	<td>
 
		<strong>{$lang->inplaytracker_characters}</strong> {$szene[\'partners\']}<br />
 
		<strong>{$lang->inplaytracker_date}</strong> {$szene[\'ipdate\']}
 
	</td>
 
	<td style="width: 25%">
 
	<a href="showthread.php?tid={$szene[\'tid\']}&pid={$lastpost}#pid{$lastpost}" target="blank">{$szene[\'subject\']}</a><br />
 
	{$szene[\'lastpost\']}<br />
 
	{$szene[\'lastposter\']}
 
	</td>
 
</tr>'),
 
		'sid'		=> '-1',
 
		'version'	=> '',
 
		'dateline'	=> TIME_NOW
 
	);
 
	$db->insert_query("templates", $insert_array);
 

	
 
	$insert_array = array(
 
		'title'		=> 'misc_inplaytracker_overview',
 
		'template'	=> $db->escape_string('<html>
 
<head>
 
<title>{$mybb->settings[\'bbname\']} - {$lang->inplaytracker}</title>
 
{$headerinclude}
 
</head>
 
<body>
 
{$header}
 
<table border="0" cellspacing="{$theme[\'borderwidth\']}" cellpadding="{$theme[\'tablespace\']}" class="tborder">
 
<tr>
 
<td class="thead"><strong>{$lang->inplaytracker}</strong></td>
 
</tr>
 
<tr>
 
<td class="trow1" align="center"><br />
 
	<table class="tborder" cellspacing="5" cellpadding="3" style="width: 95%; font-size: 11px;">
 
	<tr class="thead"><td>{$lang->inplaytracker_order_setting}</td><td>{$lang->inplaytracker_open_setting}</td></tr>
 
<form method="get" id="search_scene">
 
	<input type="hidden" name="action" value="inplay" />
 
	<tr class="trow1" align="center">
 
		<td><select name="postorder">
 
			<option value="1">{$lang->inplaytracker_order}</option>
 
			<option value="0">{$lang->inplaytracker_no_order}
 
			</option></select>
 
		</td>
 
		<td><select name="openscene">
 
			<option value="-1">{$lang->inplaytracker_closed}</option>
 
			<option value="0">{$lang->inplaytracker_halfopen}</option>
 
			<option value="1">{$lang->inplaytracker_open}</option>
 
			</select></td>
 
	</tr>
 
	<tr class="trow1" align="center"><td colspan="3"><input type="submit" class="button" value="{$lang->inplaytracker_search_scene}" /></td></tr>
 
</form>
 
</table><br />
 

	
 
	<table border="0" cellspacing="{$theme[\'borderwidth\']}" cellpadding="3" class="tborder" style="width: 95%; font-size: 11px;">
 
		<tr>
 
			<td class="tcat" colspan="3">
 
				{$lang->inplaytracker} ({$count_scenes} {$lang->inplaytracker_all_scenes})
 
			</td>
 
		</tr>
 
		<tr>
 
			<td>
 
				{$scene_bit}
 
			</td>
 
		</tr>
 
	</table><br />
 
</td>
 
</tr>
 
</table>
 
{$footer}
 
</body>
 
</html>'),
 
		'sid'		=> '-1',
 
		'version'	=> '',
 
		'dateline'	=> TIME_NOW
 
	);
 
	$db->insert_query("templates", $insert_array);
 

	
 
  $insert_array = array(
 
		'title'		=> 'header_inplaytracker',
 
		'template'	=> $db->escape_string('<li><a href="{$mybb->settings[\'bburl\']}/misc.php?action=scenes" class="search">{$lang->inplaytracker_scenes} ({$opengesamt}/{$countgesamt})</a></li><li><a href="{$mybb->settings[\'bburl\']}/misc.php?action=inplay" class="search">{$lang->inplaytracker}</a></li>'),
 
		'sid'		=> '-1',
 
		'version'	=> '',
 
		'dateline'	=> TIME_NOW
 
	);
 
	$db->insert_query("templates", $insert_array);
 

	
 
  $insert_array = array(
 
		'title'		=> 'member_profile_inplaytracker',
 
		'template'	=> $db->escape_string('<br />
 
<table border="0" cellspacing="{$theme[\'borderwidth\']}" cellpadding="5px" class="tborder tfixed">
 
<tr>
 
<td class="thead"><strong>{$lang->inplaytracker_scenes} ({$inplayposts} {$lang->inplaytracker_posts})</strong></td>
 
<td class="thead"><strong>{$lang->inplaytracker_scenes} ({$inplayposts} {$lang->inplaytracker_posts} / {$numscenes} {$lang->inplaytracker_scenes})</strong></td>
 
</tr>
 
<tr>
 
<td class="trow1">
 
	<div style="max-height: 200px; overflow: auto;">
 
		<table border="0" cellspacing="{$theme[\'borderwidth\']}" cellpadding="5px" class="tborder tfixed">
 
{$inplaytracker_bit}
 
		</table>
 
	</div>
 
</td>
 
</table>'),
 
		'sid'		=> '-1',
 
		'version'	=> '',
 
		'dateline'	=> TIME_NOW
 
	);
 
	$db->insert_query("templates", $insert_array);
 

	
 
  $insert_array = array(
 
		'title'		=> 'member_profile_inplaytracker_bit',
 
		'template'	=> $db->escape_string('<tr class="trow1">
 
	<td><a href="showthread.php?tid=$szenen[tid]" target="blank">$szenen[subject]</a><br />
 
		<span class="smalltext">{$szenen[\'ipdate\']}<br /><i>{$lang->inplaytracker_characters}</i>: {$szenen[\'partners\']}</span>
 
	</td>
 
</tr>'),
 
		'sid'		=> '-1',
 
		'version'	=> '',
 
		'dateline'	=> TIME_NOW
 
	);
 
	$db->insert_query("templates", $insert_array);
 

	
 
	$insert_array = array(
 
		'title'		=> 'member_profile_inplaytracker_lastpost',
 
		'template'	=> $db->escape_string('<tr>
 
					<td class="trow2"><strong>{$lang->inplaytracker_last_post}:</strong></td>
 
					<td class="trow2">{$last_inplaypost}</td>
 
				</tr>'),
 
		'sid'		=> '-1',
 
		'version'	=> '',
 
		'dateline'	=> TIME_NOW
 
	);
 
	$db->insert_query("templates", $insert_array);
 

	
 
	$insert_array = array(
 
				'title'        => 'showthread_inplaytracker',
 
				'template'    => $db->escape_string('<tr>
 
				<td>
 
	<table cellpadding="5" cellspacing="5" width="100%">
 
<tr>
 
	<td class="tcat" colspan="2">
 
		{$lang->inplaytracker_scene_information}
 
	</td>
 
</tr>
 
<tr>
 
	<td class="trow2" style="width: 100px !important;">
 
		<strong>{$lang->inplaytracker_characters}</strong>
 
	</td>
 
	<td class="trow2">
 
		{$thread[\'partners\']}
 
	</td>
 
</tr>
 
<tr>
 
	<td class="trow2" style="width: 100px !important;">
 
		<strong>{$lang->inplaytracker_date}</strong>
 
	</td>
 
	<td class="trow2">
 
		{$thread[\'ipdate\']}
 
	</td>
 
</tr>
 
{$inplaytracker_location}
 
{$inplaytracker_daytime}
 
{$inplaytracker_openscene}
 
{$inplaytracker_order}
 
	</table>
 
	</td>
 
</tr>'),
 
				'sid'        => '-1',
 
				'version'    => '',
 
				'dateline'    => TIME_NOW
 
		);
 
	$db->insert_query("templates", $insert_array);
 

	
 
	$insert_array = array(
 
				'title'        => 'showthread_inplaytracker_location',
 
				'template'    => $db->escape_string('<tr>
 
	<td class="trow2" style="width: 120px !important;">
 
		<strong>{$lang->inplaytracker_location}</strong>
 
	</td>
 
	<td class="trow2">
 
		{$thread[\'iport\']}
 
	</td>
 
</tr>'),
 
				'sid'        => '-1',
 
				'version'    => '',
 
				'dateline'    => TIME_NOW
 
		);
 
	$db->insert_query("templates", $insert_array);
 

	
 
	$insert_array = array(
 
				'title'        => 'showthread_inplaytracker_daytime',
 
				'template'    => $db->escape_string('<tr>
 
	<td class="trow2" style="width: 120px !important;">
 
		<strong>{$lang->inplaytracker_daytime}</strong>
 
	</td>
 
	<td class="trow2">
 
		{$thread[\'ipdaytime\']}
 
	</td>
 
</tr>'),
 
				'sid'        => '-1',
 
				'version'    => '',
 
				'dateline'    => TIME_NOW
 
		);
 
	$db->insert_query("templates", $insert_array);
 

	
 
	$insert_array = array(
 
				'title'        => 'showthread_inplaytracker_halfopenscene',
 
				'template'    => $db->escape_string('<tr>
 
	<td class="trow2" style="width: 100px !important;">
 
		<i class="fa fa-ticket" aria-hidden="true"></i> <strong>{$lang->inplaytracker_halfopen}</strong>
 
	</td>
 
	<td class="trow2">
 
		{$lang->inplaytracker_scene_halfopen}
 
	</td>
 
</tr>'),
 
				'sid'        => '-1',
 
				'version'    => '',
 
				'dateline'    => TIME_NOW
 
		);
 
	$db->insert_query("templates", $insert_array);
 

	
 
	$insert_array = array(
 
				'title'        => 'showthread_inplaytracker_openscene',
 
				'template'    => $db->escape_string('<tr>
 
	<td class="trow2" style="width: 100px !important;">
 
		<i class="fa fa-ticket" aria-hidden="true"></i> <strong>{$lang->inplaytracker_open}</strong>
 
	</td>
 
	<td class="trow2">
 
		{$lang->inplaytracker_scene_open} <a href="misc.php?action=add_partner&tid={$thread[\'tid\']}&uid={$mybb->user[\'uid\']}">{$lang->inplaytracker_add_partner}</a>
 
	</td>
 
</tr>'),
 
				'sid'        => '-1',
 
				'version'    => '',
 
				'dateline'    => TIME_NOW
 
		);
 
	$db->insert_query("templates", $insert_array);
 

	
 
	$insert_array = array(
 
				'title'        => 'showthread_inplaytracker_order',
 
				'template'    => $db->escape_string('<tr>
 
	<td class="trow2" style="width: 100px !important;">
 
		<i class="fa fa-ticket" aria-hidden="true"></i> <strong>{$lang->inplaytracker_no_order}</strong>
 
	</td>
 
	<td class="trow2">
 
		{$lang->inplaytracker_scene_no_order}</a>
 
	</td>
 
</tr>'),
 
				'sid'        => '-1',
 
				'version'    => '',
 
				'dateline'    => TIME_NOW
 
		);
 
	$db->insert_query("templates", $insert_array);
 

	
 
}
 

	
 
function inplaytracker_deactivate()
 
{
 
  global $db, $mybb;
 

	
 
  // Variablen entfernen
 
  include MYBB_ROOT."/inc/adminfunctions_templates.php";
 
	find_replace_templatesets("newthread", "#".preg_quote('{$tracker_partners} {$tracker_date}')."#i", '', 0);
 
	find_replace_templatesets("newthread", "#".preg_quote('{$tracker_ort}')."#i", '', 0);
 
	find_replace_templatesets("newthread", "#".preg_quote('{$tracker_daytime}')."#i", '', 0);
 
	find_replace_templatesets("editpost", "#".preg_quote('{$tracker_partners} {$tracker_date}')."#i", '', 0);
 
	find_replace_templatesets("editpost", "#".preg_quote('{$tracker_ort}')."#i", '', 0);
 
	find_replace_templatesets("editpost", "#".preg_quote('{$tracker_daytime}')."#i", '', 0);
 
  find_replace_templatesets("header", "#".preg_quote('{$menu_inplaytracker}')."#i", '', 0);
 
  find_replace_templatesets("member_profile", "#".preg_quote('{$inplaytracker}')."#i", '', 0);
 
  find_replace_templatesets("member_profile", "#".preg_quote('{$inplaytracker_lastpost}')."#i", '', 0);
 
	find_replace_templatesets("showthread", "#".preg_quote('{$inplaytracker}')."#i", '', 0);
 

	
 
	// Templates entfernen
 
  $db->delete_query("templates", "title LIKE '%inplaytracker%'");
 
}
 

	
 
function inplaytracker_newthread()
 
{
 
  global $mybb, $lang, $templates, $post_errors, $forum, $thread, $tracker_partners, $tracker_date, $tracker_ort, $tracker_daytime;
 
	$lang->load('inplaytracker');
 

	
 
  $inplaykategorie = $mybb->settings['inplaytracker_forum'];
 

	
 
	$forum['parentlist'] = ",".$forum['parentlist'].",";
 
	if(preg_match("/,$inplaykategorie,/i", $forum['parentlist'])) {
 
@@ -1077,430 +1077,434 @@ function inplaytracker_misc()
 
				$szene['lastpost'] = my_date('relative', $szene['lastpost']);
 
				if(my_strlen($szene['subject']) > 35) {
 
					$szene['subject'] = my_substr($szene['subject'], 0, 35)."...";
 
				}
 
				$status = $private[$szene[openscene]];
 
				$status .= "<br />".$order[$szene[postorder]];
 
				$lastpost = $db->fetch_field($db->query("SELECT pid FROM ".TABLE_PREFIX."posts WHERE tid = '$szene[tid]' ORDER BY pid DESC LIMIT 1"), "pid");
 
				eval("\$scene_bit .= \"".$templates->get("misc_inplaytracker_bit")."\";");
 
			}
 
		}
 
		else {
 
			$months = explode(", ", $mybb->settings['inplaytracker_months']);
 
			$count_scenes = "0";
 
			foreach($months as $month) {
 
				$query = $db->query("SELECT *, ".TABLE_PREFIX."threads.lastpost, ".TABLE_PREFIX."threads.partners, ".TABLE_PREFIX."threads.iport, ".TABLE_PREFIX."threads.postorder, ".TABLE_PREFIX."threads.ipdaytime, ".TABLE_PREFIX."threads.subject, ".TABLE_PREFIX."threads.lastposter, ".TABLE_PREFIX."threads.ipdate, ".TABLE_PREFIX."threads.lastposteruid FROM ".TABLE_PREFIX."threads
 
				LEFT JOIN ".TABLE_PREFIX."posts ON ".TABLE_PREFIX."threads.lastpost = ".TABLE_PREFIX."posts.dateline
 
				LEFT JOIN ".TABLE_PREFIX."forums ON ".TABLE_PREFIX."threads.fid = ".TABLE_PREFIX."forums.fid
 
				WHERE ".TABLE_PREFIX."forums.parentlist LIKE '$ipforum,%'
 
				AND ".TABLE_PREFIX."threads.partners != ''
 
				AND ".TABLE_PREFIX."threads.postorder LIKE '$postorder'
 
				AND ".TABLE_PREFIX."threads.openscene LIKE '$openscene'
 
				AND ".TABLE_PREFIX."threads.ipdate LIKE '%$month%'
 
				ORDER by CAST(".TABLE_PREFIX."threads.ipdate AS signed)");
 
				while($szene = $db->fetch_array($query)) {
 
					$count_scenes++;
 
					$partners = explode(",", $szene['partners']);
 
					$partnerusers = array();
 
					foreach ($partners as $partner) {
 
						$charakter = get_user($partner);
 
						$taguser = build_profile_link($charakter['username'], $partner);
 
						$partnerusers[] = $taguser;
 
					}
 
					$szene['partners'] = implode(" &raquo; ", $partnerusers);
 
					$szene['lastpost'] = my_date('relative', $szene['lastpost']);
 
					if(my_strlen($szene['subject']) > 35) {
 
						$szene['subject'] = my_substr($szene['subject'], 0, 35)."...";
 
					}
 
					$private = array("-1" => "{$lang->inplaytracker_closed}", "0" => "{$lang->inplaytracker_halfopen}", "1" => "{$lang->inplaytracker_open}");
 
					$status = $private[$szene[openscene]];
 
					$order = array("0" => "{$lang->inplaytracker_no_order}", "1" => "{$lang->inplaytracker_order}",);
 
					$status .= "<br />".$order[$szene[postorder]];
 
					$lastpost = $db->fetch_field($db->query("SELECT pid FROM ".TABLE_PREFIX."posts WHERE tid = '$szene[tid]' ORDER BY pid DESC LIMIT 1"), "pid");
 
					eval("\$scene_bit .= \"".$templates->get("misc_inplaytracker_bit")."\";");
 
				}
 
			}
 
		}
 
		eval("\$page = \"".$templates->get("misc_inplaytracker_overview")."\";");
 
		output_page($page);
 
	}
 

	
 
	if($mybb->input['action'] == "add_partner") {
 
		$uid = $mybb->get_input('uid');
 
		$tid = $mybb->get_input('tid');
 
		$thread = get_thread($tid);
 
		$partners = explode(",", $thread['partners']);
 
		if(!in_array($uid, $partners)) {
 
			$lastposteruid = $thread['lastposteruid'];
 
			$lastposterkey = array_search($lastposteruid, $partners);
 
			array_splice($partners, $lastposterkey+1, 0, $uid);
 
			$partners = implode(",", $partners);
 
			$new_record = array(
 
				"partners" => $partners
 
			);
 
			$db->update_query("threads", $new_record, "tid = '$tid'");
 
		}
 
		redirect("showthread.php?tid={$tid}", "Dein Charakter wurde hinzugefügt!");
 
	}
 

	
 
  if($mybb->input['action'] == "scenes") {
 
  	$ipforum = $mybb->settings['inplaytracker_forum'];
 
    $email = $mybb->user['email'];
 
		$query = $db->query("SELECT username, uid FROM ".TABLE_PREFIX."users WHERE ".TABLE_PREFIX."users.email = '$email' ORDER By ".TABLE_PREFIX."users.username ASC");
 
		$countgesamt = 0;
 
		$opengesamt = 0;
 
		while($user = $db->fetch_array($query)) {
 
			$username = $user['username'];
 
			$ownuid = $user['uid'];
 
			$query1 = $db->query("SELECT *, ".TABLE_PREFIX."threads.lastpost, ".TABLE_PREFIX."threads.partners, ".TABLE_PREFIX."threads.iport, ".TABLE_PREFIX."threads.postorder, ".TABLE_PREFIX."threads.ipdaytime, ".TABLE_PREFIX."threads.subject, ".TABLE_PREFIX."threads.lastposter, ".TABLE_PREFIX."threads.ipdate, ".TABLE_PREFIX."threads.lastposteruid FROM ".TABLE_PREFIX."threads
 
			LEFT JOIN ".TABLE_PREFIX."posts ON ".TABLE_PREFIX."threads.lastpost = ".TABLE_PREFIX."posts.dateline
 
      LEFT JOIN ".TABLE_PREFIX."forums ON ".TABLE_PREFIX."threads.fid = ".TABLE_PREFIX."forums.fid
 
      WHERE ".TABLE_PREFIX."forums.parentlist LIKE '$ipforum,%'
 
			ORDER by ".TABLE_PREFIX."threads.lastpost DESC");
 
			$scenes_bit = "";
 
			$countscenes = 0;
 
			$countactive = 0;
 
			while($szene = $db->fetch_array($query1)) {
 
				$szenen_partner = ",".$szene['partners'].",";
 
				if(preg_match("/,$ownuid,/i", $szenen_partner)) {
 
					$countgesamt++;
 
					$tagged = explode(",", $szene['partners']);
 
  				$szene['lastpost'] = my_date('relative', $szene['lastpost']);
 
					if(my_strlen($szene['subject']) > 35) {
 
			    	$szene['subject'] = my_substr($szene['subject'], 0, 35)."...";
 
			  	}
 
					$key = array_search($szene['lastposteruid'], $tagged);
 
	      	$key = $key + 1;
 
	      	$next = $tagged[$key];
 
	      	if(!$tagged[$key]) {
 
	        	$next = $tagged[0];
 
	      	}
 
					$next = get_user($next);
 
					$next = $next['username'];
 
					if($next == $username && $szene['postorder'] == "1") {
 
	          $status = "<center><span style=\"text-transform: uppercase; font-size: 12px; font-weight: bold; color: #66B84B\">DU BIST DRAN!</span></center>";
 
					  $countactive++;
 
					  $opengesamt++;
 
					}
 
	        if($next != $username && $szene['postorder'] == "1") {
 
	          $status = "<center><span style=\"text-transform: uppercase; font-size: 12px; font-weight: bold; color: #B8664B\">$next</span></center>";
 
	        }
 
					if($szene['postorder'] == "0") {
 
						$status = "<center><span style=\"text-transform: uppercase; font-size: 12px; font-weight: bold; color: #B8664B\">{$lang->inplaytracker_no_order}</span></center>";
 
					}
 
					$countscenes++;
 
					$szene['lastposter'] = build_profile_link($szene['lastposter'],$szene['lastposteruid']);
 
					$partners = explode(",", $szene['partners']);
 
					$partnerusers = array();
 
					foreach ($partners as $partner) {
 
						$charakter = get_user($partner);
 
						$taguser = build_profile_link($charakter['username'], $partner);
 
						$partnerusers[] = $taguser;
 
					}
 
					$szene['partners'] = implode(" &raquo; ", $partnerusers);
 
					if($mybb->settings['inplaytracker_timeformat'] == "0") {
 
						$szene['ipdate'] = date("d.m.Y", $szene['ipdate']);
 
					}
 
					$lastpost = $db->fetch_field($db->query("SELECT pid FROM ".TABLE_PREFIX."posts WHERE tid = '$szene[tid]' ORDER BY pid DESC LIMIT 1"), "pid");
 
					eval("\$scenes_bit .= \"".$templates->get("misc_inplaytracker_bit")."\";");
 
				}
 
			}
 
			eval("\$scenes_user .= \"".$templates->get("misc_inplaytracker_user")."\";");
 
		}
 
    eval("\$page = \"".$templates->get("misc_inplaytracker")."\";");
 
    output_page($page);
 
  }
 
}
 

	
 
function inplaytracker_global()
 
{
 
  global $mybb, $db, $lang, $templates, $menu_inplaytracker, $test;
 
	$lang->load('inplaytracker');
 

	
 
  $ipforum = $mybb->settings['inplaytracker_forum'];
 
  $email = $mybb->user['email'];
 

	
 
  $query = $db->query("SELECT username, uid FROM ".TABLE_PREFIX."users WHERE ".TABLE_PREFIX."users.email = '$email' ORDER By ".TABLE_PREFIX."users.username ASC");
 

	
 
  $countgesamt = 0;
 
  $opengesamt = 0;
 

	
 
  while($user = $db->fetch_array($query)) {
 

	
 
    $username = $user['username'];
 
	$ownuid = $user['uid'];
 

	
 
    $query1 = $db->query("SELECT *, ".TABLE_PREFIX."threads.partners, ".TABLE_PREFIX."threads.postorder, ".TABLE_PREFIX."threads.lastposter, ".TABLE_PREFIX."threads.lastposteruid FROM ".TABLE_PREFIX."threads
 
    LEFT JOIN ".TABLE_PREFIX."posts ON ".TABLE_PREFIX."threads.lastpost = ".TABLE_PREFIX."posts.dateline
 
    LEFT JOIN ".TABLE_PREFIX."forums ON ".TABLE_PREFIX."threads.fid = ".TABLE_PREFIX."forums.fid
 
    WHERE ".TABLE_PREFIX."forums.parentlist LIKE '$ipforum,%'");
 

	
 
    while($szene = $db->fetch_array($query1)) {
 
		$next = "";
 
			$szenen_partner = ",".$szene['partners'].",";
 
			if(preg_match("/,$ownuid,/i", $szenen_partner)) {
 
      $countgesamt++;
 

	
 
      $tagged = explode(",", $szene['partners']);
 

	
 
      $key = array_search($szene['lastposteruid'], $tagged);
 
      $key = $key + 1;
 
      $next = $tagged[$key];
 
	  if(!$tagged[$key]) {
 
        $next = $tagged[0];
 
      }
 
				
 
      $next = get_user($next);
 
	  $next = $next['username'];
 

	
 
      if($next == $username && $szene['postorder'] == "1") {
 
        $opengesamt++;
 
		  $test .= $szene[subject];
 
      }
 

	
 

	
 
		}
 
    }
 
  }
 

	
 
	eval("\$menu_inplaytracker = \"".$templates->get("header_inplaytracker")."\";");
 
}
 

	
 
function inplaytracker_profile() {
 
  global $db, $mybb, $lang, $templates, $memprofile, $inplaytracker_lastpost, $inplaytracker, $inplaytracker_bit;
 
  global $db, $mybb, $lang, $templates, $memprofile, $inplaytracker_lastpost, $inplaytracker, $inplaytracker_bit, $numscenes;
 
	$lang->load('inplaytracker');
 

	
 
  $ipforum = $mybb->settings['inplaytracker_forum'];
 
  $archiv = $mybb->settings['inplaytracker_archiv'];
 

	
 
	$last_inplaypost = $db->fetch_field($db->query("SELECT ".TABLE_PREFIX."posts.dateline FROM ".TABLE_PREFIX."posts
 
	LEFT JOIN ".TABLE_PREFIX."threads on ".TABLE_PREFIX."threads.tid = ".TABLE_PREFIX."posts.tid
 
	LEFT JOIN ".TABLE_PREFIX."forums on ".TABLE_PREFIX."forums.fid = ".TABLE_PREFIX."threads.fid
 
	WHERE ".TABLE_PREFIX."posts.username = '$memprofile[username]'
 
  AND (".TABLE_PREFIX."forums.parentlist LIKE '$ipforum,%'
 
  OR ".TABLE_PREFIX."forums.parentlist LIKE '%,$archiv%')
 
	AND ".TABLE_PREFIX."posts.visible = '1'"), "dateline");
 
	$last_inplaypost = my_date("relative", $last_inplaypost);
 
	eval("\$inplaytracker_lastpost .= \"".$templates->get("member_profile_inplaytracker_lastpost")."\";");
 

	
 
  $inplayposts = $db->fetch_field($db->query("SELECT COUNT(*) AS inplayposts FROM ".TABLE_PREFIX."posts
 
	LEFT JOIN ".TABLE_PREFIX."threads on ".TABLE_PREFIX."threads.tid = ".TABLE_PREFIX."posts.tid
 
	LEFT JOIN ".TABLE_PREFIX."forums on ".TABLE_PREFIX."forums.fid = ".TABLE_PREFIX."threads.fid
 
	WHERE ".TABLE_PREFIX."posts.username = '$memprofile[username]'
 
  AND (".TABLE_PREFIX."forums.parentlist LIKE '$ipforum,%'
 
  OR ".TABLE_PREFIX."forums.parentlist LIKE '%,$archiv%')
 
	AND ".TABLE_PREFIX."posts.visible = '1'"), "inplayposts");
 
  if($inplayposts != "0") {
 
		if($mybb->settings['inplaytracker_timeformat'] == "0") {
 
			$query = $db->query("SELECT * , ".TABLE_PREFIX."threads.partners, ".TABLE_PREFIX."threads.ipdate, ".TABLE_PREFIX."threads.iport, ".TABLE_PREFIX."threads.ipdaytime, ".TABLE_PREFIX."threads.subject FROM ".TABLE_PREFIX."threads
 
			LEFT JOIN ".TABLE_PREFIX."posts ON ".TABLE_PREFIX."threads.tid = ".TABLE_PREFIX."posts.tid
 
			LEFT JOIN ".TABLE_PREFIX."forums ON ".TABLE_PREFIX."forums.fid = ".TABLE_PREFIX."threads.fid
 
			WHERE (".TABLE_PREFIX."forums.parentlist LIKE '%$ipforum%' OR ".TABLE_PREFIX."forums.parentlist LIKE '%,$archiv%')
 
			AND ".TABLE_PREFIX."threads.visible = '1'
 
			GROUP by ".TABLE_PREFIX."threads.tid
 
			ORDER by ".TABLE_PREFIX."threads.ipdate ASC
 
			");
 
			while($szenen = $db->fetch_array($query)) {
 
				$ownuid = $memprofile['uid'];
 
				$szenen_partner = ",".$szenen['partners'].",";
 
				if(preg_match("/,$ownuid,/i", $szenen_partner)) {
 
					$partners = explode(",", $szenen['partners']);
 
					$partnerusers = array();
 
					foreach ($partners as $partner) {
 
						$charakter = get_user($partner);
 
						$taguser = build_profile_link($charakter['username'], $partner);
 
						if(empty($charakter)) {
 
							$taguser = $db->fetch_field($db->query("SELECT username FROM ".TABLE_PREFIX."posts WHERE tid = '$szenen[tid]' AND uid = '$partner'"), "username");
 
						}
 
						$partnerusers[] = $taguser;
 
					}
 
					$szenen['partners'] = implode(" &raquo; ", $partnerusers);
 
					$szenen['ipdate'] = date("d.m.Y", $szenen['ipdate']);
 
					$numscenes;;
 
	    		eval("\$inplaytracker_bit .= \"".$templates->get("member_profile_inplaytracker_bit")."\";");
 
				}
 
			}
 
		}
 
		else {
 
			$months = explode(", ", $mybb->settings['inplaytracker_months']);
 
			foreach($months as $month) {
 
				$query = $db->query("SELECT * , ".TABLE_PREFIX."threads.partners, ".TABLE_PREFIX."threads.ipdate, ".TABLE_PREFIX."threads.iport, ".TABLE_PREFIX."threads.ipdaytime, ".TABLE_PREFIX."threads.subject FROM ".TABLE_PREFIX."threads
 
				LEFT JOIN ".TABLE_PREFIX."posts ON ".TABLE_PREFIX."threads.tid = ".TABLE_PREFIX."posts.tid
 
				LEFT JOIN ".TABLE_PREFIX."forums ON ".TABLE_PREFIX."forums.fid = ".TABLE_PREFIX."threads.fid
 
				WHERE (".TABLE_PREFIX."forums.parentlist LIKE '%$ipforum%' OR ".TABLE_PREFIX."forums.parentlist LIKE '%,$archiv%')
 
				AND ".TABLE_PREFIX."threads.ipdate LIKE '%$month%'
 
				GROUP by ".TABLE_PREFIX."threads.tid
 
				ORDER by CAST(".TABLE_PREFIX."threads.ipdate AS signed)
 
				");
 
				while($szenen = $db->fetch_array($query)) {
 
					$ownuid = $memprofile['uid'];
 
					$szenen_partner = ",".$szenen['partners'].",";
 
					if(preg_match("/,$ownuid,/i", $szenen_partner)) {
 
						$partners = explode(",", $szenen['partners']);
 
						$partnerusers = array();
 
						foreach ($partners as $partner) {
 
							$charakter = get_user($partner);
 
							$taguser = build_profile_link($charakter['username'], $partner);
 
							$partnerusers[] = $taguser;
 
						}
 
						$szenen['partners'] = implode(" &raquo; ", $partnerusers);
 
		    		eval("\$inplaytracker_bit .= \"".$templates->get("member_profile_inplaytracker_bit")."\";");
 
					}
 
				}
 
			}
 
		}
 
		eval("\$inplaytracker = \"".$templates->get("member_profile_inplaytracker")."\";");
 
	}
 
}
 

	
 
function inplaytracker_showthread() {
 
	global $mybb, $db, $lang, $user, $templates, $thread, $inplaytracker, $inplaytracker_location;
 
	$lang->load('inplaytracker');
 
	$uid = $mybb->user['uid'];
 

	
 
	$parentlist = $db->fetch_field($db->query("SELECT parentlist FROM mybb_forums WHERE fid = '$thread[fid]'"), "parentlist");
 
	 $inplaykategorie = $mybb->settings['inplaytracker_forum'];
 
         $archiv = $mybb->settings['inplaytracker_archiv'];
 
    	 $parentlist = ",".$parentlist.",";
 
    	 if(preg_match("/,$inplaykategorie,/i", $parentlist) OR preg_match("/,$archiv,/i", $parentlist)) {
 
		if($mybb->settings['inplaytracker_location'] == "1") {
 
			eval("\$inplaytracker_location = \"".$templates->get("showthread_inplaytracker_location")."\";");
 
		}
 
		if($mybb->settings['inplaytracker_daytime'] == "1") {
 
			eval("\$inplaytracker_daytime = \"".$templates->get("showthread_inplaytracker_daytime")."\";");
 
		}
 
		if($mybb->settings['inplaytracker_timeformat'] == "0") {
 
			$thread['ipdate'] = date("d.m.Y", $thread['ipdate']);
 
		}
 
		$partners = explode(",", $thread['partners']);
 
		$partnerusers = array();
 
		foreach ($partners as $partner) {
 
			$charakter = get_user($partner);
 
			$taguser = build_profile_link($charakter['username'], $partner);
 
			$partnerusers[] = $taguser;
 
		}
 
		$thread['partners'] = implode(" &raquo; ", $partnerusers);
 
		$thread['partners'] = implode(" &raquo; ", $partnerusers);
 
		if($thread['openscene'] == "1" && !in_array($uid, $partners)) {
 
			eval("\$inplaytracker_openscene = \"".$templates->get("showthread_inplaytracker_openscene")."\";");
 
		}
 
		elseif($thread['openscene'] == "0"  && !in_array($uid, $partners)) {
 
			eval("\$inplaytracker_openscene = \"".$templates->get("showthread_inplaytracker_halfopenscene")."\";");
 
		}
 
		else {
 
			$inplaytracker_openscene = "";
 
		}
 
		if($thread['postorder'] == "0") {
 
			eval("\$inplaytracker_order = \"".$templates->get("showthread_inplaytracker_order")."\";");
 
		}
 
		else {
 
			$inplaytracker_order = "";
 
		}
 
		eval("\$inplaytracker = \"".$templates->get("showthread_inplaytracker")."\";");
 
	}
 
}
 
function inplaytracker_alerts() {
 
	global $mybb, $lang;
 
	$lang->load('inplaytracker');
 
	/**
 
	 * Alert formatter for my custom alert type.
 
	 */
 
	class MybbStuff_MyAlerts_Formatter_InplaytrackerNewthreadFormatter extends MybbStuff_MyAlerts_Formatter_AbstractFormatter
 
	{
 
	    /**
 
	     * Format an alert into it's output string to be used in both the main alerts listing page and the popup.
 
	     *
 
	     * @param MybbStuff_MyAlerts_Entity_Alert $alert The alert to format.
 
	     *
 
	     * @return string The formatted alert string.
 
	     */
 
	    public function formatAlert(MybbStuff_MyAlerts_Entity_Alert $alert, array $outputAlert)
 
	    {
 
	        return $this->lang->sprintf(
 
	            $this->lang->inplaytracker_newthread,
 
	            $outputAlert['from_user'],
 
	            $outputAlert['dateline']
 
	        );
 
	    }
 

	
 
	    /**
 
	     * Init function called before running formatAlert(). Used to load language files and initialize other required
 
	     * resources.
 
	     *
 
	     * @return void
 
	     */
 
	    public function init()
 
	    {
 
	        if (!$this->lang->inplaytracker) {
 
	            $this->lang->load('inplaytracker');
 
	        }
 
	    }
 

	
 
	    /**
 
	     * Build a link to an alert's content so that the system can redirect to it.
 
	     *
 
	     * @param MybbStuff_MyAlerts_Entity_Alert $alert The alert to build the link for.
 
	     *
 
	     * @return string The built alert, preferably an absolute link.
 
	     */
 
	    public function buildShowLink(MybbStuff_MyAlerts_Entity_Alert $alert)
 
	    {
 
	        return $this->mybb->settings['bburl'] . '/' . get_thread_link($alert->getObjectId());
 
	    }
 
	}
 

	
 
	if (class_exists('MybbStuff_MyAlerts_AlertFormatterManager')) {
 
		$formatterManager = MybbStuff_MyAlerts_AlertFormatterManager::getInstance();
 

	
 
		if (!$formatterManager) {
 
			$formatterManager = MybbStuff_MyAlerts_AlertFormatterManager::createInstance($mybb, $lang);
 
		}
 

	
 
		$formatterManager->registerFormatter(
 
				new MybbStuff_MyAlerts_Formatter_InplaytrackerNewthreadFormatter($mybb, $lang, 'inplaytracker_newthread')
 
		);
 
	}
 

	
 
	/**
 
	 * Alert formatter for my custom alert type.
 
	 */
 
	class MybbStuff_MyAlerts_Formatter_InplaytrackerNewreplyFormatter extends MybbStuff_MyAlerts_Formatter_AbstractFormatter
 
	{
 
			/**
 
			 * Format an alert into it's output string to be used in both the main alerts listing page and the popup.
 
			 *
 
			 * @param MybbStuff_MyAlerts_Entity_Alert $alert The alert to format.
 
			 *
 
			 * @return string The formatted alert string.
 
			 */
 
			public function formatAlert(MybbStuff_MyAlerts_Entity_Alert $alert, array $outputAlert)
 
			{
 
					$alertContent = $alert->getExtraDetails();
 
					return $this->lang->sprintf(
 
							$this->lang->inplaytracker_newreply,
 
							$outputAlert['from_user'],
 
							$alertContent['subject'],
 
							$outputAlert['dateline']
 
					);
 
			}
 

	
 
			/**
 
			 * Init function called before running formatAlert(). Used to load language files and initialize other required
 
			 * resources.
 
			 *
 
			 * @return void
 
			 */
 
			public function init()
 
			{
 
					if (!$this->lang->inplaytracker) {
 
							$this->lang->load('inplaytracker');
 
					}
 
			}
 

	
 
			/**
 
			 * Build a link to an alert's content so that the system can redirect to it.
 
			 *
 
			 * @param MybbStuff_MyAlerts_Entity_Alert $alert The alert to build the link for.
 
			 *
 
			 * @return string The built alert, preferably an absolute link.
 
			 */
 
			public function buildShowLink(MybbStuff_MyAlerts_Entity_Alert $alert)
 
			{
 
					$alertContent = $alert->getExtraDetails();
 
					return $this->mybb->settings['bburl'] . '/' . get_post_link((int) $alertContent['lastpost'], (int) $alert->getObjectId()) . '#pid' . $alertContent['lastpost'];
 
			}
0 comments (0 inline, 0 general)