Commit graph

1033 commits

Author SHA1 Message Date
Dan Cryer b0482b191d Merge pull request #872 from REBELinBLUE/additional_interpolate
Additional interpolate
2015-10-02 22:14:14 +01:00
Dan Cryer 58a97e5a97 Merge pull request #869 from REBELinBLUE/technical_debt_cleanup
Cleanup technical debt
2015-10-02 22:12:50 +01:00
Dan Cryer b171a10759 Fixing Codeception plugin PHPCS errors. 2015-10-02 21:53:39 +01:00
Dan Cryer aaf93ddd7d Updating PHPCI to send more detailed commit statuses, for @REBELinBLUE. 2015-10-02 21:35:53 +01:00
Dariusz Ruminski dc6e63a7e7 PHP CS Fixer - fix name
Closed #1054
2015-10-02 13:54:25 +02:00
Mehmet Ali Ergut f55b336900 Fixes default value for PHP Cs Fixer ( #833 ) 2015-08-24 21:24:37 +03:00
Steve Robbins 92ee90998a Fixes notice in github builds
Closed #996
2015-08-13 14:28:08 +02:00
DELORME Jonathan 8a3d7605d5 Fixed a css issue with Block8 logo
In Chrome (Android L), when you focus an input, the Block8 logo overrides the view.
See : http://s10.postimg.org/d5ffp7dwp/2015_06_30_07_57_03.png
2015-06-30 11:43:25 +02:00
Mark Robinson d2c512d94b Corrected a number of minor spelling errors.
Originally observed that "successful" was misspelled "succesfull" on the build view page. While correcting that, a number of other spelling errors were also corrected.
2015-06-25 15:21:23 +01:00
Joe Huss 9efd8e06dc Contribution Type: improvement / new feature
Primary Area: plugins

Description of change: Implemented using the same changes mentioned here: https://www.phptesting.org/forums/topic/5-mysql-plugin-setup/
Allows you to specify a hostname for your mysql connection.  Not my original code just patching it into the current source and made a branchs/push for it.

(i.e. Created a new plugin named ToolX, used library X to implement, see link)
2015-06-25 07:48:26 -04:00
Adirelle d698b11673 Fixes "Undefined index: login_token".
Fixes https://github.com/Block8/PHPCI/issues/994.
2015-05-30 21:16:31 +02:00
mulleto 2672908225 Make check for Pdepend output dir more robust. Before this fix, the pdepend module would check for "is_writable", which returns false even when the directory does not exist. I suggest to a) attempt to crete the dir if it does not exist, and b) make the error message more explanatory in case the dir cannot be created or is not accessible. 2015-05-29 08:26:47 +02:00
Aleix Canal 3a6008db53 Bugfix: Default codeception xml path "tests/_output/" but now 100% configurable.
Closed #991
2015-05-28 12:18:24 +02:00
tankist 9ace15a55f Fix for #988
Added class::method fallback for feature entry to prevent empty report for Codeception plugin

Closed #989
2015-05-28 12:10:14 +02:00
mulleto 3784cc8ea9 Adding an option for Plugin::Composer to pass the no_dev option. If set to true, it will execute composer with the --no-dev option, which usually suffices for testing in most projects. Default is set to false.
Closed #987
2015-05-28 12:08:30 +02:00
mulleto d34818f029 Added missing strings in german translation
Closed #982
2015-05-28 12:05:58 +02:00
Stephen Ball 1eb5248319 Removed allowed_warnings as it is not used
Calling setOptions

Closed #975
2015-05-28 12:03:23 +02:00
Adirelle 3734d3bc9a Don't use an if and two return statements when one return is sufficient.
Don't use two if when one else does the same job.
Don't use convoluted calculations when one return statement is sufficient.
Don't call a method that doesn't exist.
Don't write a try-catch block that does nothing.
Do send exceptions when a abnormal situation occurs.

Closed #962
2015-05-28 12:00:43 +02:00
corpsee 5c6dd81a9a Extended shields.io status badge support
Closed #958
2015-05-28 11:50:57 +02:00
Petr Cervenka 7ff080971e Adding Flowdock integration
Closed #954
2015-05-28 11:47:57 +02:00
Adirelle ad29ba4cfd Track and display the build progression, for each stages and plugins.
Translations for the build summary.

