/**
	 * @param int $group_id
	 * @param int $user_id
	 * @param int $leader
	 * @param int $pending
	 * @return bool
	 */
	public static function add($group_id, $user_id, $leader = 0, $pending = 0) {
		$sql = 'INSERT INTO ' . self::getFullTableName() . ' (
			group_id,
			user_id,
			group_leader,
			user_pending
		) VALUES (
			:g_id,
			:u_id,
			:g_leader,
			:pending
		)';

		$result = SQL::execute(self::getConnection(), $sql, array("g_id" => $group_id, "u_id" => $user_id, "g_leader" => $leader, "pending" => $pending));

		if($result !== false) {
			// Include libs
			require_once(LIB_DIR . DS . 'class.phpbb_account.php');
			// Empty permission for creating new
			phpbb_account::clearUserPerms($user_id);

			// Send PM new Group
			if(SEND_PM_GROUPCHANGE)
				get_phpbb_info::$instance->sendPM(output::newGroupPM($user_id, phpbb_groups::getGroupName($group_id)), SYSTEM_USER, "Willkommen in der Benutzergruppe " . phpbb_groups::getGroupName($group_id), $user_id);

			return true;
		}
		return false;
	}
	/**
	 * @param string $connection
	 */
	public static function setConnection($connection) {
		self::$connection = $connection;
	}
Example #3
0
	/**
	 * @param string $groupName
	 * @param string $message
	 * @param int $from_id
	 * @param string $subject
	 * @return bool
	 */
	public function sendPMtoGroup($groupName, $message, $from_id, $subject) {
		require_once(LIB_DIR . DS . 'class.phpbb_groups.php');
		require_once(LIB_DIR . DS . 'class.phpbb_group_members.php');

		$members = phpbb_group_members::getUserList(phpbb_groups::getId($groupName));

		$send = 0;
		foreach($members as $memberrow) {
			if($this->sendPM($message, $from_id, $subject, $memberrow["user_id"]))
				$send++;
		}

		if($send > 0)
			return true;
		return false;
	}
	/**
	 * @param int $id
	 * @param int $points
	 */
	public static function check_vip($id, $points) {
		// Include LIB
		require_once(LIB_DIR . DS . 'class.phpbb_groups.php');
		require_once(LIB_DIR . DS . 'class.phpbb_group_members.php');
		require_once(LIB_DIR . DS . 'class.phpbb_account.php');
		require_once(LIB_DIR . DS . 'class.phpbb_log.php');

		// Is already VIP
		if(phpbb_group_members::isUserInGroup($id, phpbb_groups::getId(ROA_VIP_GROUP)))
			return;

		// Has enough Points
		if($points < ROA_VIP_POINTS)
			return;

		// Add to group
		phpbb_group_members::add(phpbb_groups::getId(ROA_VIP_GROUP), $id);

		// Set Main Group
		phpbb_account::updateMainGroup($id, phpbb_groups::getId(ROA_VIP_GROUP), phpbb_groups::getColor(phpbb_groups::getId(ROA_VIP_GROUP)));

		// Add to Log
		points_log::add($id, 0, "Du hast " . ROA_VIP_POINTS . " Punkte erreicht und wurdest daher in die " . ROA_VIP_GROUP . "-Gruppe aufgenommen! Glückwunsch!");
		//phpbb_log::add(0, SYSTEM_USER, get_phpbb_info::$instance->ip, time(), "LOG_USERS_ADDED", "a:2:{i:0;s:7:\"" . ROA_VIP_GROUP . "\";i:1;s:8:\"" . get_phpbb_info::$instance->username . "\";}"); todo fix
	}
	/**
	 * @param int $id
	 * @return array
	 */
	private static function changeAvatar($id) {
		require_once(LIB_DIR . DS . 'class.phpbb_groups.php');
		require_once(LIB_DIR . DS . 'class.phpbb_group_members.php');

		if(phpbb_group_members::isUserInGroup(get_phpbb_info::$instance->user_id, phpbb_groups::getId(ROA_AVATAR_GROUP)))
			return array("result" => false, "fail" => "Du bist bereits in der Gruppe " . ROA_AVATAR_GROUP . "!");

		if(phpbb_group_members::add(phpbb_groups::getId(ROA_AVATAR_GROUP), get_phpbb_info::$instance->user_id))
			return array("result" => true);
		else
			return array("result" => false, "fail" => "Ein unbekannter Fehler ist beim hinzufügen der Gruppe aufgetreten.");
	}