<?php
/*
Plugin Ads after first post
(c) 2005-2008 by MyBBoard.de
Website: http://www.mybboard.de
Edited by: Mohammad Rastkar - http://www.mybbhelp.ir
*/
$plugins->add_hook("postbit", "adsafp");

//Informationen zum Plugin
function adsafp_info()
{
	return array(
		"name"        => "Ads after first post",
		"description" => "Displays ads after the posts in your forums.",
		"website"     => "http://www.mybboard.de",
		"author"      => "<a href=\"http://www.mybboard.de\">MyBBoard.de</a><br />Edited by: <a href=\"http://www.mybbhelp.ir\">Mohammad Rastkar</a>",
		"authorsite"  => "",
		"version"     => "2.4",
		"guid"        => "1c7274c3dd8a6ad850eac910dbd58e4c",
        "compatibility" => "16*"
		);
}

// Aktivierung
function adsafp_activate() {

    global $db;

	// Variablen für dieses Plugin einfügen
	require MYBB_ROOT."/inc/adminfunctions_templates.php";
		
	// first remove existing
	find_replace_templatesets("postbit", '#'.preg_quote('{$post[\'adsaf\']}').'#', '', 0);
	find_replace_templatesets("postbit_classic", '#'.preg_quote('{$post[\'adsaf\']}').'#', '', 0);
	
	rebuild_settings();
	
	// add to the end
	find_replace_templatesets("postbit", '/\z/', '{$post[\'adsaf\']}');
	find_replace_templatesets("postbit_classic", '/\z/', '{$post[\'adsaf\']}');
		
	// Einstellungsgruppe hinzufügen
	$adsafp_group = array(
		"name" => "Ads after first post",
		"title" => "Ads after first post",
		"description" => "Settings for the plugin.",
		"disporder" => "1",
		"isdefault" => "0"
		);
	$db->insert_query("settinggroups", $adsafp_group);
	$gid = $db->insert_id();
	
	// Einstellungen hinzufügen
	$adsafp_1 = array(
		"name" => "adsafp_code_onoff",
		"title" => "Activate/Deactivate",
		"description" => "Do you want to show ads after posts?",
		"optionscode" => "yesno",
		"value" => "1",
		"disporder" => "1",
		"gid" => intval($gid)
		);
	$db->insert_query("settings", $adsafp_1);

    $adsafp_2 = array(
		"name" => "adsafp_groups",
		"title" => "Usergroups",
		"description" => "Please enter the IDs of the usergroups that should see ads seperated with commas (0 = all groups).",
		"optionscode" => "text",
		"value" => "0",
		"disporder" => "2",
		"gid" => intval($gid)
		);
	$db->insert_query("settings", $adsafp_2);
		
	$adsafp_3 = array(
		"name" => "adsafp_align",
		"title" => "Alignment",
		"description" => "Choose the alignment.",
		"optionscode" => "radio\r\n1=Left\r\n2=Center\r\n3=Right",
		"value" => "2",
		"disporder" => "3",
		"gid" => intval($gid)
		);
	$db->insert_query("settings", $adsafp_3);
	
	$adsafp_4 = array(
		"name" => "adsafp_mode",
		"title" => "Mode",
		"description" => "Where do you want to show the ads?",
		"optionscode" => "radio\r\n1=After first post on each page (Default)\r\n2=After the first post and then after every x posts\r\n3=After every x posts",
		"value" => "1",
		"disporder" => "4",
		"gid" => intval($gid)
		);
	$db->insert_query("settings", $adsafp_4);
	
	$adsafp_5 = array(
		"name" => "adsafp_afterxposts",
		"title" => "Number of posts",
		"description" => "Enter the number of posts after that you want to display the ads (only necessary for the second mode)",
		"optionscode" => "text",
		"value" => "5",
		"disporder" => "5",
		"gid" => intval($gid)
		);
	$db->insert_query("settings", $adsafp_5);
	
	$adsafp_6 = array(
		"name" => "adsafp_code",
		"title" => "Code",
		"description" => "Enter the HTML code for the ads.",
		"optionscode" => "textarea",
		"value" => "",
		"disporder" => "6",
		"gid" => intval($gid)
		);
	$db->insert_query("settings", $adsafp_6);
	
	$adsafp_7 = array(
		"name" => "adsafp_table",
		"title" => "Table",
		"description" => "Show in a table?",
		"optionscode" => "yesno",
		"value" => 1,
		"disporder" => "7",
		"gid" => intval($gid)
		);
	$db->insert_query("settings", $adsafp_7);
	
	$adsafp_8 = array(
		"name" => "adsafp_title",
		"title" => "Table Title",
		"description" => "Title of the table.",
		"optionscode" => "text",
		"value" => "Advertisement",
		"disporder" => "8",
		"gid" => intval($gid)
		);
	$db->insert_query("settings", $adsafp_8);
	
	// settings.php erneuern
	rebuild_settings();
}