Closed #944
2015-05-28 11:39:35 +02:00
Adirelle 4edefee761 Reworked the DaemonCommand.
* Accepts options for PID and log file.
* Uses posix_kill whenever available.
* Checks that the daemon actually started or stopped.
* Try to terminate then kill the daemon.
* Uses the logger or output instead of "echo".

Added a ProcessControl interface and implementations.

Closed #908
2015-05-28 10:55:59 +02:00
Vaidas Zilionis 15b6917f68 Allow see project build status in cctray xml format
Refactoring is done for BuildStatus information.
- Fixed all phpcs, phpmd errors
- Added test for my code (hurray 100 tests already :D)

Closed #705
2015-05-28 10:50:29 +02:00
corpsee 853107027b Fixed GithubBuild::getDiffLineNumber method for correct phpcpd work 2015-05-24 14:20:51 +06:00
corpsee 3f02e63c92 Fixed TapParser::parseLine Cyclomatic Complexity 2015-05-24 12:43:43 +06:00
corpsee c20ee0533b Fixed TapParser::parseLine Cyclomatic Complexity 2015-05-24 12:39:27 +06:00
corpsee 1c864cebed Fixed TapParser parse fail with valid data + added tests 2015-05-23 15:40:49 +06:00
Victor 0887bd4bc4 Fix for strict standards issue in RebuildCommand.php
[ErrorException]
Runtime Notice: Only variables should be passed by reference in /var/www/phpci/PHPCI/Command/RebuildCommand.php line 78
2015-05-15 16:37:45 +02:00
Adirelle 5cd29ca7fc Allow to specify a mail template ('short' or 'long') in phpci.yml.
Email plugin: checks if the custom template exists before trying to use it.

Closed #933
2015-04-28 14:09:23 +02:00
Adirelle 590ab5fae5 Build::removeBuildDirectory: do not try to remove build directory of not-yet-persisted builds. 2015-04-25 21:25:50 +02:00
corpsee 21bf104587 Separated strings for 'archived'/'archived_menu' 2015-04-25 09:54:08 +06:00
Adirelle f46a8be648 LoggerConfig::getFor always returns the same instance of Logger for the same $name.
This avoid issues when push handlers/processors to that logger.
Use the Monolog\ErrorHandler to log errors and exceptions.
PHPCI/Logging/Handler becomes PHPCI/ErrorHandler.
And it only throws ErrorException for reported errors.
No need to initialize a second $loggerConfig in daemonise.

Close #892
2015-04-23 13:25:53 +02:00
Adirelle 5688d9c4c8 The manual build button creates build for the currently watched branch.
Close #927
2015-04-23 13:23:13 +02:00
Adam Cooper 408eb5b974 An attempt at making the codeception plugin a little more complete.
Codeception JS plugin and theme changes.
Improvements to the display. Extra total information plus some test file locations.

