commit 65fc755fe2c0f2df201ebcf4fb19ef8aecdac4bb
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Thu Feb 20 21:24:10 2014 -0600
- DoSearch: Changed surrounding character count from 25 to 75 characters
commit 2fa160ac033febdfab2cd2e0f7e997872970b071
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Wed Feb 19 22:34:32 2014 -0600
aneuch.pl
- Added $CountPageVisits and $PageVisitFile
- InitVars: Initialize $CountPageVisits with value 1
- InitVars: Call RegAdminPage on 'css', calls DoAdminCSS()
- InitVars: RegPostAction 'css' calling DoPostingCSS()
- Removed sub InitTemplate
- DoHeader: Re-wrote to do new theme
- DoFooter: Re-wrote to do new theme
- DoCSS: Wrote the sub to return $DataDir/style.css (if exsts) or default CSS
- Added sub Commify: Takes numerical value, returns it with commas every 3 digits
- Added sub GetPageViewCount: Takes a page name, returns the count of page views
- Added sub GetTotalViewCount: Returns the total view count of all pages
- InitDirs: Initialize $PageVisitFile
- DoAdminIndex: If $CountPageVisits is true, then display the counts next to the page names
- Added sub DoAdminCSS: Handler for editing the site CSS from the admin back-end
- DoAdmin: Changed the line at the bottom of the screen to show total pages, total revisions, and total page views
- DoHistory: Call Commify on all numbers, and show page views
- Added sub DoPostingCSS: POST handler for CSS form
- DoVisit: Only execute logging of visitor if $MaxVisitorLog > 0.
- DoVisit: If page exists, and 'do' paramater not specified, and $CountPageVisits is true, then add the visit to the database
- DoMaint: Tiny change to variable declaration
- DoRequest: Remove some commented blocks of code
- DATA: Now holds the default CSS instead of the default 'theme'
config.pl.dist
- Added note to set $MaxVisitorLog to 0 to disable
- Added block for $CountPageVisits
commit 803d78a21d618d72fad2cb4ac6f1ac670b09271c
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Thu Feb 13 21:18:13 2014 -0600
aneuch.pl
- Updated copyright year
- Added $AdminText and $RandomText
- InitVars: Added code to generate $AdminText and $RandomText
- MarkupBuildLink: Check for the presence of '?', and if it exists, strip it and trailing characters from the link
- ReadCookie: Began changing the way this sub worked, then changed my mind. One line of commented code still.
- Added sub CanView: If $SiteMode < 3, true. Otherwise, check if logged in.
- Added sub IsLoggedIn: Right now, does exactly the same thing that IsAdmin does, however this could change in the future.
- DoAdmin: Added a "go back" link at the bottom
- Init: Move DoPostInit() to below LoadPlugins()
- Added sub AppendStringToFile: Calles FileToString(), adds to it, then call StringToFile();
- DoRevert: Confirm any revert request before executing it
- DoRequest: Call CanView() before allowing the request through
- DoRequest: For the 'random' param, instead of calling DoRandom(), we should have been calling $Commands{'random'}
- THEME: Get rid of hard-coded admin and random links, get $AdminText and $RandomText instead
config.pl.dist
- Added $SiteMode of 3, which is required authentication for anything
commit 2d703670d62d2b7e9c1191137a401c42420b7448
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Fri Sep 13 14:46:59 2013 -0500
aneuch.pl
- InitVars: Modify GetParam call for "Search for" to return empty string (default was 0)
- InitVars: Only call ReplaceSpaces on the link portion, and not the text, of each item in @NavBarPages when building $NavBar
- Wrote sub DoCSS - Will handle CSS for themes in the future
- MarkupBuildLink: Check for CanEdit() before giving edit link
- Wrote sub GetArchivePage - Does the same thing as GetPage, except for an archive revision
- SetCookie: Now get username and password as arguments
- AdminForm: Add space in front of "Go" button
- DoAdminVersion: Call "grep --version" again as we use grep
- DoAdminClearVisits: Provide a prompt now instead of just clearing the log file
- DoAdminBlock: Add <br/> after </textarea>
- DoAdminBannedContent: Add <br/> after </textarea>
- PassesSpamCheck: BUGFIX: checksum was asking for $FORM{question}, should have been $FORM{session}
- DoSearch: GetPage call now uses $fn instead of $file
- DoHistory: Show IP addresses next to each name
- DoPostingLogin: Send $FORM{user} and $FORM{pass} as arguments to SetCookie, since it wants arguments now
- DoPostingEditing: Set the user name to what was entered
- DoPostingDiscuss: Set the user name to what was entered
- DoPostingDiscuss: Break up the StringToFile call into multiple lines for readability
- DoVisit: If do=search, set $mypage to parameter search, otherwise $Page
commit 1145b6b3556b7b37f45e5b42b2857bba065becdd
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Wed Aug 28 22:18:01 2013 -0500
aneuch.pl
- InitVars: Change how $Page is detected
- InitVars: Change $RevisionsText to say "Page Info & History"
- InitVars: Call ReplaceSpaces() instead of direct substitution
- MarkupBuildLink: Change way links are parsed
- Markup: Check $UserName instead of calling ReadCookie() for Signature
- GetPage: Call ReadDB now instead of reading the page
- LogRecent: Call Notify() at the end
- Wrote sub Notify: Does nothing now, reserved for future usage
- Changed every instance of a call to GetPage to refer to just the page name rather than the full path (and where full paths were required, call
- SetLock: Comparison to $UserIP is now "ne" rather than "!="
- SetLock: Return RefreshLock()
- DoArchive: Call PageExists() instead of -f test
- WritePage: Convert 4 ~'s to GetSignature()
- WritePage: Call WriteDB() now instead of write directly
- Wrote sub WriteDB - Writes out a file in the DB format
- Wrote sub ReadDB - Reads in a file in DB format
- AppendPage: Call WriteDB() now instead of write directly
- AntiSpam: Add an extra <br/> before the question is printed
- IsBannedContent: Removal of comments and blank lines combined into one grep statement, also check for trailing comment on a line
- DoDiscuss: Add id="discuss-form" to <p> element just before form
- DoDiscuss: Add hidden div with MarkupHelp(), and link to unhide the div
- DoSearch: Call ReplaceSpaces() instead of doing it manually
- DoSearch: Add two line breaks after "Anothing found!"
- DoSearch: Add "pages found" count at the bottom of search results
- DoHistory: Call PageExists() instead of -f test
- DoHistory: Calculate line count, word count, character count (with and without spaces), and data size of the page
- DoPostingDiscuss: When re-directing, go to #discuss-form rather than #bottom
- FileToString: Call FileToArray() and return that joined by "\n"
- FileToArray: Fixed typo in error message
- DiscussCount: When getting count, split on the output of GetDiscussionSeparator() in case it's not "----" in the future.
commit cc40733cb9f811d4eae902b0f4004292fa86c445
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Tue Aug 20 14:23:23 2013 -0500
config.pl.dist
- Added $EditorLicenseText and explanatory text
aneuch.pl
- Added vars @PostInitSubs and $EditorLicenseText
- InitVars: Removed the admin page registration call for 'unlock', just leave it as 'lock' now but change the text displayed based on if the site
- InitVars: Correct the RegSpecialPage call for $DiscussPrefix (missing period)
- Wrote sub DoPostInit - Runs subs in @PostInitSubs (if any) just before Init() completes
- Wrote subs DoHeader and DoFooter - Replacement for InitTemplate (will include default theme in the near future)
- Markup: Added 4x~, which calls GetSignature()
- Markup: Changed the way headers are discovered/written, also adds id= (for anchors/TOC later)
- Wrote sub MarkupHelp - Displays a helpful style guide below the page editor
- Wrote sub RegPostInitSub - registers a sub to run by DoPostInit()
- Wrote sub IsSpecialPage - if the current page is registered as a special page via RegSpecialPage, will return true (1) otherwise false (0)
- DoSpecialPage: Change the match regex to match better
- GetFile: Rename to GetPage (and throughout)
- DoEdit: Add an extra <br/> after both <textarea>'s
- DoEdit: If $EditorLicenseText is set, displate it (in <p> tags) after the editor form
- WriteFile: Rename to WritePage (and throughout)
- GetSignature: Do not include '\n----\n' at the tail end (automatic <hr>)
- AppendFile: Rename to AppendPage (and throughout)
- AppendPage: Call GetDiscussionSeparator() after GetSignature()
- DoAdminLock: Handle unlock if site already locked
- DoAdminBlock: Remove comments (#) and blank lines from count displayed
- Init: Remove InitTemplate(), now call DoPostInit() before LoadPlugins()
- DoDiscuss: Added code to remove signature from preview FIXME: Call GetDiscussionSeparator() here in the future!
- DoDiscuss: Now use 'placeholder' element instead of onfocus and onblur calls in comment box
- DoRecentChanges: Only link author name if a page of the same name exists
- DoSearch: Use 'placeholder' element on input box, and if the 'search' parameter has anything in it, pre-fill the value of the input box with it
- DoHistory: Only link author name if a page of the same name exists
- DoHistory: Change text for no history to "No log entries found."
- DoPostingDiscuss: Call GetDiscussionSeparator(), add it to GetSignature()
- DoPostingDiscuss: When ReDirect is called, add "#bottom" to the call (so user gets right back to where they left off)
- Wrote sub StripMarkup - Returns only alphanumeric text, and spaces and underscores
- Wrote sub IsDiscussionPage - Returns true (1) if page matches $DiscussionPrefix, false (0) otherwise.
- DoRequest: Call GetHeader() and GetFooter() instead of interpolating the $Header and $Footer variables
commit cdd9b31e89dda37c650c1c3040815ca97173933e
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Thu Aug 15 18:50:54 2013 -0500
aneuch.pl
- InitVars: Strip any leading periods in $Page
- Wrote sub GetSignature - Gets the signature line to be used when a discussion comment is posted.
- AppendFile: Call GetSignature, remove local $sig all together
- DoAdminListVisitors: Change submit button on search form from "Limit" to "Search"
- DoDiscuss: Check if a preview file exists, and if it's younger than 10 seconds old. If so, add it to the bottom, otherwise delete the file.
- DoDiscuss: Changed the way the form textarea does it's work, in terms of clearing the default text.
- DoDiscuss: Added "Preview" button next to "Save"
- DoSearch: Added check for no search parameter. If none, give up.
- SearchForm: Changed the $ret build a bit
- DoPostingDiscuss: Added check for "preview", if found it will save the preview file, otherwise if save, do what you did before.
- DoPosting: Remove all slashes from file name ($FORM{'file'}), and any leading periods.
- DoRandom: Instead of old javascript redirect method, use ReDirect() now
- DoRequest: Check if param 'do' is 'random', and if so, call DoRandom()
- TEMPLATE: Add double click handler to the wrapper div. Will call the 'edit' action.
commit cc8ed3cb1b238344637ae8f225c71c85425f0957
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Mon Aug 12 14:57:15 2013 -0500
config.pl.dist
- Added blocks for $SurgeProtectionTime and $SurgeProtectionCount - both set to 20 by default
aneuch.pl
- Added variables $SurgeProtectionTime and $SurgeProtectionCount
- Removed several blocks of commented out code throughout the script
- InitVars: Added $SurgeProtectionTime and $SurgeProtectionCount to default declarations
- Index: Call FileToArray instead of reading the file directly
- DoAdminVersion: Add version information for awk to the end
- Wrote sub DoSurgeProtection - Checks the last $SurgeProtectionTime seconds for violators who have infringed on the limit set by $SurgeProtectio
- DoRequest: Added call for DoSurgeProtection();
- TEMPLATE: Changed $Page to $SearchPage in the search link
commit 770307e8c3957533fa643db142487aec093978fe
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Mon Aug 12 09:44:30 2013 -0500
aneuch.pl
- Markup: Check for '#NOWIKI' right at the beginning, and if matched, return.
- Markup: Comment previous '!! nomarkup' check.
- DoAdminListVisitors: Add a form at the top which allows you to set/clear the 'limit' parameter
commit b05b8de6ec6d9121783bb83387f4226a27088c23
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Fri Aug 9 15:11:27 2013 -0500
aneuch.pl
- Require perl 5.10 or higher (just in case)
- InitVars: Set a safe $ENV{path}
- InitVars: Don't set $PageName to 'Admin' anymore if param 'do' is 'admin'
- InitVars: Rather than build hashes bare, call RegCommand, RegAdminPage, and RegPostAction
- InitVars: Change SetSpecialPage to RegSpecialPage
- SetSpecialPage: Rename to RegSpecialPage
- Wrote sub UnregSpecialPage - unregisters a special page
- Wrote sub RegAdminPage - registers an admin page
- Wrote sub UnregAdminPage - unregisters an admin page
- Wrote sub RegPostAction - registers a POST action
- Wrote sub UnregPostAction - unregisters a POST action
- Wrote sub RegCommand - registers a command
- Wrote sub UnregCommand - unregisters a command
- DoEdit: textareas now have style="width:100%" hardcoded
- DoAdminVersion: Include $ENV{'SERVER_SOFTWARE'}, perl and diff versions at the end of the output
- DoAdminListVisitors: Include a form for easy entry to the limit param
- DoAdminBannedContent: Provide the count of the number of rules loaded
- PassesSpamCheck: If $FORM{'answer'} is blank, return 0
- PassesSpamCheck: Check if the answer exists in %AnswerQuestions, and if not, return 0
- DoDiscuss: textarea now has style="width:100%" hardcoded, $NewComment will auto clear and populate when the textarea gets and loses focus, respectively.
commit 71b94231983047798d66d9d35113cb26331738e5
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Thu Aug 8 13:31:17 2013 -0500
aneuch.pl
- Added var %SpecialPages
- InitVars: Moved hex check higher
- InitVars: If param 'page' not set, set it to either $Page or param 'do' (if set)
- InitVars: In %AdminList, rename 'block' to "Block users"-
- InitVars: Declare special pages at end using SetSpecialPage
- MarkupBuildLink: Add rel-"nofollow" to edit links
- Wrote sub SetSpecialPage - Links a page name with a sub to execute
- Wrote sub DoSpecialPage - Checks if $Page matches one of %SpecialPages, and if so, executes the linked sub
- WriteFile: Get rid of \r and \n from summary
- AdminForm: If a password is set, put it in the password input field
- DoAdminListVisitors: Make sure the limit= search is case insensitive
- DoAdmin: Sort %AdminList alphabetically by value, then display the list
- DoDiscuss: Add open and close paragraph tag before the form
- DoSearch: new var $altsearch, which is $search with spaces replaced by underscores. This allows a search for "test test" to match the page name
- DoRequest: $SearchPage will now always be the $PageName with spaces replaced by '+'
- DoRequest: All of the previously hard-coded checks for RecentChanges and $DiscussPrefix have been commented out, and DoSpecialPage() is called
commit f0ce3a7f0433b1dcbfb9693679a471ceecbe0d1f
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Tue Aug 6 21:35:31 2013 -0500
aneuch.pl
- Added variable %Param
- InitVars: Added code to add variables into %Param
- InitVars: Changed all areas where $command was called to GetParam('do')
- Wrote sub GetParam - Gets from %Param, or returns the default
- DoEdit: Changed size of uname input
- AdminForm: Changed size of inputs
- DoAdminListVisitors: Instead of $ArgList, use GetParam on 'limit'
- DoAdminBlock: Added text at top about regex's and comments
- DoSearch: Instead of $ArgList, use GetParam on 'search'
- SearchForm: Changed input name from page to search
- DoVisit: Changed to use GetParam
- DoDiff: Changed to use GetParam
- DoDelete: Changed to use GetParam
- DoRevision: Changed to use GetParam
- DoRevert: Changed to use GetParam
- IsBlocked: Convert to allowing regex's and comments
- DoRequest: Changed to use GetParam
- TEMPLATE: Changed link to search to use 'search' param instead of 'page'
commit 872cfc9ca4778c699a1f9910c05111f5945603d2
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Mon Aug 5 15:40:11 2013 -0500
config.pl.dist
- Removed opening and closing paragraph tags from $NewPage
- Added %QuestionAnswer section
aneuch.pl
- Added vars %QuestionAnswer and $BannedContent
- Added more comments throughout the entire script
- InitVars: Moved $NewPage and $NewComment to right below $FancyUrls
- InitVars: Removed lod $NavBar code that was commented out
- InitVars: Added bannedcontent to %AdminActions, %AdminList, and %PostingActions
- Markup: Removed commented code at bottom
- InitDirs: Added $BannedContent under $BlockedList
- SetCookie: Added check to remove trailing slash from $cookiepath
- DoEdit: Changed way RedHerringForm was called
- DoEdit: Added <br/> after textarea, change summary field to textarea
- DoEdit: Added rel="nofollow" to Delete link
- AppendFile: Comment out the line that converts \n to \n\t, as it was messing with paragraph breaks in discussions
- AppendFile: Remove all \n's from summary
- DoAdminListVisitors: Add check for "index"
- DoAdminBlock: Change rows on textarea to 30
- Wrote sub DoAdminBannedContent - Handles the $BannedContent file
- RedHerringForm: Print directly instead of return the form
- Wrote sub AntiSpam - Handles the Question and Answer for TextCha
- Wrote sub IsBannedContent - Checks the submitted data against $BannedContent
- Wrote sub PassesSpamCheck - Various anti-spam check when data is submitted
- DoDiscuss: Print directly instead of return discussion form
- DoPostingEditing: Call PassesSpamCheck() before WriteFile()
- DoPostingDiscuss: Call PassesSpamCheck() before AppendFile()
- Wrote sub DoPostingBannedContent - Handles the POST even for updating $BannedContent from the admin interface
- DoDelete: Instead of CanEdit, call IsAdmin (only admins can delete now)
- Wrote sub ErrorPage - For 403 and maybe other errors
- DoRequest: If IsBlocked, call ErrorPage() rather than handling it ourselves
- DoRequest: Change call to DoDiscuss, since it prints by itself now
- TEMPLATE: Change header
commit 2e4f83ea8dca23db3141c1060db6a94c9b38e4cd
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Thu Aug 1 14:38:52 2013 -0500
aneuch.pl
- InitVars: If $FancyUrls is not set, instead of '?' use '/' in $ShortUrl and $Url
- InitVars: $Page now checks for PATH_INFO, and if it is set and QUERY_STRING is empty, use PATH_INFO for $Page, otherwise use QUERY_STRING
- MarkupBuildLink: When building a link for internal pages, if the page does not exist, and the link does not start with '?' or match $DiscussPre
- DoDiscuss: Textarea is now 10 rows instead of 5
commit 95a38a9acc54447d8712477b70a2f631c323978f
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Thu Aug 1 14:19:24 2013 -0500
htaccess.dist
- Added an additional condition to check QUERY_STRING
- Changed RewriteRule to use / instead of ?
plugins/
commit e3353ba3510c21113d329dc5f2c2863f705e7b95
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Wed Jul 31 21:48:44 2013 -0500
aneuch.pl
- Added '$| = 1' so output is not buffered
- InitVars: Call InitDirs() inside InitVars() instead of after InitVars()
- InitVars: Add the result of DiscussCount() to $DiscussText
- InitVars: Added 'index' to %Commands, point it at DoAdminIndex()
- DoAdminReIndex: Show the count of files added to the index
- Init: Comment out InitDirs(), as it is now called from inside InitVars()
- RedHerringForm: Add 'label's for the inputs
- DoMaintPurgeOldRevs: Return to using stat() to check file modification time instead of internal 'ts' variable
- Added sub DiscussCount - Returns the number of comments on a discussion page
- CSS: Added .navbar block
- THEME: $NavBar is now shown in a <div> rather than a <span> element
commit 72a988e25ba9e2e4b38ce3681d70465f66110756
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Thu Jul 25 14:57:59 2013 -0500
aneuch.pl
- Updated $VERSION to 0.30
- InitVars: Added 'spam' and 'recentchanges' to %Commands
- InitVars: Added 'commenting' to %PostingActions
- Created sub MarkupBuildLink - takes everything between [ and ?] and returns a properly formatted href anchor
- Markup: Commented existing link checking code, added new line that calls MarkupBuildLink() below the images section
- DoEdit: Add call to RedHerringForm() before the actual edit form
- Created sub CountAllRevisions - returns a number of revisions that exist in $ArchiveDir
- DoAdminIndex: Output the page list in an ordered list
- DoAdminListVisitors: Added check for "spam" in the action field
- DoAdmin: Call CountAllRevisions() in addition to counting the return val from ListAllPages() at the bottom of the admin page
- Wrote sub RedHerringForm - returns a honeypot form to catch spammers
- DoDiscuss: Call RedHerringForm() before the discussion form
- Wrote sub DoPostingSpam - handles the POST action when the honeypot form is submitted
- Wrote sub DoSpam - handles the "spam" action after honeypot form is submitted
- TEMPLATE: Moved <head> onto it's own line, added xml:lang="en" to <html> tag