* Disburdened constructor methods of most of the prototypes by moving most of the code to the new static add() method.
* Added temporary debugging method HopObject.confirmConstructor() to log a warning whenever a constructor is directly called – in which case it should be checked if the static add() method is to be preferred.
* Disburdened constructor methods of most of the prototypes by moving most of the code to the new static add() method.
* Added temporary debugging method HopObject.confirmConstructor() to log a warning whenever a constructor is directly called – in which case it should be checked if the static add() method is to be preferred.
* Removed obsolete code in Poll.edit_action() method.
* Call Admin.purgeSites() from scheduler() to reduce delay between deletion date and running nightly()
* Do not remove already existing deletion job, can be useful for debugging
* Do not increase Site.deleted property when queueing the deletion job
* Remove deletion job if exists and the site status has been changed again to prevent undesired deletion of sites
* Added connect feature to user profile by providing links to connect and disconnect from the various services
* Updated Scribe library to version 1.2 (used by connect feature)
* Removed <select> elements for long and short date formats in $Site.edit skin
* Removed compatibility support for long and short date formats
* Removed global getDateFormats() method and commented code in global formatDate() method
* Slightly shortened <select> elements in site preferences again
* Rewrite client-side code for reformatting the time zone <select> element according to changes in global getTimeZones() method
* Replaced “return false” with call for event.preventDefault() in client-side event-driven code
* Rewrote global getDateFormats() and formatDate() methods – caution! getDateFormats() will be removed in the next commit because the dropdown menus in site preferences are obsolete; just committing the code for the record
* 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()