Close #588
2015-04-23 13:18:26 +02:00
Adirelle 209454c5f6 When starting a manual build, replace the "Manual" commit id with the HEAD hash.
Close #928
2015-04-23 13:13:29 +02:00
corpsee 634b246ed5 Fixed ru strings for create build command (https://github.com/Block8/PHPCI/pull/889)
Fixed ru strings for 'archived'

Close #932
2015-04-23 10:33:38 +02:00
corpsee 1b7f0bbb4b Improved login: now you can login using name or email
Close #873
2015-04-22 13:54:02 +02:00
Alexander Garzon c0568d3a4b Update lang.es.php
Missing translation for "archived"

Close #931
2015-04-22 12:26:51 +02:00
Adam Henley f7ca64bf6d SMTP Password not masked PR #921
Signed-off-by: Adam Henley <adamazing@gmail.com>

Close #923
2015-04-22 12:26:06 +02:00
rm3nchaca 81fbc6a5a0 fix file link in plugins
Running builds leave a file link with an error like "http://gitlab.example.com/root/project/blob/master/index.php#L6" but it is pointing to the actual file, not the file with a bug, example "97f0a6453d/index.php (L6)"

Close #915
2015-04-22 12:24:29 +02:00
Adirelle f25b1d25dc Let CommandExecutor::findBinary throw an exception when the binary is missing.
Close #910
2015-04-22 12:19:05 +02:00
Lewis Wright 7f46b650dc Added check for invalid key
Close #895
2015-04-22 12:06:26 +02:00
Jérémy DECOOL 9261f24d25 Command to create a new build
Close #889
2015-04-22 12:00:38 +02:00
Angel Koilov 77ba61c8bc add pingback for IRC plugin
Close #886
2015-04-22 11:58:43 +02:00
Adirelle 452a5ba97c Enforce "en" lang in tests.
Some tests compare the result to english strings.

Do not test UnixCommandExecutor on Windows.

PharTest: explain why PHAR writing test are skipped.

InstallCommandTest: mock checkRequirements to allow the tests to run.

Run php_parallel_lint before all other tests.

Close #846
2015-04-22 11:49:26 +02:00
Adirelle 9590336c49 Added a new configuration variable, PHPCI_BUILD_ROOT_DI.
This variable allows to change where the build happens.
It defaults to PHPCI_DIR.'PHPCI/build/'.

Moved build path calculate and build removal into the Build class.

Also remove the build directory when deleting the build.

Close #834
2015-04-22 11:44:54 +02:00
Martin Sadovy 60131ae7b6 Github: Support pull private repository from pull request
Closes #832
2015-04-22 11:41:33 +02:00
zviryatko 067a60983f Fix archive link. 2015-04-22 11:37:38 +02:00
Marco Vito Moscaritolo 3626eabc2e Merge pull request #871 from REBELinBLUE/fix_wipe_error
Preventing the wipe plugin failing due to an undefined variable
2015-04-16 18:39:30 +02:00
Marco Vito Moscaritolo 0b0589557f Merge pull request #845 from MarkMaldaba/fix_paths_with_spaces
Fixed the install script, which bails-out with an error if the PHPCI path contains spaces.
2015-04-12 21:17:12 +02:00
Adirelle f3c1a98cf1 Detailed webhook responses.
Fixed docblocks.

Reworked WebhookController to enforce Json responses in ::handleAction.

Check the project type match the webhook.

When creating several builds, do not stop on first error.

Try to create every builds and report 'ok' if at least one succeeds.

CS fix.

Fixed Uses.

Fixed the types accepted by the git webhook.

Added some really basic test.
2015-04-09 13:09:03 +02:00
zviryatko 731fd65453 Change xmpp config and message files directory 2015-04-09 12:08:27 +02:00
Angel Koilov 524341a50b remove unnecessary code 2015-04-09 12:06:32 +02:00
Tobias van Beek 01911f11aa Add the --recursive parameter to the git clone to get the submodules 2015-04-09 12:03:08 +02:00
Adirelle 9d4116e3c9 Reworked TapParser to be compliant and more robust.
Added another test case from #571.

Updated the output of TapParser::processTestLine.

Broke TapParser::parse down in simpler methods.

TapParser: ignore leading garbage and properly complain on missing TAP log.

TapParser: detect and report duplicated TAP log.

TapParser: got rid of the "test" and "suite" values.

They are only available with PHPUnit.

TapParser: append the message from yaml diagnostic to existing message.

Reworked the dispaly of test results.

PHPUnit plugin: pretty print test data.
2015-04-09 12:00:10 +02:00
Nicolplaás 2c43cd1cac Add spanish laguage support 2015-04-09 11:57:46 +02:00
Adirelle d804438a87 Use sensiolabs/ansi-to-html to parse the build logs.
Added an AnsiConverter helper.

Use the AnsiConverter in the email and page templates that display the build log.

Use a dedicated stylesheet for the ANSI converter.

It can be customized.
It can be inlined in the notifications.

Do not use ProphecyTestCase when not needed.
2015-04-09 11:54:57 +02:00
Marco Vito Moscaritolo 039324c056 Merge pull request #842 from corpsee/feature-ui-improvements
UI improvements
2015-03-25 12:51:10 +01:00
corpsee 3a867eb9d5 Fixed 'start' string for ru lang
Fixed 'from' and 'to' strings for ru lang
2015-03-18 13:10:21 +01:00
LAHAXE Arnaud d8df6cab4a Fix french typo mistake 2015-03-18 12:26:27 +01:00
Adirelle ea3b0c219a Code style fixed. 2015-03-18 12:21:06 +01:00
Adirelle f29ff197c6 Generate an new session identifier on successful login to prevent session fixation attacks. 2015-03-18 12:21:06 +01:00
Adirelle 3467e77e74 Use a CSRF token on the login form to prevent CSRF attacks. 2015-03-18 12:21:05 +01:00
Mark Clements 1dd1af2443 Switching tabs to spaces as per style guide.
No functional changes.
2015-03-18 09:47:47 +00:00
Marco Vito Moscaritolo 9d6a65b415 Merge pull request #844 from MarkMaldaba/fix_space_after_colon
Fixed an inconsistency in the way the prompts in the install scripts were being output.
2015-03-18 09:58:21 +01:00
Stephen Ball fdaaa1ede4 Parsing variables in the code coverage output directory for PHPUnit 2015-03-16 11:10:03 +00:00
Stephen Ball 52b2f87df2 Parsing variables in the Wipe plugin 2015-03-16 11:09:45 +00:00
Stephen Ball 9ad0e90fa1 Preventing the plugin failing due to an undefined variable 2015-03-16 11:05:33 +00:00
Stephen Ball 70f0d2516f Removed log output so that it matches the other plugins which don't pollute the build log, and to prevent issues with the log output not being escaped 2015-03-13 13:31:38 +00:00
Dan Cryer ecc92b5f3e Fixing pull request builds. 2015-03-11 07:48:22 +00:00
Dan Cryer 5f2de9a679 Update to only build the latest commit from a Github pull request webhook. 2015-03-10 20:20:54 +00:00
vsguts a188afb0da Fixing symlink removal.
Closes #854
2015-03-10 19:11:43 +00:00
Gustavo Novaro 33fc50a0b5 Remove blank style tag in header
Remove the tag <style> the header because it was not used

Closes #863
2015-03-10 19:04:05 +00:00
corpsee e75ffe0b76 Fixed 'date' nl lang string 2015-03-10 15:44:33 +06:00
Igor Timoshenko 4e8dc7c87b Fixed typos in Ukrainian language 2015-03-10 10:15:50 +01:00
Adirelle 00b88630fb Display a green border in passing build notifications. 2015-03-10 09:53:36 +01:00
corpsee 942127ffe6 Added default value in profile language select (current language) 2015-03-10 09:51:22 +01:00
Leszek a7b40ce176 archived 2015-03-10 09:29:37 +01:00
Thomas Frei 542d2a3545 Remove short array syntax to keep backwards compatibility with php5.3 2015-03-06 17:44:22 +01:00
Nathan Jovin 610d0991a8 Fix issue #840 Technical Debt not storing data nor displaying results in table 2015-03-05 00:12:42 -08:00
Mark Clements 8a96ec8551 Fixed the install script, which bails-out with an error if the PHPCI path contains spaces.
This occurs commonly on Windows, but from my reading of the code it would also be a problem on other platforms if spaces were present (though this is less likely, due to different naming conventions).

It has been fixed by using escapeshellarg() on both of the paths used in the command.

Fixes #698, which I've just noticed has a similar solution suggested in one of the comments, but was closed without anyone actually implementing it.
2015-03-02 22:49:22 +00:00
Mark Clements d2e6182a2f Fixed an inconsistency in the way the prompts in the install scripts were being output.
All the DB/host fields have a space after the colon, which is much better as it means the text you type is slightly separated from the prompt.  However, the admin user fields didn't include this space which was inconsistent and made the install script a little less professional.

I have therefore added the missing space for the prompts which didn't have it in the English language file, and have also updated all other language files to also use this format.  Most of them followed the same inconsistency as the English version, though some were consistent but without a space, and some which were differently inconsistent (both internally, and between languages).
2015-03-02 22:31:01 +00:00
corpsee f97089529c Fixed 'date' it lang string 2015-03-02 08:18:40 +06:00
corpsee 000aff9121 Code style fix 2015-02-28 23:51:04 +06:00
corpsee 9f53471186 Added Date column for builds table in project page. 2015-02-28 23:38:56 +06:00
corpsee da9be4930d Added total builds count to index and project page 2015-02-28 23:13:02 +06:00
Dan Cryer 86b9c05f98 Fixing PHPCS errors. 2015-02-26 08:45:42 +00:00
Dan Cryer ab4396e00d Hopefully fixing a bug where reporting errors back to Github causes an infinite loop. 2015-02-26 08:31:58 +00:00
Dan Cryer 8ab098821b Updating Settings Controller to use the configured config file, rather than assuming config.yml 2015-02-25 14:18:05 +00:00
Dan Cryer e423c73c4e Fixing comparison where commit ID is Manual.
Fixes #823
2015-02-25 14:13:31 +00:00
Dan Cryer db90f2ea11 Updating the UpdateCommand to check for a config key rather than a specific file. 2015-02-25 09:36:50 +00:00
zviryatko f4a0804100 Fix username style in user panel block. 2015-02-24 10:01:36 +02:00
Alex Davyskiba 1466ad06ef Allow projects to be archived.
Closes #771
2015-02-23 19:37:11 +00:00
Dan Cryer e98647bd97 Add support for Mercurial SSH-based clones. 2015-02-23 16:17:46 +00:00
nonlux 893deada33 Set the CommandExecutor buildPath property when a build is created.
Closes #556
2015-02-23 14:42:04 +00:00
Adirelle 4905679298 Email plugin: use "default_mailto_address" as a fallback only.
Closes #730
2015-02-23 14:16:35 +00:00
Matthew Leffler ea3109be67 Convert tapString to UTF-8, allowing UTF8 output from PHPUnit, etc.
Closes #738
2015-02-23 14:15:11 +00:00
Daniel Seif 610a0e57ef Fixed settings handling for symlink creation in local build
Closes #766
2015-02-23 14:07:42 +00:00
Àlex Corretgé 601318b97b Fix the problem when executing Phing out of the build dir.
Closes #778
Closes #748
2015-02-23 13:53:38 +00:00
Lee Willis 6420119f1a Make SSH key generation more robust.
Do not try and predict whether we will be able to create a key. Instead
try and create one and capture failure if it happens.

Closes #803
2015-02-23 13:49:29 +00:00
corpsee 4ffeec7767 Updated lang.ru file
Closes #807
2015-02-23 13:47:16 +00:00
Leszek 1a5ecb97b1 Update lang.pl.php
Closes #810
2015-02-23 13:46:41 +00:00
Dan Cryer dd58dd682f Adding support for commenting on Github diffs. 2015-02-23 13:40:34 +00:00
Dan Cryer 071e36a4e9 Slight cleanup to please PHPMD. 2015-02-20 14:24:37 +00:00
Dzhilkibaev Nadir 35a6d1f577 Add SVN support to PHPCI.
Closes #759
2015-02-20 14:14:36 +00:00
James Inman 9133c544d5 Adding output support to Behat plugin. 2015-02-20 13:38:42 +00:00
Dan Cryer aca8155a43 Merge branch 'master' of github.com:Block8/PHPCI 2015-02-20 12:46:50 +00:00
Dan Cryer 69d05d6da8 Setup plugin failure should cease execution. Fixes #797 2015-02-20 12:46:43 +00:00
James Inman 6c8df9a8ce Fix missing return statement in Technical Debt. 2015-02-19 13:37:35 +00:00
Jon Gotlin bf6ac530a6 Create admin command cleanup 2015-02-19 07:31:00 +01:00
James Inman 5bb68507d8 Fixing Technical Debt error message. 2015-02-18 14:56:04 +00:00
James Inman d6f72b0b7e PHPCS/PHPMD fixes for Technical Debt plugin. 2015-02-18 14:44:04 +00:00
James Inman 2a5ac8ccbc PHPCS/DocBlock fixes to Technical Debt plugin. 2015-02-18 14:15:59 +00:00
James Inman 8f5d855193 Adding Technical Debt plugin. 2015-02-18 14:07:26 +00:00
Daniel Wolkenhauer 33f2ec172d Fatal error: Call to undefined method PHPCI\Helper\Email::setIsHtml() in ../Email.php on line 107 2015-02-16 18:51:05 +01:00
Tobias van Beek 7c4a926166 Render the public key on the project edit page. CLose #722 done by @leewillis77 2015-02-16 15:00:37 +01:00
Marco Vito Moscaritolo cbd98b6b46 Fixed typo. 2015-02-16 14:55:20 +01:00
Marco Vito Moscaritolo 2d194de6d0 Fixed code in CC mails. 2015-02-16 14:54:41 +01:00
Marco Vito Moscaritolo f16395e45b Use more consistent project name loader to compose mail. 2015-02-16 14:52:48 +01:00
Marco Vito Moscaritolo f192185e26 Refactor on mail sending to use Email helper and specific tempalte for successfull build. 2015-02-16 14:51:14 +01:00
Dan Cryer 4d142b61b6 Fixing other tests 2015-02-16 11:58:15 +00:00
Dan Cryer 691f2423f7 Fixing base store docblocks. 2015-02-16 11:20:18 +00:00
Igor Timoshenko 55b10948ef Added Codeception UI plugin 2015-02-16 11:47:07 +01:00
Dan Cryer 44c489dd22 Lots of cleanup. 2015-02-12 14:15:19 +00:00
Dan Cryer c20ca7c8ff Lots of cleanup. 2015-02-12 14:11:58 +00:00
Dan Cryer 6576974584 Cleaning up permissions on a few files. 2015-02-12 13:42:07 +00:00
Dan Cryer dcbad55df8 Fixing FIXMEs 2015-02-12 13:30:32 +00:00
Dan Cryer dea615bf26 Cleanup 2015-02-12 13:20:08 +00:00
Dan Cryer 320b0efa71 Fixing run-builds. 2015-02-12 13:17:50 +00:00
Dan Cryer 54ab93373d Fixing some bugs related to the last round of changes. 2015-02-12 13:17:42 +00:00
Dan Cryer 489f71b8c2 Cleaning up unnecessary use of 'die' and 'exit' 2015-02-12 12:37:56 +00:00
Dan Cryer 36e3c622c8 Fixing missing use statements 2015-02-12 11:42:09 +00:00
Dan Cryer a4339fc1b6 Fixing two particularly dodgy queries in BuildStore. 2015-02-12 11:38:00 +00:00
Dan Cryer d481140ea2 Fixing issues related to LIMIT in Base Store files. 2015-02-12 11:08:45 +00:00
Dan Cryer 9379da1393 Fixing SensioLabs Insight 'Critical' violations. 2015-02-12 10:39:41 +00:00
vigo5190 4d91bd15e7 Update Slack plugin to support the latest version of the library it relies on.
Closes #742
Closes #747
2015-02-09 12:14:30 +00:00
Lee Willis 4f73063fb7 Redesigned build summary for the dashboard to include recent builds.
Closes #783
Closes #708
2015-02-09 11:34:25 +00:00
Luca 935ffe4473 Some Italian language translation improvements.
Closes #784
2015-02-09 11:24:21 +00:00
Dan Cryer 4a1d62b44a Make build log and meta value columns use MEDIUMTEXT data type.
Closes #777
2015-02-09 11:18:34 +00:00
Daniel Seif e531c80718 Reset the status of a duplicated build to avoid strict-mode errors.
When using SQL strict mode, mysql would complain that no default value of the status column is set. Setting the status to 0 before duplicating fixes this.

Closes #725
2015-02-03 12:21:04 +00:00
Adirelle 353c4cafdb Remove duplicates from the list of recipients in the email plugin.
Closes #731
2015-02-03 11:58:18 +00:00
Adirelle 0be37b9e85 Franch translation updates.
Closes #733
2015-02-03 11:56:45 +00:00
Adirelle cd4ff6c4ea Localisation support for dates throughout the front-end using moment.js.
Closes #734
Closes #732
2015-02-03 11:53:12 +00:00
corpsee 5dced5f990 Fixing fatal error with $this->controller->layout in Application class.
Closes #736
2015-02-03 11:49:16 +00:00
corpsee 8d2c7045a4 Update the "Manual Build" string for the Russian translation.
Closes #737
2015-02-03 11:47:07 +00:00
Adam Cooper c441e72d0a Move CSS into separate file, fix width of plugins that use tables and adds table-responsive class for smaller screens.
Closes #755
2015-02-03 11:38:16 +00:00
Sergey Linnik 96b1df55b0 Add query interpolation in PostgreSQL and SQLite plugin.
Closes #757
2015-02-03 11:33:55 +00:00
Sam Mousa 3ade895e30 Fix parameters used to check if ssh-keygen exists to prevent an indefinite hang.
Closes #764
2015-02-03 11:15:52 +00:00
Dan Cryer 731cdcce7d Fixing missing docblock error. 2015-02-03 11:10:22 +00:00
Alex Davyskiba a233c4e26c Escape commit message from XSS and broken markup.
Closes #769
2015-02-03 10:27:36 +00:00