// Deaktivierung
function adsafp_deactivate() {

    global $db;

	// Variablen von dieses Plugin entfernen
	require MYBB_ROOT."/inc/adminfunctions_templates.php";	
	find_replace_templatesets("postbit", '#'.preg_quote('{$post[\'adsaf\']}').'#', '', 0);
	find_replace_templatesets("postbit_classic", '#'.preg_quote('{$post[\'adsaf\']}').'#', '', 0);
	
	// Einstellungsgruppen löschen
	$query = $db->query("SELECT gid FROM ".TABLE_PREFIX."settinggroups WHERE name='Ads after first post'");
	$g = $db->fetch_array($query);
	$db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE gid='".$g['gid']."'");

	// Einstellungen löschen
	$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE gid='".$g['gid']."'");

	// Rebuilt settings.php
	rebuild_settings();
}

// Funktionen
function adsafp(&$post)
{
    global $mybb, $postcounter, $theme, $post_extra_style;

    $post['adsaf'] = "";
    $adgroups = explode(",", $mybb->settings['adsafp_groups']);
    if($mybb->settings['adsafp_code_onoff'] != 0 && ($mybb->settings['adsafp_groups'] == 0 || in_array($mybb->user['usergroup'], $adgroups)))
	{
        // Alignment
        switch ($mybb->settings['adsafp_align']) {
        case 1:
            $ads_align = "left";
            break;
        case 2:
            $ads_align = "center";
            break;
        case 3:
            $ads_align = "right";
            break;
        }
		
		$ad_code = "";
		
		if ($mybb->settings['adsafp_table'] == 1) // with table
		{
		$ad_code = "
		<table border='0' cellspacing=\"{$theme['borderwidth']}\" cellpadding=\"{$theme['tablespace']}\" class='tborder' style=\"margin-top: 5px;\">
			<tbody>
				<tr>
					<td class='tcat'>
						<div class='smalltext' style='text-align:center; font-weight:bolder;'>
							{$mybb->settings['adsafp_title']}
						</div>
					</td>
				</tr>

				<tr>
					<td class=\"trow2 post_content {$unapproved_shade}\">
						<div class=\"adsafp\" style=\"text-align:".$ads_align.";\">"
							.stripslashes($mybb->settings['adsafp_code']).
						"</div>
					</td>
				</tr>
			</tbody>
		</table>
		";
		}
		else // without table
		{
			$ad_code = "<div class=\"adsafp\" style=\"text-align:".$ads_align.";\">".stripslashes($mybb->settings['adsafp_code'])."</div>";
		}
		
        // Ads after first post
        if ($mybb->settings['adsafp_mode'] == 1) {
            if (($postcounter - 1) % $mybb->settings['postsperpage'] == 0) {
                $post['adsaf'] = $ad_code;
            }
        }

        // Ads after first post and then every x posts
        if ($mybb->settings['adsafp_mode'] == 2) {
            if ($postcounter == "1" || ($postcounter - 1) % ($mybb->settings['adsafp_afterxposts']) == 0) {
                $post['adsaf'] = $ad_code;
            }
        }
    
        // Ads after every x posts
        if ($mybb->settings['adsafp_mode'] == 3) {
            if ($postcounter % ($mybb->settings['adsafp_afterxposts']) == 0) {
                $post['adsaf'] = $ad_code;
            }
        }
    }
}
?>