<?php

/**
* MyBB Plugin:  Minimum of posts to see link
* Author : Joey_Pham
* http://mybbvn.com
**/
if(!defined("IN_MYBB"))
{
	die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}
$plugins->add_hook("parse_message", "linkminimumposts");
$plugins->add_hook("parse_message", "linkminimumposts_guest");


function linkminimumposts_info()
{
	return array(
		"name"			=> "Minimum of posts to be able to see link.",
		"description"	=> "Ustaw minimalną ilość postów aby użytkownik mógł zobaczyć link",
		"website"		=> "http://mybbvn.com/",
		"version"		=> "1.1",
		"author"		=> "Joey_Pham",
		"authorsite"	=> "http://mybbvn.com",
		"compatibility"  => "18*",
		'guid'        => ''
	);
}
function linkminimumposts_activate()
{
	global $db;

$settings_group = array(
		'name' => 'linkminimumposts',
		'title' => 'Minimalna ilość postów aby zobaczyć link',
		'description' => 'Ustawienia pluginu',
		'disporder' => '1',
		'isdefault' => '1'
	);
	$db->insert_query('settinggroups',$settings_group);
	$gid = $db->insert_id();

	$setting = array(
		'name' => 'enablelinkminimumposts',
		'title' => 'Włączyć plugin?',
		'description' => 'Czy chcesz włączyć wymaganą minimalną ilość postów, aby zobaczyć link?',
		'optionscode' => 'yesno',
		'value' => '1',
		'disporder' => '1',
		'gid' => intval($gid)
	);
	$db->insert_query('settings',$setting);

	$link_minimumposts = array(
		"name" => "link_minimumposts",
		"title" => "Liczba wymaganych postów",
		"description" => "Proszę wpisać liczbę, od której będą dostępne linki. Domyślnie jest to 5 postów.",
		"optionscode" => "text",
		"value" => "5",
		"disporder" => "2",
		"gid" => intval($gid),
		);
			$db->insert_query("settings", $link_minimumposts);
		
		    $link_minimumposts_message = array(
        "sid"			=> "NULL",
        "name"			=> "link_minimumposts_message",
        "title"			=> "Wiadomość dla użytkowników",
        "description"	=> "Wpisz wiadomość jaką będą widzieli użytkownicy, gdy nie będą posiadać wymaganej liczby postów (Można używać HTML):",
        "optionscode"	=> "textarea",
        "value"			=> "<font color=\"red\">Musisz mieć na swiom koncie 5 postów aby zobaczyć ten link.</font>",
        "disporder"		=> "3",
        "gid"			=> intval($gid),
        );
	$db->insert_query("settings", $link_minimumposts_message);
	
	    $hidelinks_guest_message = array(
        "sid"			=> "NULL",
        "name"			=> "hidelinks_guest_message",
        "title"			=> "Wiadomosć dla gości",
        "description"	=> "Wpisz wiadomość jaką będą widzieli goście (Można używać HTML):",
        "optionscode"	=> "textarea",
        "value"			=> "<font color=\"red\">Goście nie widzą linków. <a href=\"member.php?action=register\"><strong>Zarejestruj się</strong></a> aby zobaczyć linki.</font>",
        "disporder"		=> "4",
        "gid"			=> intval($gid),
        );

	$db->insert_query("settings", $hidelinks_guest_message);
	
		$link_groups = array(
		"name" => "link_groups",
		"title" => "ID grup, których wymagana liczba postów nie dotyczy. Jeśli chcesz wpisać więcej niż jedną grupę, ID oddziel przecinkiem.",
		"description" => "Wpisz <strong>ID GRUP UŻYTKONIKÓW</strong> których limit nie dotyczy.",
		"optionscode" => "text",
		"value" => "",
		"disporder" => "5",
		"gid" => intval($gid),
		);
	$db->insert_query("settings", $link_groups);

	$link_users = array(
		"name" => "link_users",
		"title" => "Użytkownicy, których wymagana liczba postów nie dotyczy. Jeśli chcesz wpisać więcej niż jeden ID, oddziel je przecinkiem.",
		"description" => "Wpisze <strong>ID UŻYTKOWNIKA</strong> którego limit nie dotyczy.",
		"optionscode" => "text",
		"value" => "",
		"disporder" => "6",
		"gid" => intval($gid),
		);
	$db->insert_query("settings", $link_users);
	


rebuild_settings();
}

function linkminimumposts_deactivate()
{
	global $db;

$db->query("DELETE FROM ".TABLE_PREFIX."settinggroups WHERE name='linkminimumposts'");
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='enablelinkminimumposts'");
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='link_minimumposts'");
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='link_minimumposts_message'");
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='link_groups'");
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='link_users'");
$db->query("DELETE FROM ".TABLE_PREFIX."settings WHERE name='hidelinks_guest_message'");

rebuild_settings();
}


function linkminimumposts(&$message)
{
global $mybb, $db, $settings;

$link_groups = explode(',', $mybb->settings['link_groups']);
$link_users = explode(',', $mybb->settings['link_users']);

if($mybb->settings['enablelinkminimumposts'] == 1 && $mybb->user['postnum'] < intval($mybb->settings['link_minimumposts'])) {

if(!in_array($mybb->user['usergroup'] , $link_groups))
{
if(!in_array($mybb->user['uid'] , $link_users ))
{
 			$message = preg_replace("!<a[^>]*(http|www)(.*)</a>!siU", "{$mybb->settings['link_minimumposts_message']}", $message);

}
}
}
}

function linkminimumposts_guest(&$message)
{
	global $settings, $mybb;

	if ($mybb->settings['enablelinkminimumposts'] == "1")
	{
		if($mybb->user['usergroup'] == "1")
		{
			$message = preg_replace("!<a[^>]*(http|www)(.*)</a>!siU", "{$mybb->settings['hidelinks_guest_message']}", $message);
		}
	}
}
?>
