Commit graph

77 commits

Author SHA1 Message Date
3c669d34ec Replaced “Author” with “Account” 2015-03-28 19:40:09 +01:00
05a76383de Added metadata for Open Graph et al. to Stories.create_action() 2015-03-25 23:41:07 +01:00
95d3a7f6cb Merge branch 'develop' into feature/wysiwyg-editor
* develop:
  Renamed Stories.render_action() to render_json_action()
  Added account image with link to https://gravatar.com
  Added HTML sanitizer for comments and stories. Fixes issue 64.
  Added button for easily adding a username to the troll filter
  Implemented “gaslighting” of troll comments, i.e. hiding a comment of a known troll for everyone else but themselves
  Removed misleading trailing “(Server)” from console output
  Fixes issue 143
  Separated rendering of core and custom CSS with Less and added more detailed error output
  Improved display of console messages
  Added bottom margin after article meta in case there is no title
  Introduced another value for the color of borders, vertical and horizontal lines

Conflicts:
	code/Global/0.node.js
	code/Global/Global.js
	code/Site/$Site.skin
	code/Story/$Story.skin
	code/Story/Story.js
	code/Story/Story.skin
2015-03-25 10:56:53 +01:00
4be67618f6 Renamed Stories.render_action() to render_json_action() 2015-03-25 10:43:44 +01:00
6f1a650a6f Format text with Markdown in Stories.render_action() 2015-03-17 20:08:11 +01:00
7dee983d9b Fixed two issues with new editor:
1. <code> content was not encoded as it used to be
2. Wrong HTML was saved when the form was submitted in preview mode
2015-03-17 18:26:45 +01:00
9788a78f52 Added support for Markdown and implemented preview with rendered macros (via AJAX call) 2015-03-17 16:01:27 +01:00
593c0558e0 Refactored simple backup feature when creating a new story and discarding unsaved content (e.g. by accidentally closing the window – which furthermore is alerted now using onbeforeunload handler) 2015-03-15 17:48:38 +01:00
35bb4734ed Streamlined WYSIWYG story editor integration 2015-03-14 19:16:23 +01:00
865a418b49 Implemented client-side parsing of story content to extract image and video URLs as metadata. This metadata is then used for rendering Open Graph, Twitter Cards and microdata. 2015-02-28 22:00:54 +01:00
1fe0a02a7f Replaced <td> elements with <th> in table headers 2015-01-11 13:13:28 +01:00
eed08e5c4e Removed obsolete methods getHeader() and getAdminHeader() 2015-01-06 17:02:20 +01:00
b5a7cdbcb7 Refactored remaining prototypes for UIKit support as well as unified and smoothed already refactored ones 2014-12-21 17:22:01 +01:00
0df3fae9c4 Moved top stories into stories section 2014-12-17 23:57:26 +01:00
1b79f12eff Refactored for UIKit support 2014-12-16 23:08:48 +01:00
0792317523 Merge branch 'hotfix/closed-stories-collection' into develop 2014-11-30 22:36:10 +01:00
c22e3695d9 Fixed missing equal sign in closed.foreign setting 2014-11-30 22:35:30 +01:00
ab8560b057 Updated license header and unified comments 2014-07-04 17:16:51 +02:00
a70d7e9029 Replaced most double ticks with single ones 2014-07-04 15:44:41 +02:00
c7d78eba65 Reduced line indent from 3 to 2 spaces 2014-07-04 15:32:18 +02:00
3e769d3d6e Cleaned up whitespace with Sublime Text 2 2014-07-04 15:30:46 +02:00
cb9941ba9f * Added macro_list() to Story.edit skin
* Replaced fugly <%> skin edit control with Ⓢ
2013-07-23 20:29:43 +00:00
4f143747f5 Added table name “tag” to column “name” 2012-05-13 20:03:57 +00:00
e3a5e68102 Changed signature of HopObject.confirmConstructor() method: argument can now be either a constructor function or a prototype instance 2012-05-12 16:31:43 +00:00
0f7c8f53e1 * Slightly modified Story.content_macro() in compat to prevent leaking of param properties into HTML attributes
* Replaced req.data with req.params in Stories.create_action() and Images.create_action() to prevent leaking of unwanted data (e.g. http_*) to the database
* Renamed and refactored Story.setMetadata() to Story.setCustomContent()
* Renamed Story.isMetadata() to Story.isCustomContent()
2011-05-15 14:42:54 +00:00
7b4e241cff Added padded JSON response to error handler 2011-05-04 13:50:44 +00:00
4678f272b6 Implemented first draft of JSONP support for creating stories and images as a new part of the Antville API. I.e. it is now possible to create an image (cross-domain!) from within client-side JavaScript simply by calling e.g. Images.create_action() and also providing a name for the callback method in req.data.callback:
* Added JSON.pad() and JSON.sendPaddedResponse() methods
 * Added calls for JSON.sendPaddedResponse() in Stories.create_action() and Images.create_action()
