[Home]WikiPatches/NoAnonyms

UseModWiki | WikiPatches | RecentChanges | Preferences

The "No Anonyms" patch.

The aim of this patch is to encourage users using their preferences. There are a few users of the Wiki we are running, and I just want them to remember using their names, rather than to have them configure their passwords etc. The effect of the patch is as follows: if you set the variable $NoAnonyms = 1 in your config file, then an additional check is made: users who are not Admins / Editors and do not have a defined user name are not allowed to edit the pages. Here is the diff -c:

(the lines marked with "!" were modified; lines marked with "+" were added; lines marked with "-" were removed; everything else does not matter)

Note: I think that this was done before in /RequireAUserName and in UseModD's LoginRework. However, I like my solution better :-) because you can switch between the standard and the new behaviour with a single config variable.

*** wiki.pl     2006-01-16 15:03:51.000000000 +0100
--- index.pl    2006-01-16 15:13:56.000000000 +0100
***************
*** 63,69 ****
    $OpenPageName @KeptList @IndexList $IndexInit $TableMode
    $q $Now $UserID $TimeZoneOffset $ScriptName $BrowseCode $OtherCode
    $AnchoredLinkPattern @HeadingNumbers $TableOfContents $QuotedFullUrl
!   $ConfigError $UploadPattern );

  # == Configuration =====================================================
  $UseConfig   = 1;       # 1 = use config file,    0 = do not look for config
--- 63,69 ----
    $OpenPageName @KeptList @IndexList $IndexInit $TableMode
    $q $Now $UserID $TimeZoneOffset $ScriptName $BrowseCode $OtherCode
    $AnchoredLinkPattern @HeadingNumbers $TableOfContents $QuotedFullUrl
!   $ConfigError $UploadPattern $NoAnonyms);

  # == Configuration =====================================================
  $UseConfig   = 1;       # 1 = use config file,    0 = do not look for config
***************
*** 177,182 ****
--- 177,183 ----
  $UseMetaWiki  = 0;      # 1 = add MetaWiki search links, 0 = no MW links
  $BracketImg   = 1;      # 1 = [url url.gif] becomes image link, 0 = no img
  $BodyOnly     = 0;      # 1 = output body for template 0 = full HTML output
+ $NoAnonyms    = 0 ;     # 1 = editing allowed only for users with a defined username

  # Names of sites.  (The first entry is used for the number link.)
  @IsbnNames = ('bn.com', 'amazon.com', 'search');
***************
*** 2698,2703 ****
--- 2699,2710 ----
      return 1  if (&UserIsEditor());
      return 0;
    }
+
+   if($NoAnonyms) {
+     return 1  if (&UserIsEditor());
+     return 0 unless(&GetParam("username") ne "") ;
+   }
+
    if ($deepCheck) {   # Deeper but slower checks (not every page)
      return 1  if (&UserIsEditor());
      return 0  if (&UserIsBanned());
***************
*** 3214,3219 ****
--- 3221,3230 ----
        print T('Editing not allowed: user, ip, or network is blocked.');
        print "<p>";
        print T('Contact the wiki administrator for more information.');
+     } elsif($NoAnonyms && !(&GetParam("username") ne "")) {
+       print T('Editing not allowed: anonyms not allowed.') ;
+       print "<p>" ;
+       print T('Please click on ' .  &ScriptLink("action=editprefs", T('Preferences')) . ' and set your username') ;
      } else {
        print Ts('Editing not allowed: %s is read-only.', $SiteName);
      }

UseModWiki | WikiPatches | RecentChanges | Preferences
Edit text of this page | View other revisions | Search MetaWiki
Last edited October 15, 2007 3:49 pm by MarkusLude (diff)
Search: