commit c28d11cac8e25d9b0cf8322cf284fe05ce715d50 (tag: v0.40)
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Thu Nov 13 16:02:07 2014 -0600
aneuch.pl
- DoRequest: Removed some commented code
commit 8d4a4ec810ad43722a77e628f40676c10b4301ce
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Thu Nov 13 16:00:17 2014 -0600
config.pl.dist
- Added $PurgeDeletedPage
commit 0d026f7c267980c68be08ae2e73075846f8907f6
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Thu Nov 13 15:51:22 2014 -0600
neuch.pl
- InitVars: Check if a revision exists before offering to edit it, remove RegCommand on 'revision'
- MarkupImage: Use $Url instead of $ShortUrl
- DoSpecialPage: Return if a revision is involved
- DoEdit: Show if currently editing the latest revision, also let the user know if the page is a special page
- AdminForm: Form() now returns instead of prints
- DoAdminBlock: Form() now returns instead of prints
- DoAdminBannedContent: Form() now returns instead of prints
- DoAdminCSS: Form() now returns instead of prints
- DoAdminRobotsTxt: Form() now returns instead of prints
- RedHerringForm: Return instead of print
- Form: Return instead of print
- DoDiscuss: RedHerringForm() now returns instead of prints
- DoHistory: Instead of calling CommandLink for 'revision', call a blank CommandLink (DoRequest() now handles revisions)
- PageExists: Allow revisions as well
- Removed sub DoRevision - Now handled by DoRequest()
- CommandLink: Change to allow for blank command
- DoRequest: Removed some commented code, now handle displaying revisions of pages and files
commit 5e7a7ab66427d69ead5d25eb5081f361ea03d6ad
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Fri Nov 7 13:41:32 2014 -0600
htaccess.dist
- Removed RewriteCond that QUERY_STRING be empty.
commit 09a8edabdd506b06c843446459a4850aac6737ac
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Fri Nov 7 13:38:01 2014 -0600
aneuch.pl
- Removed some unneeded variables, changed @Plugins to %Plugins
- Introduced $VERSIONID
- Use $Url instead of $ShortUrl in several places throughout the script
- InitVars: Changed the way $EditText was built, $RevisionsText and $RandomText now use CommandLink() and $AdminText uses AdminLink(). Changed call on RegCommand for 'revision'. Removed RegAdminPage 'getbannedcontentfile'. Removed RegShortCode call on 'blog'.
- Removed sub DoBlog
- MarkupBuildLink: Use CGI.pm methods to generate links. Call CommandLink() for the edit link.
- Markup: Introduced triple-braces to generate <pre> tags, began preparing for triple-brace around inline no-wiki
- Wrote sub RegPlugin - Registers a plugin and its description
- GetPage: Added comment
- Removed unneeded sub GetArchivePage
- RefreshLock: Call StringToFile instead of manually writing.
- UnLock: Untaint $pg
- DoArchive: Untaint $file, $archive, and $F{revision}
- WritePage: Corrected test for file upload
- WriteDB: Untaint $filename
- CommandDisplay: If there is a revision, append it to the end of the line
- AdminForm: Call Form() now
- DoAdminVersion: Change for @Plugins -> %Plugins
- DoAdminIndex: Use CGI.pm methods for links
- DoAdminRemoveLocks: Untaint variables
- DoAdminClearVisits: Use CGI.pm methods, and call AdminLink()
- DoAdminListVisitors: Call AdminLink() for removing limit
- Removed unneeded sub DoAdminUnlock
- DoAdminBlock: Add <br/> before save button
- DoAdminBannedContent: Remove bit about pre-populating with default BannedContentFile, add <br/> before save button
- DoAdminCSS: Call AdminLink() to restore default CSS, add <br/> before save button
- DoAdminListFiles: Use CGI.pm methods for list and link
- DoAdminRobotsTxt: Add <br/> before save button
- Commented out sub DoAdminGetBannedContentFile - It wasn't working anyways.
- DoAdmin: Minor change to back link, call AdminLink() for it, use CGI.pm methods for list
- DoRecentChanges: Call CommandLink()
- DoDownload: Now can handle revisions as well
- DoHistory: Use CGI.pm methods, inform if page is scheduled to be deleted, call CommandLink()
- DoVisit: If param 'revision' is set but $PageRevision is not, then populate the variable with the parameter
- DoRevision: Properly display past revisions of uploaded files
- Wrote sub CommandLink - will return a link to the command specified
- Wrote sub AdminLink - will return an admin link to the admin page specified
- CSS: Changed the <pre> style
commit 933add01c420629e4f3e5b8e13eb355068fb32e2
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Tue Oct 28 14:53:22 2014 -0500
aneuch.pl
- Added variable $PurgeDeletedPage - timestamp for how long a page marked DeletedPage should hang around
- InitVars: Initialize $PurgeDeletedPage to 2 weeks
- InitVars: Include the quotes in 'search' RegCommand
- InitVars: Removed the RegCommand for 'delete', added RegMaintAction 'deletepages'
- GetPage: Changed the way variables are passed
- DoEdit: Moved the preview above the start of the editing form, removed the link to "Delete Page"
- WritePage: Check if the content is a file upload, and if it is, don't try to do signatures. Same thing for the diff
- ReadDB: Introduced variable to increase readability of code
- AppendPage: Pass along first 200 characters of comment instead of "Comment by"
- DoRecentChanges: Don't split the summary onto its own line
- DoHistory: Changed intro line to page
- DoPostingUpload: Fixed bug that was causing upload revisions to not work. The fix was in the record separator.
- Wrote sub DoMaintDeletePages - Deletes pages that have been marked DeletedPage and are older than $PurgeDeletedPage
- DoDiff: Link to current revision of page (at the top), also don't show plain text contents if it's a file
- Removed sub DoDelete
commit 3e9f78139f6aead5fba2110d3c355093bd4346a7
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Fri Oct 24 10:45:53 2014 -0500
aneuch.pl
- Added var %CommandsDisplay - Display options for the given command in the visitor log
- InitVars: If do=revision, we still want discussion and edit links. Also, if revision number specified, edit text will now include that.
- InitVars: Changed all RegCommand calls to include display variables.
- InitVars: Instead of building %MaintActions manually, use the new RegMaintAction API
- DoHeader: Use "searchbox" as the id for the div around the search form.
- MarkupBuildLink: Underline the page name in red dashed line if it doesn't yet exist
- Markup: #NOWIKI is handled a little differently
- RegCommand: Allow $display variable now, add that to %CommandsDisplay
- UnRegCommand: Delete from %CommandsDisplay also
- Wrote sub RegMaintAction - registers a maintenance action
- Wrote sub UnregMaintAction - unregisters a maintenance action
- GetPage: allow a revision to be passed to the sub, and if there is one, retrieve the revision instead of the latest version of a page
- IsLoggedIn: Added additional comments
- DoEdit: Allow revisions to be edited, use WriteDB and ReadDB instead of the hokey way temp files were being stored before.
- WritePage: Instead of using GetParam('revision'), use NextRevision()
- Wrote sub LatestRevision - Returns the latest revision number of a page.
- Wrote sub NextRevision - Returns LatestRevision() + 1
- Wrote sub CommandDisplay - will return the display text for a given command
- DoAdminListVisitors: Removed all hard-coded command translation, call CommandDisplay now
- DoSearchShortCode: Allow "extras" to be included that will be tacked on to the URL, such as "summary=0" etc
- DoSearch: If param summary=0, don't show the text from the page (simply show the list of pages and their last modified time)
- DoHistory: The revert button now sends you to edit for the particular revision
- Preview: Changed to use the WriteDB function
- DoRevision: use param 'revision' instead of 'rev'
- Removed sub DoRevert - now handled by DoEdit with revision param set
- DoRequest: Use param 'revision' instead of 'rev'
- CSS: Rename #search to #searchbox
commit 6a019013c66e2495c6d8bd0be0b74afe3269f84e
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Wed Oct 15 10:43:12 2014 -0500
aneuch.pl
- ADDED VARS $SpamLog and $LogSpam
- InitVars: defined $LogSpam and $SpamLog
- DoSearch: Remove "Nothing found!" comment, changed page titles to use <big> tag, added suggestion at the bottom of the search page to create a page if no results found.
- DoRevert: Check for IsAdmin() while reverting (TEMPORARY FIX!!!)
commit 6a48c1a5cbd1c4896d44754346b64e075c63fbbd
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Tue Jun 10 16:02:51 2014 -0500
- Added variable %HTTPHeader
- InitConfig: $ConfFile is now './config.pl' due to some strange issues observed in another installation
- InitVars: $ENV{'PATH'} now includes /usr/local/bin and /usr/pkg/bin, just in case.
- InitVars: Check for %3B in requests, convert them to semicolons.
- InitVars: Call RegCommand() for robotstxt, points to DoRobotsTxt()
- InitVars: Call RegAdminPage for robotstxt and getbannedcontentfile
- InitVars: Call RegPostAction for robotstxt, points to DoPostingRobotsTxt
- InitVars: Call RegRawHandler for robotstxt, also if $Page eq "robots.txt" then call SetParam on 'do' to 'robotstxt'
- ReadCookie: Re-written to use CGI
- SetCookie: Re-written to use CGI
- DoEdit: Don't call QuoteHTML on $contents for the default text of the textarea.
- Wrote sub CountAllComments - Determines the list of discussion pages, and walks through them calling DiscussCount, returns total count
- DoAdminListVisitors: Don't show the seperate list of IP's, changed the way the data break-out is done with named variables
- DoAdminBlock: Surround the blocked count with <strong>
- DoAdminBannedContent: Surround the blocked count with <strong>, added link to call getbannedcontentfile
- DoAdminListFiles: Move the printing of the intro text down
- Wrote sub DoAdminRobotsTxt - Admin page for editing the robots.txt file
- Wrote sub DoAdminGetBannedContentFile - Supposed to retrieve the distrubted BannedContentFile from aneuch.org (not working yet)
- DoAdmin: If the descriptive text for an admin page is empty, don't display it in the list
- Wrote sub DoRobotsTxt - Sends text/plain robots.txt
- QuoteHTML: Commented the & exchange for &, don't recall why right now
- DoHistory: Only show page view count if $CountPageVisits is set
- ReDirect: Include %HTTPHeader with $q->redirect() call
- Wrote sub DoPostingRobotsTxt - Handles saving the robots.txt file
- DoPosting: SetParam() do = 'posting'
- DoVisit: Log entries are very simple now
- ErrorPage: Changed the way the HTTP Status is set
- DoRequest: Commented out the block that bans searching from outside the site. This really isn't a bad thing I don't think. It was just being abused previously.
- DoRequest: If param 'do' is set, but a sub not associated with it, call 501 not implemented
- DoRequest: Now use %HTTPStatus with $q->header()
- CSS: Added "font-size: 1.05em;" to #content declaration
commit 8770d87d6623b14289412815147d92271aba557d
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Thu Apr 24 15:46:09 2014 -0500
aneuch.pl
- Removed %FORM from use vars statement
- Defined variables %ShortCodes and $BlogPattern
- InitVars: Grab $Aneuch::VERSION instead of $VERSION in adding Aneuch to @Plugins
- InitVars: Define $BlogPattern
- InitVars: Removed unneeded code
- InitVars: Changed the way $NavBar is built
- InitVars: Register short codes 'blog' and 'search'
- Wrote sub DoBlog - Returns a listing of blog entries
- MarkupBuildLink: Add quotes around page name when building create page link
- Wrote sub MarkupShortcode - Searches for defined shortcodes, then executes the associated sub
- Markup: Check for shortcodes at the end
- Wrote sub RegShortCode - Registers a shortcode and its associated sub
- Wrote sub UnregShortCode - Unregisters a previously registered shortcode
- DoEdit: Added checkbox to select if the page is a template (not complete yet)
- DoEdit: Only show the link to upload a file if CanUpload()
- DoAdminBlock: Call Form() instead of manually building the form
- DoAdminBannedContent: Call Form() instead of manually building the form
- DoAdminCSS: Call Form() instead of manually building the form
- DoAdmin: If $CountPageVisits then show total page view count
- Wrote sub Form - Generates an HTML form element based on input received
- Wrote sub DoSearchShortCode - Returns a link to search for the text within the shortcode
- DoPostingDiscuss: Check for attempted file upload
- DiscussCount: Operate on a page name passed to the sub (if one is) rather than $Page
- DoRevert: Add rel='nofollow' on "YES" link
- StripMarkup: Added "-" to the list of items acceptable.
- DoRequest: Removed hard-coded URL on $referer checking for search
- CSS: Added .navigation li a.active block
commit ef3d3535918af92b199cefd44e035ef1c81e34e2
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Thu Mar 13 15:13:38 2014 -0500
- InitVars: Strip leading slashes from $Page right after it grabs path_info()
- InitVars: Call RegAdminPage on 'files', which points to DoAdminListFiles()
- MarkupImage: Fixed bug whereby external images (with http://) were getting clobbered. Also call ReplaceSpaces() on image name if local file.
- Wrote sub DoAdminListFiles - Shows a list of all pages which contain an uploaded file
- DoRequest: Call PageExists() instead of a manual test. Also, if 'filename' is set on an uploaded file, display that instead of the page name.
commit 686dd7561b92a09c8f0f9a624edb91af1027b377
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Tue Mar 11 21:12:50 2014 -0500
- Removed $Header and $Footer
- Added $UploadsAllowed and @UploadTypes
commit 8c0f22425256786a42a160ac6c751acc4935239e
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Tue Mar 11 14:30:46 2014 -0500
- Changed hash-bang line to include the 'w' and 'T' switches. Not sure about keeping this in the future.
- Added "use CGI" statement
- Uncommented the "use CGI::Carp qw(fatalsToBrowser)" line. For now.
- Added variables $q, $Hostname, @RawHandlers, $UploadsAllowed, and @UploadTypes
- InitScript: Set $q = new CGI
- InitVars: Set $UploadsAllowed to 0 by default, and set the default @UploadTypes to include 'image/gif', 'image/png', and 'image/jpeg'
- InitVars: Removed a bunch of commented code, and changed the way $Page was determined
- InitVars: Call SetParam on 'search' after replacing spaces
- InitVars: Changed how redirect is done for trailing slash pages (for CGI)
- InitVars: Attempt to determine $Hostname, set $Username to it if one isn't set already
- InitVars: Call RegCommand on 'download', which calls DoDownload()
- InitVars: Call RegPostAction on 'upload', which calls DoPoastingUpload()
- InitVars: Call RegRawHandler on 'download' and 'random'
- DoHeader: Change the call on PageExists from GetParam('page') to $Page... don't know if this is still needed.
- MarkupBuildLink: Don't strip a query string from the link text anymore
- Wrote sub MarkupImage - Handles the image stuff of the markup tag {{}}
- Markup: Call MarkupImage() on image tags
- Wrote sub PageIsFile - Returns 1 if the page is an uploaded file, 0 otherwise
- Wrote sub IsRawHandler - Determines if an action should be done "raw"
- Wrote sub RegRawHandler - Adds an action to the list of "raw" subroutines
- GetParam: Changed to use CGI
- Wrote sub SetParam - sets a named parameter to a value in CGI
- SetCookie: Removed some commented code
- Wrote sub CanUpload - Determines if uploads are allowed
- DoEdit: Re-written to include the file upload form if 'upload' param = 1, and to utilize CGI calls
- SetLock: Call StringToFile instead of writing directly to a file
- WritePage: Remove all %FORM lookups, replace with GetParam (for CGI), also add 'hostname' and 'filename' elements
- AppendPage: Added 'hostname' element
- DoAdminPassword: Call CGI functions instead of direct printing HTML
- DoAdminVersion: Call CGI functions instead of direct printing HTML
- DoAdminListVisitors: Set the paragraph style to align left (instead of justify), added "download" to the list of items to word differently
- DoAdmin: Instead of doing a javascript to go back, hard-link to ?do=admin
- Removed sub ReadIn - No longer needed since the switch to CGI
- Wrote sub StartForm - Returns the start of a multipart form
- IsBannedContent: If the text is a file upload, return 0. Also replace %FORM with GetParam
- PassesSpamCheck: Re-written to use GetParam (for CGI)
- DoLinkedPages: If page does not exist, say so and return
- Wrote sub DoDownload - Handles the sending out of uploaded files
- DoSearch: Change to use 'grep -Prli' to get a list of pages that contain the search string, and then open only those pages (speeds up search)
- StringToFile: Replace %FORM with GetParam (for CGI)
- ReDirect: Re-written to use CGI
- DoPostingSpam: use GetParam (for CGI)
- DoPostingLogin: use GetParam (for CGI)
- DoPostingEditing: use GetParam (for CGI), check if attempting to by-pass the ban on file uploads
- DoPostingDiscuss: use GetParam (for CGI)
- DoPostingBlockList: use GetParam (for CGI)
- DoPostingBannedContent: use GetParam (for CGI)
- DoPostinCSS: use GetParam (for CGI)
- Wrote sub DoPostingUpload - Handles the file uploads
- DoPosting: use GetParam (for CGI)
- StringToFile: Attempt to untaint the file name (may need more work)
- DoDiff: use GetParam (for CGI)
- DoRevision: Instead of a giant header, use a smaller, friendlier paragraph to show revision number. Also link to the original.
- DoRevert: use SetParam (for CGI)
- ErrorPage: Added more http codes
- DoRequest: Remove call to ReadIn(), remove hard-coded check for 'random' action, block any search request if referer isn't on the same domain (or is set to a blank search request), call IsRawHandler, and use GetParam (for CGI). Also if PageIsFile(), show a friendly page with a link to ?do=download rather than vomit on the screen.
commit db3ced225ae63717abd53a73096f333bb3daa828
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Tue Mar 4 10:29:01 2014 -0600
- Updated $VERSION to 0.40
- InitVars: Changed the way $DiscussPrefix is determined, allowing a blank value (which will disable discussion pages)
- InitVars: Only build $DiscussLink and $DiscussText if $DiscussPrefix is not blank
- InitVars: Call RegCommand on 'links', which calls DoLinkedPages()
- InitVars: Only call RegSpecialPage on "$DiscussPrefix.*" if $DiscussPrefix is not blank
- DoFooter: Only add $DiscussText to the list if $DiscussPrefix is not blank
- DoAdminListVisitors: Added "links" to the list of items to display differently
- Wrote sub DoLinkedPages: Displays a list of pages that link back to $Page
- DoHistory: Add a link to the 'links' action on the history page, which will then show backlinks
- IsDiscussionPage: If $Page matches $DiscussPrefix and $DiscussPrefix is not blank (otherwise every page was turning in to a discussion page)
commit a7920ed8eeb79243f0f88cb69684d1c9172ea8af
Author: Aaron J. Graves <cajunman4life@gmail.com>
Date: Tue Mar 4 10:13:24 2014 -0600
- Corrected a minor spelling mistake