2011-04-05 12:34:30 +00:00
78b32bde9f Added setting of HTTP status code 400 if an error occurs in Stories.create_action(); also see Images.create_action() in previous commit – experimental! 2011-03-29 08:59:20 +00:00
08bcfdcb33 * Refactored Story.add() method to take the data struct as first and required argument, then optionally site and user
* Rewrote Importer reducing redundant code by using new Story.add() method
2011-03-15 22:07:24 +00:00
2ca26e4f28 * Added Story.add() method as counterpart to Story.remove() and to establish kind of internal API
* Rewrote external API (Api prototype) reducing redundant code by calling Story.add() method
2011-03-15 20:22:08 +00:00
5888797569 Added URL keyword to svn:keywords property 2011-02-23 16:24:32 +00:00
6a4cbcc1ed Fixed camel-case in cacheMode and accessName properties 2011-02-15 18:57:15 +00:00
4db44c389b Exclude deleted (aka hidden) comments from being displayed in list of recent updates as well as in RSS output. Fixes #125. 2010-12-08 23:51:06 +00:00
ae44c39d6f * Heavily edited wording of gettext() calls in notification messages
* Removed numbered, footnote-like links in most of the noficitaion messages
 * Added prefix to subjects of notification mails (like “[Antville] ...”) for convenience
 * Added markgettext() calls for most of the prototype names and their plural forms – this time in each corresponding prototype file, though
 * Added options argument to global sendMail() method, currently only to switch inclusion of generic footer in mail body
 * Fix bug in Membership.contact_action() method when an unknown (i.e. unregistered or unsubscribed) user tries to send a message via contact form
 * Unified naming of notify skins (e.g. #notify_delete instead of #notify_deletion)
 * Updated and rebuilt i18n and message files
2010-05-24 13:32:40 +00:00
8eb78b4462 Slightly modified order of collection filters to start with the link to the list of the member’s items 2010-04-25 18:43:12 +00:00
12309653a5 * Decentralized markgettext() calls by moving them from i18n.js to the places where the messages actually are defined
* Added markgettext_macro()
 * Readjusted Admin.dropdown_macro() and the global defineConstants() methods to work with the modified markgettext() calls
 * Updated Members.properties and added SQL patch for lowercasing all membership status due to the modified margettext() calls
 * Added Membership.role_macro() as convenience method
 * Removed syntactic sugar from HopObject.link_macro() and moved it to the compatibility layer to prevent current layouts from breaking
 * Removed obsolete permission for non-existing Image.replace_action()
2010-04-25 17:31:44 +00:00
e5582d8004 Replaced ugly scripted filtering of Stories.comments collection with equivalent filter definition in Stories.properties 2010-04-02 13:54:29 +00:00
32c52791fe * Refactored code and skins in respect for comprehensive i18n
* Refactored and unified remove() methods and calls for greater flexibility as well as reliability
 * Added option to remove all comments by a user to Comment.remove() method and $Comment#delete skin
 * Added global #listItemFlag skin as well as listItemFlag_macro() for rendering vertically written text of items in a list view (e.g. closed)
 * Fixed bug in gettext_macro() and ngettext_macro() causing incorrect whitespace
 * Refactored timezone and locale handling
 * Modified automatic translation of untitled links in HopObject.link_macro()
 * Added honeypot to login and registration forms
 * Fixed client-side JavaScript to be evaluated when login or registration form is submitted, not only when the submit button is clicked
 * Removed redundant filter expression from DB mapping of Membership.images collection
 * Added Membership.content collection
 * Changed terminology from open to running polls, thus renaming Polls.open_action() method and Polls.open collection
 * Moved a lot of CSS used in root or administration sections from Site#stylesheet to $Root#stylesheet skin
 * Added Root.updateDomains() method (most likely already obsolete)
 * Removed Root.processHref() method (only necessary for very advanced setup) and obsolete comments
 * Fixed Root.xgettext() method to correctly read UTF-8 encoded data
 * Fixed Site.deleted_macro() to return the date object for late formatting
 * Refactored Site.processHref() for more convenient custom domain name mapping
 * Renamed Skins.advanced_action() method to Skins.all_action()
 * Removed redundant filter from Stories.comments collection
 * Removed unnecessary filter from Story.comments collection
2010-01-10 14:40:36 +00:00
cca8f2c03a * Modified some res.data.title and res.messages assignments
* Added second argument to HopObject.remove() method; if set to true, any object will be removed without any checks for permissions or the like
 * Enhanced notfound and error screens
 * Removed obsolete Image.site property
 * Added missing LogEntry.remove() method
 * Added Site.deleted property
 * Fixed missing calls for remove() methods of some collections in Site.remove()
 * Added Root#stylesheet skin for future CSS classes necessary for GUI elements
 * Added missing Site.entries collection
 * Removed troublesome if condition in Skin.remove()
 * Generally deny access to Skin.main_action
 * Added missing Skin.getFormValue() method
 * Added check in Skin.update() if the Site#page skin contains the <% response.body %> macro 
 * Added Skins.onRequest() method checking if we are in-between two Skins objects
2009-12-13 22:29:21 +00:00
5ec14e5c06 Skin spring cleaning: unified and restructured skin parts and removed obsolete markup 2009-12-13 21:54:58 +00:00
dcc9cbcfc8 * Added basic doctags to the code
* Removed obsolete code
2009-11-02 16:16:41 +00:00
b86ea5c736 * Modified SQL statements for compatibility with H2 database (experimental)
* Hopefully fixed redirect loop bug of XSS check in HopObject.onRequest()
 * Added Root.xgettext() method as a more reliable way of extracting gettext call strings (esp. from skins)
2009-11-01 11:22:33 +00:00
a4aac4fa93 * Moved Philipp’s RegExp pattern from validation methods to static String properties
* Added global default_filter() method as alternative (and fix in some cases) for the “default” macro parameter
 * Do not show a story’s summary in top stories view but instead try the title and apply the newly introduced default_filter() method with the clipped story text to it
2009-10-27 12:18:08 +00:00
b710a221f0 Display a story’s summary in top stories view instead of the title only 2009-10-27 11:15:56 +00:00
065828abf5 Fixed implemenation of backup/restore feature for stories and comments 2008-06-12 15:33:11 +00:00
af8b05d1bd * Added HopObject.log() method currently caching referrers of story and site requests
* Modified LogEntry to fit into the new logging mechanics
 * Added commitRequests(), commitReferrers() and purgeReferrers() to Root prototype
 * Added referrers collection to Root
 * Re-added Site.spamfilter property for now
 * Refactored Site.referrers_macro() and Story.referrers_macro() (formerly backlinks_macro, but compatibility is granted)
 * Removed obsolete method Stories.flushRequests()
 * Reactivated referrers (thus, including backlinks) for privileged users for testing purposes
 * Added global nightly() method which is called from a new cronjob at 5 am
 * Added calls for referrer purge and commit methods in Root to scheduler
 * Added Story.count() method to increment the request counter; overwrites Helma's built-in HopObject method but it's anyway redundant with HopObject.size()
 * Added utility methods for database access in Sql.js
2008-05-15 12:58:26 +00:00
7ce924ead0 * Fixed res.handlers.membership when sending notifications
* Removed obsolete code
2008-05-12 15:06:20 +00:00
af047f0ec0 Fixed permission for open sites 2008-05-09 17:36:46 +00:00
567d681ae1 * Removed obsolete settings from app.properties (mostly XML-RPC related)
* Added Membership.toString() method for human-readable output
 * Assigned Membership.valueOf() method original toString() method
 * Fixed output of site list in userland
 * Added mountpoint for Api prototype in Root
 * Added trimming for Story text and title input
2008-05-05 00:27:43 +00:00
513a15371d * Fixed actions in story pager
* Slightly modified wording
2008-04-27 19:40:03 +00:00