<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[PunBB Forums — [Release] User Management Plugin]]></title>
		<link>https://punbb.informer.com/forums/topic/5936/release-user-management-plugin/</link>
		<atom:link href="https://punbb.informer.com/forums/feed/rss/topic/5936/" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in [Release] User Management Plugin.]]></description>
		<lastBuildDate>Sun, 20 May 2012 19:08:39 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: [Release] User Management Plugin]]></title>
			<link>https://punbb.informer.com/forums/post/144995/#p144995</link>
			<description><![CDATA[<div class="quotebox"><cite>Rickard wrote:</cite><blockquote><p>Great stuff. Another thing I can remove from the todo list <img src="https://punbb.informer.com/forums/img/smilies/smile.png" width="15" height="15" alt="smile" /></p></blockquote></div><p>This feature is quite nice. Maybe it should be added to the standard version, not as plugin. Anyone&#039;s opinion?</p>]]></description>
			<author><![CDATA[null@example.com (msibm)]]></author>
			<pubDate>Sun, 20 May 2012 19:08:39 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/144995/#p144995</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Release] User Management Plugin]]></title>
			<link>https://punbb.informer.com/forums/post/94057/#p94057</link>
			<description><![CDATA[<p><a href="http://punbb.org/forums/viewtopic.php?pid=79347#p79347">http://punbb.org/forums/viewtopic.php?pid=79347#p79347</a></p><p>is the newest, one with the most options and most stable version</p><p>that plugin works, but it gives the wrong # of pruned users, it told me 0 but it cleaned up several</p><p>good plugin though <img src="https://punbb.informer.com/forums/img/smilies/wink.png" width="15" height="15" alt="wink" /></p>]]></description>
			<author><![CDATA[null@example.com (s0me0ne)]]></author>
			<pubDate>Fri, 11 May 2007 03:32:43 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/94057/#p94057</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Release] User Management Plugin]]></title>
			<link>https://punbb.informer.com/forums/post/91287/#p91287</link>
			<description><![CDATA[<p>Hi, this is a great plug-in.</p><p>Is it easy to have the option for &quot;Generate random password&quot; to be the default option? Could someone point out where in the code I could change this option so it&#039;s always selected?</p><p>Also, it seems that all of my test emails sent to new users are going straight into their Spam folders. Any ideas on how to avoid this?</p><p>TIA!</p>]]></description>
			<author><![CDATA[null@example.com (teamriab)]]></author>
			<pubDate>Thu, 05 Apr 2007 20:27:25 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/91287/#p91287</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Release] User Management Plugin]]></title>
			<link>https://punbb.informer.com/forums/post/88899/#p88899</link>
			<description><![CDATA[<p>yes, but i allready delete only the user, with the original UMP.</p>]]></description>
			<author><![CDATA[null@example.com (the godote)]]></author>
			<pubDate>Sun, 04 Mar 2007 12:45:50 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/88899/#p88899</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Release] User Management Plugin]]></title>
			<link>https://punbb.informer.com/forums/post/88898/#p88898</link>
			<description><![CDATA[<p><a href="http://punbb.org/forums/viewtopic.php?pid=79347#p79347">http://punbb.org/forums/viewtopic.php?pid=79347#p79347</a></p>]]></description>
			<author><![CDATA[null@example.com (Smartys)]]></author>
			<pubDate>Sun, 04 Mar 2007 12:36:56 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/88898/#p88898</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Release] User Management Plugin]]></title>
			<link>https://punbb.informer.com/forums/post/88897/#p88897</link>
			<description><![CDATA[<div class="quotebox"><cite>pedrotuga wrote:</cite><blockquote><div class="quotebox"><cite>HitMan wrote:</cite><blockquote><p>Hmmm...<br />Posts are not deleted with user but they not see.</p></blockquote></div><p>what do you mean. &quot;but they not see&quot;?</p></blockquote></div><div class="quotebox"><cite>elbekko wrote:</cite><blockquote><p>That they don&#039;t show probably.</p></blockquote></div><p>how to fix this?</p>]]></description>
			<author><![CDATA[null@example.com (the godote)]]></author>
			<pubDate>Sun, 04 Mar 2007 12:24:41 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/88897/#p88897</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Release] User Management Plugin]]></title>
			<link>https://punbb.informer.com/forums/post/85889/#p85889</link>
			<description><![CDATA[<p>Thanks! I&#039;ll give it a go.</p><p>Valda</p>]]></description>
			<author><![CDATA[null@example.com (vlewis)]]></author>
			<pubDate>Thu, 25 Jan 2007 22:06:12 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/85889/#p85889</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Release] User Management Plugin]]></title>
			<link>https://punbb.informer.com/forums/post/82541/#p82541</link>
			<description><![CDATA[<div class="quotebox"><cite>yi3artist wrote:</cite><blockquote><p>That is the most dangerously powerful addition to punBB I have ever seen. I did embrace the add user feature -- great for testing if tweaking the new user process! Sory I couldn&#039;t help by tryign out the latest version two posts above -- it&#039;s just such a scary feature o.o</p></blockquote></div><p>sorry, why is it dangerous or scary?</p>]]></description>
			<author><![CDATA[null@example.com (pedrotuga)]]></author>
			<pubDate>Mon, 04 Dec 2006 15:52:10 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/82541/#p82541</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Release] User Management Plugin]]></title>
			<link>https://punbb.informer.com/forums/post/82535/#p82535</link>
			<description><![CDATA[<p>That is the most dangerously powerful addition to punBB I have ever seen. I did embrace the add user feature -- great for testing if tweaking the new user process! Sory I couldn&#039;t help by tryign out the latest version two posts above -- it&#039;s just such a scary feature o.o</p>]]></description>
			<author><![CDATA[null@example.com (yi3artist)]]></author>
			<pubDate>Mon, 04 Dec 2006 13:13:56 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/82535/#p82535</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Release] User Management Plugin]]></title>
			<link>https://punbb.informer.com/forums/post/79667/#p79667</link>
			<description><![CDATA[<p>Smarty can you do thjis:</p><p>I need the plug in can do this:</p><br /><p>delete the user and update the posts who had been deleted&nbsp; to guest posts.</p>]]></description>
			<author><![CDATA[null@example.com (qie)]]></author>
			<pubDate>Wed, 18 Oct 2006 03:51:26 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/79667/#p79667</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Release] User Management Plugin]]></title>
			<link>https://punbb.informer.com/forums/post/79347/#p79347</link>
			<description><![CDATA[<p>If anyone would like, they can test my new version and tell me if they find any bugs (or if it works at all <img src="https://punbb.informer.com/forums/img/smilies/tongue.png" width="15" height="15" alt="tongue" />)<br />Basically, I took PunBB&#039;s code for deleting a user and generalized it for multiple users. Hopefully it should all work (but it probably won&#039;t) <img src="https://punbb.informer.com/forums/img/smilies/tongue.png" width="15" height="15" alt="tongue" /><br /></p><div class="codebox"><pre><code>&lt;?php
/***********************************************************************

  Copyright (C) 2005 Connor Dunn (Connorhd@mypunbb.com)
  Modified by Smartys (smartys@gmail.com)
  
  This software is free software; you can redistribute it and/or modify it
  under the terms of the GNU General Public License as published
  by the Free Software Foundation; either version 2 of the License,
  or (at your option) any later version.

  This software is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  MA  02111-1307  USA

************************************************************************/
// Make sure no one attempts to run this script &quot;directly&quot;
if (!defined(&#039;PUN&#039;))
    exit;

// Tell admin_loader.php that this is indeed a plugin and that it is loaded
define(&#039;PUN_PLUGIN_LOADED&#039;, 1);
define(&#039;PLUGIN_VERSION&#039;, &quot;1.3.1&quot;);

if (isset($_POST[&#039;prune&#039;]))
{
    // Make sure something something was entered
    if ((trim($_POST[&#039;days&#039;]) == &#039;&#039;) || trim($_POST[&#039;posts&#039;]) == &#039;&#039;)
        message(&#039;You need to set all settings!&#039;);
    if ($_POST[&#039;admods_delete&#039;]) {
        $admod_delete = &#039;group_id &gt; 0&#039;;
    }
    else {
        $admod_delete = &#039;group_id &gt; 3&#039;;
    }

    if ($_POST[&#039;verified&#039;] == 1)
        $verified = &#039;&#039;;
    elseif ($_POST[&#039;verified&#039;] == 0)
        $verified = &#039;AND (group_id &lt; 32000)&#039;;
    else
        $verified = &#039;AND (group_id = 32000)&#039;;

    $prune = ($_POST[&#039;prune_by&#039;] == 1) ? &#039;registered&#039; : &#039;last_visit&#039;;

    $user_time = time() - ($_POST[&#039;days&#039;] * 86400);
    $result = $db-&gt;query(&#039;SELECT id, group_id, username from &#039;.$db-&gt;prefix.&#039;users WHERE id != &#039;.$pun_user[&#039;id&#039;].&#039; AND (num_posts &lt; &#039;.intval($_POST[&#039;posts&#039;]).&#039;) AND (&#039;.$prune.&#039; &lt; &#039;.intval($user_time).&#039;) AND (id &gt; 1) AND (&#039;.$admod_delete.&#039;)&#039;.$verified, true) or error(&#039;Unable to select users to delete&#039;, __FILE__, __LINE__, $db-&gt;error());
    $users_pruned = $db-&gt;num_rows($result);
    
    // We want a list of all user IDs and a list of data for any admins/mods
    $users = array();
    $admod_list = array();
    while ($data = $db-&gt;fetch_assoc($result))
    {
        $users[] = $data[&#039;id&#039;];
        
        if ($data[&#039;group_id&#039;] == PUN_ADMIN || $data[&#039;group_id&#039;] == PUN_MOD)
            $admod_list[] = $data;
    }
    
    // Stuff we only do if we&#039;re pruning admins/mods
    if (count($admod_list) &gt; 0)
    {
        $result = $db-&gt;query(&#039;SELECT id, moderators FROM &#039;.$db-&gt;prefix.&#039;forums&#039;) or error(&#039;Unable to fetch forum list&#039;, __FILE__, __LINE__, $db-&gt;error());
        while ($cur_forum = $db-&gt;fetch_assoc($result))
        {
            $cur_moderators = ($cur_forum[&#039;moderators&#039;] != &#039;&#039;) ? unserialize($cur_forum[&#039;moderators&#039;]) : array();
            $changed = false;
                
            foreach ($admod_list as $key =&gt; $val)
            {
                if (in_array($val[&#039;id&#039;], $cur_moderators))
                {
                    unset($cur_moderators[$val[&#039;username&#039;]]);
                    $changed = true;
                }
            }
            
            if ($changed)
            {
                $cur_moderators = (!empty($cur_moderators)) ? &#039;\&#039;&#039;.$db-&gt;escape(serialize($cur_moderators)).&#039;\&#039;&#039; : &#039;NULL&#039;;
                $db-&gt;query(&#039;UPDATE &#039;.$db-&gt;prefix.&#039;forums SET moderators=&#039;.$cur_moderators.&#039; WHERE id=&#039;.$cur_forum[&#039;id&#039;]) or error(&#039;Unable to update forum&#039;, __FILE__, __LINE__, $db-&gt;error());
            }
        }
    }
    
    if (count($users) &gt; 0)
    {
        // Delete any subscriptions
        $db-&gt;query(&#039;DELETE FROM &#039;.$db-&gt;prefix.&#039;subscriptions WHERE user_id IN (&#039;.implode(&#039;,&#039;, $users).&#039;)&#039;) or error(&#039;Unable to delete subscriptions&#039;, __FILE__, __LINE__, $db-&gt;error());
    
        // Remove deleted users from the online list (if they happen to be logged in)
        $db-&gt;query(&#039;DELETE FROM &#039;.$db-&gt;prefix.&#039;online WHERE user_id IN (&#039;.implode(&#039;,&#039;, $users).&#039;)&#039;) or error(&#039;Unable to remove user from online list&#039;, __FILE__, __LINE__, $db-&gt;error());
        
        // Set all deleted users&#039; posts to guest
        $db-&gt;query(&#039;UPDATE &#039;.$db-&gt;prefix.&#039;posts SET poster_id=1 WHERE poster_id IN (&#039;.implode(&#039;,&#039;, $users).&#039;)&#039;) or error(&#039;Unable to update posts&#039;, __FILE__, __LINE__, $db-&gt;error());
        
        // Delete the users
        $db-&gt;query(&#039;DELETE FROM &#039;.$db-&gt;prefix.&#039;users WHERE id IN (&#039;.implode(&#039;,&#039;, $users).&#039;)&#039;) or error(&#039;Unable to delete user&#039;, __FILE__, __LINE__, $db-&gt;error());
    }
    
    message(&#039;Pruning complete. Users pruned: &#039;.$users_pruned.&#039;.&#039;);
}
elseif (isset($_POST[&#039;add_user&#039;]))
{
    require PUN_ROOT.&#039;lang/&#039;.$pun_user[&#039;language&#039;].&#039;/prof_reg.php&#039;;
    require PUN_ROOT.&#039;lang/&#039;.$pun_user[&#039;language&#039;].&#039;/register.php&#039;;
    $username = pun_trim($_POST[&#039;username&#039;]);
    $email1 = strtolower(trim($_POST[&#039;email&#039;]));
    $email2 = strtolower(trim($_POST[&#039;email&#039;]));

    if ($_POST[&#039;random_pass&#039;] == &#039;1&#039;)
    {
        $password1 = random_pass(8);
        $password2 = $password1;
    }
    else
    {
        $password1 = trim($_POST[&#039;password&#039;]);
        $password2 = trim($_POST[&#039;password&#039;]);
    }

    // Convert multiple whitespace characters into one (to prevent people from registering with indistinguishable usernames)
    $username = preg_replace(&#039;#\s+#s&#039;, &#039; &#039;, $username);

    // Validate username and passwords
    if (strlen($username) &lt; 2)
        message($lang_prof_reg[&#039;Username too short&#039;]);
    else if (pun_strlen($username) &gt; 25)    // This usually doesn&#039;t happen since the form element only accepts 25 characters
        message($lang_common[&#039;Bad request&#039;]);
    else if (strlen($password1) &lt; 4)
        message($lang_prof_reg[&#039;Pass too short&#039;]);
    else if ($password1 != $password2)
        message($lang_prof_reg[&#039;Pass not match&#039;]);
    else if (!strcasecmp($username, &#039;Guest&#039;) || !strcasecmp($username, $lang_common[&#039;Guest&#039;]))
        message($lang_prof_reg[&#039;Username guest&#039;]);
    else if (preg_match(&#039;/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}/&#039;, $username))
        message($lang_prof_reg[&#039;Username IP&#039;]);
    else if ((strpos($username, &#039;[&#039;) !== false || strpos($username, &#039;]&#039;) !== false) &amp;&amp; strpos($username, &#039;\&#039;&#039;) !== false &amp;&amp; strpos($username, &#039;&quot;&#039;) !== false)
        message($lang_prof_reg[&#039;Username reserved chars&#039;]);
    else if (preg_match(&#039;#\[b\]|\[/b\]|\[u\]|\[/u\]|\[i\]|\[/i\]|\[color|\[/color\]|\[quote\]|\[quote=|\[/quote\]|\[code\]|\[/code\]|\[img\]|\[/img\]|\[url|\[/url\]|\[email|\[/email\]#i&#039;, $username))
        message($lang_prof_reg[&#039;Username BBCode&#039;]);

    // Check username for any censored words
    if ($pun_config[&#039;o_censoring&#039;] == &#039;1&#039;)
    {
        // If the censored username differs from the username
        if (censor_words($username) != $username)
            message($lang_register[&#039;Username censor&#039;]);
    }

    // Check that the username (or a too similar username) is not already registered
    $result = $db-&gt;query(&#039;SELECT username FROM &#039;.$db-&gt;prefix.&#039;users WHERE username=\&#039;&#039;.$db-&gt;escape($username).&#039;\&#039; OR username=\&#039;&#039;.$db-&gt;escape(preg_replace(&#039;/[^\w]/&#039;, &#039;&#039;, $username)).&#039;\&#039;&#039;) or error(&#039;Unable to fetch user info&#039;, __FILE__, __LINE__, $db-&gt;error());

    if ($db-&gt;num_rows($result))
    {
        $busy = $db-&gt;result($result);
        message($lang_register[&#039;Username dupe 1&#039;].&#039; &#039;.pun_htmlspecialchars($busy).&#039;. &#039;.$lang_register[&#039;Username dupe 2&#039;]);
    }


    // Validate e-mail
    require PUN_ROOT.&#039;include/email.php&#039;;

    if (!is_valid_email($email1))
        message($lang_common[&#039;Invalid e-mail&#039;]);

    // Check if someone else already has registered with that e-mail address
    $dupe_list = array();

    $result = $db-&gt;query(&#039;SELECT username FROM &#039;.$db-&gt;prefix.&#039;users WHERE email=\&#039;&#039;.$email1.&#039;\&#039;&#039;) or error(&#039;Unable to fetch user info&#039;, __FILE__, __LINE__, $db-&gt;error());
    if ($db-&gt;num_rows($result))
    {
        while ($cur_dupe = $db-&gt;fetch_assoc($result))
            $dupe_list[] = $cur_dupe[&#039;username&#039;];
    }

    $timezone = &#039;0&#039;;
    $language = isset($_POST[&#039;language&#039;]) ? $_POST[&#039;language&#039;] : $pun_config[&#039;o_default_lang&#039;];
    $save_pass = (!isset($_POST[&#039;save_pass&#039;]) || $_POST[&#039;save_pass&#039;] != &#039;1&#039;) ? &#039;0&#039; : &#039;1&#039;;

    $email_setting = intval(1);

    // Insert the new user into the database. We do this now to get the last inserted id for later use.
    $now = time();

    $intial_group_id = ($_POST[&#039;random_pass&#039;] == &#039;0&#039;) ? $pun_config[&#039;o_default_user_group&#039;] : PUN_UNVERIFIED;
    $password_hash = pun_hash($password1);

    // Add the user
    $db-&gt;query(&#039;INSERT INTO &#039;.$db-&gt;prefix.&#039;users (username, group_id, password, email, email_setting, save_pass, timezone, language, style, registered, registration_ip, last_visit) VALUES(\&#039;&#039;.$db-&gt;escape($username).&#039;\&#039;, &#039;.$intial_group_id.&#039;, \&#039;&#039;.$password_hash.&#039;\&#039;, \&#039;&#039;.$email1.&#039;\&#039;, &#039;.$email_setting.&#039;, &#039;.$save_pass.&#039;, &#039;.$timezone.&#039; , \&#039;&#039;.$language.&#039;\&#039;, \&#039;&#039;.$pun_config[&#039;o_default_style&#039;].&#039;\&#039;, &#039;.$now.&#039;, \&#039;&#039;.get_remote_address().&#039;\&#039;, &#039;.$now.&#039;)&#039;) or error(&#039;Unable to create user&#039;, __FILE__, __LINE__, $db-&gt;error());
    $new_uid = $db-&gt;insert_id();

    // Should we alert people on the admin mailing list that a new user has registered?
    if ($pun_config[&#039;o_regs_report&#039;] == &#039;1&#039;)
    {
        $mail_subject = &#039;Alert - New registration&#039;;
        $mail_message = &#039;User \&#039;&#039;.$username.&#039;\&#039; registered in the forums at &#039;.$pun_config[&#039;o_base_url&#039;].&quot;\n\n&quot;.&#039;User profile: &#039;.$pun_config[&#039;o_base_url&#039;].&#039;/profile.php?id=&#039;.$new_uid.&quot;\n\n&quot;.&#039;-- &#039;.&quot;\n&quot;.&#039;Forum Mailer&#039;.&quot;\n&quot;.&#039;(Do not reply to this message)&#039;;

        pun_mail($pun_config[&#039;o_mailing_list&#039;], $mail_subject, $mail_message);
    }

    // Must the user verify the registration or do we log him/her in right now?
    if ($_POST[&#039;random_pass&#039;] == &#039;1&#039;)
    {
        // Load the &quot;welcome&quot; template
        $mail_tpl = trim(file_get_contents(PUN_ROOT.&#039;lang/&#039;.$pun_user[&#039;language&#039;].&#039;/mail_templates/welcome.tpl&#039;));

        // The first row contains the subject
        $first_crlf = strpos($mail_tpl, &quot;\n&quot;);
        $mail_subject = trim(substr($mail_tpl, 8, $first_crlf-8));
        $mail_message = trim(substr($mail_tpl, $first_crlf));
        $mail_subject = str_replace(&#039;&lt;board_title&gt;&#039;, $pun_config[&#039;o_board_title&#039;], $mail_subject);
        $mail_message = str_replace(&#039;&lt;base_url&gt;&#039;, $pun_config[&#039;o_base_url&#039;].&#039;/&#039;, $mail_message);
        $mail_message = str_replace(&#039;&lt;username&gt;&#039;, $username, $mail_message);
        $mail_message = str_replace(&#039;&lt;password&gt;&#039;, $password1, $mail_message);
        $mail_message = str_replace(&#039;&lt;login_url&gt;&#039;, $pun_config[&#039;o_base_url&#039;].&#039;/login.php&#039;, $mail_message);
        $mail_message = str_replace(&#039;&lt;board_mailer&gt;&#039;, $pun_config[&#039;o_board_title&#039;].&#039; &#039;.$lang_common[&#039;Mailer&#039;], $mail_message);
        pun_mail($email1, $mail_subject, $mail_message);
    }

    message(&#039;User Created&#039;);
}
else
{
    // Display the admin navigation menu
    generate_admin_menu($plugin);

?&gt;
    &lt;div class=&quot;block&quot;&gt;
        &lt;h2&gt;&lt;span&gt;User management - v&lt;?php echo PLUGIN_VERSION ?&gt;&lt;/span&gt;&lt;/h2&gt;
        &lt;div class=&quot;box&quot;&gt;
            &lt;div class=&quot;inbox&quot;&gt;
                &lt;p&gt;This Plugin allows you to prune users a certain number of days old with less than a certain number of posts.&lt;/p&gt;
                &lt;p&gt;&lt;strong&gt;Warning: This has a permanent and instant effect use with extreme caution (it is recomended you make a backup before using this feature).&lt;/strong&gt;&lt;/p&gt;
                &lt;p&gt;It also allows you to manually add users, this is useful for closed forum e.g. if you have disabled user registration in options.&lt;/p&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;blockform&quot;&gt;
        &lt;h2 class=&quot;block2&quot;&gt;&lt;span&gt;User Prune&lt;/span&gt;&lt;/h2&gt;
        &lt;div class=&quot;box&quot;&gt;
            &lt;form id=&quot;example&quot; method=&quot;post&quot; action=&quot;&lt;?php echo $_SERVER[&#039;REQUEST_URI&#039;] ?&gt;&quot;&gt;
                &lt;div class=&quot;inform&quot;&gt;
                    &lt;fieldset&gt;
                        &lt;legend&gt;Settings&lt;/legend&gt;
                        &lt;div class=&quot;infldset&quot;&gt;
                        &lt;table class=&quot;aligntop&quot; cellspacing=&quot;0&quot;&gt;
                        &lt;!--Thanks to wiseage for this function --&gt;
                            &lt;tr&gt;
                                &lt;th scope=&quot;row&quot;&gt;Prune by&lt;/th&gt;
                                &lt;td&gt;
                                    &lt;input type=&quot;radio&quot; name=&quot;prune_by&quot; value=&quot;1&quot; checked=&quot;checked&quot; /&gt; &lt;strong&gt;Registed date&lt;/strong&gt;   &lt;input type=&quot;radio&quot; name=&quot;prune_by&quot; value=&quot;0&quot; /&gt; &lt;strong&gt;Last Login&lt;/strong&gt;
                                    &lt;span&gt;This decides if the minimum number of days is calculated since the last login or the registered date.&lt;/span&gt;
                                &lt;/td&gt;
                            &lt;/tr&gt;
                        &lt;!--/Thanks to wiseage for this function --&gt;
                            &lt;tr&gt;
                                &lt;th scope=&quot;row&quot;&gt;Minimum days since registration/last login&lt;/th&gt;
                                &lt;td&gt;
                                    &lt;input type=&quot;text&quot; name=&quot;days&quot; value=&quot;28&quot; size=&quot;25&quot; tabindex=&quot;1&quot; /&gt;
                                    &lt;span&gt;The minimum number of days before users are pruned by the setting specified above.&lt;/span&gt;
                                &lt;/td&gt;
                            &lt;/tr&gt;
                            &lt;tr&gt;
                                &lt;th scope=&quot;row&quot;&gt;Maximum number of posts&lt;/th&gt;
                                &lt;td&gt;
                                    &lt;input type=&quot;text&quot; name=&quot;posts&quot; value=&quot;1&quot;  size=&quot;25&quot; tabindex=&quot;1&quot; /&gt;
                                    &lt;span&gt;Users with more posts than this won&#039;t be pruned. e.g. a value of 1 will remove users with no posts.&lt;/span&gt;
                                &lt;/td&gt;
                            &lt;/tr&gt;
                            &lt;tr&gt;
                                &lt;th scope=&quot;row&quot;&gt;Delete admins and mods?&lt;/th&gt;
                                &lt;td&gt;
                                    &lt;input type=&quot;radio&quot; name=&quot;admods_delete&quot; value=&quot;1&quot; /&gt; &lt;strong&gt;Yes&lt;/strong&gt;   &lt;input type=&quot;radio&quot; name=&quot;admods_delete&quot; value=&quot;0&quot; checked=&quot;checked&quot; /&gt; &lt;strong&gt;No&lt;/strong&gt;
                                    &lt;span&gt;If Yes, any affected Moderators and Admins will also be pruned.&lt;/span&gt;
                                &lt;/td&gt;
                            &lt;/tr&gt;
                            &lt;tr&gt;
                                &lt;th scope=&quot;row&quot;&gt;User status&lt;/th&gt;
                                &lt;td&gt;
                                    &lt;input type=&quot;radio&quot; name=&quot;verified&quot; value=&quot;1&quot; /&gt; &lt;strong&gt;Delete any&lt;/strong&gt;   &lt;input type=&quot;radio&quot; name=&quot;verified&quot; value=&quot;0&quot; checked=&quot;checked&quot; /&gt; &lt;strong&gt;Delete only verified&lt;/strong&gt;   &lt;input type=&quot;radio&quot; name=&quot;verified&quot; value=&quot;2&quot; /&gt; &lt;strong&gt;Delete only unverified&lt;/strong&gt;
                                    &lt;span&gt;Decideds if (un)verified users should be deleted.&lt;/span&gt;
                                &lt;/td&gt;
                            &lt;/tr&gt;
                        &lt;/table&gt;
                        &lt;/div&gt;
                    &lt;/fieldset&gt;
                &lt;/div&gt;
            &lt;p class=&quot;submitend&quot;&gt;&lt;input type=&quot;submit&quot; name=&quot;prune&quot; value=&quot;Go!&quot; tabindex=&quot;2&quot; /&gt;&lt;/p&gt;
            &lt;/form&gt;
        &lt;/div&gt;

        &lt;h2 class=&quot;block2&quot;&gt;&lt;span&gt;Add user&lt;/span&gt;&lt;/h2&gt;
        &lt;div class=&quot;box&quot;&gt;
            &lt;form id=&quot;example&quot; method=&quot;post&quot; action=&quot;&lt;?php echo $_SERVER[&#039;REQUEST_URI&#039;] ?&gt;&quot;&gt;
                &lt;div class=&quot;inform&quot;&gt;
                    &lt;fieldset&gt;
                        &lt;legend&gt;Settings&lt;/legend&gt;
                        &lt;div class=&quot;infldset&quot;&gt;
                        &lt;table class=&quot;aligntop&quot; cellspacing=&quot;0&quot;&gt;
                            &lt;tr&gt;
                                &lt;th scope=&quot;row&quot;&gt;Username&lt;/th&gt;
                                &lt;td&gt;
                                    &lt;input type=&quot;text&quot; name=&quot;username&quot; size=&quot;25&quot; tabindex=&quot;3&quot; /&gt;
                                &lt;/td&gt;
                            &lt;/tr&gt;
                            &lt;tr&gt;
                                &lt;th scope=&quot;row&quot;&gt;Email&lt;/th&gt;
                                &lt;td&gt;
                                    &lt;input type=&quot;text&quot; name=&quot;email&quot; size=&quot;50&quot; tabindex=&quot;3&quot; /&gt;
                                &lt;/td&gt;
                            &lt;/tr&gt;
                            &lt;tr&gt;
                                &lt;th scope=&quot;row&quot;&gt;Generate random password?&lt;/th&gt;
                                &lt;td&gt;
                                    &lt;input type=&quot;radio&quot; name=&quot;random_pass&quot; value=&quot;1&quot; /&gt; &lt;strong&gt;Yes&lt;/strong&gt;   &lt;input type=&quot;radio&quot; name=&quot;random_pass&quot; value=&quot;0&quot; checked=&quot;checked&quot; /&gt; &lt;strong&gt;No&lt;/strong&gt;
                                    &lt;span&gt;If Yes a random password will be generated and emailed to the above address.&lt;/span&gt;
                                &lt;/td&gt;
                            &lt;/tr&gt;
                            &lt;tr&gt;
                                &lt;th scope=&quot;row&quot;&gt;Password&lt;/th&gt;
                                &lt;td&gt;
                                    &lt;input type=&quot;text&quot; name=&quot;password&quot; size=&quot;25&quot; tabindex=&quot;3&quot; /&gt;
                                    &lt;span&gt;If you don&#039;t want a random password.&lt;/span&gt;
                                &lt;/td&gt;
                            &lt;/tr&gt;
                        &lt;/table&gt;
                        &lt;/div&gt;
                    &lt;/fieldset&gt;
                &lt;/div&gt;
                &lt;p class=&quot;submitend&quot;&gt;&lt;input type=&quot;submit&quot; name=&quot;add_user&quot; value=&quot;Go!&quot; tabindex=&quot;4&quot; /&gt;&lt;/p&gt;
            &lt;/form&gt;
        &lt;/div&gt;
    &lt;/div&gt;

&lt;?php
}
?&gt;</code></pre></div><p>Edit 1: It now loads without PHP parse errors! <img src="https://punbb.informer.com/forums/img/smilies/tongue.png" width="15" height="15" alt="tongue" /><br />Edit 2: It now properly displays the number of users pruned (and it also doesn&#039;t give errors if no users matched the criteria)</p>]]></description>
			<author><![CDATA[null@example.com (Smartys)]]></author>
			<pubDate>Fri, 13 Oct 2006 21:17:22 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/79347/#p79347</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Release] User Management Plugin]]></title>
			<link>https://punbb.informer.com/forums/post/79345/#p79345</link>
			<description><![CDATA[<p>OK, lets see if I can change this plugin so it acts &quot;nicer&quot; <img src="https://punbb.informer.com/forums/img/smilies/tongue.png" width="15" height="15" alt="tongue" /></p>]]></description>
			<author><![CDATA[null@example.com (Smartys)]]></author>
			<pubDate>Fri, 13 Oct 2006 21:00:17 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/79345/#p79345</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Release] User Management Plugin]]></title>
			<link>https://punbb.informer.com/forums/post/79338/#p79338</link>
			<description><![CDATA[<p>That they don&#039;t show probably.</p>]]></description>
			<author><![CDATA[null@example.com (elbekko)]]></author>
			<pubDate>Fri, 13 Oct 2006 20:12:27 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/79338/#p79338</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Release] User Management Plugin]]></title>
			<link>https://punbb.informer.com/forums/post/79337/#p79337</link>
			<description><![CDATA[<div class="quotebox"><cite>HitMan wrote:</cite><blockquote><p>Hmmm...<br />Posts are not deleted with user but they not see.</p></blockquote></div><p>what do you mean. &quot;but they not see&quot;?</p>]]></description>
			<author><![CDATA[null@example.com (pedrotuga)]]></author>
			<pubDate>Fri, 13 Oct 2006 20:09:33 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/79337/#p79337</guid>
		</item>
		<item>
			<title><![CDATA[Re: [Release] User Management Plugin]]></title>
			<link>https://punbb.informer.com/forums/post/77819/#p77819</link>
			<description><![CDATA[<p>Thanks this is simple to install and does exactly what I need :-)</p>]]></description>
			<author><![CDATA[null@example.com (rgsuk)]]></author>
			<pubDate>Sat, 23 Sep 2006 09:05:40 +0000</pubDate>
			<guid>https://punbb.informer.com/forums/post/77819/#p77819</guid>
		</item>
	</channel>
</rss>
