485 Commits

Author SHA1 Message Date
Per Ploug 89bb8eb3f4 too much dollar 2017-06-07 08:04:11 +02:00
Per Ploug 6bc5fcad99 Merge remote-tracking branch 'refs/remotes/origin/master' into lesson-documentation-controller 2017-06-07 07:57:12 +02:00
Per Ploug 04bcf16d33 Merge pull request #113 from umbraco/lesson-documentation-controller
Lesson documentation controller
2017-06-07 07:42:50 +02:00
Per Ploug 76752f9bd8 Merge branch 'master' into lesson-documentation-controller 2017-06-07 07:42:41 +02:00
Per Ploug 29d5d293c4 api controller for serving help docs 2017-06-07 07:40:06 +02:00
Sebastiaan Janssen c66e9d208b Merge pull request #109 from emmagarland/githubcontributors
Github contributors list
2017-06-05 20:57:11 +02:00
Emma Garland 7808a20be7 Reverted additions logic 2017-06-05 16:50:43 +01:00
Emma Garland 463ebcaa66 Additions and deletions plural 2017-06-05 16:49:04 +01:00
Emma Garland 2fe55431a0 Contributions plural logic 2017-06-05 16:46:51 +01:00
Emma Garland 0a59d09d81 Moved author title 2017-06-05 16:40:55 +01:00
Warren Buckley 9c4d1baa52 Some more docs to the oh so lovely switch statement 2017-06-05 16:37:25 +01:00
Emma Garland 7ebb26840f Merge remote-tracking branch 'upstream/master' into githubcontributors
# Conflicts:
#	OurUmbraco.Site/OurUmbraco.Site.csproj
#	OurUmbraco.Site/Views/Partials/Community/Home.cshtml
#	OurUmbraco.Site/Views/Partials/Community/Scripts.cshtml
#	OurUmbraco/OurUmbraco.csproj
2017-06-05 16:28:48 +01:00
Warren Buckley ab3603318a Lovely swtich case for now - to give section & tree help context info 2017-06-05 16:20:13 +01:00
Emma Garland ac33beeba9 Smooth transitions and styling for additions and deletions 2017-06-05 16:13:34 +01:00
Emma Garland 87a65f0416 Moved model into new file 2017-06-05 15:57:04 +01:00
Emma Garland 25903c34c6 Comments updated and weeks additions and deletions logic added 2017-06-05 15:56:37 +01:00
Per Ploug 85b7243186 changed branch to WIP Branch for demo 2017-06-05 16:56:03 +02:00
Emma Garland 61cbdeb96b Updated comments on the API methods 2017-06-05 14:15:07 +01:00
Emma Garland 8ab087b23f Updated wording for default branches 2017-06-05 14:11:03 +01:00
Emma Garland e39043af44 Added sizing for the avatar 2017-06-05 13:59:03 +01:00
Emma Garland 2465d4ceb8 Contribute to Umbraco link 2017-06-05 13:45:19 +01:00
Emma Garland 8bf89fdf37 Updated styling and listing of repositories 2017-06-05 13:44:27 +01:00
Emma Garland 89f6f60c96 New window 2017-06-05 13:39:28 +01:00
Emma Garland 1572080976 Updated content to list the Umbraco repositoriies to contribute to 2017-06-05 13:38:31 +01:00
Emma Garland 03de29ebd9 removed github member 2017-06-05 13:26:56 +01:00
Emma Garland 055aea9334 Updated styling with margin right removed and media queries to show or hide different numbers of github users 2017-06-05 13:18:59 +01:00
Emma Garland 06d31b36a6 Updated css and html for github contributors, and updated list of contributors 2017-06-05 12:46:06 +01:00
Sebastiaan Janssen 440084e832 Merge pull request #107 from abjerner/master
Added a new section to the "Community" page listing Umbraco events from Meetup.com
2017-06-05 13:41:30 +02:00
Emma Garland 7abe6161d6 Added more HQ exclusions and reformatted 2017-06-05 12:28:40 +01:00
Emma Garland 576b1bcf2e Load more button now functional 2017-06-05 10:48:52 +01:00
Emma Garland 593d0c31fa HQ exclusion list 2017-06-05 10:10:37 +01:00
Emma Garland 09ed061c9b Now combines more repos 2017-06-05 09:54:59 +01:00
Emma Garland 9b67f4cebf Ordered correctly 2017-06-05 09:05:58 +01:00
Emma Garland b8571f56a6 Updated model to use new method call with accurate commit information 2017-06-05 09:01:07 +01:00
Anders Bjerner 55b2bcae63 Slightly adjusting the list so it still looks okay with an odd number of events 2017-06-05 09:47:15 +02:00
Anders Bjerner 1331c2200e Added new user groups to the configuration file 2017-06-05 09:46:25 +02:00
Emma Garland 3a27201bed Updated sass styling for the avatars 2017-06-04 23:40:49 +01:00
Emma Garland 9a03d09c04 Green header colour as per header 2017-06-04 23:05:48 +01:00
Anders Bjerner ad900861da Updated the implementation
- We can now show logo (or image really) of the group responsible for each event
- Only the first event of each group are shown in the list
- A "NEAR YOU" label is now shown instead of the distance (the location of the group is used as fallback if no venue is specified)
2017-06-04 23:43:32 +02:00
Emma Garland 9f127239ec Updated gulp-imagein version and now successfully compiles 2017-06-04 22:10:31 +01:00
Emma Garland ae555f4130 Wording update 2017-06-04 21:16:18 +01:00
Emma Garland 0c25c1529d Updated to use main Umbraco commits 2017-06-04 20:18:33 +01:00
Warren Buckley efc11c1f40 Revert config - as it expects it to be master branch in other places in the code base at the moment 2017-06-04 20:06:49 +01:00
Warren Buckley eabe640ebf Merge branch 'lesson-documentation-controller' of https://github.com/umbraco/OurUmbraco into lesson-documentation-controller 2017-06-04 20:03:16 +01:00
Warren Buckley d9de0447f5 Update the path to WIP PR Docs branch so we can pull down the MD files 2017-06-04 20:02:59 +01:00
Per Ploug 25858eb870 added method for pulling steps for lessons 2017-06-04 20:58:33 +02:00
Warren Buckley dfb728655f Tiny CSS changes 2017-06-04 19:58:10 +01:00
Warren Buckley 614c4f2d36 Super basic CSS styling 2017-06-04 17:25:24 +01:00
Emma Garland 91d3c6c717 Border and url fix 2017-06-04 17:15:51 +01:00
Emma Garland b235ed168a Inline styles (temp) 2017-06-04 17:12:39 +01:00
Emma Garland b9d5354cc7 GitHub contribution numbers 2017-06-04 16:58:25 +01:00
Warren Buckley 768525a0c7 Ensure we sort by the super magical switch sort int property on the object 2017-06-04 16:54:25 +01:00
Emma Garland 829693c410 Added new styles and classes - sass to be accessed 2017-06-04 16:49:57 +01:00
Sebastiaan Janssen a16c9f1c6c Merge pull request #108 from umbraco/temp-new-starterkit-download
Serve a default starter kit if the version is higher than 7.6.4
2017-06-04 17:48:15 +02:00
Niels Hartvig 6242eed778 Serve a default starter kit if the version is higher than 7.6.4 2017-06-04 17:44:47 +02:00
Warren Buckley 284ca67dd3 Adds trailing slash to ensure all links work as expected when we start off at index.md 2017-06-04 16:40:51 +01:00
Warren Buckley 706c793cc2 Ensure we do not append the altLink to any images as it blows up if we do 2017-06-04 16:38:01 +01:00
Emma Garland 9799071d04 Initial addition of GitHub contributors code 2017-06-04 16:19:21 +01:00
Warren Buckley 492a3e5a8d Init API Controller to Query partial part of the MD Docs tree & WIP for the markdown alt template 2017-06-04 16:07:14 +01:00
Anders Bjerner c6de48c8e2 Added a new section to the "Community" page listing Umbraco events from Meetup.com 2017-06-04 17:02:41 +02:00
Warren Buckley aea3c0a696 Fix OurUmbraco.Site project for loading for people who just have VS17 installed 2017-06-04 13:12:11 +01:00
Sebastiaan Janssen 2fcd7f3911 Better gulp runner 2017-06-04 12:05:57 +02:00
Shannon Deminick 8c6f03f257 Merge pull request #97 from dampee/our-437-edit-link-github-casing
OUR-437 fix casing of md file in case incoming URL has incorrect casing
2017-05-16 14:00:08 +10:00
Shannon 8a24fc60ca fixes the sorting of retreving wiki files 2017-05-15 19:22:16 +10:00
Shannon 1beedba67d Fixes U4-9887 Uses new OUR endpoint for package installation when a package has mixed formats 2017-05-11 14:02:49 +10:00
hartvig 16233f4856 Merge pull request #104 from umbraco/remove-annoying-gif
Remove annoying gif :)
2017-05-04 11:46:59 +02:00
hartvig c662620791 Remove annoying gif :) 2017-05-04 11:46:05 +02:00
hartvig 1abb97bdc7 Merge pull request #103 from umbraco/temp-annoying-gif
Updates annoying gif to not being shown on mobiles
2017-05-01 15:05:04 +02:00
Niels Hartvig 4e2634c116 Added a little check to hide on mobile devices 2017-05-01 15:03:36 +02:00
Niels Hartvig 2c93b5fc13 Merge remote-tracking branch 'refs/remotes/origin/master' into temp-annoying-gif 2017-05-01 14:57:05 +02:00
Shannon fe83cfa408 Fixes GetDetails method call 2017-04-30 17:43:15 +10:00
hartvig 59c1485697 Merge pull request #102 from umbraco/temp-annoying-gif
Bring back annoying gif for Ilhams master thesis survey
2017-04-28 12:33:21 +02:00
Niels Hartvig d68e0e54b5 Bring back annoying gif for Ilhams master thesis survey 2017-04-28 12:32:55 +02:00
Shannon 55daf57e21 reverts change, we'll search all packages for the full major 2017-04-27 13:50:25 +10:00
Shannon 7d37c7aa2a Changes the search to only include packages of the same minor version as the one being requested 2017-04-27 13:32:07 +10:00
Shannon 3ec24fa6f1 Fixes issue of returning non package files for the zip file 2017-04-27 12:25:34 +10:00
Shannon 70650eff6a fixes a null check issue 2017-04-27 11:58:49 +10:00
Shannon baebd73f19 Fixing up lucene indexes with versions and range queries, should be working now 2017-04-27 10:35:16 +10:00
Shannon 11f9219419 fixes cache key for package search, fixes boolean query for range search 2017-04-27 00:37:34 +10:00
Shannon 5f12eec438 fixes serialization for package details 2017-04-26 23:22:26 +10:00
Shannon 385c767a48 Fixes the version search numerical conversion - hopefully this makes the search actually work correctly 2017-04-26 23:00:29 +10:00
Shannon 905a938444 Adds more details to the PackageDetails object 2017-04-26 22:37:24 +10:00
Shannon 922be55356 adds 7.6 version 2017-04-26 22:26:33 +10:00
Shannon 9d54458280 make sure the includeHidden is part of the cache key 2017-04-26 22:15:25 +10:00
Shannon 481afb0a8f adds ability to return hidden packages since we need this for starter kits that are hidden 2017-04-26 21:00:03 +10:00
Shannon ebedf63c71 remove c# 6 feature 2017-04-26 18:59:03 +10:00
Shannon 25fc105257 better error msgs for returning package details 2017-04-26 18:43:55 +10:00
Shannon Deminick 8848e04019 Merge pull request #101 from umbraco/temp-CON-1267
CON-1267 Update Our to not offer v6 to people on < 7.6.0
2017-04-26 18:25:15 +10:00
Shannon a0d9c0006d Updates the PackageRepositoryController to be able to return a packages file 2017-04-26 17:58:35 +10:00
Shannon 0bd31c3fe0 adds null check 2017-04-26 15:12:53 +10:00
Shannon aa77ddd60f adds nicer error handling when the package is not supported 2017-04-26 15:11:33 +10:00
Shannon d78cd42797 adds better err message 2017-04-26 15:00:49 +10:00
Shannon b183f452d2 Fixes version check 2017-04-26 14:54:24 +10:00
Shannon 516a8446cd update to support semver versions 2017-04-26 14:19:13 +10:00
Shannon 0130399d7b Updates code so that strict version dependent files are not returned to versions of umbraco that do not support them and also ensures that we deliver the correct package zip to later umbraco versions 2017-04-24 21:17:44 +10:00
Shannon 1bf0d66b7a adds notes 2017-04-21 19:27:17 +10:00
Shannon 068005dc16 Made a good start on getting the package version querying working 2017-04-21 19:21:33 +10:00
Sebastiaan Janssen d673877e4e Update README.md 2017-03-31 14:47:44 +02:00
Sebastiaan Janssen 68979fb8d3 Upgrade to 7.5.11 2017-03-07 09:12:17 +01:00
Sebastiaan Janssen 3181d73986 Merge pull request #98 from JimBobSquarePants/patch-1
Remove viewport meta properties preventing zoom
2017-03-02 09:47:53 +01:00
Sebastiaan Janssen 825b02fb83 Disallow iframing 2017-02-24 15:51:10 +01:00
Sebastiaan Janssen d25e6452fe Remove macro that calls into dynamic methods 2017-02-22 16:28:59 +01:00
Sebastiaan Janssen b3205b0904 Upgrade to 7.5.10 2017-02-21 21:06:34 +01:00
Sebastiaan Janssen 080b0d81a4 Merge pull request #99 from jamiepollock/bugfix-roadmap-releasedescription
Fixed typo on Roadmap.cshtml preventing ReleaseDescription from being displayed
2017-02-15 22:37:55 +01:00
Sebastiaan Janssen daf680e5d0 Pingdom account was cancelled 2017-02-11 13:29:51 +01:00
jamiepollock 5657249422 Safeguarding releaseDescription output 2017-02-08 10:43:48 -05:00
jamiepollock fce9f0602e Fixed typo preventing ReleaseDescription from being displayed 2017-02-08 10:31:04 -05:00
Sebastiaan Janssen 07c7eac0cd Upgrade to 7.5.9 2017-02-07 12:15:45 +01:00
Sebastiaan Janssen a40061c279 Upgrade to 7.5.9 2017-02-07 12:14:16 +01:00
James Jackson-South 4decadcc5e Remove viewport meta properties preventing zoom 2017-02-03 11:56:02 +11:00
Sebastiaan Janssen 64d3fea196 Add stats page 2017-02-02 12:06:07 +01:00
Sebastiaan Janssen 1cec98dd5e More nullchecks 2017-01-29 17:15:23 +01:00
Sebastiaan Janssen cd7c4d3eb1 Use simpler Id, prevents error when Model.TopicAuthor is null 2017-01-29 16:39:02 +01:00
Sebastiaan Janssen d813d260d5 OUR-438 Breadcrumb Link Order is Incorrect 2017-01-29 14:36:51 +01:00
Sebastiaan Janssen d19ecb113b Add css to head 2017-01-29 14:36:43 +01:00
Sebastiaan Janssen 7ed1faabc5 Refactor so we don't have to rely on weakly connected ViewData everywhere 2017-01-29 14:03:51 +01:00
Sebastiaan Janssen 58e5221f1b Additional null checks 2017-01-29 11:54:00 +01:00
Sebastiaan Janssen 7830af9dda Don't trim IP cache for now 2017-01-29 10:58:24 +01:00
Sebastiaan Janssen bb491d0ac4 Additional null checks 2017-01-29 10:58:12 +01:00
Sebastiaan Janssen 94b5533322 Check if topic still exist before trying to render it 2017-01-28 21:47:35 +01:00
Sebastiaan Janssen 9845fe0f76 Change some config settings 2017-01-28 21:23:44 +01:00
Sebastiaan Janssen 17c29d9749 More null checks 2017-01-28 21:23:29 +01:00
Sebastiaan Janssen a0380f652e Make getting the topic starter roles a bit more clear 2017-01-28 20:53:39 +01:00
Sebastiaan Janssen 8e9bafd0d7 More optimizations to only get data once 2017-01-28 20:28:24 +01:00
Sebastiaan Janssen 05d9e27428 Use more cached MemberData 2017-01-28 17:13:31 +01:00
Sebastiaan Janssen 85ab0bd867 Handy Twitter spam tools for HQ 2017-01-28 12:43:18 +01:00
Sebastiaan Janssen a11dd3f3ca Remove ApplicationInsights 2017-01-28 10:55:50 +01:00
Sebastiaan Janssen a66f816a92 Update the config template to 7.5.8 too 2017-01-26 18:49:00 +01:00
Sebastiaan Janssen 50f0bbe96e Adds missing files back 2017-01-26 18:48:14 +01:00
Sebastiaan Janssen f11ff8d1c8 Merge pull request #96 from dampee/patch-1
OUR-436 update documentation section
2017-01-26 18:44:09 +01:00
Damiaan Peeters 916a5dc065 OUR-437 fix casing of md file in case incoming URL has incorrect casing 2017-01-26 00:13:17 +01:00
Damiaan 6fd1237caf OUR-436 update documentation section 2017-01-25 22:58:12 +01:00
Sebastiaan Janssen 0dc9d00446 Upgrade to 7.5.8 2017-01-24 12:20:50 +01:00
Sebastiaan Janssen 85ac193e29 Merge pull request #95 from bjarnef/dev-project-nuget
Add url to NuGet package
2017-01-22 19:06:46 +01:00
Sebastiaan Janssen a81a3556f9 Add field on projects for NuGet Url 2017-01-22 19:06:39 +01:00
Bjarne Fyrstenborg c99713df3c Merge branch 'master' into dev-project-nuget 2017-01-22 18:50:38 +01:00
Sebastiaan Janssen c7ac4e1392 Fix some bug and adds an error view to debug where errors are coming from 2017-01-22 18:43:55 +01:00
Sebastiaan Janssen 43878374ae Save resource data 2017-01-22 18:21:15 +01:00
Sebastiaan Janssen 0aefcab298 Update redirects 2017-01-22 18:17:15 +01:00
Sebastiaan Janssen 76f41e069a Adds missing file 2017-01-22 17:55:23 +01:00
Sebastiaan Janssen abc21a695b Some more macro to partial conversions 2017-01-22 17:36:11 +01:00
Sebastiaan Janssen ee0817f7dc Move documentation macros to partials 2017-01-22 17:12:45 +01:00
Sebastiaan Janssen dea0615406 Move documentation macros to partials 2017-01-22 17:07:39 +01:00
Sebastiaan Janssen 5ead7280a3 Move Thread and TopicForm to Partials instead of Macros 2017-01-22 17:04:51 +01:00
Sebastiaan Janssen b35c2a4b49 Move Thread and TopicForm to Partials instead of Macros 2017-01-22 16:54:25 +01:00
Sebastiaan Janssen 35f6de1686 ForumTopicActions to partial from macro 2017-01-22 16:40:35 +01:00
Sebastiaan Janssen 0598124f67 Replace Breadcrumb XSLT macro 2017-01-22 16:27:24 +01:00
Sebastiaan Janssen 8eda3b367f Add files to project that were added wrong 2017-01-22 15:42:05 +01:00
Sebastiaan Janssen 90efdfd27e Move a lot of code that keeps repeating itself and making DB calls to central place 2017-01-22 14:59:48 +01:00
Bjarne Fyrstenborg afc93fb593 Make nuget link to NuGet package 2017-01-22 14:15:16 +01:00
Bjarne Fyrstenborg 2247141efd Add url to NuGet package 2017-01-22 13:55:24 +01:00
Sebastiaan Janssen 3514d765a6 Optimize and cache member data, move from unnecessary macros to regular partials in the master and community templates 2017-01-22 12:22:54 +01:00
Sebastiaan Janssen fe254ea99f Merge branch 'master' into move-masterpages-to-views
# Conflicts:
#	.gitignore
#	OurUmbraco.Site/OurUmbraco.Site.csproj
#	OurUmbraco.Site/Views/MacroPartials/Members/ForgotPassword.cshtml
#	OurUmbraco.Site/Views/Partials/Members/ForgotPassword.cshtml
#	OurUmbraco.Site/Views/Partials/Members/Login.cshtml
#	OurUmbraco.Site/Views/Search/Search.aspx.cs
#	OurUmbraco.Site/config/imageprocessor/cache.config
#	OurUmbraco.Site/masterpages/Community.master
#	OurUmbraco.Site/masterpages/ReleaseProgress.master
#	OurUmbraco.Site/masterpages/Repository/Projects.master
#	OurUmbraco.Site/masterpages/popular.master
#	OurUmbraco/Our/Controllers/LoginController.cs
#	OurUmbraco/Our/MigrationsHandler.cs
#	OurUmbraco/Our/usercontrols/FileDownloadProxy.ascx.cs
#	OurUmbraco/OurUmbraco.csproj
#	OurUmbraco/packages.config
2017-01-21 20:29:29 +01:00
Sebastiaan Janssen 4054ed9c30 More merge fixing 2017-01-21 20:08:39 +01:00
Sebastiaan Janssen 1c63409ce5 More merge fixing 2017-01-21 19:59:36 +01:00
Sebastiaan Janssen 7ba2060238 More merge fixing 2017-01-21 19:52:20 +01:00
Sebastiaan Janssen b3b01021d7 Fix merge errors 2017-01-21 19:16:11 +01:00
Sebastiaan Janssen e8565650e4 Merge branch 'master' into move-masterpages-to-views
# Conflicts:
#	.gitignore
#	OurUmbraco.Site/OurUmbraco.Site.csproj
#	OurUmbraco.Site/Views/MacroPartials/Members/ForgotPassword.cshtml
#	OurUmbraco.Site/Views/Partials/Members/ForgotPassword.cshtml
#	OurUmbraco.Site/Views/Partials/Members/Login.cshtml
#	OurUmbraco.Site/Views/Search/Search.aspx.cs
#	OurUmbraco.Site/Views/Web.config
#	OurUmbraco.Site/config/ClientDependency.config
#	OurUmbraco.Site/config/Dashboard.config
#	OurUmbraco.Site/config/imageprocessor/cache.config
#	OurUmbraco.Site/masterpages/Community.master
#	OurUmbraco.Site/masterpages/ReleaseProgress.master
#	OurUmbraco.Site/masterpages/Repository/Projects.master
#	OurUmbraco.Site/masterpages/popular.master
#	OurUmbraco.Site/packages.config
#	OurUmbraco/Our/Controllers/LoginController.cs
#	OurUmbraco/Our/MigrationsHandler.cs
#	OurUmbraco/OurUmbraco.csproj
#	OurUmbraco/packages.config
2017-01-21 18:47:09 +01:00
Sebastiaan Janssen fd12775e86 Upgrade to 7.5.7 2017-01-21 17:30:32 +01:00
Sebastiaan Janssen d11559a25c Actually use the global error filter 2017-01-21 16:04:22 +01:00
Sebastiaan Janssen 589ef5856d Adds ApplicationInsights to web.template.config 2017-01-21 15:08:31 +01:00
Sebastiaan Janssen d4a4c43383 Update Examine and Image Processor 2017-01-21 14:46:40 +01:00
Sebastiaan Janssen edde33de47 Adds ApplicationInsights 2017-01-21 14:21:28 +01:00
Sebastiaan Janssen 705b8ec6a6 Use more memory efficient StripHtml method 2017-01-17 18:58:53 +01:00
Sebastiaan Janssen a9435022d5 Update to the correct dll versions of 7.5.7 2017-01-10 22:41:42 +01:00
Sebastiaan Janssen 3db55ad139 Also update class lib project to 7.5.7 2017-01-10 21:37:28 +01:00
Sebastiaan Janssen d140fa49c1 web.template.config needs to have the correct version in it 2017-01-10 14:34:45 +01:00
Sebastiaan Janssen e45b66fb80 Upgrade to 7.5.7 2017-01-10 08:03:51 +01:00
Sebastiaan Janssen 3507f37d74 Remove 301 URL tracker 2017-01-08 13:25:06 +01:00
Sebastiaan Janssen b029976f54 Don't put javascript in the middle of the page 2017-01-08 12:06:35 +01:00
Sebastiaan Janssen 17c9e49341 Finally fixing the real cause for the "No node exists with id '0'" error 2017-01-08 11:05:14 +01:00
Sebastiaan Janssen 620e047b6f Prevent SQLi attack from DOSing the site 2017-01-08 10:45:47 +01:00
Sebastiaan Janssen f680cdcee2 Make sure Twitter avatars are loaded over https to prevent mixed-content warnings 2017-01-07 16:08:14 +01:00
Sebastiaan Janssen 13bfa46c01 Don't make the twitter searcher easy to alter
Get the twitter filters from the settings on the home node
Makes latest forum activity on home async too
2017-01-07 13:18:50 +01:00
Sebastiaan Janssen f8be8641f7 Get Twitter search results into the page by async 2017-01-07 12:00:24 +01:00
Sebastiaan Janssen 01a33d883c Always do a TryParse on user input, people will be changing the querystring 2017-01-07 11:58:29 +01:00
Sebastiaan Janssen e3eaff1edf Don't attempt to create an image object from a URL 2017-01-06 16:22:05 +01:00
Sebastiaan Janssen 1c71708c5f Make it a bit more safe and do all logic in the try-catch block 2017-01-06 16:15:40 +01:00
Sebastiaan Janssen 1b12cb345b Update because of new version of json.net 2017-01-06 16:09:02 +01:00
Sebastiaan Janssen 19ffe50215 Add Twitter search for "umbraco" to community home 2017-01-06 15:55:17 +01:00
Sebastiaan Janssen 30add3077b Logs about fileId = 0 should really clear up now 2017-01-02 16:03:39 +01:00
Sebastiaan Janssen 9ef5c88bfa These file should not load but somehow there's errors about them in the log 2017-01-01 13:28:21 +01:00
Sebastiaan Janssen dd00a5d202 Hopefully fix some null reference errors 2017-01-01 13:22:49 +01:00
Sebastiaan Janssen 4b49b0d52d Only show screenshots for items that are actually images 2017-01-01 13:13:02 +01:00
Sebastiaan Janssen c50775d788 Suppress some errors that don't need attention 2016-12-31 14:51:37 +01:00
Sebastiaan Janssen 3160a81b68 Revert "These file should not load but somehow there's errors about them in the log"
This reverts commit 6dab6dc9ca.

They're use in the old package repo for older umbraco installs.
2016-12-30 12:13:36 +01:00
Sebastiaan Janssen b5dcb8704f Get Gravatar over https 2016-12-30 12:08:47 +01:00
Sebastiaan Janssen 070e26f984 Don't allow a "-" in the query, it throws errors 2016-12-30 12:06:58 +01:00
Sebastiaan Janssen 77fff6978f Lowercase the query so "AND" and "OR" don't throw exceptions 2016-12-30 11:36:00 +01:00
Sebastiaan Janssen 57613b8a75 Not sure what exact exception we get here 2016-12-30 11:27:41 +01:00
Sebastiaan Janssen b0c15d2841 Fixed null reference error 2016-12-30 11:24:27 +01:00
Sebastiaan Janssen 229a1a5d91 Attempt to debug a recurring, mysterious null reference error 2016-12-30 11:23:07 +01:00
Sebastiaan Janssen 6dab6dc9ca These file should not load but somehow there's errors about them in the log 2016-12-30 11:12:59 +01:00
Sebastiaan Janssen a79b55e66b If the Id passed in through the request is not a valid int, no need to do anything 2016-12-29 14:07:32 +01:00
Sebastiaan Janssen fe8242c26b Don't try find avatar locally when path is a url
No longer need ImageGen
2016-12-29 14:00:48 +01:00
Sebastiaan Janssen bc739d8b44 Fixes missing extension method being used 2016-12-29 13:56:42 +01:00
Sebastiaan Janssen 42b7d25838 Rename Courier 2 to Courier 2016-12-21 15:07:06 +01:00
Sebastiaan Janssen 885f4ff836 Make sure not to output X-Frame-Options=SAMEORIGIN for the package repo 2016-12-14 09:30:38 +01:00
Sebastiaan Janssen 6e1797537f Updates Login and ForgotPassword to be MVC and have a Captcha 2016-12-07 18:50:56 +01:00
Sebastiaan Janssen d5761dbcd1 Restrict number of characters in signup fields to prevent database errors ("string would be truncated") 2016-12-07 18:02:52 +01:00
Sebastiaan Janssen 9707c06d1b Merge remote-tracking branch 'origin/temp-register' 2016-12-07 17:26:25 +01:00
Sebastiaan Janssen 8040e55a87 Add reCaptcha for registration 2016-12-07 17:26:06 +01:00
Sebastiaan Janssen 755281570b Upgrade to Umbraco 7.5.6 2016-12-07 17:25:12 +01:00
Stephan 78c327e3f3 Prevent rogue registrations from crashing db 2016-12-07 17:02:14 +01:00
Sebastiaan Janssen 1e5a959f25 7.5.5 upgrade was OK after all 2016-12-07 13:48:36 +01:00
Sebastiaan Janssen e1529e7f8f Html Agility Pack binding redirect missing 2016-12-07 13:31:04 +01:00
Sebastiaan Janssen 47123a7d0a Revert "Upgrade to Umbraco 7.5.5"
This reverts commit a0f27739b7.
2016-12-07 12:59:03 +01:00
Sebastiaan Janssen a0f27739b7 Upgrade to Umbraco 7.5.5 2016-12-07 11:57:20 +01:00
Sebastiaan Janssen c806b10f95 Upgrade to Umbraco 7.5.5 2016-12-07 11:43:50 +01:00
Sebastiaan Janssen a66a6e2f63 Replace all UmbracoContext.Current.Application with ApplicationContext.Current UmbracoContext.Current == is based on a web request, if any code executes on a background thread or non-request thread then UmbracoContext.Current is null! 2016-11-27 13:45:03 +01:00
Sebastiaan Janssen 1b362dd1cb Merge branch 'master' into move-masterpages-to-views
# Conflicts:
#	OurUmbraco.Site/OurUmbraco.Site.csproj
#	OurUmbraco.Site/masterpages/UmbracoMVP2011.master
#	OurUmbraco/Our/MigrationsHandler.cs
#	OurUmbraco/OurUmbraco.csproj
2016-11-27 13:38:53 +01:00
Sebastiaan Janssen 93474811f1 Replace all UmbracoContext.Current.Application with ApplicationContext.Current
UmbracoContext.Current == is based on a web request, if any code executes on a background thread or non-request thread then UmbracoContext.Current is null!
2016-11-25 21:04:49 +01:00
Sebastiaan Janssen 6f50fad596 Update all SqlHelper instanced to use the umbraco.Businesslogic version and wrapped them all in usings where necessary 2016-11-25 20:54:32 +01:00
Sebastiaan Janssen 538834dcc3 Update all SqlHelper instanced to use the umbraco.Businesslogic version and wrapped them all in usings where necessary 2016-11-25 20:49:30 +01:00
Sebastiaan Janssen 389ddaabb7 Disable Hangfire to see if that's causing the memory issues 2016-11-08 11:35:48 +01:00
Sebastiaan Janssen c7d2d53902 Get the email and name differently 2016-11-07 22:38:45 +01:00
Sebastiaan Janssen 367a98be56 Hangfire wasn't too happy with System.Net.MailAddress 2016-11-07 15:35:00 +01:00
Sebastiaan Janssen 2128fb883a Refactor MarkAsSolutionReminder to be a bit more efficient 2016-11-07 12:36:28 +01:00
Sebastiaan Janssen efa0659742 Merge branch 'refs/heads/master' into move-masterpages-to-views
# Conflicts:
#	.gitignore
#	OurUmbraco.Client/package.json
#	OurUmbraco.Site/config/Dashboard.config
#	OurUmbraco.Site/masterpages/Release.master
#	OurUmbraco.Site/usercontrols/Deli/Package/Editor.ascx
#	OurUmbraco.Site/usercontrols/Deli/Package/Steps/Complete.ascx
#	OurUmbraco.Site/usercontrols/Deli/Package/Steps/Details.ascx
#	OurUmbraco.Site/usercontrols/Deli/Package/Steps/Files.ascx
#	OurUmbraco.Site/usercontrols/Deli/Package/Steps/Screenshots.ascx
#	OurUmbraco.Site/usercontrols/our.umbraco.org/FileDownloadProxy.ascx
#	OurUmbraco.Site/usercontrols/our.umbraco.org/ProjectCollabRequest.ascx
#	OurUmbraco.Site/usercontrols/our.umbraco.org/ProjectContributors.ascx
#	OurUmbraco.Site/usercontrols/our.umbraco.org/ProjectEditor.ascx
#	OurUmbraco.Site/usercontrols/our.umbraco.org/ProjectFileUpload.ascx
#	OurUmbraco.Site/usercontrols/our.umbraco.org/ProjectForums.ascx
#	OurUmbraco/Our/MigrationsHandler.cs
#	OurUmbraco/OurUmbraco.csproj
#	build/BuildClientFiles.bat
2016-11-07 08:45:46 +01:00
Sebastiaan Janssen 729da39c87 Enable sending of mail 2016-10-31 13:39:14 +01:00
Sebastiaan Janssen 7e82ea86ec Little refactor and bugfix 2016-10-30 12:47:41 +01:00
Sebastiaan Janssen ddac31b8bc Ignore Hangfire route so Umbraco doesn't pick it up 2016-10-30 12:13:27 +01:00
Sebastiaan Janssen 491b5527ae Test solution reminder notification 2016-10-30 11:57:19 +01:00
Sebastiaan Janssen e63a9d4b16 Move docs from UaaS to UCloud 2016-10-27 21:11:00 +02:00
Sebastiaan Janssen 6dac0ad4e8 OUR-426 Rename Umbraco as a Service forum to Umbraco Cloud forum
#OUR-426 Fixed
2016-10-27 21:01:52 +02:00
Sebastiaan Janssen 19a737a770 OUR-424 Update "works on UaaS" to "works on Umbraco Cloud"
#OUR-424 Fixed
2016-10-27 20:42:21 +02:00
Simon Busborg c083576ef3 Fixed some cosmetic bugs on smaller devices. 2016-10-24 12:14:52 +02:00
Simon Busborg 82ba42b1aa Fixed button bug after flexbox 2016-10-24 09:22:19 +02:00
Sebastiaan Janssen f39bbc2979 Adds client to solution so task runner explorer can be used to build the client-side files in VS 2016-10-23 13:42:58 +02:00
Sebastiaan Janssen f04cf5bb40 Correcting the wrong version references 2016-10-22 12:51:37 +02:00
Sebastiaan Janssen 12727c7a50 Upgrade to 7.5.4 2016-10-22 11:56:47 +02:00
Sebastiaan Janssen 22a382ddad Added padding to wrong class 2016-10-17 14:04:56 +02:00
Sebastiaan Janssen 4e00102bad Some quick fixes for misaligned buttons 2016-10-17 13:53:31 +02:00
Sebastiaan Janssen 75039c5198 Correct Google tracking code 2016-10-17 13:23:11 +02:00
Sebastiaan Janssen cf048ebc01 Some small corrections to the download page 2016-10-17 09:30:42 +02:00
Sebastiaan Janssen ec6df31b0c Merge branch 'feature-release-downloadbutton' 2016-10-17 09:21:37 +02:00
Simon Busborg 9a36eea042 Removed header for double information about download 2016-10-10 12:04:10 +02:00
Simon Busborg e933ea81d7 Clean up of unused styling 2016-10-10 11:42:00 +02:00
Simon Busborg 7ffb0286e3 Fixes: OUR-404 Update release pages to have a far more prominent call to action for download and install instructions 2016-10-10 10:01:35 +02:00
Simon Busborg 100fa68a15 Added line-height to notifications 2016-10-10 10:00:31 +02:00
Simon Busborg 612de0e016 Updated buttons to fix Webkit bug 2016-10-10 10:00:14 +02:00
Simon Busborg 427e5b91af added flexbox to project 2016-10-10 09:59:54 +02:00
Simon Busborg 3299aee2bd Added a utility file with flexbox 2016-10-10 09:59:33 +02:00
Simon Busborg 39c1df41a7 Updated packages and dependency versions for gulp, outcommented “combine media queries” that broke the task runner 2016-10-10 09:59:19 +02:00
Sebastiaan Janssen 0208dd0d30 Merge branch 'refs/heads/temp-new-node' into move-masterpages-to-views 2016-09-22 12:54:32 +02:00
Sebastiaan Janssen 3f218e2a57 Don't try to copy non-existent ascx files 2016-09-18 16:39:12 +02:00
Sebastiaan Janssen d9b3c061f0 Delete masterpages and usercontrols from the web directory 2016-09-18 16:26:27 +02:00
Sebastiaan Janssen 18540e1c63 exclude/reinclude some files to make sure they deploy 2016-09-18 16:14:24 +02:00
Sebastiaan Janssen b3386c1048 Replace backoffice usercontrols 2016-09-18 15:59:44 +02:00
Sebastiaan Janssen 205daf1d15 Update topic RSS page 2016-09-18 15:14:54 +02:00
Sebastiaan Janssen 34a328174c Rename file that breaks build on TeamCity 2016-09-18 13:41:58 +02:00
Sebastiaan Janssen 27f88dfb80 Fix detection of npm folder 2016-09-18 12:44:10 +02:00
Sebastiaan Janssen 252a9015dc Detect if npm is already there and don't download it again 2016-09-18 12:20:42 +02:00
Sebastiaan Janssen 166007c668 Use node 4.5 for building 2016-09-18 12:12:52 +02:00
Sebastiaan Janssen 0ad13cf309 Period at end of URL throws 500 error
https://forums.iis.net/post/1971705.aspx
2016-09-13 13:21:32 +02:00
Sebastiaan Janssen f7878c3e18 Small corrections 2016-09-11 21:09:35 +02:00
Sebastiaan Janssen 8e1c62059d Small corrections 2016-09-11 21:02:46 +02:00
Sebastiaan Janssen d1d10ff585 Fixed up/simplified some of "Edit files" and added screenshots and "project complete" 2016-09-11 20:47:48 +02:00
Sebastiaan Janssen 6c5d2ff92f No more yellow background now that no more masterpages are being used 2016-09-11 16:35:47 +02:00
Sebastiaan Janssen b0a3b770e3 Move file package uploads to MVC 2016-09-11 16:34:29 +02:00
Sebastiaan Janssen a077481678 Rename all other old masterpages to make sure nothing has been missed 2016-09-11 12:58:06 +02:00
Sebastiaan Janssen ea0cf71d2c Move ReleaseCompare to MVC 2016-09-11 12:57:30 +02:00
Sebastiaan Janssen 26e2c56424 Move old package repo to MVC 2016-09-11 12:56:28 +02:00
Sebastiaan Janssen 8accc7b73d Rename Layout to Master 2016-09-11 12:02:21 +02:00
Sebastiaan Janssen e0bea19825 Move FileDownload to MVC 2016-09-11 11:54:34 +02:00
Sebastiaan Janssen c8aa24964e Bye Webforms! 2016-09-11 11:49:59 +02:00
Sebastiaan Janssen 8268cfb10c Rename Layout to Master 2016-09-11 11:48:04 +02:00
Sebastiaan Janssen 862be4bb14 Move public member profile to MVC 2016-09-11 11:45:44 +02:00
Sebastiaan Janssen 6222b47b9b Update all the "RSS" pages 2016-09-11 11:45:20 +02:00
Sebastiaan Janssen 81105a6707 Rename master to find whatever else is not moved yet 2016-09-11 11:44:43 +02:00
Sebastiaan Janssen 47dd314ef3 Move forum topic to MVC 2016-09-11 11:43:56 +02:00
Sebastiaan Janssen 3332d80796 Move RSS feeds over to MVC 2016-09-10 15:42:02 +02:00
Sebastiaan Janssen d7e52fb645 ReleaseDownload moved to MVC 2016-09-10 15:18:13 +02:00
Sebastiaan Janssen 2d9d5d6072 Reverts some changes made for managing projects, we already had this one working in views instead of usercontrols 2016-09-10 15:17:26 +02:00
Sebastiaan Janssen 20c4d973eb Merge branch 'refs/heads/master' into move-masterpages-to-views 2016-09-10 14:11:04 +02:00
Sebastiaan Janssen f66d032ddd Wiki is gone 2016-09-10 14:10:51 +02:00
Sebastiaan Janssen 9af7fc7752 More Wiki goodbyes 2016-09-10 12:18:03 +02:00
Sebastiaan Janssen 5d6c3aaee1 Goodbye Wiki 2016-09-10 12:13:20 +02:00
Sebastiaan Janssen dda814805e Adds list of "My projects" and a start into being able to edit them 2016-09-09 16:18:07 +02:00
Sebastiaan Janssen da9fb277ce Rename some more obsolete user controls 2016-09-07 15:22:40 +02:00
Sebastiaan Janssen 1b22054b4c Rename some more obsolete user controls 2016-09-07 08:42:01 +02:00
Sebastiaan Janssen 0b42afa893 Renaming items that have been converted 2016-09-07 08:34:01 +02:00
Sebastiaan Janssen ed7ef6bf07 Implements forgot password 2016-09-07 08:30:41 +02:00
Sebastiaan Janssen f1d37c0407 Styling the login page 2016-09-07 08:08:08 +02:00
Sebastiaan Janssen fb0bb7f3ec Use new login form 2016-09-06 19:57:47 +02:00
Sebastiaan Janssen a37e33c9c2 Merge branch 'refs/heads/master' into move-masterpages-to-views 2016-09-06 15:52:24 +02:00
Sebastiaan Janssen 0fffc62360 Add a space instead of only removing special characters 2016-09-06 13:36:21 +02:00
Sebastiaan Janssen 7faf09a80f OUR-395 Search terms with square brackets YSOD 2016-09-06 13:31:07 +02:00
Sebastiaan Janssen 83ea40bc83 OUR-395 Search terms with square brackets YSOD 2016-09-06 13:18:16 +02:00
Sebastiaan Janssen 92babb8674 OUR-395 Search terms with square brackets YSOD 2016-09-06 13:13:29 +02:00
Sebastiaan Janssen abac4190aa Update T&C banner 2016-09-06 10:56:44 +02:00
Sebastiaan Janssen b78d28244c Fixes package list not returning any restults 2016-09-06 10:39:32 +02:00
Sebastiaan Janssen d16e35922a Renaming templates that are done 2016-09-05 17:55:00 +02:00
Sebastiaan Janssen 204ccc28a5 Adds roadmap pages 2016-09-05 17:48:16 +02:00
Sebastiaan Janssen f87caab388 Make it possible to hide the search page from navigation 2016-09-05 17:47:42 +02:00
Sebastiaan Janssen 985b02c49c Adds contribute and textpage pages 2016-09-05 17:29:38 +02:00
Sebastiaan Janssen c9eedfcd56 Merge branch 'refs/heads/master' into move-masterpages-to-views 2016-09-05 17:09:28 +02:00
Sebastiaan Janssen f23b7f1036 Upgrade to 7.5.3 2016-09-05 16:49:30 +02:00
Sebastiaan Janssen e8bce6ab10 Move to use CDF wherever possible 2016-09-05 00:30:02 +02:00
Sebastiaan Janssen eca5122d1c Adds release and download pages 2016-09-05 00:29:42 +02:00
Sebastiaan Janssen b2880f2b28 Fix SearchFilters not adding "NOT" filters 2016-09-04 20:11:57 +02:00
Sebastiaan Janssen b76dfce24e Replace custom search aspx with a regular surfacecontroller 2016-09-04 20:11:30 +02:00
Sebastiaan Janssen 117c2936cf Fix for "/Documentation/" (with upper case D) not being replaced 2016-09-04 17:35:04 +02:00
Sebastiaan Janssen c736e9553b Adds documentation overview and details pages 2016-09-04 17:34:30 +02:00
Sebastiaan Janssen ac80ebd124 Adds project overview and detail layout 2016-09-04 17:33:58 +02:00
Sebastiaan Janssen 0b950089f0 Adds forum overview layout 2016-09-04 17:01:10 +02:00
Sebastiaan Janssen dcd1917189 Creates the layout and adds the community view - background is yellow on purpose so we can see it's actually using the MVC views 2016-09-04 17:00:36 +02:00
Sebastiaan Janssen 3fd893a611 Use CDF for whatever we can 2016-09-04 16:58:18 +02:00
Sebastiaan Janssen af4a802b19 Don't remove the debug attribute for release 2016-09-04 14:51:38 +02:00
Sebastiaan Janssen 4a4e7c9874 Add default redirect for when customErrors is set to RemoteOnly 2016-09-04 14:50:04 +02:00
Sebastiaan Janssen 1e04654a16 Correct Dashboard.Dashboard.config to remove old dashboards and duplicates 2016-09-04 14:36:32 +02:00
Sebastiaan Janssen a16fece807 OUR-389Package Download Count Goes Down After Deleting a Download
Removes the delete button until we refactor this one day, that way you won't lose download counts
2016-09-04 14:15:07 +02:00
Sebastiaan Janssen 3f61b8c903 Re-populate location after submit with errors
Move css and js into their own files
2016-09-01 18:43:18 +02:00
Sebastiaan Janssen 088ce651c8 Show global TermsAndConditions changed banner if member is logged in and has no date at which they accepted the terms of service 2016-09-01 09:05:20 +02:00
Sebastiaan Janssen 67d48acbf6 OUR-335 Error when archiving project file 2016-08-31 22:46:48 +02:00
Sebastiaan Janssen f152e7bbe8 Moves GetMinimumUmbracoVersion into an extension method and adds it to a new column in the wikiFiles table and in the examine index 2016-08-31 22:28:44 +02:00
Stephan bb206a5cc5 OUR-419 - fix paging queries 2016-08-31 14:49:54 +02:00
Sebastiaan Janssen cd69617d76 Always open link in a new tab, we might be in the package installer so we don't want to navigate away 2016-08-30 20:27:37 +02:00
Sebastiaan Janssen 3e661e6cdd If the link isn't to Our Umbraco, make it open in a new tab and add rel=nofollow 2016-08-30 20:24:43 +02:00
Sebastiaan Janssen 24c9389e2e OUR-420 Cannot download new version of package from our.umbraco.org
The version returned in the MediaProvider HAS to be in the format of v750 instead of 7.5.0
The update in WikiFile.cs is so that we can display the correct version in the edit package wizard (the listed files need to show the 'v750' version too
2016-08-30 19:13:02 +02:00
Sebastiaan Janssen ccc6fb2043 Makes sure the terms and conditions page exists before we link to it. 2016-08-30 16:38:38 +02:00
Sebastiaan Janssen 00ad76fdd0 OUR-411 Add accepting terms and conditions when signing up 2016-08-30 16:28:28 +02:00
Sebastiaan Janssen 0c39411ff2 Make sure next deploy doesn't start the upgrader again 2016-08-23 14:29:07 +02:00
Sebastiaan Janssen 9222213757 Upgrade to 7.5.2 2016-08-23 14:04:32 +02:00
Sebastiaan Janssen b7d5fc0cf1 Upgrade to Umbraco 7.5.1 2016-08-21 15:31:56 +02:00
Sebastiaan Janssen 4b401048ae OUR-415 Clean up nested <span> elements in code blocks
OUR-413 Style code blocks after package descriptions have been cleaned up
2016-08-19 16:58:37 +02:00
Sebastiaan Janssen 7adcbd327a Merge pull request #92 from umbraco/TEMP-OUR-416
Decorate Search API Controller with CORS atrribute
2016-08-19 10:27:01 +02:00
Warren Buckley 0a777c44a6 Decorate Search API Controller with CORS atrribute 2016-08-19 08:49:41 +01:00
Sebastiaan Janssen 0797ecc574 Upgrade to 7.5.0 final 2016-08-17 16:35:03 +02:00
Sebastiaan Janssen b414a29b1d Cleanup: don't need Bcl and Microsoft.Net.Http installed as NuGet packages 2016-08-17 11:02:07 +02:00
Sebastiaan Janssen bd8b002ecf Adds new dashboards and switches to new packager trees 2016-08-17 11:01:29 +02:00
Sebastiaan Janssen b811d3d127 Fixes package file uploading 2016-08-16 18:59:47 +02:00
Sebastiaan Janssen 2c5aa5ed31 Search auto-suggest broken in projects section 2016-08-16 10:44:43 +02:00
Sebastiaan Janssen deae2a5a89 Fixes null reference error on the Union
Fixes the version range filter
Changes "newest" to "updated" filter text (newest is the default view already)
2016-08-15 21:03:06 +02:00
Sebastiaan Janssen 25327495ad Fix the old package repository and also clean the descriptions there 2016-08-15 17:05:44 +02:00
Sebastiaan Janssen 6e74e38e39 Remove removed files from csproj else deploy fails 2016-08-15 15:57:45 +02:00
Sebastiaan Janssen 1f7723d1ed Can't use C# 6 features 2016-08-15 15:48:39 +02:00
Sebastiaan Janssen 4133c2c009 Cleans descriptions of packages (strips all attributes so inline styles etc. don't get applied any more) 2016-08-15 15:11:27 +02:00
Sebastiaan Janssen 6b94c119a4 Reverts to old build method that works on build server 2016-08-15 15:11:27 +02:00
Shannon eccd0eec87 Fixes multiple versions issue 2016-08-15 14:22:23 +02:00
Shannon 6e2f578676 changed sort for packages to createDate instead of updateDate 2016-08-15 12:39:57 +02:00
Shannon 62bc966bfe ensures date is mapped and formatted correctly and that the details data is cached. 2016-08-11 20:38:56 +02:00
Shannon a810cc6bad Removes the approved filter from searches and viewing details, simplifies searches a bit, simplifies how the project data gets indexed, adds some fuzzy logic to the searching too and changes some boosting. 2016-08-11 20:24:01 +02:00
Shannon 1ca1e0ab87 Gets range queries working for versions, does some code cleanup, updates to latest examine updates the uVersion config file. 2016-08-11 16:00:04 +02:00
Shannon 3f17a57289 Gets all of the searches for packages consistent, ensures the package index has all of the right data and is indexed appropriately, updates to latest examine so we can use numerical range queries directly with lucene. 2016-08-11 15:02:36 +02:00
Shannon 16e61c9ac4 Ensures sorting for searching on projects is working correctly 2016-08-10 11:26:53 +02:00
Shannon 2c8e1fe3a2 fixes issue where pressing enter for searching will append a 'valid' parameter to the query 2016-08-10 11:25:43 +02:00
Shannon 85ed5b5c66 reverts KarmaProvider, it's legacy, not sure if it's actually used (hopefully not!) 2016-08-10 01:18:23 +02:00
Shannon 5c74a14f80 more updatedate changes and some notes 2016-08-10 01:17:30 +02:00
Shannon 6504f340ed updates main search listing for projects to use updateDate instead of createDate, makes this inline with the results for the back office 2016-08-10 01:15:28 +02:00
Shannon 6d1d1d398c updates the index service for projects 2016-08-10 00:53:47 +02:00
Shannon d5cab0fe92 Fixes up how the package search works for the back office in 7.5 and fixes up some indexing operations, all is looking pretty good now 2016-08-10 00:53:24 +02:00
Shannon 8b28b24d8f Fixes NPM and Gulp 2016-08-09 19:39:22 +02:00
Shannon 89b1e2d124 Fixes issue with passing in an invalid image request to the server when a package doesn't have a valid image 2016-08-09 17:15:29 +02:00
Shannon 2aed23b022 re-installs umbraco, now has proper nuget version targets, removes old access files, adds health check dashboard to the config. 2016-08-09 10:21:16 +02:00
Shannon 82dd7734dc Fixes security for api endpoints, fixes js reference issues, removes the old js from trying to be executed when signing up 2016-07-26 14:36:15 +02:00
Shannon 18e1ae74bf fixed the anchor for docs 2016-07-26 13:54:24 +02:00
Shannon 95a7bb32be update to beta2 of examine 2016-07-26 12:48:22 +02:00
Shannon 1075e8de1a Updates to correct version of Umbraco, updates the class lib to be net452 like the site 2016-07-26 12:43:35 +02:00
Shannon 1b319c5c55 Merge branch 'master' of https://github.com/umbraco/OurUmbraco 2016-07-26 10:56:49 +02:00
Shannon 5c6eb8213c updated umbraco 7.5 beta2, correct nuget version 2016-07-26 10:56:35 +02:00
Sebastiaan Janssen 640d6ab4ad Seems best practice to throw an exception here which returns a null auth ticket - see https://github.com/yreynhout/katana-clone/blob/master/src/Microsoft.Owin.Security.Google/GoogleAuthenticationHandler.cs#L220 2016-07-26 10:41:41 +02:00
Sebastiaan Janssen 1ea8a13dd0 Move Google Auth stuff to the class library 2016-07-22 16:45:11 +02:00
Sebastiaan Janssen 1f9e1ac764 Revert "I really don't want to do this, but if it helps TeamCity..?"
This reverts commit 2e62edb015.

Good thing it didn't work then
2016-07-22 16:30:10 +02:00
Sebastiaan Janssen 2e62edb015 I really don't want to do this, but if it helps TeamCity..? 2016-07-22 15:58:52 +02:00
Sebastiaan Janssen 1c766208dc Revert "Explicitly reference System.Runtime and Globalization"
This reverts commit e373687c75.
2016-07-22 15:46:11 +02:00
Sebastiaan Janssen e373687c75 Explicitly reference System.Runtime and Globalization 2016-07-22 15:43:06 +02:00
Sebastiaan Janssen f9c7a24871 Target .net 4.5.2? 2016-07-22 15:38:11 +02:00
Sebastiaan Janssen 04a25a84f7 Make sure that the text right after the last @ is umbraco.com/dk 2016-07-22 14:37:57 +02:00
Sebastiaan Janssen 948eea9c51 Enable Google auth for umbraco domain users 2016-07-22 13:32:32 +02:00
Sebastiaan Janssen 1ba26a4dd1 Comment out this old code so it doesn't throw errors all the time 2016-07-22 12:20:06 +02:00
Shannon 90d0ab7df1 Merge branch 'master' of https://github.com/umbraco/OurUmbraco 2016-07-22 11:34:42 +02:00
Shannon ac9007f1f6 Adds deep linking to docs 2016-07-22 11:34:37 +02:00
Sebastiaan Janssen 94a0d63ff2 Adds new files to csproj so they deploy 2016-07-19 17:59:33 +02:00
Sebastiaan Janssen 868770b553 Upgrade to 7.5.0-beta2 2016-07-19 17:00:02 +02:00
Sebastiaan Janssen 126de6dbe5 Change how some contexts work 2016-07-19 16:08:00 +02:00
Sebastiaan Janssen 26a88e1381 Also show alpha/beta/rc releases in the compare 2016-07-18 08:08:23 +02:00
Sebastiaan Janssen d398dfb024 Fixes dropdowns not working on mobile 2016-07-07 16:54:18 +02:00
Sebastiaan Janssen 3ec0a9eebd Link to the issue list from the release notes list 2016-07-06 18:58:10 +02:00
Sebastiaan Janssen 6cea47b608 Adds release notes for each version and ability to only show release notes 2016-07-06 18:43:20 +02:00
Sebastiaan Janssen aaccdbb1a4 Refactor of version compare, removed a lot of unnecessary code, made sure there's always a default compare, adds error messages
Copies the styling changes from PR 91
2016-07-06 18:22:45 +02:00
Sebastiaan Janssen 95cc9ba067 Merge pull request #90 from readingdancer/VersionCompare
Added a "Release Compare" section to allow you to compare the changes…
2016-06-24 18:41:01 +02:00
Sebastiaan Janssen b729494047 Adds migration for the Release Compare feature 2016-06-24 18:38:07 +02:00
Sebastiaan Janssen 76684a497e Updates the contribute landing page template 2016-06-21 15:54:42 +02:00
Shannon 75fb9d1986 oops adds category filter back in search 2016-06-21 13:55:33 +02:00
Shannon 5e9dd0d52e U4-8606 Package search in backoffice / Our broken
Fixes issue with the camel case formatter (core issue), fixes the search - it is a smarter search and actually compiles a more readable lucene query which yields nicer results than it did before.
2016-06-20 15:26:27 +02:00
Chris Houston b63c5f93c3 Added a "Release Compare" section to allow you to compare the changes between two versions. 2016-06-17 13:40:39 +01:00
Shannon e87a80b8ca updates index with fields and search 2016-06-14 12:23:49 +02:00
Shannon 7c507d9767 updates query, updates index to store package file count 2016-06-14 11:28:19 +02:00
Shannon 8cf00d0420 fixes sorting 2016-06-14 01:31:49 +02:00
Shannon f59bb01d3a fixes package search 2016-06-14 01:20:25 +02:00
Shannon Deminick 2eba7632ce Merge pull request #88 from leekelleher/feature/pkgrepo-restapi
Package Repo REST API
2016-06-13 23:12:04 +02:00
leekelleher a8ca4fc0f5 Implement the rest of the "Package Search" feature 2016-06-13 19:40:37 +01:00
leekelleher 6239d78858 [WIP] Started to implement the "Package Search" feature 2016-06-13 17:00:57 +01:00
leekelleher e78de056f2 Added package repo "Service".
Amended legacy `Util` and `WikiFile` code to accommodate newer queries.
2016-06-13 16:02:21 +01:00
leekelleher 060fb89496 Minor whitespace 2016-06-13 12:12:26 +01:00
leekelleher bc24b136ad Corrected typo in PackageDetails class name 2016-06-13 12:11:46 +01:00
Shannon c401398922 Updates controller with generic Search action and sort order 2016-06-13 13:09:33 +02:00
Shannon 96876b72d0 updates controller to have categories 2016-06-13 12:08:19 +02:00
Shannon af201ce6e6 Gets the api controller returning the right data structures 2016-06-12 21:40:31 +02:00
Shannon 80598056ee adds get categories 2016-06-12 19:25:34 +02:00
Shannon 341664e978 adds formatter 2016-06-12 19:10:30 +02:00
Shannon 5d070a021b Merge branch 'master' of https://github.com/umbraco/OurUmbraco 2016-06-12 18:07:41 +02:00
Shannon a6c3077f95 Ensures the right version of Umb is used in all projects, moves the starterkitcontroller to the right namespace, Creates new PackageRepositoryController, changes the routes for these controllers so they are specific and will have zero overlap with any other controller route, creates a versioned REST api endpoint for packages. 2016-06-12 18:07:32 +02:00
Shannon Deminick f3001b900a Merge pull request #86 from leekelleher/patch/pkgupload-dotnet-versions
Package upload: Updated ASP.NET version numbers
2016-06-12 17:43:39 +02:00
leekelleher 7b720101f5 Package upload: Updated ASP.NET version numbers
Added the most recent ASP.NET versions for the dropdown list
2016-06-12 16:17:22 +01:00
Shannon Deminick 4880f82561 Merge pull request #85 from leekelleher/feature/U4-8156
Extracts package's required Umbraco version metadata
2016-06-12 16:49:19 +02:00
leekelleher 5675a68b8c Package upload: amends styling of Umbraco versions
Quick and dirty fix to correct the styling of the Umbraco version selection on the package uploader options.
2016-06-12 15:11:00 +01:00
leekelleher e620c153d7 Extracts package's required Umbraco version metadata
When a package is uploaded to the Our Umbraco repository, we extract the "package.xml" manifest to detect the required (minimum) Umbraco version number.

This task is part of U4-8156, at CGRT16
2016-06-12 15:10:21 +01:00
Sebastiaan Janssen 031e8ec967 Don't delete users on Seb's DB 2016-06-12 12:04:08 +02:00
Sebastiaan Janssen f26ddc85f8 Whoops, hardcoded the DB name 2016-06-12 11:58:00 +02:00
Sebastiaan Janssen e516082c0e Fixes missing users for the Dev database 2016-06-12 11:46:12 +02:00
Sebastiaan Janssen 6b3313728b Move unzipped docs to the correct location 2016-05-28 14:28:24 +02:00
Sebastiaan Janssen 7adc171a0e Remove old docs before unzipping new ones and move downloaded docs to the correct location 2016-05-28 14:27:52 +02:00
Sebastiaan Janssen e1938c68d2 Make sure to take the correct filename 2016-05-28 13:44:19 +02:00
Sebastiaan Janssen ada3b38995 Properly replaced the documentation Unzip method this time 2016-05-28 13:39:52 +02:00
Sebastiaan Janssen a571e0b5bf Adds logging to the documentation downloader 2016-05-28 13:39:30 +02:00
Sebastiaan Janssen 7cc2fb3eca Adds logging to the documentation downloader 2016-05-28 13:22:42 +02:00
Sebastiaan Janssen 98f60d9410 Reverts to previous unzip behavior, will try again some other day 2016-05-27 16:52:32 +02:00
Sebastiaan Janssen b2a79b95e9 Whoops, build failed of course 2016-05-27 16:33:14 +02:00
Sebastiaan Janssen ad1c6da04f Add AppVeyorWebHookAuthKey and fix ZipDownloader 2016-05-27 16:23:31 +02:00
Shannon 638d3cc562 Adds auth filter for appveyor 2016-05-27 16:20:56 +02:00
Sebastiaan Janssen 1a65664c6c Uses easier unzip for ZipDownloader.cs & handles multiple artifacts in DocFxController 2016-05-27 16:00:19 +02:00
Sebastiaan Janssen 26d7b60159 apidocs is now reserved path, check if directory exists before deleting it 2016-05-27 15:04:25 +02:00
Shannon 85662496aa Adds docfx webhook to deploy csharp docs from appveyor 2016-05-27 13:52:51 +02:00
Sebastiaan Janssen e1246d1ae7 Send notification email when account gets approved 2016-05-01 18:06:06 +02:00
Sebastiaan Janssen 8110dcc4bf Send notification emails when a member gets approved 2016-05-01 17:36:51 +02:00
Sebastiaan Janssen 368e84b4d1 Fix redundant text-decoration 2016-04-28 11:12:07 +02:00
Sebastiaan Janssen abc7e39eb2 our.umbraco link styling absent on some pages 2016-04-28 10:33:35 +02:00
Sebastiaan Janssen 0b5e452032 OUR-390 Vote tooltip show regular tooltip on question 2016-04-28 10:06:38 +02:00
hartvig 1eecf4c4de Removing survey 2016-04-22 20:13:42 +02:00
Niels Hartvig 88d7edf5ee Merge branch 'master' of https://github.com/umbraco/OurUmbraco 2016-04-18 18:23:47 +02:00
Niels Hartvig 004ae6b023 Adding a wonderfully annoying survey 2016-04-18 18:23:14 +02:00
Sebastiaan Janssen ad0b3b7c71 Update README.md 2016-04-18 13:04:41 +02:00
Sebastiaan Janssen 70b63998a1 Oops, removed wrong wrapper :) 2016-04-15 10:38:26 +02:00
Sebastiaan Janssen fe52faa065 No wrapping div 2016-04-15 10:37:08 +02:00
Sebastiaan Janssen b7b3e18a3e Remove hardcoded notification 2016-04-15 10:32:33 +02:00
Sebastiaan Janssen 8f81ce037a Update notification bars 2016-04-15 10:31:05 +02:00
Sebastiaan Janssen 39aa7e5311 Update stylesheet for https://github.com/umbraco/OurUmbraco/pull/83 2016-04-14 18:02:15 +02:00
Sebastiaan Janssen 53c188c5b6 Upgrade to 7.4.3 2016-04-14 18:02:14 +02:00
hemraker 7d0578d8c1 Add spelling of words 2016-04-13 17:48:30 +02:00
hemraker c27b8790d5 Add analytics to banner link 2016-04-13 17:16:09 +02:00
hemraker 0e4f7718d4 Add banner to home 2016-04-13 16:39:15 +02:00
Sebastiaan Janssen 3035bff4dd Merge pull request #83 from Adolfi/OUR-387
OUR-387 Solved "green color" not showing on startpage of Our
2016-04-12 13:09:54 +02:00
Adolfi 302a678a07 OUR-387 Solved "green color" not showing on startpage of Our
http://issues.umbraco.org/issue/OUR-387

Added the "solved" class on the latestactivity forum-threads.

For some reasons, i did´nt get the /assets/css/style.min.css when i
cloned the repository, and i could´nt find it in
https://github.com/umbraco/OurUmbraco/tree/master/OurUmbraco.Site
either.

This css needs to be added to style.min.css:

.forum .forum-thread.solved {
background: rgba(163, 219, 120, 0.23) none repeat scroll 0 0;
border: 2px solid rgba(163, 219, 120, 0.66);
}
2016-04-12 12:57:56 +02:00
Simon Busborg 38fd648c43 Updated so that title and tags don't collide 2016-04-01 11:54:18 +02:00
Sebastiaan Janssen f5d3ef9480 Managed to reference the wrong type when tracking new forum topics 2016-03-25 20:28:28 +01:00
Sebastiaan Janssen be4a2a5aec Use the UmbracoCms NuGet package, correct the assembly versions which were wrong 2016-03-18 22:36:21 +01:00
Sebastiaan Janssen 4f58b4f2ea Update BCL 2016-03-18 21:11:00 +01:00
Sebastiaan Janssen 69cff0f328 FixedDisplayModes is no longer necessary 2016-03-18 21:05:47 +01:00
Sebastiaan Janssen 5727b06d4b Move Notifications projects into OurUmbraco project 2016-03-18 21:01:44 +01:00
Sebastiaan Janssen 17f1de89d2 Update modelsbuilder and urltracker 2016-03-18 19:36:18 +01:00
Sebastiaan Janssen 476eb858cd Upgrade to 7.4.2 2016-03-18 18:06:56 +01:00
Sebastiaan Janssen e7bbcb0029 Fixes GUID changing when updating a package 2016-03-13 17:25:06 +01:00
Sebastiaan Janssen d3d75c80ce Select the current forum for new topics if we're in an existing forum already 2016-03-13 13:33:14 +01:00
Sebastiaan Janssen 58503221f8 Allow replies if parent forum is archived 2016-03-13 13:32:29 +01:00
Sebastiaan Janssen 161b0fc47f Update web.Template.config with new redirects and correct Umbraco version 2016-03-13 13:15:58 +01:00
Sebastiaan Janssen 234420aed9 Allow replies even if parent forum is archived 2016-03-13 13:15:34 +01:00
Sebastiaan Janssen ef8e1cd45c Categories update and simplification 2016-03-13 13:02:00 +01:00
Sebastiaan Janssen 602c524f70 Remove uWestFest banner 2016-03-08 09:29:55 +01:00
Sebastiaan Janssen d179ac3703 Upgrade to 7.4.1 2016-02-18 07:55:54 +01:00
Simon Busborg b12871d47e fixed word break in forum post and overview 2016-02-15 12:09:11 +01:00
Simon Busborg 018dc957c3 Added word-break to fix to long words bugs 2016-02-15 12:04:45 +01:00
Sebastiaan Janssen 4f8d757e7f Add 7.4 to versions 2016-02-12 09:51:10 +01:00
Sebastiaan Janssen 295039b455 Upgrade to 7.4.0 final 2016-02-11 20:45:30 +01:00
Sebastiaan Janssen de732c4a86 Updates banner 2016-02-05 14:35:59 +01:00
Sebastiaan Janssen 7e692525ff Sync new web.config keys and adds google verification file 2016-02-05 14:05:27 +01:00
Sebastiaan Janssen 8423e6938f Last update for now 2016-02-05 13:10:50 +01:00
Sebastiaan Janssen e8e944d918 And removes final files that would break the publish 2016-02-05 13:04:47 +01:00
Sebastiaan Janssen 720d1f001c One does not simply add and remove files expecting MSBuild to understand.. 2016-02-05 12:59:44 +01:00
Sebastiaan Janssen 639b371b0e Hopefully this should actually upgrade everything to 74RC 2016-02-05 12:28:00 +01:00
Sebastiaan Janssen 1dba5261f8 Need to add modelsbuilder package 2016-02-05 11:17:38 +01:00
Sebastiaan Janssen b02fbcbaef Need to add the new version to the template as well 2016-02-05 11:08:05 +01:00
Sebastiaan Janssen 55ee5e9ae4 Prevent Google from indexing the version so that people don't get false-positives when Googling for a specific version 2016-02-05 11:06:27 +01:00
Sebastiaan Janssen e1d50b5da5 Upgrade to 7.4.0-RC 2016-02-05 11:06:26 +01:00
Paul Sterling 2b87f60066 Temporary uWestFest 2016 banner 2016-01-18 13:12:18 +01:00
Sebastiaan Janssen dc0f71e354 Update README.md 2016-01-05 15:25:28 +01:00
Sebastiaan Janssen 0467c69b88 One last TeamCity update, else umbraco will "upgrade" on each deploy 2015-12-18 14:03:05 +01:00
Sebastiaan Janssen ceabcc4ce4 It should be happy now. 2015-12-18 13:25:20 +01:00
Sebastiaan Janssen 9be6b66841 Fix up csproj some more 2015-12-18 12:33:43 +01:00
Sebastiaan Janssen da4f1f0f8a Hopefully helps with the TeamCity build 2015-12-18 12:12:28 +01:00
Sebastiaan Janssen 2191054412 Fix up csproj file 2015-12-18 11:32:39 +01:00
Sebastiaan Janssen e1cd3d576f Je me reverte pour logo - my french sucks 2015-12-18 10:57:07 +01:00
Sebastiaan Janssen c851acb92d Upgrade to 7.4.0-beta 2015-12-18 10:55:02 +01:00
hartvig 2db2b5df03 Merge pull request #81 from umbraco/hartvig-france
nous sommes france
2015-11-15 15:55:26 +01:00
2039 changed files with 225374 additions and 246890 deletions
+7 -1
View File
@@ -55,9 +55,15 @@ OurUmbraco.Site/usercontrols/Deli/
OurUmbraco.Site/App_Data/mail/
OurUmbraco.Client/build/assets/
OurUmbraco.Client/node_modules/
npm-debug.log
npm-debug.log
OurUmbraco.Site/[Ww]eb.config
OurUmbraco.Site/[Aa]ssets/css/style.min.css
OurUmbraco.Site/[Aa]ssets/js/app.min.js
.vs/
OurUmbraco.Site/App_Data/migrations/*.txt
OurUmbraco.Site/apidocs/
OurUmbraco.Site/App_Data/Documentation/
OurUmbraco.Site/App_Data/NotificationTest/
build/tools/node*
wwwcache/
build/toolsnode.js.*/
-3
View File
@@ -3,7 +3,4 @@
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
<packageSources>
<add key="Umbraco 7 Nightly Feed" value="https://www.myget.org/F/umbraco72nightly/api/v2" />
</packageSources>
</configuration>
-155
View File
@@ -1,155 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(MSBuildProjectDirectory)\..\</SolutionDir>
<!-- Enable the restore command to run before builds -->
<RestorePackages Condition=" '$(RestorePackages)' == '' ">false</RestorePackages>
<!-- Property that enables building a package from a project -->
<BuildPackage Condition=" '$(BuildPackage)' == '' ">false</BuildPackage>
<!-- Determines if package restore consent is required to restore packages -->
<RequireRestoreConsent Condition=" '$(RequireRestoreConsent)' != 'false' ">true</RequireRestoreConsent>
<!-- Download NuGet.exe if it does not already exist -->
<DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">false</DownloadNuGetExe>
</PropertyGroup>
<ItemGroup Condition=" '$(PackageSources)' == '' ">
<!-- Package sources used to restore packages. By default, registered sources under %APPDATA%\NuGet\NuGet.Config will be used -->
<!-- The official NuGet package source (https://nuget.org/api/v2/) will be excluded if package sources are specified and it does not appear in the list -->
<!--
<PackageSource Include="https://nuget.org/api/v2/" />
<PackageSource Include="https://my-nuget-source/nuget/" />
-->
<PackageSource Include="https://nuget.org/api/v2/" />
<PackageSource Include="https://www.myget.org/F/umbraco72nightly/api/v2" />
</ItemGroup>
<PropertyGroup Condition=" '$(OS)' == 'Windows_NT'">
<!-- Windows specific commands -->
<NuGetToolsPath>$([System.IO.Path]::Combine($(SolutionDir), ".nuget"))</NuGetToolsPath>
<PackagesConfig>$([System.IO.Path]::Combine($(ProjectDir), "packages.config"))</PackagesConfig>
<PackagesDir>$([System.IO.Path]::Combine($(SolutionDir), "packages"))</PackagesDir>
</PropertyGroup>
<PropertyGroup Condition=" '$(OS)' != 'Windows_NT'">
<!-- We need to launch nuget.exe with the mono command if we're not on windows -->
<NuGetToolsPath>$(SolutionDir).nuget</NuGetToolsPath>
<PackagesConfig>packages.config</PackagesConfig>
<PackagesDir>$(SolutionDir)packages</PackagesDir>
</PropertyGroup>
<PropertyGroup>
<!-- NuGet command -->
<NuGetExePath Condition=" '$(NuGetExePath)' == '' ">$(NuGetToolsPath)\nuget.exe</NuGetExePath>
<PackageSources Condition=" $(PackageSources) == '' ">@(PackageSource)</PackageSources>
<NuGetCommand Condition=" '$(OS)' == 'Windows_NT'">"$(NuGetExePath)"</NuGetCommand>
<NuGetCommand Condition=" '$(OS)' != 'Windows_NT' ">mono --runtime=v4.0.30319 $(NuGetExePath)</NuGetCommand>
<PackageOutputDir Condition="$(PackageOutputDir) == ''">$(TargetDir.Trim('\\'))</PackageOutputDir>
<RequireConsentSwitch Condition=" $(RequireRestoreConsent) == 'true' ">-RequireConsent</RequireConsentSwitch>
<!-- Commands -->
<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(RequireConsentSwitch) -o "$(PackagesDir)"</RestoreCommand>
<BuildCommand>$(NuGetCommand) pack "$(ProjectPath)" -p Configuration=$(Configuration) -o "$(PackageOutputDir)" -symbols</BuildCommand>
<!-- We need to ensure packages are restored prior to assembly resolve -->
<ResolveReferencesDependsOn Condition="$(RestorePackages) == 'true'">
RestorePackages;
$(ResolveReferencesDependsOn);
</ResolveReferencesDependsOn>
<!-- Make the build depend on restore packages -->
<BuildDependsOn Condition="$(BuildPackage) == 'true'">
$(BuildDependsOn);
BuildPackage;
</BuildDependsOn>
</PropertyGroup>
<Target Name="CheckPrerequisites">
<!-- Raise an error if we're unable to locate nuget.exe -->
<Error Condition="'$(DownloadNuGetExe)' != 'true' AND !Exists('$(NuGetExePath)')" Text="Unable to locate '$(NuGetExePath)'" />
<SetEnvironmentVariable EnvKey="VisualStudioVersion" EnvValue="$(VisualStudioVersion)" Condition=" '$(VisualStudioVersion)' != '' AND '$(OS)' == 'Windows_NT' " />
<!--
Take advantage of MsBuild's build dependency tracking to make sure that we only ever download nuget.exe once.
This effectively acts as a lock that makes sure that the download operation will only happen once and all
parallel builds will have to wait for it to complete.
-->
<MsBuild Targets="_DownloadNuGet" Projects="$(MSBuildThisFileFullPath)" Properties="Configuration=NOT_IMPORTANT" />
</Target>
<Target Name="_DownloadNuGet">
<DownloadNuGet OutputFilename="$(NuGetExePath)" Condition=" '$(DownloadNuGetExe)' == 'true' AND !Exists('$(NuGetExePath)')" />
</Target>
<Target Name="RestorePackages" DependsOnTargets="CheckPrerequisites">
<Exec Command="$(RestoreCommand)"
Condition="'$(OS)' != 'Windows_NT' And Exists('$(PackagesConfig)')" />
<Exec Command="$(RestoreCommand)"
LogStandardErrorAsError="true"
Condition="'$(OS)' == 'Windows_NT' And Exists('$(PackagesConfig)')" />
</Target>
<Target Name="BuildPackage" DependsOnTargets="CheckPrerequisites">
<Exec Command="$(BuildCommand)"
Condition=" '$(OS)' != 'Windows_NT' " />
<Exec Command="$(BuildCommand)"
LogStandardErrorAsError="true"
Condition=" '$(OS)' == 'Windows_NT' " />
</Target>
<UsingTask TaskName="DownloadNuGet" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
<ParameterGroup>
<OutputFilename ParameterType="System.String" Required="true" />
</ParameterGroup>
<Task>
<Reference Include="System.Core" />
<Using Namespace="System" />
<Using Namespace="System.IO" />
<Using Namespace="System.Net" />
<Using Namespace="Microsoft.Build.Framework" />
<Using Namespace="Microsoft.Build.Utilities" />
<Code Type="Fragment" Language="cs">
<![CDATA[
try {
OutputFilename = Path.GetFullPath(OutputFilename);
Log.LogMessage("Downloading latest version of NuGet.exe...");
WebClient webClient = new WebClient();
webClient.DownloadFile("https://nuget.org/nuget.exe", OutputFilename);
return true;
}
catch (Exception ex) {
Log.LogErrorFromException(ex);
return false;
}
]]>
</Code>
</Task>
</UsingTask>
<UsingTask TaskName="SetEnvironmentVariable" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
<ParameterGroup>
<EnvKey ParameterType="System.String" Required="true" />
<EnvValue ParameterType="System.String" Required="true" />
</ParameterGroup>
<Task>
<Using Namespace="System" />
<Code Type="Fragment" Language="cs">
<![CDATA[
try {
Environment.SetEnvironmentVariable(EnvKey, EnvValue, System.EnvironmentVariableTarget.Process);
}
catch {
}
]]>
</Code>
</Task>
</UsingTask>
</Project>
-22
View File
@@ -1,22 +0,0 @@
using System;
using System.Collections.Generic;
using System.Text;
using uForum.Businesslogic;
namespace NotificationsCore.EventHandlers
{
public class Forum : umbraco.BusinessLogic.ApplicationBase
{
public Forum()
{
Comment.AfterCreate += new EventHandler<CreateEventArgs>(Comment_AfterCreate);
}
void Comment_AfterCreate(object sender, uForum.Businesslogic.CreateEventArgs e)
{
Comment c = (Comment)sender;
//InstantNotification.Execute("NewComment", c.Id);
}
}
}
-72
View File
@@ -1,72 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Reflection;
namespace NotificationsCore
{
public class InstantNotification
{
private delegate void ExecuteDelegate(string config, string assemblydir, string name, params object[] args);
private ExecuteDelegate ed;
public InstantNotification()
{
ed = new ExecuteDelegate(this.Execute);
}
public void Invoke(string config, string assemblydir, string name, params object[] args)
{
ed.BeginInvoke(config, assemblydir, name, args, null, null);
}
public void Execute(string config,string assemblydir, string name, params object[] args)
{
try
{
XmlDocument notifications = new XmlDocument();
notifications.Load(config);
XmlNode settings = notifications.SelectSingleNode("//global");
XmlNode node = notifications.SelectSingleNode(
string.Format("//instant//notification [@name = '{0}']", name));
XmlDocument details = new XmlDocument();
XmlNode cont = details.CreateElement("details");
cont.AppendChild(details.ImportNode(settings,true));
cont.AppendChild(details.ImportNode(node,true));
details.AppendChild(cont);
if (node != null)
{
string assemblyFile =
String.Format("{0}{1}.dll", assemblydir, node.Attributes["assembly"].Value);
Assembly nAssembly = System.Reflection.Assembly.LoadFrom(assemblyFile);
Notification n =
(Notification)Activator.CreateInstance(
nAssembly.GetType(node.Attributes["type"].Value));
n.SendNotification(details, args);
}
else
{
umbraco.BusinessLogic.Log.Add(umbraco.BusinessLogic.LogTypes.Debug, 666, "not found");
}
}
catch (Exception e)
{
umbraco.BusinessLogic.Log.Add(umbraco.BusinessLogic.LogTypes.Debug, 666, e.Message);
}
}
}
}
-12
View File
@@ -1,12 +0,0 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
namespace NotificationsCore.Interfaces
{
interface INotification
{
bool SendNotification(XmlNode details, params object[] args);
}
}
-17
View File
@@ -1,17 +0,0 @@
using System;
using System.Collections.Generic;
using System.Text;
using NotificationsCore.Interfaces;
using System.Xml;
namespace NotificationsCore
{
public abstract class Notification: INotification
{
#region INotification Members
public virtual bool SendNotification(XmlNode details, params object[] args) { return false; }
#endregion
}
}
-322
View File
@@ -1,322 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{80E5F59D-A7A0-4CEE-AEB6-6C626C44B2B2}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NotificationsCore</RootNamespace>
<AssemblyName>NotificationsCore</AssemblyName>
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<OldToolsVersion>3.5</OldToolsVersion>
<TargetFrameworkProfile />
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
<RestorePackages>true</RestorePackages>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="AutoMapper, Version=3.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AutoMapper.3.0.0\lib\net40\AutoMapper.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="AutoMapper.Net4, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AutoMapper.3.0.0\lib\net40\AutoMapper.Net4.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="businesslogic, Version=1.0.5780.28252, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\businesslogic.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ClientDependency.Core, Version=1.8.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ClientDependency.1.8.4\lib\net45\ClientDependency.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ClientDependency.Core.Mvc, Version=1.8.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ClientDependency-Mvc5.1.8.0.0\lib\net45\ClientDependency.Core.Mvc.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="cms, Version=1.0.5780.28253, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\cms.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="controls, Version=1.0.5780.28254, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\controls.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="CookComputing.XmlRpcV2, Version=2.5.0.0, Culture=neutral, PublicKeyToken=a7d6e17aa302004d, processorArchitecture=MSIL">
<HintPath>..\packages\xmlrpcnet.2.5.0\lib\net20\CookComputing.XmlRpcV2.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Examine, Version=0.1.68.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Examine.0.1.68.0\lib\Examine.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="HtmlAgilityPack, Version=1.4.9.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
<HintPath>..\packages\HtmlAgilityPack.1.4.9\lib\Net45\HtmlAgilityPack.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ImageProcessor, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ImageProcessor.2.3.0.0\lib\net45\ImageProcessor.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ImageProcessor.Web, Version=4.4.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ImageProcessor.Web.4.4.0.0\lib\net45\ImageProcessor.Web.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="interfaces, Version=1.0.5780.28247, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\interfaces.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="log4net, Version=1.2.11.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\log4net.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Lucene.Net, Version=2.9.4.1, Culture=neutral, PublicKeyToken=85089178b9ac3181, processorArchitecture=MSIL">
<HintPath>..\packages\Lucene.Net.2.9.4.1\lib\net40\Lucene.Net.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.ApplicationBlocks.Data, Version=1.0.1559.20655, Culture=neutral">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\Microsoft.ApplicationBlocks.Data.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.AspNet.Identity.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Identity.Core.2.2.1\lib\net45\Microsoft.AspNet.Identity.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.AspNet.Identity.Owin, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Identity.Owin.2.2.1\lib\net45\Microsoft.AspNet.Identity.Owin.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Owin, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Owin.3.0.1\lib\net45\Microsoft.Owin.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Owin.Host.SystemWeb, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Owin.Host.SystemWeb.3.0.1\lib\net45\Microsoft.Owin.Host.SystemWeb.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Owin.Security, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Owin.Security.3.0.1\lib\net45\Microsoft.Owin.Security.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Owin.Security.Cookies, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Owin.Security.Cookies.3.0.1\lib\net45\Microsoft.Owin.Security.Cookies.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Owin.Security.OAuth, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Owin.Security.OAuth.3.0.1\lib\net45\Microsoft.Owin.Security.OAuth.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebHelpers.3.2.3\lib\net45\Microsoft.Web.Helpers.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="MiniProfiler, Version=2.1.0.0, Culture=neutral, PublicKeyToken=b44f9351044011a3, processorArchitecture=MSIL">
<HintPath>..\packages\MiniProfiler.2.1.0\lib\net40\MiniProfiler.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="MySql.Data, Version=6.9.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<HintPath>..\packages\MySql.Data.6.9.7\lib\net45\MySql.Data.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Owin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0ebd12fd5e55cc5, processorArchitecture=MSIL">
<HintPath>..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Semver, Version=1.1.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\semver.1.1.2\lib\net451\Semver.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="SQLCE4Umbraco, Version=1.0.5780.28254, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\SQLCE4Umbraco.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.configuration" />
<Reference Include="System.Core">
<RequiredTargetFramework>3.5</RequiredTargetFramework>
</Reference>
<Reference Include="System.Data" />
<Reference Include="System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\System.Data.SqlServerCe.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Data.SqlServerCe.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\System.Data.SqlServerCe.Entity.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Http" />
<Reference Include="System.Net.Http.Extensions, Version=2.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Extensions.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Http.Primitives, Version=4.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Primitives.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Http.WebRequest" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.Http.WebHost, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.WebPages.Deployment, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Xml" />
<Reference Include="TidyNet, Version=1.0.0.0, Culture=neutral">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\TidyNet.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="umbraco, Version=1.0.5780.28255, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\umbraco.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Umbraco.Core, Version=1.0.5780.28249, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\Umbraco.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="umbraco.DataLayer, Version=1.0.5780.28252, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\umbraco.DataLayer.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="umbraco.editorControls, Version=1.0.5780.28258, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\umbraco.editorControls.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="umbraco.MacroEngines, Version=1.0.5780.28258, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\umbraco.MacroEngines.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="umbraco.providers, Version=1.0.5780.28254, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\umbraco.providers.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Umbraco.Web.UI, Version=1.0.5780.28259, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\Umbraco.Web.UI.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="UmbracoExamine, Version=0.7.0.28253, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\UmbracoExamine.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="UrlRewritingNet.UrlRewriter, Version=2.0.60829.1, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\UrlRewritingNet.UrlRewriter.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="WebMatrix.Data, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.Data.3.2.3\lib\net45\WebMatrix.Data.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="WebMatrix.WebData, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.WebData.3.2.3\lib\net45\WebMatrix.WebData.dll</HintPath>
<Private>True</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="InstantNotification.cs" />
<Compile Include="Interfaces\INotification.cs" />
<Compile Include="Notification.cs" />
<Compile Include="NotificationTypes\NewForumTopic.cs" />
<Compile Include="NotificationTypes\NewForumTopicComment.cs" />
<Compile Include="SheduledNotification.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\OurUmbraco\OurUmbraco.csproj">
<Project>{a8e5c936-ecab-45b3-bfda-d12f680eb2a6}</Project>
<Name>OurUmbraco</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>
<Import Project="..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" />
<Target Name="EnsureBclBuildImported" BeforeTargets="BeforeBuild" Condition="'$(BclBuildImported)' == ''">
<Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=317567." HelpKeyword="BCLBUILD2001" />
<Error Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://go.microsoft.com/fwlink/?LinkID=317568." HelpKeyword="BCLBUILD2002" />
</Target>
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
-52
View File
@@ -1,52 +0,0 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Timers;
using System.Reflection;
using System.Xml;
namespace NotificationsCore
{
public class NotificationExecuter
{
public string Name { get; set; }
public double Interval { get; set; }
public string Assembly { get; set; }
public string Type { get; set; }
public XmlNode Details { get; set; }
Timer timer = new Timer();
public NotificationExecuter(string name, double interval, string assembly, string type, XmlNode details)
{
this.Name = name;
this.Interval = interval;
this.Assembly = assembly;
this.Type = type;
this.Details = details;
}
public void Start()
{
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
timer.Interval = Interval;
timer.Enabled = true;
}
void timer_Elapsed(object sender, ElapsedEventArgs e)
{
string assemblyFile =
String.Format("{0}.dll", Assembly);
Assembly nAssembly = System.Reflection.Assembly.LoadFrom(assemblyFile);
Notification n =
(Notification)Activator.CreateInstance(
nAssembly.GetType(Type));
n.SendNotification(Details);
}
}
}
@@ -1,113 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;
using System.Data.SqlClient;
using umbraco.cms.businesslogic.member;
using umbraco.presentation.nodeFactory;
using umbraco.cms.businesslogic.web;
using System.Web;
using OurUmbraco.Forum.Models;
namespace NotificationsCore.NotificationTypes
{
public class NewForumTopic: Notification
{
public NewForumTopic()
{
}
public override bool SendNotification(System.Xml.XmlNode details, params object[] args)
{
try
{
var topic = (Topic)args[0];
string url = (string)args[1];
var memberName = (string)args[2];
if (topic.IsSpam)
{
umbraco.BusinessLogic.Log.Add(umbraco.BusinessLogic.LogTypes.Debug, -1, string.Format("[Notifications] Topic ID {0} is marked as spam, no notification sent{0}", topic.Id));
return true;
}
SmtpClient c = new SmtpClient();
//c.Credentials = new System.Net.NetworkCredential(details.SelectSingleNode("//username").InnerText, details.SelectSingleNode("//password").InnerText);
MailAddress from = new MailAddress(
details.SelectSingleNode("//from/email").InnerText,
details.SelectSingleNode("//from/name").InnerText);
string subject = details.SelectSingleNode("//subject").InnerText;
string body = details.SelectSingleNode("//body").InnerText;
//currently using document api instead of nodefactory
Document forum = new Document(topic.ParentId);
subject = string.Format(subject, forum.Text);
var domain = details.SelectSingleNode("//domain").InnerText;
body = string.Format(body, forum.Text, "https://" + domain + url, memberName, topic.Title, HttpUtility.HtmlDecode(umbraco.library.StripHtml(topic.Body)));
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["umbracoDbDSN"].ConnectionString);
SqlCommand comm = new SqlCommand("Select memberId from forumSubscribers where forumId = @forumId", conn);
comm.Parameters.AddWithValue("@forumId", topic.ParentId);
conn.Open();
SqlDataReader dr = comm.ExecuteReader();
while (dr.Read())
{
int mid = dr.GetInt32(0);
try
{
Member m = new Member(mid);
if (m.Id != topic.MemberId
&& (m.getProperty("bugMeNot").Value.ToString() != "1"))
{
MailMessage mm = new MailMessage();
mm.Subject = subject;
mm.Body = body;
mm.To.Add(m.Email);
mm.From = from;
c.Send(mm);
}
}
catch(Exception e)
{
umbraco.BusinessLogic.Log.Add(umbraco.BusinessLogic.LogTypes.Debug, -1,
"[Notifications] Error sending mail to " + mid.ToString() + " " + e.Message);
}
}
conn.Close();
}
catch (Exception e)
{
umbraco.BusinessLogic.Log.Add(umbraco.BusinessLogic.LogTypes.Debug, -1, "[Notifications]" + e.Message);
}
return true;
}
}
}
@@ -1,107 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Mail;
using System.Data.SqlClient;
using umbraco.cms.businesslogic.member;
using System.Web;
using OurUmbraco.Forum.Models;
using Umbraco.Core.Models;
using Umbraco.Web;
using Umbraco.Core;
using Umbraco.Web.Security;
namespace NotificationsCore.NotificationTypes
{
public class NewForumTopicComment: Notification
{
public NewForumTopicComment()
{
}
public override bool SendNotification(System.Xml.XmlNode details, params object[] args)
{
try
{
Comment com = (Comment)args[0];
Topic topic = (Topic)args[1];
string url = (string)args[2];
string memberName = (string)args[3];
if (com.IsSpam)
{
umbraco.BusinessLogic.Log.Add(umbraco.BusinessLogic.LogTypes.Debug, -1, string.Format("[Notifications] Comment Id {{0}} is marked as spam, no notification sent{0}", com.Id));
return true;
}
//SMTP SETTINGS
SmtpClient c = new SmtpClient();
//c.Credentials = new System.Net.NetworkCredential(details.SelectSingleNode("//username").InnerText, details.SelectSingleNode("//password").InnerText);
//SENDER ADDRESS
MailAddress from = new MailAddress(
details.SelectSingleNode("//from/email").InnerText,
details.SelectSingleNode("//from/name").InnerText);
//Notification details
var domain = details.SelectSingleNode("//domain").InnerText;
var subject = string.Format(details.SelectSingleNode("//subject").InnerText, topic.Title);
var body = details.SelectSingleNode("//body").InnerText;
body = string.Format(body, topic.Title, "https://" + domain + url + "#comment-" + com.Id, memberName, HttpUtility.HtmlDecode(umbraco.library.StripHtml(com.Body)));
//connect to DB
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["umbracoDbDSN"].ConnectionString);
SqlCommand comm = new SqlCommand("Select memberId from forumTopicSubscribers where topicId = @topicId", conn);
comm.Parameters.AddWithValue("@topicId", topic.Id);
conn.Open();
//shit this must be so fucking slow
SqlDataReader dr = comm.ExecuteReader();
while (dr.Read())
{
int mid = dr.GetInt32(0);
try
{
var m = new umbraco.cms.businesslogic.member.Member(mid);
if (m.Id != com.MemberId
&& m.getProperty("bugMeNot").Value.ToString() != "1")
{
MailMessage mm = new MailMessage();
mm.Subject = subject;
mm.Body = body;
mm.To.Add(m.Email);
mm.From = from;
c.Send(mm);
}
}
catch (Exception e)
{
umbraco.BusinessLogic.Log.Add(umbraco.BusinessLogic.LogTypes.Debug, -1,
"[Notifications] Error sending mail to " + mid.ToString() + " " + e.Message);
}
}
conn.Close();
}
catch (Exception e)
{
umbraco.BusinessLogic.Log.Add(umbraco.BusinessLogic.LogTypes.Debug, -1, "[Notifications]" + e.Message);
}
return true;
}
}
}
-36
View File
@@ -1,36 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Notification")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Notification")]
[assembly: AssemblyCopyright("Copyright © 2010")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("df83d509-8920-49a4-a9e0-41665d8bfa42")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
-52
View File
@@ -1,52 +0,0 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Timers;
using System.Reflection;
using System.Xml;
namespace NotificationsCore
{
public class SheduledNotification
{
public string Name { get; set; }
public double Interval { get; set; }
public string Assembly { get; set; }
public string Type { get; set; }
public XmlNode Details { get; set; }
Timer timer = new Timer();
public SheduledNotification(string name, double interval, string assembly, string type, XmlNode details)
{
this.Name = name;
this.Interval = interval;
this.Assembly = assembly;
this.Type = type;
this.Details = details;
}
public void Start()
{
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
timer.Interval = Interval;
timer.Enabled = true;
}
void timer_Elapsed(object sender, ElapsedEventArgs e)
{
string assemblyFile =
String.Format("{0}.dll", Assembly);
Assembly nAssembly = System.Reflection.Assembly.LoadFrom(assemblyFile);
Notification n =
(Notification)Activator.CreateInstance(
nAssembly.GetType(Type));
n.SendNotification(Details);
}
}
}
-59
View File
@@ -1,59 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http.WebHost" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
-42
View File
@@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AutoMapper" version="3.0.0" targetFramework="net451" />
<package id="ClientDependency" version="1.8.4" targetFramework="net451" />
<package id="ClientDependency-Mvc" version="1.8.0.0" targetFramework="net451" />
<package id="ClientDependency-Mvc5" version="1.8.0.0" targetFramework="net451" />
<package id="Examine" version="0.1.68.0" targetFramework="net451" />
<package id="HtmlAgilityPack" version="1.4.9" targetFramework="net451" />
<package id="ImageProcessor" version="2.3.0.0" targetFramework="net451" />
<package id="ImageProcessor.Web" version="4.4.0.0" targetFramework="net451" />
<package id="Lucene.Net" version="2.9.4.1" targetFramework="net451" />
<package id="Microsoft.AspNet.Identity.Core" version="2.2.1" targetFramework="net451" />
<package id="Microsoft.AspNet.Identity.Owin" version="2.2.1" targetFramework="net451" />
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.Mvc.FixedDisplayModes" version="5.0.0" targetFramework="net451" />
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebHelpers" version="3.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebPages.Data" version="3.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebPages.WebData" version="3.2.3" targetFramework="net451" />
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="net451" />
<package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net451" />
<package id="Microsoft.Net.Http" version="2.2.29" targetFramework="net451" />
<package id="Microsoft.Owin" version="3.0.1" targetFramework="net451" />
<package id="Microsoft.Owin.Host.SystemWeb" version="3.0.1" targetFramework="net451" />
<package id="Microsoft.Owin.Security" version="3.0.1" targetFramework="net451" />
<package id="Microsoft.Owin.Security.Cookies" version="3.0.1" targetFramework="net451" />
<package id="Microsoft.Owin.Security.OAuth" version="3.0.1" targetFramework="net451" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net451" />
<package id="MiniProfiler" version="2.1.0" targetFramework="net451" />
<package id="MySql.Data" version="6.9.7" targetFramework="net451" />
<package id="Newtonsoft.Json" version="6.0.8" targetFramework="net451" />
<package id="Owin" version="1.0" targetFramework="net451" />
<package id="semver" version="1.1.2" targetFramework="net451" />
<package id="SharpZipLib" version="0.86.0" targetFramework="net451" />
<package id="UmbracoCms.Core" version="7.3.1" targetFramework="net451" />
<package id="xmlrpcnet" version="2.5.0" targetFramework="net451" />
</packages>
-10
View File
@@ -1,10 +0,0 @@
<?xml version="1.0"?>
<configuration>
<appSettings>
<add key="url" value="http://dreamingofawhitechristmas.our.umbraco.org/umbraco/plugins/Notifications/SheduledTaskTrigger.aspx"/>
<add key="interval" value="900000"/>
<!--
<add key="configFile" value="C:\Users\Tim Geyssens\Documents\Visual Studio 2008\Umbraco\OUR\NotificationMailer\NotificationMailer.config"/>
-->
</appSettings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/></startup></configuration>
-24
View File
@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<notification name="New forum post" interval="200" assembly="temp" type="temp">
<from>
<name>Our umbraco</name>
<email>robot@umbraco.org</email>
</from>
<subject>There has been a new post</subject>
<body>There has been a new post</body>
</notification>
<notification name="Another forum post" interval="100" assembly="temp" type="temp">
<from>
<name>Our umbraco</name>
<email>robot@umbraco.org</email>
</from>
<subject>There has been a new post</subject>
<body>There has been a new post</body>
</notification>
</configuration>
@@ -1,53 +0,0 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Timers;
using System.Reflection;
using Notifications;
using System.Xml;
namespace NotificationMailer
{
public class NotificationExecuter
{
public string Name { get; set; }
public double Interval { get; set; }
public string Assembly { get; set; }
public string Type { get; set; }
public XmlNode Details { get; set; }
Timer timer = new Timer();
public NotificationExecuter(string name, double interval, string assembly, string type, XmlNode details)
{
this.Name = name;
this.Interval = interval;
this.Assembly = assembly;
this.Type = type;
this.Details = details;
}
public void Start()
{
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
timer.Interval = Interval;
timer.Enabled = true;
}
void timer_Elapsed(object sender, ElapsedEventArgs e)
{
string assemblyFile =
String.Format("{0}.dll", Assembly);
Assembly nAssembly = System.Reflection.Assembly.LoadFrom(assemblyFile);
Notification n =
(Notification)Activator.CreateInstance(
nAssembly.GetType(Type));
n.SendNotification(Details);
}
}
}
@@ -1,85 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{F41D51B7-3ECF-4C4C-955E-6E761345E18E}</ProjectGuid>
<OutputType>WinExe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NotificationMailer</RootNamespace>
<AssemblyName>NotificationMailer</AssemblyName>
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<FileUpgradeFlags>
</FileUpgradeFlags>
<OldToolsVersion>3.5</OldToolsVersion>
<UpgradeBackupLocation />
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Configuration.Install" />
<Reference Include="System.Data" />
<Reference Include="System.Management" />
<Reference Include="System.ServiceProcess" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="NotificationService.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="NotificationService.Designer.cs">
<DependentUpon>NotificationService.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="ProjectInstaller.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="ProjectInstaller.Designer.cs">
<DependentUpon>ProjectInstaller.cs</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="App.config">
<SubType>Designer</SubType>
</None>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="NotificationService.resx">
<DependentUpon>NotificationService.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="ProjectInstaller.resx">
<DependentUpon>ProjectInstaller.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
-40
View File
@@ -1,40 +0,0 @@
namespace NotificationMailer
{
partial class NotificationService
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
//
// NotificationService
//
this.ServiceName = "NotificationService";
}
#endregion
}
}
-88
View File
@@ -1,88 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;
using System.Text;
using System.Xml;
using System.Configuration;
using System.Threading;
using System.Net;
namespace NotificationMailer
{
public partial class NotificationService : ServiceBase
{
public NotificationService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
System.Timers.Timer timer = new System.Timers.Timer();
timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
timer.Interval = double.Parse(ConfigurationSettings.AppSettings["interval"]);
timer.Enabled = true;
timer.Start();
//XmlDocument notifications = new XmlDocument();
//notifications.Load(ConfigurationSettings.AppSettings["configFile"]);
//XmlNode settings = notifications.SelectSingleNode("//global");
//XmlNodeList xnl = notifications.SelectNodes("//sheduled//notification");
//foreach (XmlNode node in xnl)
//{
// XmlDocument details = new XmlDocument();
// XmlNode cont = details.CreateElement("details");
// cont.AppendChild(details.ImportNode(settings, true));
// cont.AppendChild(details.ImportNode(node, true));
// details.AppendChild(cont);
// SheduledNotification n =
// new SheduledNotification(
// node.Attributes["name"].Value,
// double.Parse(node.Attributes["interval"].Value),
// node.Attributes["assembly"].Value,
// node.Attributes["type"].Value,
// details);
// Thread nThread = new Thread(new ThreadStart(n.Start));
// nThread.Start();
//}
}
void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
HttpWebRequest request = (HttpWebRequest)
WebRequest.Create(ConfigurationSettings.AppSettings["url"]);
HttpWebResponse response = (HttpWebResponse)
request.GetResponse();
}
protected override void OnStop()
{
}
//public static string GetNodeValue(XmlNode n)
//{
// if (n == null || n.FirstChild == null)
// return string.Empty;
// return n.FirstChild.Value;
//}
}
}
-123
View File
@@ -1,123 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
</root>
-23
View File
@@ -1,23 +0,0 @@
using System;
using System.Collections.Generic;
using System.ServiceProcess;
using System.Text;
namespace NotificationMailer
{
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main()
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new NotificationService()
};
ServiceBase.Run(ServicesToRun);
}
}
}
-58
View File
@@ -1,58 +0,0 @@
namespace NotificationMailer
{
partial class ProjectInstaller
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.serviceProcessInstaller1 = new System.ServiceProcess.ServiceProcessInstaller();
this.serviceInstaller1 = new System.ServiceProcess.ServiceInstaller();
//
// serviceProcessInstaller1
//
this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem;
this.serviceProcessInstaller1.Password = null;
this.serviceProcessInstaller1.Username = null;
//
// serviceInstaller1
//
this.serviceInstaller1.ServiceName = "NotificationService";
this.serviceInstaller1.StartType = System.ServiceProcess.ServiceStartMode.Automatic;
//
// ProjectInstaller
//
this.Installers.AddRange(new System.Configuration.Install.Installer[] {
this.serviceProcessInstaller1,
this.serviceInstaller1});
}
#endregion
private System.ServiceProcess.ServiceProcessInstaller serviceProcessInstaller1;
private System.ServiceProcess.ServiceInstaller serviceInstaller1;
}
}
-19
View File
@@ -1,19 +0,0 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration.Install;
using System.Linq;
namespace NotificationMailer
{
[RunInstaller(true)]
public partial class ProjectInstaller : System.Configuration.Install.Installer
{
public ProjectInstaller()
{
InitializeComponent();
}
}
}
-129
View File
@@ -1,129 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="serviceProcessInstaller1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="serviceInstaller1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>196, 17</value>
</metadata>
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
</root>
@@ -1,36 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NotificationMailer")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("NotificationMailer")]
[assembly: AssemblyCopyright("Copyright © 2010")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("d9a67c91-946c-4774-b7d7-dc4f97a17a1d")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
-31
View File
@@ -1,31 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
namespace NotificationsWeb
{
public class Config
{
private static string _path = umbraco.GlobalSettings.FullpathToRoot + Path.DirectorySeparatorChar + "config" + Path.DirectorySeparatorChar;
private static string _filename = "Notification.config";
public static string AssemblyDir
{
get
{
return umbraco.GlobalSettings.FullpathToRoot + Path.DirectorySeparatorChar + "bin" + Path.DirectorySeparatorChar;
}
}
public static string ConfigurationFile
{
get
{
return _path + _filename;
}
}
}
}
-346
View File
@@ -1,346 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.30729</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{6CF53D68-BD81-47BB-8F56-350A1B04F114}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>NotificationsWeb</RootNamespace>
<AssemblyName>NotificationsWeb</AssemblyName>
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<OldToolsVersion>4.0</OldToolsVersion>
<TargetFrameworkProfile />
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
<RestorePackages>true</RestorePackages>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="AutoMapper, Version=3.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AutoMapper.3.0.0\lib\net40\AutoMapper.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="AutoMapper.Net4, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AutoMapper.3.0.0\lib\net40\AutoMapper.Net4.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="businesslogic, Version=1.0.5780.28252, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\businesslogic.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ClientDependency.Core, Version=1.8.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ClientDependency.1.8.4\lib\net45\ClientDependency.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ClientDependency.Core.Mvc, Version=1.8.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ClientDependency-Mvc5.1.8.0.0\lib\net45\ClientDependency.Core.Mvc.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="cms, Version=1.0.5780.28253, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\cms.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="controls, Version=1.0.5780.28254, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\controls.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="CookComputing.XmlRpcV2, Version=2.5.0.0, Culture=neutral, PublicKeyToken=a7d6e17aa302004d, processorArchitecture=MSIL">
<HintPath>..\packages\xmlrpcnet.2.5.0\lib\net20\CookComputing.XmlRpcV2.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Examine, Version=0.1.68.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Examine.0.1.68.0\lib\Examine.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="HtmlAgilityPack, Version=1.4.9.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
<HintPath>..\packages\HtmlAgilityPack.1.4.9\lib\Net45\HtmlAgilityPack.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ImageProcessor, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ImageProcessor.2.3.0.0\lib\net45\ImageProcessor.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ImageProcessor.Web, Version=4.4.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ImageProcessor.Web.4.4.0.0\lib\net45\ImageProcessor.Web.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="interfaces, Version=1.0.5780.28247, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\interfaces.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="log4net, Version=1.2.11.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\log4net.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Lucene.Net, Version=2.9.4.1, Culture=neutral, PublicKeyToken=85089178b9ac3181, processorArchitecture=MSIL">
<HintPath>..\packages\Lucene.Net.2.9.4.1\lib\net40\Lucene.Net.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.ApplicationBlocks.Data, Version=1.0.1559.20655, Culture=neutral">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\Microsoft.ApplicationBlocks.Data.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.AspNet.Identity.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Identity.Core.2.2.1\lib\net45\Microsoft.AspNet.Identity.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.AspNet.Identity.Owin, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Identity.Owin.2.2.1\lib\net45\Microsoft.AspNet.Identity.Owin.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Owin, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Owin.3.0.1\lib\net45\Microsoft.Owin.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Owin.Host.SystemWeb, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Owin.Host.SystemWeb.3.0.1\lib\net45\Microsoft.Owin.Host.SystemWeb.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Owin.Security, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Owin.Security.3.0.1\lib\net45\Microsoft.Owin.Security.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Owin.Security.Cookies, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Owin.Security.Cookies.3.0.1\lib\net45\Microsoft.Owin.Security.Cookies.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Owin.Security.OAuth, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Owin.Security.OAuth.3.0.1\lib\net45\Microsoft.Owin.Security.OAuth.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebHelpers.3.2.3\lib\net45\Microsoft.Web.Helpers.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="MiniProfiler, Version=2.1.0.0, Culture=neutral, PublicKeyToken=b44f9351044011a3, processorArchitecture=MSIL">
<HintPath>..\packages\MiniProfiler.2.1.0\lib\net40\MiniProfiler.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="MySql.Data, Version=6.9.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
<HintPath>..\packages\MySql.Data.6.9.7\lib\net45\MySql.Data.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Owin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0ebd12fd5e55cc5, processorArchitecture=MSIL">
<HintPath>..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Semver, Version=1.1.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\semver.1.1.2\lib\net451\Semver.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="SQLCE4Umbraco, Version=1.0.5780.28254, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\SQLCE4Umbraco.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\System.Data.SqlServerCe.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Data.SqlServerCe.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\System.Data.SqlServerCe.Entity.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Http" />
<Reference Include="System.Net.Http.Extensions, Version=2.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Extensions.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Http.Primitives, Version=4.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Primitives.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Net.Http.WebRequest" />
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.Web.DynamicData" />
<Reference Include="System.Web.Entity" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.Http.WebHost, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.WebPages.Deployment, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
<Reference Include="System.Web.Services" />
<Reference Include="System.EnterpriseServices" />
<Reference Include="System.Web.Mobile" />
<Reference Include="System.Xml.Linq" />
<Reference Include="TidyNet, Version=1.0.0.0, Culture=neutral">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\TidyNet.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="umbraco, Version=1.0.5780.28255, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\umbraco.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Umbraco.Core, Version=1.0.5780.28249, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\Umbraco.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="umbraco.DataLayer, Version=1.0.5780.28252, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\umbraco.DataLayer.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="umbraco.editorControls, Version=1.0.5780.28258, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\umbraco.editorControls.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="umbraco.MacroEngines, Version=1.0.5780.28258, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\umbraco.MacroEngines.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="umbraco.providers, Version=1.0.5780.28254, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\umbraco.providers.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Umbraco.Web.UI, Version=1.0.5780.28259, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\Umbraco.Web.UI.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="UmbracoExamine, Version=0.7.0.28253, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\UmbracoExamine.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="UrlRewritingNet.UrlRewriter, Version=2.0.60829.1, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\UrlRewritingNet.UrlRewriter.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="WebMatrix.Data, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.Data.3.2.3\lib\net45\WebMatrix.Data.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="WebMatrix.WebData, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.WebPages.WebData.3.2.3\lib\net45\WebMatrix.WebData.dll</HintPath>
<Private>True</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Api\NotificationsController.cs" />
<Compile Include="Config.cs" />
<Compile Include="EventHandlers\Forum.cs" />
<Compile Include="Library\Utils.cs" />
<Compile Include="Models\ForumSubscriber.cs" />
<Compile Include="Models\ForumTopicSubscriber.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Services\NotificationService.cs" />
<Compile Include="Singleton.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Notification\Notification.csproj">
<Project>{80E5F59D-A7A0-4CEE-AEB6-6C626C44B2B2}</Project>
<Name>Notification</Name>
</ProjectReference>
<ProjectReference Include="..\OurUmbraco\OurUmbraco.csproj">
<Project>{a8e5c936-ecab-45b3-bfda-d12f680eb2a6}</Project>
<Name>OurUmbraco</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<ProjectExtensions />
<PropertyGroup>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
</Target>
<Import Project="..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" />
<Target Name="EnsureBclBuildImported" BeforeTargets="BeforeBuild" Condition="'$(BclBuildImported)' == ''">
<Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=317567." HelpKeyword="BCLBUILD2001" />
<Error Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://go.microsoft.com/fwlink/?LinkID=317568." HelpKeyword="BCLBUILD2002" />
</Target>
</Project>
@@ -1,35 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("NotificationsWeb")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("NotificationsWeb")]
[assembly: AssemblyCopyright("Copyright © 2010")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("3d5900ae-111a-45be-96b3-d9e4606ca793")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
-59
View File
@@ -1,59 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http.WebHost" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
-42
View File
@@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="AutoMapper" version="3.0.0" targetFramework="net451" />
<package id="ClientDependency" version="1.8.4" targetFramework="net451" />
<package id="ClientDependency-Mvc" version="1.8.0.0" targetFramework="net451" />
<package id="ClientDependency-Mvc5" version="1.8.0.0" targetFramework="net451" />
<package id="Examine" version="0.1.68.0" targetFramework="net451" />
<package id="HtmlAgilityPack" version="1.4.9" targetFramework="net451" />
<package id="ImageProcessor" version="2.3.0.0" targetFramework="net451" />
<package id="ImageProcessor.Web" version="4.4.0.0" targetFramework="net451" />
<package id="Lucene.Net" version="2.9.4.1" targetFramework="net451" />
<package id="Microsoft.AspNet.Identity.Core" version="2.2.1" targetFramework="net451" />
<package id="Microsoft.AspNet.Identity.Owin" version="2.2.1" targetFramework="net451" />
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.Mvc.FixedDisplayModes" version="5.0.0" targetFramework="net451" />
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebHelpers" version="3.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebPages.Data" version="3.2.3" targetFramework="net451" />
<package id="Microsoft.AspNet.WebPages.WebData" version="3.2.3" targetFramework="net451" />
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="net451" />
<package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net451" />
<package id="Microsoft.Net.Http" version="2.2.29" targetFramework="net451" />
<package id="Microsoft.Owin" version="3.0.1" targetFramework="net451" />
<package id="Microsoft.Owin.Host.SystemWeb" version="3.0.1" targetFramework="net451" />
<package id="Microsoft.Owin.Security" version="3.0.1" targetFramework="net451" />
<package id="Microsoft.Owin.Security.Cookies" version="3.0.1" targetFramework="net451" />
<package id="Microsoft.Owin.Security.OAuth" version="3.0.1" targetFramework="net451" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net451" />
<package id="MiniProfiler" version="2.1.0" targetFramework="net451" />
<package id="MySql.Data" version="6.9.7" targetFramework="net451" />
<package id="Newtonsoft.Json" version="6.0.8" targetFramework="net451" />
<package id="Owin" version="1.0" targetFramework="net451" />
<package id="semver" version="1.1.2" targetFramework="net451" />
<package id="SharpZipLib" version="0.86.0" targetFramework="net451" />
<package id="UmbracoCms.Core" version="7.3.1" targetFramework="net451" />
<package id="xmlrpcnet" version="2.5.0" targetFramework="net451" />
</packages>
+3 -3
View File
@@ -1,4 +1,4 @@
<!doctype html>
<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
@@ -1104,8 +1104,8 @@ namespace TestProject.Controllers
<option class="features" value="1150">our.umb dev forum - Features</option>
<option class="general" value="5668">Core - General</option>
<option class="4.1feedback" value="5669">Core - 4.1 feedback</option>
<option class="generalquestions" value="73967">Umbraco as a Service - General Questions</option>
<option class="issues" value="73968">Umbraco as a Service - Issues</option>
<option class="generalquestions" value="73967">Umbraco Cloud - General Questions</option>
<option class="issues" value="73968">Umbraco Cloud - Issues</option>
</select>
</div>
+3 -3
View File
@@ -1,4 +1,4 @@
<!doctype html>
<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
@@ -624,8 +624,8 @@ grunt</pre>
<div class="package-compatibility-versions">
<div class="versions">
<span class="smiley joyous">Umbraco as a Service (Works)</span>
<span class="smiley untested">Umbraco as a Service (Not working yet)</span>
<span class="smiley joyous">Umbraco Cloud (Works)</span>
<span class="smiley untested">Umbraco Cloud (Not working yet)</span>
<span class="smiley untested"> 7.2.x (untested)</span>
<span class="smiley happy"> 7.1.x (91%)</span>
<span class="smiley joyous"> 7.0.x (100%)</span>
+2 -2
View File
@@ -1,4 +1,4 @@
var gulp = require('gulp'),
var gulp = require('gulp'),
gutil = require('gulp-util'),
sass = require('gulp-sass'),
jshint = require('gulp-jshint'),
@@ -57,7 +57,7 @@ gulp.task('css', function () {
.pipe(sass())
.on('error', gutil.log)
.pipe(autoprefixer('last 1 version', 'ie 9', 'ios 7'))
.pipe(cmq({log: true}))
// .pipe(cmq({log: true}))
.pipe(rename({suffix: '.min'}))
.pipe(minifyCss())
.pipe(gulp.dest(settings.build + '/assets/css'))
+16 -21
View File
@@ -4,33 +4,28 @@
"description": "Umbraco Our gulpjs config",
"main": "gulpfile.js",
"private": true,
"dependencies": {
},
"dependencies": {},
"devDependencies": {
"gulp": "3.8.x",
"gulp-util": "2.2.x",
"gulp-watch": "0.6.x",
"gulp-minify-css": "1.1.x",
"node-sass": "3.2.x",
"gulp-sass": "2.0.x",
"gulp-combine-media-queries": "0.1.x",
"gulp-imagemin": "0.6.x",
"gulp-autoprefixer": "2.3.1",
"gulp-uglify": "0.3.x",
"gulp-jshint": "1.6.x",
"gulp-concat": "2.2.x",
"jshint-stylish": "0.2.x",
"gulp": "^3.9.1",
"gulp-autoprefixer": "^3.1.0",
"gulp-clean": "0.3.x",
"gulp-combine-media-queries": "0.2.x",
"gulp-concat": "2.2.x",
"gulp-imagemin": "3.3.x",
"gulp-jshint": "^2.0.4",
"gulp-minify-css": "1.1.x",
"gulp-rename": "1.2.x",
"gulp-sass": "^2.2.0",
"gulp-svgmin": "0.4.x",
"gulp-rename": "1.2.x"
"gulp-uglify": "^1.5.3",
"gulp-util": "3.0.x",
"gulp-watch": "0.6.x",
"jshint": "^2.9.4",
"jshint-stylish": "0.2.x"
},
"scripts": {
"test": "gulp build --verbose"
},
"author": "umbraco",
"license": "MIT",
"repository": {
"type": "git",
"url": "http://github.com/devdk/gulp-workflow.git"
}
"license": "MIT"
}
+2 -2
View File
@@ -57,7 +57,7 @@ function GetSearchFilters(cssClass) {
if(cssClass === undefined) {
filters.category = undefined;
} else {
var category = cssClass.replace("-search-input", "");
var category = cssClass.replace("-search-input valid", "").replace("-search-input", "");
filters.category = category;
}
@@ -112,7 +112,7 @@ var projectSearch = _.debounce(function(ev) {
//iterate
_.each(response.items, function(item){
var image = (item.Fields.image && item.Fields.image.length > 0) ? item.Fields.image : "<i class='icon-Box'></i>";
var image = (item.Fields.image && item.Fields.image.length > 0) ? item.Fields.image : null;
var itemData = {
nodeName: item.Fields.nodeName,
body: _.escape(item.Fields.body.substring(0, 150)),
@@ -4,6 +4,7 @@
border: none !important;
padding: 20px;
line-height: 1.5;
@include colorset(alertbar);
@@ -1,7 +1,11 @@
button.button, .button, a.button {
background: $color-blue;
padding: 14px 40px;
display: inline-block;
padding: 12px 40px;
display: inline-flex;
align-items: center;
justify-content: center;
text-decoration: none;
border: none;
border-radius: 36px;
@@ -11,8 +15,7 @@ button.button, .button, a.button {
color: #fff;
text-align: center;
font-size: 1rem;
line-height: 1;
font-size: 14px;
margin: 0;
@@ -103,7 +106,7 @@ button.button, .button, a.button {
&.large {
font-size: 1.2rem;
font-size: 1.175rem;
}
File diff suppressed because it is too large Load Diff
@@ -30,7 +30,7 @@ header {
left: 0;
width: 100%;
}
.navigation {
position: relative;
z-index: 200;
@@ -54,11 +54,11 @@ header {
.logo {
background: url('/media/7514486/nous-sommes-france.png');
background: url('../images/logo.svg');
background-repeat: no-repeat;
background-position: left center;
background-size: 30px auto;
height: 60px;
line-height: 60px;
@@ -66,24 +66,21 @@ header {
text-indent: 40px;
text-decoration: none;
position: relative;
z-index: 300;
font-size: 1rem;
font-size: 1.15rem;
@include transition(all, .2s);
@media (min-width: $md) {
background-size: 40px auto;
text-indent: 46px;
text-indent: 50px;
&:hover {
color: rgba(#fff, .66);
background-size: 36px auto;
background-position: 4px center;
opacity: .6;
}
}
}
@@ -381,10 +378,10 @@ header {
height: 100%;
background: rgba($color-our, .98);
transform: translate(0, -100%);
@include transition(transform, .3s);
visibility: hidden;
opacity: 0;
@@ -480,4 +477,3 @@ header {
background: transparent;
}
}
@@ -1,475 +1,476 @@
.markdown-editor {
position: fixed;
bottom: -100%;
max-height: 100%;
width: 100%;
padding: .2rem;
background-color: rgba(darken(#fff, 1%), .94);
box-shadow: 0px -2px 6px 0px rgba(0, 0, 0, 0.08);
transition: bottom .6s $cubicSearch, top .6s $cubicSearch;
z-index: 800;
@media (max-width: $xs) {
top: 100%;
padding: 20px 0 0;
}
&.write {
bottom:0px;
overflow-y: scroll;
visibility: visible;
@media (max-width: $xs) {
top: 0;
}
}
&.mobile-preview {
@media (max-width: $md) {
#input-container {
display: none;
}
#preview-container {
display: block;
}
}
}
#preview-container {
@media (max-width: $md) {
display: none;
}
}
input, textarea, select{
border: 2px solid #E4E8E9;
color: #000;
&:focus, &:active{
outline: none;
border-color: $color-green;
}
&.warning {
border-color: $color-red !important;
}
}
.wmd-button {
position: relative;
margin-right: 15px;
left: 0 !important;
font-size: 1.4em;
top: 10px;
cursor: pointer;
float: left;
border-radius: 20px;
transition: top 300ms $cubicSearch, opacity 300ms $cubicSearch;
}
.show {
.wmd-button {
@media (min-width: $md){
top: 10px;
opacity: .9;
}
}
}
.reply-to {
p {
font-size: 1rem;
overflow: hidden;
color: darken($color-space, 25%);
background: transparent;
}
span {
font-weight: 800;
}
}
#wmd-button-bar {
position:relative;
height: 30px;
@media (max-width: $xs) {
display:none;
}
}
.input-row {
label {
display: block;
margin-bottom: 5px;
color: darken($color-space, 10%);
font-size: .9rem;
}
}
.wmd-button-row {
list-style: none;
li {
&:hover {
span {
color:black;
}
}
span {
background-image: none;
color: #727272;
transition: color .2s ease-in;
&:before {
font-family: "our-umbraco" !important;
content: attr(data-icon);
font-style: normal !important;
font-weight: normal !important;
font-variant: normal !important;
text-transform: none !important;
speak: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
}
}
#wmd-bold-button {
span {
@extend .our-icon-bold;
}
}
#wmd-italic-button {
span {
@extend .our-icon-italic;
}
}
#wmd-bold-button {
span {
@extend .our-icon-bold;
}
}
#wmd-link-button {
span {
@extend .our-icon-hyperlink;
}
}
#wmd-quote-button {
span {
@extend .our-icon-quote;
}
}
#wmd-quote-button {
span {
@extend .our-icon-quote;
}
}
#wmd-code-button {
span {
@extend .our-icon-code;
}
}
#wmd-image-button {
span {
@extend .our-icon-picture;
}
}
#wmd-olist-button {
span {
@extend .our-icon-ol;
}
}
#wmd-ulist-button {
span {
@extend .our-icon-ul;
}
}
#wmd-heading-button {
span {
@extend .our-icon-header;
}
}
#wmd-hr-button {
span {
@extend .our-icon-hr;
}
}
#wmd-undo-button {
span {
@extend .our-icon-undo;
}
}
#wmd-redo-button {
span {
@extend .our-icon-redo;
}
}
}
.wmd-spacer {
float: left;
position: relative;
width: 27px;
display: block;
opacity: 0;
height: 20px;
@media (max-width:$md) {
display: none;
}
}
#wmd-input {
height: 300px;
width: 100%;
padding: .5rem;
font-size: 1rem;
color: $color-text;
background: white;
border: 2px solid #E4E8E9;
@include transition(border-color, .2s);
@media (max-width: $xs) {
height: 152px;
}
&:focus {
border-color: $color-green;
}
}
#wmd-preview {
width: 100%;
min-height: 300px;
max-height: 300px;
overflow-y: scroll;
padding: .5rem 20px;
font-size: .8rem;
color: #000;
background: darken(#F5F7F7, 5%);
@media (max-width: $xs) {
max-height: 150px;
min-height: 150px;
margin-bottom: 0;
}
}
.markdown-close {
position: absolute;
right: 1.5rem;
top: 2rem;
font-size: 28px;
cursor: pointer;
opacity: .6;
@include transition(opacity, .3s);
@media (min-width: $md) {
top: 1.5rem;
}
&:hover {
opacity: 1;
}
}
.draft {
position: fixed;
bottom: -40px;
right: 30px;
background-color: $color-green;
color:white;
padding: 12px 20px;
cursor: pointer;
opacity: 0;
font-size: .9rem;
font-weight: bold;
transition: opacity .3s $cubicSearch, bottom .6s $cubicSearch, box-shadow .2s ease-in-out;
&.show {
bottom: 30px;
opacity: 1;
&:hover {
background: lighten($color-green, 5%);
@extend .BoxShadow;
}
}
}
.markdown-control {
font-family: $font-family;
font-size: .8rem;
-webkit-appearance: none;
@media (max-width: $xs) {
padding: 5px !important;
}
}
#topic-title {
padding: .5rem;
font-size: .8rem;
overflow: hidden;
color: #000;
background: #fff;
width: 100%;
}
select {
position: relative;
border: none;
border-radius: 0;
padding: .5rem;
font-size: .8rem;
overflow: hidden;
color: #000;
background: #fff;
width: 100%;
border: 2px solid #E4E8E9;
@media (max-width: $xs) {
margin-top: 20px;
}
&::after {
position: absolute;
display: block;
top: 0;
right: 0;
content: "<";
color: black;
}
}
#topic-category {
option.frontend {
background: #4ea7ff;
color: #fff;
}
option.core {
background: #ff661b;
color: #fff;
}
option.azure {
background: #1ed45c;
color: #fff;
}
}
#topic-submit {
border: none;
background: $color-green;
color: white;
padding: 10px;
width: 100%;
max-width: 140px;
font-family: $font-family;
cursor: pointer;
font-size: 1rem;
&:hover {
background: lighten($color-green, 5%);
}
}
#mobile-preview {
border: none;
background: none;
-webkit-appearance:none;
text-align: right;
float: right;
opacity: .4;
cursor: pointer;
@include transition(opacity, .3s);
i {
font-size: 24px;
display: inline-block;
transform: translate(-3px, 5px);
}
span {
font-size: 14px;
}
&:hover {
opacity: 1;
}
@media (max-width: $xs) {
margin-bottom: 10px;
}
}
&.mobile-preview {
#wmd-preview {
@media (max-width: $md) {
margin-bottom: 4px;
}
}
#mobile-preview {
color: $color-our;
opacity: 1;
}
}
}
.wmd-prompt-background {
background-color: black;
}
#insert-image-dialog {
position: fixed;
z-index: 1001;
@extend .copy-link-wrapper;
&.show {
clip: auto;
opacity: 1;
top: 50%;
left: 50%;
}
}
.wmd-prompt-dialog {
@extend .copy-link-wrapper;
opacity: 1;
clip: auto;
margin: 0 !important;
input[type="text"] {
text-align: left;
}
}
.markdown-spacer {
position: relative;
height: 0px;
transition: height .6s $cubicSearch;
&.write {
height: 500px;
}
.markdown-editor {
position: fixed;
bottom: -100%;
max-height: 100%;
width: 100%;
padding: .2rem;
background-color: rgba(darken(#fff, 1%), .94);
box-shadow: 0px -2px 6px 0px rgba(0, 0, 0, 0.08);
transition: bottom .6s $cubicSearch, top .6s $cubicSearch;
z-index: 800;
@media (max-width: $xs) {
top: 100%;
padding: 20px 0 0;
}
&.write {
bottom:0px;
overflow-y: scroll;
visibility: visible;
@media (max-width: $xs) {
top: 0;
}
}
&.mobile-preview {
@media (max-width: $md) {
#input-container {
display: none;
}
#preview-container {
display: block;
}
}
}
#preview-container {
@media (max-width: $md) {
display: none;
}
}
input, textarea, select{
border: 2px solid #E4E8E9;
color: #000;
&:focus, &:active{
outline: none;
border-color: $color-green;
}
&.warning {
border-color: $color-red !important;
}
}
.wmd-button {
position: relative;
margin-right: 15px;
left: 0 !important;
font-size: 1.4em;
top: 10px;
cursor: pointer;
float: left;
border-radius: 20px;
transition: top 300ms $cubicSearch, opacity 300ms $cubicSearch;
}
.show {
.wmd-button {
@media (min-width: $md){
top: 10px;
opacity: .9;
}
}
}
.reply-to {
p {
font-size: 1rem;
overflow: hidden;
color: darken($color-space, 25%);
background: transparent;
}
span {
font-weight: 800;
}
}
#wmd-button-bar {
position:relative;
height: 30px;
@media (max-width: $xs) {
display:none;
}
}
.input-row {
label {
display: block;
margin-bottom: 5px;
color: darken($color-space, 10%);
font-size: .9rem;
}
}
.wmd-button-row {
list-style: none;
li {
&:hover {
span {
color:black;
}
}
span {
background-image: none;
color: #727272;
transition: color .2s ease-in;
&:before {
font-family: "our-umbraco" !important;
content: attr(data-icon);
font-style: normal !important;
font-weight: normal !important;
font-variant: normal !important;
text-transform: none !important;
speak: none;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
}
}
#wmd-bold-button {
span {
@extend .our-icon-bold;
}
}
#wmd-italic-button {
span {
@extend .our-icon-italic;
}
}
#wmd-bold-button {
span {
@extend .our-icon-bold;
}
}
#wmd-link-button {
span {
@extend .our-icon-hyperlink;
}
}
#wmd-quote-button {
span {
@extend .our-icon-quote;
}
}
#wmd-quote-button {
span {
@extend .our-icon-quote;
}
}
#wmd-code-button {
span {
@extend .our-icon-code;
}
}
#wmd-image-button {
span {
@extend .our-icon-picture;
}
}
#wmd-olist-button {
span {
@extend .our-icon-ol;
}
}
#wmd-ulist-button {
span {
@extend .our-icon-ul;
}
}
#wmd-heading-button {
span {
@extend .our-icon-header;
}
}
#wmd-hr-button {
span {
@extend .our-icon-hr;
}
}
#wmd-undo-button {
span {
@extend .our-icon-undo;
}
}
#wmd-redo-button {
span {
@extend .our-icon-redo;
}
}
}
.wmd-spacer {
float: left;
position: relative;
width: 27px;
display: block;
opacity: 0;
height: 20px;
@media (max-width:$md) {
display: none;
}
}
#wmd-input {
height: 300px;
width: 100%;
padding: .5rem;
font-size: 1rem;
color: $color-text;
background: white;
border: 2px solid #E4E8E9;
@include transition(border-color, .2s);
@media (max-width: $xs) {
height: 152px;
}
&:focus {
border-color: $color-green;
}
}
#wmd-preview {
width: 100%;
min-height: 300px;
max-height: 300px;
overflow-y: scroll;
padding: .5rem 20px;
font-size: .8rem;
color: #000;
background: darken(#F5F7F7, 5%);
@media (max-width: $xs) {
max-height: 150px;
min-height: 150px;
margin-bottom: 0;
}
}
.markdown-close {
position: absolute;
right: 1.5rem;
top: 2rem;
font-size: 28px;
cursor: pointer;
opacity: .6;
@include transition(opacity, .3s);
@media (min-width: $md) {
top: 1.5rem;
}
&:hover {
opacity: 1;
}
}
.draft {
position: fixed;
bottom: -40px;
right: 30px;
background-color: $color-green;
color:white;
padding: 12px 20px;
cursor: pointer;
opacity: 0;
font-size: .9rem;
font-weight: bold;
transition: opacity .3s $cubicSearch, bottom .6s $cubicSearch, box-shadow .2s ease-in-out;
&.show {
bottom: 30px;
opacity: 1;
&:hover {
background: lighten($color-green, 5%);
@extend .BoxShadow;
}
}
}
.markdown-control {
font-family: $font-family;
font-size: .8rem;
-webkit-appearance: none;
@media (max-width: $xs) {
padding: 5px !important;
}
}
#topic-title {
padding: .5rem;
font-size: .8rem;
overflow: hidden;
color: #000;
background: #fff;
width: 100%;
}
select {
position: relative;
border: none;
border-radius: 0;
padding: .5rem;
font-size: .8rem;
overflow: hidden;
color: #000;
background: #fff;
width: 100%;
border: 2px solid #E4E8E9;
@media (max-width: $xs) {
margin-top: 20px;
}
&::after {
position: absolute;
display: block;
top: 0;
right: 0;
content: "<";
color: black;
}
}
#topic-category {
option.frontend {
background: #4ea7ff;
color: #fff;
}
option.core {
background: #ff661b;
color: #fff;
}
option.azure {
background: #1ed45c;
color: #fff;
}
}
#topic-submit {
border: none;
background: $color-green;
color: white;
padding: 10px !important;
padding-left: 32px;
width: 100%;
max-width: 140px;
font-family: $font-family;
cursor: pointer;
font-size: 1rem;
&:hover {
background: lighten($color-green, 5%);
}
}
#mobile-preview {
border: none;
background: none;
-webkit-appearance:none;
text-align: right;
float: right;
opacity: .4;
cursor: pointer;
@include transition(opacity, .3s);
i {
font-size: 24px;
display: inline-block;
transform: translate(-3px, 5px);
}
span {
font-size: 14px;
}
&:hover {
opacity: 1;
}
@media (max-width: $xs) {
margin-bottom: 10px;
}
}
&.mobile-preview {
#wmd-preview {
@media (max-width: $md) {
margin-bottom: 4px;
}
}
#mobile-preview {
color: $color-our;
opacity: 1;
}
}
}
.wmd-prompt-background {
background-color: black;
}
#insert-image-dialog {
position: fixed;
z-index: 1001;
@extend .copy-link-wrapper;
&.show {
clip: auto;
opacity: 1;
top: 50%;
left: 50%;
}
}
.wmd-prompt-dialog {
@extend .copy-link-wrapper;
opacity: 1;
clip: auto;
margin: 0 !important;
input[type="text"] {
text-align: left;
}
}
.markdown-spacer {
position: relative;
height: 0px;
transition: height .6s $cubicSearch;
&.write {
height: 500px;
}
}
@@ -79,6 +79,53 @@
}
.pre {
overflow: auto;
display: block;
font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;
background-color: #333;
color: #fff;
font-size: 0.8rem;
line-height: 1.4em;
background-clip: padding-box;
padding: 8px 15px 8px 15px;
border-radius: 5px;
width: 100%;
min-width: 300px;
text-align: left;
border: none;
margin: 0 auto;
&:hover {
background: lighten(#333, 5%);
cursor: pointer;
}
}
.pm-nuget {
position: relative;
display: block;
margin: 10px auto 25px auto;
height: 100%;
width: auto;
color: #fff;
&:before {
content:"PM>";
display: block;
position: absolute;
top: 50%;
left: 0;
font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;
font-size: 0.8rem;
transform: translate(15px, -46%);
opacity: .9;
}
.pre {
padding-left: 45px;
}
}
h2, h3, strong, span {
color: $color-headline;
@@ -7,9 +7,9 @@
input {
-webkit-appearance: none;
border-radius: 0;
border: 1px solid darken(whitesmoke, 15%);
padding: 20px 6px 20px 6px;
padding: 20px 10px 20px 10px;
outline: none;
display: block;
width: 100%;
@@ -529,6 +529,8 @@
font-size: .7rem;
letter-spacing: .5px;
text-align: center;
transform: translate(-50%, -50%);
cursor: pointer;
@@ -63,11 +63,11 @@ html {
display: inline-block;
overflow: hidden;
width: 100%;
max-width: $sb-desktop / 100% * $sb-width;
text-align: center;
@media (min-width: $md) {
float: right;
max-width: $sb-desktop / 100% * $sb-width;
}
}
}
@@ -80,7 +80,7 @@ html {
padding-bottom: 200px;
@media (max-width:992px) {
display: block;
width: 100%;
@@ -96,10 +96,10 @@ html {
@media (min-width: 2100px) {
width:100% - $sb-retina-width;
}
.main-content {
display: block;
width: 100%;
width: 100%;
padding-left: 20px;
padding-right: 20px;
padding-top: 20px;
@@ -173,7 +173,7 @@ html {
cursor: pointer;
}
@media (max-width: 992px) {
border-left: none;
border-left: none;
background-color: lighten($color-our,10%);
padding-top: 10px;
padding-bottom: 10px;
@@ -50,6 +50,11 @@
@media (min-width: $md) {
margin-bottom: 0;
}
span {
padding-top: 5px;
padding-left: 5px;
}
}
}
+76 -36
View File
@@ -91,16 +91,20 @@
&-head {
flex-direction: row;
display: none;
padding: 20px 15px;
border-bottom: 1px solid whitesmoke;
@media (min-width: $md) {
display: flex;
font-size: .8rem;
text-transform: uppercase;
font-weight: bold;
padding: 20px 15px;
border-bottom: 1px solid whitesmoke;
letter-spacing: .5px;
font-size: .8rem;
text-transform: uppercase;
font-weight: bold;
letter-spacing: .5px;
}
}
@@ -112,19 +116,6 @@
display: flex;
flex-direction: column;
small {
color: darken($color-space, 25%);
font-size: 1rem;
margin-bottom: .2rem;
}
span {
font-size: .8rem;
color: $color-space;
}
}
}
@@ -135,16 +126,27 @@
padding: 25px 15px;
display: flex;
flex-direction: row;
align-items: center;
flex-direction: column;
align-items: flex-start;
border-bottom: 1px solid rgba($color-space, .11);
@media (min-width: $md) {
flex-direction: row;
align-items: center;
}
.topic {
font-size: .95rem;
font-size: 1.15rem;
line-height: 1.3;
order: 2;
h3 {
font-weight: 600;
}
a {
text-decoration: none;
display: block;
@@ -177,8 +179,9 @@
@media (min-width: $md) {
font-size: 1.15rem;
line-height: 1.3;
h3 {
font-weight: 100;
}
span {
font-size: .9rem;
@@ -216,35 +219,62 @@
.topic {
flex: 0 0 50%;
margin-right: 5%;
order: 2;
margin: 10px 0;
@media (min-width: $md) {
flex: 0 0 50%;
margin-right: 10%;
margin: 0 10% 0 0;
order: 1;
}
}
.category {
flex: 0 0 30%;
margin-right: 5%;
order: 1;
@media (min-width: $md) {
flex: 0 0 28%;
margin-right: 2%;
order: 2;
}
}
.posts {
flex: 0 0 10%;
text-align: center;
order: 3;
@media (max-width: $md) {
transform: translate(-6px, 0);
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
font-size: .8rem;
small {
margin-right: 3px;
margin-bottom: 0;
font-weight: normal;
font-size: .8rem;
color: $color-black;
}
@media (min-width: $md) {
text-align: center;
flex-direction: column;
small {
margin-right: 0px;
margin-bottom: 5px;
font-weight: bold;
font-size: 1rem;
}
}
}
}
@@ -291,10 +321,14 @@
color: #4f5f63;
text-transform: uppercase;
font-weight: 700;
letter-spacing: .2px;
display: block;
margin-bottom: .5rem;
text-align: left;
line-height: 1.2;
@media (min-width: $md) {
letter-spacing: .2px;
}
}
.options {
@@ -348,7 +382,6 @@
span {
position: relative;
flex: 1 1 auto;
margin-right: 20px;
display: flex;
justify-content: center;
@@ -369,6 +402,8 @@
transition: color 150ms ease;
font-size: .7rem;
text-align: center;
@media(min-width: $md) {
font-size: .9rem;
}
@@ -545,3 +580,8 @@
.topic-row.solved + .topic-row.solved {
margin-top: 20px;
}
.forum .forum-thread.solved {
background: rgba(163, 219, 120, 0.23) none repeat scroll 0 0;
border: 2px solid rgba(163, 219, 120, 0.66);
}
+276 -166
View File
@@ -1,39 +1,31 @@
.download {
.download.latest .dot {
margin-top: 2rem;
}
.dot.progress {
.download .dot.progress {
text-indent: .3rem;
text-align: center;
line-height: 2.8rem;
}
.counter {
font-size: 1.1rem;;
}
}
&.latest {
.dot {
margin-top: 2rem;
}
}
.download .dot.progress .counter {
font-size: 1.1rem;
}
.explain {
flex-direction: column;
.changes {
small {
line-height: .5rem;
}
@media (min-width: 768px) {
flex-direction: row;
}
}
.explain .changes small {
line-height: .5rem;
}
.chart {
@@ -41,171 +33,100 @@
top: -4px;
left: -8px;
z-index: 1;
.percentage {
display: inline-block;
position: absolute;
top: 9px;
left: 16px;
font-size: 1.1rem;
color: darken($color-our, 30%);
}
canvas {
top: 1px;
position: absolute;
left: 5px;
}
}
.chart .percentage {
display: inline-block;
position: absolute;
top: 9px;
left: 16px;
font-size: 1.1rem;
color: darken($color-our, 30%);
}
.chart canvas {
top: 1px;
position: absolute;
left: 5px;
}
.get-release {
i {
font-size: 2.5rem;
line-height: 5rem;
}
.chart {
position: absolute;
top: -4px;
left: -8px;
z-index: 1;
}
.get-release {
line-height: 1.5;
padding: 2.5rem 0;
margin: 2.5rem 0;
padding: 3rem 0;
margin: 0 0 3.5rem ;
border-bottom: 1px solid darken(whitesmoke, 5%);
border-top: 1px solid darken(whitesmoke, 5%);
}
.get-release i {
font-size: 2.5rem;
line-height: 5rem;
}
h3 {
font-size: 1.1rem;
margin-bottom: .3rem;
color: $color-headline;
.get-release h3 {
font-size: 1.1rem;
margin-bottom: .3rem;
color: $color-headline;
}
.get-release h3 a {
text-decoration: none;
a {
text-decoration: none;
&:hover {
color: $color-our;
}
}
}
p {
color: $color-headline;
font-size: .95rem;
line-height: 1.3;
margin-bottom: .5rem;
}
small {
font-size: .7rem;
color: $color-text;
&:hover {
color: $color-our;
}
}
.release {
min-height: 160px;
&.zip {
i {
color: $color-headline;
}
}
&.bin {
i {
color: rgba(#000, .4);
font-size: 1.6rem;
}
h4 {
font-size: .9rem;
margin-bottom: .3rem;
color: $color-headline;
a {
text-decoration: none;
&:hover {
color: $color-our;
}
}
}
&.col-sm-5 {
padding-top: 18px;
}
}
&.col-sm-1 {
text-align: center;
}
.get-release p {
color: $color-headline;
font-size: .95rem;
line-height: 1.3;
margin-bottom: .5rem;
}
.latest {
.dot.big {
margin-bottom: 30px;
}
.explain {
h4 {
font-size: 2.5rem;
}
p {
font-size: 1.1rem;
color: $color-text
;
}
.col-xs-12 {
min-height: 0;
}
}
.get-release small {
font-size: .8rem;
color: rgba($color-text, .6);
}
.latest .dot.big {
margin-bottom: 30px;
}
.latest .explain h4 {
font-size: 2.5rem;
}
.latest .explain p {
font-size: 1.1rem;
color: $color-text;
}
.latest .explain .col-xs-12 {
min-height: 0;
}
// Single release page
.release{
.release {
.markdown-syntax {
p, li, ul, a {
p, li, ul {
color: $color-headline;
font-size: .95rem;
}
@@ -217,12 +138,8 @@
a {
text-decoration: none;
text-decoration: underline;
font-family: $font-family;
&:hover {
text-decoration: underline;
}
}
@@ -257,12 +174,12 @@
}
}
}
.releaseTable {
.col-xs-3 {
&:first-child {
.progress {
.top {
@@ -286,6 +203,7 @@
}
}
// Progress page
.inprogress {
@@ -328,11 +246,12 @@
}
}
// Roadmap page
.plannedreleases {
.dot.big {
text-indent: 0;
line-height: 3rem;
line-height: 3rem;
}
.chart {
top: 0px;
@@ -346,3 +265,194 @@
}
}
}
.release-page .explain h2 {
margin: 0;
font-size: 2em;
color: rgba(0,0,0,.8);
}
.release-page .explain small {
margin-bottom: 0;
}
.release-page .dot {
border: none;
}
.release-page .dot.big {
position: relative;
text-indent: 0;
margin: 0;
}
.release-page .chart {
height: 60px;
width: 60px;
top: initial;
left: initial;
text-align: center;
}
.release-page .chart p {
vertical-align: middle;
line-height: 3.7rem;
display: inline-block;
}
.release-page .chart canvas {
top: 0px;
left: 0px;
}
.statuses ul {
list-style-type: none;
}
.statuses ul li {
position: relative;
margin-bottom: 10px;
padding-left: 10px;
}
.statuses li:before {
position: absolute;
top: -4px;
left: -25px;
font-size: 1.5em;
}
.release-progress-indicator {
flex: 1 1 auto;
}
.release-progress-action {
flex: 1 1 auto;
margin-top: 30px;
}
.release-progress-version {
margin-left: 15px;
}
.release-section-group {
flex: 1 1 100%;
padding: 0;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
@media (min-width: 768px) {
flex: 1 1 47%;
padding: 0 3% 0 0;
align-items: flex-start;
text-align: left;
}
}
.release-section-group:nth-child(even) {
flex: 1 1 100%;
padding: 0;
@media (min-width: 768px) {
flex: 1 1 47%;
padding: 0 0 0 3%;
}
}
.release-section-action {
height: 80px;
display: flex;
justify-content: flex-start;
align-items: center;
box-sizing: border-box;
}
.release-section code {
overflow: auto;
background-color: #333;
background-clip: padding-box;
color: #fff;
font-size: 12px;
line-height: 1.4em;
text-align: center;
text-decoration: none;
padding: 14px 16px 14px 16px;
width: auto;
border-radius: 5px;
border: none;
}
.release-section code a {
text-decoration: none;
}
.release-section + .release-section {
margin-top: 30px;
}
.release-section-group + .release-section-group {
margin-top: 30px;
@media (min-width: 768px) {
margin-top: 0;
}
}
.release-page h2 {
font-size: 1.4rem;
font-weight: bold;
margin-bottom: 0;
}
.release-page h3 {
font-size: 1.1rem;
font-weight: bold;
margin-bottom: 0;
}
// Other files
.release-other-files {
margin-top: 3rem;
}
.release-other-files h3 {
font-size: 1.1rem;
margin-bottom: 5px;
}
.release-other-files small {
font-size: .8rem;
color: rgba($color-text, .5);
}
.release-other-files .release {
min-height: auto;
margin-bottom: 30px;
}
.release-other-files .release a {
display: inline-block;
margin-bottom: 10px;
margin-top: 10px;
}
.release-other-files .release p {
margin-top: 0;
}
@@ -0,0 +1,94 @@
#github-contributors {
&:not(.all) {
.contributor {
&:nth-child(n+17) {
display: none;
}
@media (max-width: $md) {
&:nth-child(n+13) {
display: none;
}
}
@media (max-width: $xs) {
&:nth-child(n+10) {
display: none;
}
}
}
}
&.all {
.button {
display: none;
}
}
.loadmore {
margin: 20px auto;
width: 100%;
text-align: center;
}
}
.github-contributors small.link-list {
font-style: italic;
font-weight: normal;
text-transform: none;
}
.contributor {
margin-bottom: 15px;
.avatar {
position: relative;
flex: 0 0 23%;
margin-right: 20px;
@media (min-width: $md) {
flex: 0 0 15%;
}
img {
border: 3px solid #98d768;
width: 100%;
max-width: 112px;
height: auto;
}
}
.counts {
position: absolute;
top: 2px;
left: 2px;
right: 2px;
text-align: center;
color: #fff;
font-size: 12px;
line-height: 12px;
background: rgba(0,0,0,0.25);
border-radius: 50%;
bottom: 6px;
padding-top: 23px;
opacity: 0;
transition: opacity 0.25s;
}
&:hover .counts {
opacity: 1;
}
.contrib-count {
position: absolute;
left: 25px;
bottom: 0px;
text-align: center;
right: 25px;
color: #425a2e;
font-weight: bold;
background: darken($color-our, 4%);
border-radius: 15px;
z-index: 5;
}
}
@@ -45,6 +45,7 @@ section.forum {
.forum-thread {
flex: 0 0 100%;
display: flex;
overflow: hidden;
@media (min-width: $md) {
flex: 1 0 49%;
@@ -77,6 +78,8 @@ section.forum {
flex-direction: column;
flex: 1 0 75%;
overflow: hidden;
padding: 0 10px 0 0;
@media (min-width: $md) {
@@ -89,6 +92,7 @@ section.forum {
.category {
margin: .5rem 0 0;
max-width: 95%;
span {
font-size: .75rem;
@@ -129,17 +133,17 @@ section.forum {
.forum-thread, .person-activity {
background: #fff;
padding: 15px;
padding: 25px;
margin-bottom: 30px;
border: 1px solid darken(#f6f6f6, 5%);
transition: box-shadow .2s;
transition: box-shadow .2s ease, border-color .2s ease;
text-decoration: none;
display: flex;
align-items: center;
&:hover {
border-color: transparent;
border-color: white;
@include box_shadow(2);
}
+6 -1
View File
@@ -15,6 +15,11 @@
@import 'playground';
/**
/* Utilities
**/
@import 'utilities/flexbox';
/**
/* Elements
**/
@@ -55,7 +60,7 @@
@import 'sections/forum';
@import 'sections/people';
@import 'sections/events';
@import 'sections/contributors';
/**
/* Pages
@@ -0,0 +1,67 @@
/*
Flexbox
*/
.flex { display: flex; }
.flex-inline { display: inline-flex; }
.flex-column { flex-direction: column; }
.flex-wrap { flex-wrap: wrap; }
.items-start { align-items: flex-start; }
.items-end { align-items: flex-end; }
.items-center { align-items: center; }
.items-baseline { align-items: baseline; }
.items-stretch { align-items: stretch; }
.self-start { align-self: flex-start; }
.self-end { align-self: flex-end; }
.self-center { align-self: center; }
.self-baseline { align-self: baseline; }
.self-stretch { align-self: stretch; }
.justify-start { justify-content: flex-start; }
.justify-end { justify-content: flex-end; }
.justify-center { justify-content: center; }
.justify-between { justify-content: space-between; }
.justify-around { justify-content: space-around; }
.content-start { align-content: flex-start; }
.content-end { align-content: flex-end; }
.content-center { align-content: center; }
.content-between { align-content: space-between; }
.content-around { align-content: space-around; }
.content-stretch { align-content: stretch; }
.flx-i {
flex: 1;
}
.flx-g0 {
flex-grow: 0;
}
.flx-s0 {
flex-shrink: 0;
}
.flx-b0 {
flex-basis: 0%;
}
.flx-g1 {
flex-grow: 1;
}
.flx-s1 {
flex-shrink: 1;
}
.flx-b1 {
flex-basis: 100%;
}
/* 1. Fix for Chrome 44 bug. https://code.google.com/p/chromium/issues/detail?id=506893 */
.flex-auto {
flex: 1 1 auto;
min-width: 0; /* 1 */
min-height: 0; /* 1 */
}
.flex-none { flex: none; }
-14
View File
@@ -1,14 +0,0 @@
<access>
<page id="1057" loginPage="4729" noRightsPage="4729" simple="False">
<group id="standard" />
</page>
<page id="6772" loginPage="1056" noRightsPage="1056" simple="False">
<group id="standard" />
</page>
<page id="8283" loginPage="1056" noRightsPage="4729" simple="False">
<group id="wiki editor" />
</page>
<page id="8615" loginPage="1056" noRightsPage="4729" simple="False">
<group id="wiki editor" />
</page>
</access>
-11
View File
@@ -1,11 +0,0 @@
<access>
<page id="1057" loginPage="4729" noRightsPage="4729" simple="False">
<group id="standard" />
</page>
<page id="6772" loginPage="1056" noRightsPage="1056" simple="False">
<group id="standard" />
</page>
<page id="8283" loginPage="1056" noRightsPage="4729" simple="False">
<group id="wiki editor" />
</page>
</access>
@@ -0,0 +1,31 @@
function modelsBuilderController($scope, umbRequestHelper, $log, $http, modelsBuilderResource) {
$scope.generate = function() {
$scope.generating = true;
umbRequestHelper.resourcePromise(
$http.post(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "BuildModels")),
'Failed to generate.')
.then(function (result) {
$scope.generating = false;
$scope.dashboard = result;
});
};
$scope.reload = function () {
$scope.ready = false;
modelsBuilderResource.getDashboard().then(function (result) {
$scope.dashboard = result;
$scope.ready = true;
});
};
function init() {
modelsBuilderResource.getDashboard().then(function(result) {
$scope.dashboard = result;
$scope.ready = true;
});
}
init();
}
angular.module("umbraco").controller("Umbraco.Dashboard.ModelsBuilderController", modelsBuilderController);
@@ -0,0 +1,41 @@
<div id="modelsBuilder" ng-controller="Umbraco.Dashboard.ModelsBuilderController">
<div ng-show="ready" style="float: right;">
<button type="button" class="btn" ng-click="reload()"><span>Reload</span></button>
</div>
<h3>Models Builder</h3>
<div ng-show="!ready">
Loading...
</div>
<div ng-show="ready">
<div ng-bind-html-unsafe="dashboard.text"></div>
<div ng-if="dashboard.outOfDateModels">
<p>Models are <strong>out-of-date</strong>.
</p>
</div>
<div ng-if="dashboard.canGenerate">
<div ng-if="dashboard.generateCausesRestart">
<p style="color: red; font-weight: bold;">Generating models will restart the application.</p>
</div>
<div ng-show="!generating">
<button type="button" ng-click="generate()" class="btn btn-danger">
<span>Generate models</span>
</button>
</div>
<div class="umb-loader-wrapper" ng-show="generating">
<div class="umb-loader"></div>
</div>
</div>
<div ng-if="dashboard.lastError" style="margin-top: 32px;" ng-show="!generating">
<span style="color: red; font-weight: bold;">Last generation failed with the following error:</span>
<pre style="width: 80%; white-space: pre-line; background: #f8f8f8; padding: 4px; font-size: small;">{{dashboard.lastError}}</pre>
</div>
</div>
</div>
@@ -0,0 +1,23 @@
function modelsBuilderResource($q, $http, umbRequestHelper) {
return {
getModelsOutOfDateStatus: function () {
return umbRequestHelper.resourcePromise(
$http.get(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "GetModelsOutOfDateStatus")),
"Failed to get models out-of-date status");
},
buildModels: function () {
return umbRequestHelper.resourcePromise(
$http.post(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "BuildModels")),
"Failed to build models");
},
getDashboard: function () {
return umbRequestHelper.resourcePromise(
$http.get(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "GetDashboard")),
"Failed to get dashboard");
}
};
}
angular.module("umbraco.resources").factory("modelsBuilderResource", modelsBuilderResource);
@@ -0,0 +1,7 @@
{
//array of files we want to inject into the application on app_start
javascript: [
'~/App_Plugins/ModelsBuilder/modelsbuilder.controller.js',
'~/App_Plugins/ModelsBuilder/modelsbuilder.resource.js'
]
}
@@ -0,0 +1,25 @@
angular.module("umbraco").controller("ourManagementController", function ($scope, $http, notificationsService) {
$scope.downloadDocumentation = function () {
notificationsService.success("Downloading and indexing documentation, hold on");
var downloadUrl = "/html/githubpulltrigger";
$http.get(downloadUrl)
.success(function () {
notificationsService.success("Documentation all downloaded and indexed!");
})
.error(function () {
notificationsService.error("Problem with the documentation download/indexing");
});
};
$scope.downloadYoutrackData = function () {
notificationsService.success("Downloading YouTrack data, hold on");
var youtrackUrl = "backoffice/API/YouTrackApi/GetData";
$http.get(youtrackUrl)
.success(function () {
notificationsService.success("YouTrack data all downloaded!");
})
.error(function () {
notificationsService.error("Problem with the YouTrack data downloading");
});
};
});
@@ -0,0 +1,11 @@
<div class="ourManagementDashboard" ng-controller="ourManagementController">
<h3>Documentation</h3>
<button ng-click="downloadDocumentation()">
Download documentation
</button>
<h3>YouTrack</h3>
<button ng-click="downloadYoutrackData()">
Download YouTrack data
</button>
</div>
@@ -0,0 +1,6 @@
{
"$schema": "/App_Plugins/manifestSchema.json",
"javascript": [
"/App_Plugins/OurManagement/ourmanagement.controller.js"
]
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

+2 -1
View File
@@ -1 +1,2 @@
<%@ Application Inherits="Umbraco.Web.UmbracoApplication" Language="C#" %>
<%@ Application Inherits="Umbraco.Web.UmbracoApplication" Language="C#" %>
-16
View File
@@ -1,16 +0,0 @@
<%@ WebHandler Language="c#" Class="RequestHandler" %>
public class RequestHandler : System.Web.IHttpHandler
{
public bool IsReusable
{
get { return false; }
}
public void ProcessRequest(System.Web.HttpContext context)
{
ImageGen.ImageGenQueryStringParser parser = new ImageGen.ImageGenQueryStringParser();
parser.Process(context);
parser = null;
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>FileSystem</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
<publishUrl>c:\ourtestpublish</publishUrl>
<DeleteExistingFiles>False</DeleteExistingFiles>
</PropertyGroup>
</Project>
+2
View File
@@ -0,0 +1,2 @@
@inherits UmbracoTemplatePage
@Umbraco.RenderMacro(Model.Content.GetPropertyValue<string>("macro"))
+33
View File
@@ -0,0 +1,33 @@
@inherits OurUmbraco.Our.Models.OurUmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
}
@Html.Partial("~/Views/Partials/Community/Home.cshtml")
@section Search
{
<script type="text/template" class="search-item-template">
<li>
<a href="{{ url }}">
<div class="type-icon">
<i class="{{ icon }}"></i>
</div>
<div class="type-context">
<div class="type-name">
{{ name }}
</div>
<div class="type-description">
{{ description }}
</div>
</div>
</a>
</li>
</script>
}
@section EndScripts
{
@Html.Partial("~/Views/Partials/Community/Scripts.cshtml")
}
@@ -0,0 +1,28 @@
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
}
<div id="contribute" class="subpage">
<div id="body" class="markdown-syntax">
<div>
@Html.Action("Render", "Breadcrumb", new { linkToCurrent = false })
</div>
<h1>Contribute to the Umbraco Project</h1>
<div>
@Html.Raw(Model.Content.GetPropertyValue<string>("bodyText"))
</div>
<div class="options">
<div class="row projectGroups">
@foreach (var item in Model.Content.Children.Where(x => x.IsVisible()))
{
<div class="projectGroup col-md-6">
<div style="background-image: url('@(item.GetPropertyValue<string>("contentIcon"))">
<h3><a href="@item.Url">@item.Name</a></h3>
<p>@(item.GetPropertyValue<string>("abstract"))</p>
</div>
</div>
}
</div>
</div>
</div>
</div>
+51
View File
@@ -0,0 +1,51 @@
@using OurUmbraco.Forum.Services
@inherits OurUmbraco.Our.Models.OurUmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
var topicService = new TopicService(ApplicationContext.DatabaseContext);
var topic = topicService.CurrentTopic(Context, ApplicationContext.ApplicationCache.RequestCache, MemberData, Model.Content);
}
<!-- FORUM OVERVIEW START -->
<section class="forum-overview">
<div class="forum-single-thread">
<!-- FORUM HEADER START -->
<div class="utilities">
<!-- FORUM BREADCRUMB START -->
@Html.Action("Render", "Breadcrumb", new { linkToCurrent = true })
<!-- FORUM BREADCRUMB END -->
<!-- THREAD ACTIONS START -->
@if (topic != null)
{
Html.RenderPartial("~/Views/Partials/Forum/TopicActions.cshtml", topic);
}
<!-- THREAD ACTIONS END -->
<div class="clear"></div>
</div>
<!-- FORUM HEADER END -->
@if (topic != null)
{
Html.RenderPartial("~/Views/Partials/Forum/Thread.cshtml", topic);
}
else
{
<p>This topic no longer exists.</p>
}
</div>
</section>
@Html.Partial("~/Views/Partials/Forum/TopicForm.cshtml")
@section HeadCssScripts {
<link rel="stylesheet" type="text/css" href="/css/tooltipster.css" />
}
@section EndScripts {
<script type="text/javascript" src="/scripts/jquery.tooltipster.min.js"></script>
<script type="text/javascript">
$('.highfive-count').tooltipster({
contentAsHTML: true,
interactive: true,
multiple: true
});
</script>
}
@@ -0,0 +1,22 @@
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
}
<div class="has-sidebar">
<div class="documentation">
<div id="wiki" class="subpage">
<div id="body">
<div style="margin-top: 25px;">
@Html.Partial("~/Views/Partials/Documentation/Breadcrumb.cshtml")
</div>
<div id="markdown-docs" class="markdown-syntax">
@Html.Partial("~/Views/Partials/Documentation/DisplayMarkdown.cshtml")
</div>
<br style="clear: both" />
<div class="divider"></div>
</div>
</div>
</div>
</div>
@@ -0,0 +1,58 @@
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
}
<div class="has-sidebar">
<div class="documentation">
<div class="page-content">
<div class="sidebar-area">
<div class="sidebar-content">
<div class="content-wrapper">
@Html.Partial("~/Views/Partials/Documentation/Navigation.cshtml")
</div><!-- .content-wrapper -->
</div><!-- .sidebar-content -->
</div><!-- .sidebar-area-->
<div class="main-area">
<div class="main-content">
<div class="content-wrapper">
<div>
@Html.Partial("~/Views/Partials/Documentation/Breadcrumb.cshtml")
</div>
<div class="search-big">
<input type="search" class="docs-search-input" required placeholder="Search for documentation">
<label for="search">Search for documentation</label>
</div>
<ul class="search-all-results docs-search-listing"></ul>
<div id="markdown-docs" class="docs-default-listing markdown-syntax">
@Html.Partial("~/Views/Partials/Documentation/DisplayMarkdown.cshtml")
</div>
</div><!-- .content-wrapper -->
</div><!-- .main-content -->
</div><!-- .main-area -->
</div><!-- .page-content -->
<script type="text/template" class="search-item-docs">
<li>
<a href="{{ url }}">
<div class="type-icon">
<i class="icon-Book-alt"></i>
</div>
<div class="type-context">
<div class="type-name">
{{ name }}
</div>
<div class="type-description">
{{ body }}
</div>
</div>
</a>
</li>
</script>
</div>
</div>
+77
View File
@@ -0,0 +1,77 @@
@inherits UmbracoTemplatePage
@using ClientDependency.Core.Mvc
@using OurUmbraco.Release
@{
Layout = "~/Views/Master.cshtml";
Html.RequiresCss("~/css/releases.css");
var latestRelease = Download.GetCurrentReleaseFromFile();
}
<section id="download" class="download-umbraco">
<div class="container">
<div class="row">
<div class="col-xs-12">
<div class="dl-content">
<h1>Download Umbraco</h1>
<p>If you're new to Umbraco you might want to start your install with the versions on the <a href="/documentation/getting-started/installation/">Web Platform Installer or WebMatrix</a>. These tools will automatically download and install any dependencies to give you a flying start.</p>
<a id="downloadButton" class="button white" href="/contribute/releases/@(latestRelease.version.Replace(".", string.Empty))?fromdownload=true">
<i class="icon-Download-alt"></i>
<span>Download Umbraco v@(latestRelease.version)</span>
</a>
<p class="small">or, install via nuget</p>
<span class="pm-nuget">
<input class="pre nuget" value="Install-Package UmbracoCms" readonly="">
</span>
</div>
</div>
</div>
</div>
<div class="archive">
<a href="/contribute/releases/">See releases</a>
</div>
</section>
<section id="install" class="download-umbraco" style="display: none">
<div class="mac-notice">
You're running MacOS, follow <a href="">this guide.</a>
</div>
<div class="container">
<div class="row">
<div class="col-xs-12">
<div class="dl-content steps">
<h2>Almost there</h2>
<div class="guide">
<div class="step step-one">
<span>1</span>
<div>Unzip</div>
</div>
<div class="step step-two">
<span>2</span>
<div>Run with WebMatrix</div>
</div>
<div class="step step-three">
<span>3</span>
<div>Follow the installer</div>
</div>
<div class="clearfix"></div>
</div>
<!-- insert gif here -->
</div>
</div>
</div>
</div>
<div class="archive">
See detailed instructions in the <a href="/documentation/Getting-Started/Setup/Install/">documentation</a>
</div>
</section>
<script type="text/javascript">
(function () {
$('.dl-content').on('click', '#downloadButton', function (e) {
$('section#download').fadeOut();
$('section#install').fadeIn();
});
})();
</script>
+33
View File
@@ -0,0 +1,33 @@
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
}
<div class="page-content">
<div class="sidebar-area">
<div class="sidebar-content">
<div class="content-wrapper">
@Html.Partial("~/Views/Partials/Members/ProfileNavigation.cshtml")
</div><!-- .content-wrapper -->
</div><!-- .sidebar-content -->
</div><!-- .sidebar-area -->
<div class="main-area">
<div class="main-content">
<div class="content-wrapper">
@Html.Action("Render", "Breadcrumb", new { linkToCurrent = true })
@if (Request.QueryString["editorStep"] == "files")
{
@Html.Action("RenderFiles", "Project")
}
@if (Request.QueryString["editorStep"] == "screenshots")
{
@Html.Action("RenderScreenshots", "Project")
}
@if (Request.QueryString["editorStep"] == "complete")
{
@Html.Action("RenderComplete", "Project")
}
</div><!-- .content-wrapper -->
</div><!-- .main-content -->
</div><!-- .main-area -->
</div><!-- .page-content -->
+7
View File
@@ -0,0 +1,7 @@
@using Umbraco.Core.Logging
@{
var absoluteReferrer = string.Empty;
var referrer = HttpContext.Current.Request.UrlReferrer;
if(referrer != null) { absoluteReferrer = referrer.AbsoluteUri; }
LogHelper.Info<string>(string.Format("Error view requested on page {0} - referrer {1}", HttpContext.Current.Request.Url.AbsoluteUri, absoluteReferrer));
}
+81
View File
@@ -0,0 +1,81 @@
@using OurUmbraco.Wiki.BusinessLogic
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
if (Request["id"] == null)
{
return;
}
int fileId;
if (int.TryParse(Request["id"], out fileId) == false)
{
return;
}
if (fileId == 0)
{
return;
}
var wikiFile = new WikiFile(fileId);
wikiFile.UpdateDownloadCounter(false, wikiFile.FileType == "package");
using (var sqlHelper = umbraco.BusinessLogic.Application.SqlHelper)
{
var path = sqlHelper.ExecuteScalar<string>(
"Select path from wikiFiles where id = @id;",
sqlHelper.CreateParameter("@id", fileId));
var file = sqlHelper.ExecuteScalar<string>(
"Select name from wikiFiles where id = @id;",
sqlHelper.CreateParameter("@id", fileId));
var fileinfo = new System.IO.FileInfo(Server.MapPath(path));
var extension = System.IO.Path.GetExtension(Server.MapPath(path));
var type = "";
// set known types based on file extension
if (extension != null)
{
switch (extension.ToLower())
{
case ".tif":
case ".tiff":
type = "image/tiff";
break;
case ".jpg":
case ".jpeg":
type = "image/jpeg";
break;
case ".gif":
type = "image/gif";
break;
case ".docx":
case ".doc":
case ".rtf":
type = "Application/msword";
break;
case ".pdf":
type = "Application/pdf";
break;
case ".png":
type = "image/png";
break;
case ".bmp":
type = "image/bmp";
break;
default:
type = "application/octet-stream";
break;
}
}
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename= " + file.Replace(" ", "-"));
Response.AddHeader("Content-Length", fileinfo.Length.ToString());
Response.ContentType = type;
Response.WriteFile(path);
}
}
+39
View File
@@ -0,0 +1,39 @@
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
}
<!-- FORUM OVERVIEW START -->
<section class="forum-overview">
<div class="forum-archive">
@Html.Partial("~/Views/Partials/Forum/Forum.cshtml")
</div>
</section>
@Html.Partial("~/Views/Partials/Forum/TopicForm.cshtml")
@section EndScripts {
@{
var cat = -1;
if (Model.Content.Level > 3)
{
cat = Model.Content.Id;
}
var page = 1;
if (Request["page"] != null)
{
int.TryParse(Request["page"], out page);
}
}
<script type="text/javascript">
$('table')
.scrolly({
page: @page,
dataUrl: '/umbraco/api/PublicForum/LatestPaged/?cat=@cat',
template: '#forum-template',
loadingHtml: '<div class="span"><div class=" loader"></div></div>'
});
</script>
}
+54
View File
@@ -0,0 +1,54 @@
@using OurUmbraco.Documentation.Busineslogic
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
Layout = null;
var path = HttpContext.Current.Items[MarkdownLogic.MarkdownPathKey].ToString();
var ml = new MarkdownLogic(path) { PrefixLinks = false, AppendAltLessonLink = true };
var markdown = ml.DoTransformation();
}
<html>
<head>
<title></title>
<link href="https://fonts.googleapis.com/css?family=Asap:400,700,400italic,700italic" type="text/css" rel="stylesheet"/>
<style>
body {
font-family: Asap, sans-serif;
}
code {
background-color: #eeeeee ;
padding: 5px;
}
pre {
word-wrap: break-word;
white-space: pre-wrap;
}
pre > code {
display: block;
}
img {
max-width: 90%;
}
blockquote {
border-left: 4px solid #ddd;
padding: 1px 15px;
color: #777;
background: #efefef ;
margin: 0;
}
</style>
</head>
<body>
<div>
@Html.Raw(markdown)
</div>
</body>
</html>
@@ -1,44 +0,0 @@
@inherits Umbraco.Web.Macros.PartialViewMacroPage
<!-- Search start -->
<section id="search-all" class="search-all">
<div class="search-all-form">
<div class="search-fieldset">
<input class="search-input" type="search" placeholder="Search..">
<input class="search-submit" type="submit" value="&#xe085;">
</div>
<span class="search-all-close"></span>
</div>
<div class="search-all-results equalizer">
<ul></ul>
</div>
@if (!Members.IsLoggedIn())
{
<div class="search-text">
<div class="container">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<strong>The friendliest CMS community on the planet</strong>
<p>our.umbraco.org is the central hub for the friendly umbraco community. Search for documentation, get help and guidance from seasoned experts, download and collaborate on plugins and extensions.</p>
</div>
</div>
</div>
</div>
}
</section>
<!-- Search end -->
@if (Members.IsLoggedIn())
{
@Html.Partial("home/forumactivity")
@Html.Partial("home/documentation")
}
else
{
@Html.Partial("home/documentation")
@Html.Partial("home/forumactivity")
}
@@ -1,35 +0,0 @@
@using OurUmbraco.Documentation.Busineslogic
@inherits Umbraco.Web.Macros.PartialViewMacroPage
@{
var path = HttpContext.Current.Items[MarkdownLogic.MarkdownPathKey].ToString();
var ml = new MarkdownLogic(path) { PrefixLinks = false };
if (path.ToLowerInvariant().EndsWith("index.md".ToLowerInvariant()) || path.ToLowerInvariant().EndsWith("readme.md".ToLowerInvariant()))
{
if (Request.Url.AbsoluteUri.EndsWith("/") == false)
{
Response.Redirect(Request.Url + "/", false);
}
}
else
{
if (Request.Url.AbsoluteUri.EndsWith("/"))
{
Response.Redirect(Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.Length - 1), false);
}
}
if (Request.Url.AbsoluteUri.EndsWith("/index/"))
{
Response.Redirect(Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.Length - "/index/".Length), false);
}
if (Request.Url.AbsoluteUri.EndsWith("/readme/"))
{
Response.Redirect(Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.Length - "/readme/".Length), false);
}
var markdown = ml.DoTransformation();
}
@Html.Raw(markdown)
@@ -1,44 +0,0 @@
@using OurUmbraco.Forum.Extensions
@inherits Umbraco.Web.Macros.PartialViewMacroPage
<div class="utility-actions">
@if (Members.IsLoggedIn())
{
if (Model.Content.NewTopicsAllowed())
{
<a href="#" class="button create-new-thread" data-controller="topic">
<i class="icon-Add"></i><span>Create new</span>
</a>
}
var mem = Members.GetCurrentMember();
var subscribed = false;
if (mem != null)
{
subscribed = NotificationsWeb.Library.Utils.IsSubscribedToForum(CurrentPage.Id, mem.Id);
}
if (CurrentPage.Level == 4)
{
if (subscribed)
{
<a href="#" class="follow button following" data-id="@CurrentPage.Id" data-controller="">
<i class="icon-Bookmark"></i><span>Following</span>
</a>
}
else
{
<a href="#" class="follow button transparent" data-id="@CurrentPage.Id" data-controller="">
<i class="icon-Bookmark"></i><span>Follow</span>
</a>
}
}
}
else
{
<a href="/member/login?redirectUrl=@(Server.UrlEncode(Request.Url.AbsoluteUri))" class="button login">
<i class="icon-Add"></i><span>Sign in to create a topic</span>
</a>
}
</div>
@@ -1,54 +0,0 @@
@using OurUmbraco.Forum.Extensions
@using OurUmbraco.Forum.Models
@using OurUmbraco.Forum.Services
@using OurUmbraco.Our
@inherits Umbraco.Web.Macros.PartialViewMacroPage
@{
var ts = new TopicService(ApplicationContext.DatabaseContext);
}
<div class="col-md-12 flex">
@Column(ts.GetLatestTopics(6, 1))
</div>
@helper Column(IEnumerable<ReadOnlyTopic> topics)
{
foreach (var topic in topics.ToArray())
{
var cat = Umbraco.TypedContent(topic.ParentId);
var mem = Members.GetById(topic.LatestReplyAuthor) ?? Members.GetById(topic.MemberId);
<a href="@topic.GetUrl()" class="forum-thread">
<div class="avatar">
@if(mem != null)
{
@Html.Raw(Utils.GetMemberAvatar(mem, 100))
}
</div>
<div class="meta">
<div class="forum-thread-text">
<h3>@topic.Title</h3>
<p>
@if (topic.Replies != 0 && !string.IsNullOrEmpty(topic.LastReplyAuthorName))
{
<text>last edited by @topic.LastReplyAuthorName</text>
}
else
{
<text>created by @topic.AuthorName</text>
}
@topic.Updated.ConvertToRelativeTime()
</p>
</div>
<div class="category">
<span class="cat">@cat.Name</span>
</div>
</div>
</a>
}
}
@@ -1,152 +0,0 @@
@inherits Umbraco.Web.Macros.PartialViewMacroPage
@using System.Web.Mvc.Html
@using OurUmbraco.Forum.Extensions
@using OurUmbraco.Forum.Services
@{
var topicService = new TopicService(ApplicationContext.DatabaseContext);
var topic = topicService.CurrentTopic(this.Context, ApplicationContext.ApplicationCache.RequestCache);
var notification = Model.Content.GetPropertyValue<string>("mainNotification");
if (string.IsNullOrWhiteSpace(notification))
{
notification = "This forum is in read only mode, you can no longer reply";
}
}
<!-- COPY LINK -->
<div id="overlay" class="overlay"></div>
<div id="copy-link-wrapper" class="copy-link-wrapper">
<i class="icon-Link"></i>
<textarea class="getLink" readonly type="text"></textarea>
<p>Press Ctrl / CMD + C to copy this to your clipboard.</p>
</div>
<div id="thankyou">
Copied to clipboard
</div>
<!-- COPY LINK END -->
<!-- DELETE THREAD/COMMENT START -->
@if (Members.IsLoggedIn())
{
<div id="confirm-wrapper" class="confirm-wrapper">
<h4>Are you sure?</h4>
<p>This <span class="type-of"></span> will be gone forever and ever</p>
<br />
<button type="button" class="button green tiny">Yes</button>
<button type="button" class="button red tiny">No</button>
</div>
}
<!-- DELETE THREAD END -->
<!-- FLAG SPAM START -->
<div id="confirm-wrapper-flag" class="confirm-wrapper-flag">
<h4>Flag this post as spam?</h4>
<p>This post will be reported to the moderators as potential spam to be looked at</p>
<br />
<button type="button" class="button green tiny">Yes</button>
<button type="button" class="button red tiny">No</button>
</div>
<!-- FLAG SPAM END -->
@if (topic != null)
{
if (Model.Content.NewTopicsAllowed() == false)
{
<div class="alertbar__yellow" style="margin-bottom: 10px;">
@Html.Raw(notification)
</div>
}
<ul class="comments">
@Html.Partial("forum/question", topic)
@foreach (var comment in topic.Comments.Where(x => x.ParentCommentId == 0))
{
var comm = comment;
Html.RenderPartial("forum/comment", comm, new ViewDataDictionary { { "level", 1 }, { "answer", topic.Answer } });
if (comm.HasChildren)
{
var children = topic.Comments.Where(x => x.ParentCommentId == comm.Id);
foreach (var child in children.Where(c => c.ParentCommentId == comm.Id))
{
Html.RenderPartial("forum/comment", child, new ViewDataDictionary { { "level", 2 }, { "answer", topic.Answer } });
}
}
}
</ul>
if (Members.IsLoggedIn())
{
if (Model.Content.NewTopicsAllowed())
{
<div class="replybutton">
<a href="#" class="button green large reply forum-reply" data-author="@topic.AuthorName" data-topic="@topic.Id" data-controller="comment"><i class="icon-Reply-arrow"></i>&nbsp;Reply to topic</a>
</div>
<div class="utilities">
<div class="utility-actions thread-bottom">
@if (Members.IsLoggedIn())
{
var mem = Members.GetCurrentMember();
var subscribed = false;
if (mem != null)
{
subscribed = NotificationsWeb.Library.Utils.IsSubscribedToForumTopic(topic.Id, mem.Id);
}
if (Members.IsAdmin())
{
<a href="#" class="delete-thread button" data-id="@topic.Id">
<i class="icon-Delete-key"></i><span>Delete thread</span>
</a>
}
if (subscribed)
{
<a href="#" class="follow button following" data-id="@topic.Id" data-controller="topic">
<i class="icon-Bookmark"></i><span>Following</span>
</a>
}
else
{
<a href="#" class="follow button transparent" data-id="@topic.Id" data-controller="topic">
<i class="icon-Bookmark"></i><span>Follow</span>
</a>
}
}
@if (topic.Answer > 0)
{
<a href="#comment-@topic.Answer.ToString()" class="go-to-solution button transparent">
<i class="icon-Check"></i><span>Go to solution</span>
</a>
}
</div>
</div>
}
else
{
<div class="alertbar__yellow">
@Html.Raw(notification)
</div>
}
}
else
{
<div class="replybutton notloggedin">
Please <a href="/member/login?redirectUrl=@(Server.UrlEncode(Request.Url.AbsoluteUri))">Sign in</a> or <a href="/member/signup">register</a> to post replies
</div>
}
}
else
{
<p>This topic no longer exists.</p>
}
@@ -1,49 +0,0 @@
@using OurUmbraco.Forum.Extensions
@using OurUmbraco.Forum.Services
@inherits Umbraco.Web.Macros.PartialViewMacroPage
@{
var topicService = new TopicService(ApplicationContext.DatabaseContext);
var topic = topicService.CurrentTopic(this.Context, ApplicationContext.ApplicationCache.RequestCache);
}
<div class="utility-actions">
@if(topic != null)
{
if (Members.IsLoggedIn())
{
var mem = Members.GetCurrentMember();
var subscribed = false;
if (mem != null)
{
subscribed = NotificationsWeb.Library.Utils.IsSubscribedToForumTopic(topic.Id, mem.Id);
}
if (Members.IsAdmin())
{
<a href="#" class="delete-thread button" data-id="@topic.Id">
<i class="icon-Delete-key"></i><span>Delete thread</span>
</a>
}
if (subscribed)
{
<a href="#" class="follow button following" data-id="@topic.Id" data-controller="topic">
<i class="icon-Bookmark"></i><span>Following</span>
</a>
}
else
{
<a href="#" class="follow button transparent" data-id="@topic.Id" data-controller="topic">
<i class="icon-Bookmark"></i><span>Follow</span>
</a>
}
}
if (topic.Answer > 0)
{
<a href="#comment-@topic.Answer.ToString()" class="go-to-solution button transparent">
<i class="icon-Check"></i><span>Go to solution</span>
</a>
}
}
</div>
@@ -4,7 +4,7 @@
if (string.IsNullOrWhiteSpace(memberGuid) == false)
{
var memberService = UmbracoContext.Current.Application.Services.MemberService;
var memberService = ApplicationContext.Current.Services.MemberService;
var member = memberService.GetByKey(new Guid(memberGuid));
if (member == null)
@@ -0,0 +1,10 @@
@inherits Umbraco.Web.Macros.PartialViewMacroPage
@{
if (Members.IsLoggedIn())
{
Response.Redirect("/member/profile");
}
}
@Html.Action("RenderForgotPassword", "Login")
@@ -1,18 +0,0 @@
@using OurUmbraco.Forum.Extensions
@inherits Umbraco.Web.Macros.PartialViewMacroPage
@if(Members.IsLoggedIn()){
var profile = Members.GetCurrentMemberProfileModel();
var member = Members.GetCurrentMember();
if (member != null) {
<script type="text/javascript">
var umb_member_name = '@member.Name';
var umb_member_email = '@profile.Email';
var umb_member_icon = '@member.Avatar()';
</script>
}
}
@@ -0,0 +1,17 @@
@inherits Umbraco.Web.Macros.PartialViewMacroPage
@{
if (Members.IsLoggedIn())
{
if (Model.MacroParameters["NextPage"] != null && string.IsNullOrWhiteSpace(Model.MacroParameters["NextPage"].ToString()) == false)
{
// It's being called from the old package repository, don't redirect
}
else
{
Response.Redirect("/member/profile");
}
}
}
@Html.Action("RenderLogin", "Login")
@@ -1,5 +1,5 @@
@using NotificationsWeb.Services
@using OurUmbraco.Forum.Services
@using OurUmbraco.NotificationsWeb.Services
@inherits Umbraco.Web.Macros.PartialViewMacroPage
@{
@@ -1,41 +0,0 @@
@using System.Collections.Specialized
@using System.Drawing
@using OurUmbraco.Our
@inherits Umbraco.Web.Macros.PartialViewMacroPage
@{
@* Get the root of the website *@
var root = CurrentPage.AncestorOrSelf(1);
Image avatarImage = null;
if (Members.IsLoggedIn())
{
avatarImage = Utils.GetMemberAvatarImage(Members.GetCurrentMember());
}
}
<ul>
@foreach (var page in root.Children.Where("Visible"))
{
<li class="@(page.IsAncestorOrSelf(CurrentPage) ? "current" : null)">
<a href="@page.Url">@page.Name</a>
</li>
}
<li>
@if (Members.IsLoggedIn() && Members.GetCurrentMember() != null)
{
var member = Members.GetCurrentMember();
<div class="user">
@Html.Raw(Utils.GetMemberAvatar(member, 75))
@if (avatarImage != null && (avatarImage.Width < 400 || avatarImage.Height < 400))
{
<span class="notificationCount">1</span>
}
</div>
}
else
{
<a href="/member/login?redirectUrl=@(Server.UrlEncode(Request.Url.AbsolutePath))">Sign in</a><strong> / </strong><a href="/member/Signup">Register</a>
}
</li>
</ul>
@@ -1,14 +0,0 @@
@inherits Umbraco.Web.Macros.PartialViewMacroPage
@* Ensure that the Current Page has children, where the property umbracoNaviHide is not True *@
<ul class="level-2">
@* For each child page under the root node, where the property umbracoNaviHide is not True *@
@foreach (var childPage in CurrentPage.ProjectGroups.Where("Visible"))
{
<li>
<h4><a href="?category=@childPage.Name">@childPage.Name</a></h4>
</li>
}
<li><h4><a href="?category=uaas">Umbraco as a Service</a></h4></li>
</ul>
@@ -0,0 +1,16 @@
@inherits Umbraco.Web.Macros.PartialViewMacroPage
@{
var m = Members.GetCurrentMember();
var reputation = m.GetPropertyValue<string>("reputationTotal");
int reputationTotal;
var enoughReputation = int.TryParse(reputation, out reputationTotal) && reputationTotal > 30;
}
@if (enoughReputation)
{
@Html.Action("RenderMyProjects", "Projects")
}
else
{
<h2>Sorry, your account is too new to create projects! If you're human, make sure to <a href="https://umbraco.com/about-us/team">get in touch with us</a> to get this restriction lifted.</h2>
}
@@ -9,7 +9,7 @@
int forumId;
// For some reason the Request.Url will show that this URL looks like: /rss/forum/?id=?id=103196
// This means that Request.QueryString["id"] results in ",1929". Removing the comma helps...
if (int.TryParse(Model.MacroParameters["forumId"].ToString().Replace(",", string.Empty), out forumId) == false)
if (int.TryParse(Request.QueryString["id"].Replace(",", string.Empty), out forumId) == false)
{
return;
}
@@ -7,10 +7,7 @@
var selfUrl = string.Format("{0}://{1}{2}", Request.Url.Scheme, Request.Url.Host, Request.Url.PathAndQuery);
var home = Model.Content.AncestorOrSelf(1);
var projectsRoot = home.Children.First(x => x.ContentType.Alias == "Projects");
var orderByUpdated = Model.MacroParameters["updated"].ToString() == "1";
var projects = orderByUpdated
? projectsRoot.Descendants("Project").OrderByDescending(x => x.UpdateDate).Where(x => x.GetPropertyValue<bool>("projectLive")).Take(20)
: projectsRoot.Descendants("Project").OrderByDescending(x => x.CreateDate).Where(x => x.GetPropertyValue<bool>("projectLive")).Take(20);
var projects = projectsRoot.Descendants("Project").OrderByDescending(x => x.UpdateDate).Where(x => x.GetPropertyValue<bool>("projectLive")).Take(20);
}<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
@@ -9,7 +9,7 @@
int memberId;
// For some reason the Request.Url will show that this URL looks like: /rss/forum/?id=?id=103196
// This means that Request.QueryString["id"] results in ",1929". Removing the comma helps...
if (int.TryParse(Model.MacroParameters["memberId"].ToString().Replace(",", string.Empty), out memberId) == false)
if (int.TryParse(Request.QueryString["id"].Replace(",", string.Empty), out memberId) == false)
{
return;
}
@@ -9,7 +9,7 @@
int topicId;
// For some reason the Request.Url will show that this URL looks like: /rss/forum/?id=?id=103196
// This means that Request.QueryString["id"] results in ",1929". Removing the comma helps...
if (int.TryParse(Model.MacroParameters["topicId"].ToString().Replace(",", string.Empty), out topicId) == false)
if (int.TryParse(Request.QueryString["id"].Replace(",", string.Empty), out topicId) == false)
{
return;
}
@@ -2,19 +2,23 @@
@inherits Umbraco.Web.Macros.PartialViewMacroPage
@{
var orderMode = !string.IsNullOrEmpty(Request["orderBy"]) ? Request["orderBy"] : "updateDate";
var orderMode = !string.IsNullOrEmpty(Request["orderBy"]) ? Request["orderBy"] : "createDate";
var page = !string.IsNullOrEmpty(Request["page"]) ? int.Parse(Request["page"]) : 1;
var category = Request["category"];
var version = Request["version"];
var term = Request["term"];
var pageSize = 50;
//TODO: If we are searching on projects, they need to be filtered to approved/live!
//TODO: Depending on what order by this is, we need to pass in a data
// type here, for example, if its an INT or a Date!
OurSearcher searcher = new OurSearcher(term, orderBy: orderMode);
IEnumerable<SearchResult> result = new List<SearchResult>();
var url = "orderBy=" + orderMode + "&q=" + term + "&version=" + version;
var pages = 0;
if(string.IsNullOrEmpty(term) == false){
var search = searcher.Search();
var total = search.SearchResults.TotalItemCount;
+186
View File
@@ -0,0 +1,186 @@
@using ClientDependency.Core.Mvc
@using Umbraco.Core.Configuration
@inherits OurUmbraco.Our.Models.OurUmbracoTemplatePage
@{
Layout = null;
var model = UmbracoContext.Current.PublishedContentRequest.PublishedContent;
var bodyCss =
model.Level > 2 && model.AncestorOrSelf(3).Id == 1057
? "profile has-sidebar"
: model.DocumentTypeAlias.ToLower().Replace(" ", "-") + "-page";
var memberIsBlocked = MemberData != null && MemberData.IsBlocked;
Html.RequiresCss("~/assets/css/style.min.css", 0);
Html.RequiresCss("https://fonts.googleapis.com/css?family=Asap:400,700,400italic,700italic", 0);
Html.RequiresCss("https://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.min.css", 0);
Html.RequiresJs("https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/jquery.validate.min.js");
Html.RequiresJs("https://ajax.aspnetcdn.com/ajax/mvc/4.0/jquery.validate.unobtrusive.min.js");
Html.RequiresJs("https://cdnjs.cloudflare.com/ajax/libs/pagedown/1.0/Markdown.Converter.js");
Html.RequiresJs("https://cdnjs.cloudflare.com/ajax/libs/pagedown/1.0/Markdown.Editor.js");
Html.RequiresJs("https://cdnjs.cloudflare.com/ajax/libs/pagedown/1.0/Markdown.Sanitizer.js");
Html.RequiresJs("https://cdnjs.cloudflare.com/ajax/libs/mustache.js/0.8.1/mustache.min.js");
Html.RequiresJs("https://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.min.js");
Html.RequiresJs("~/assets/js/jquery.ajaxfileupload.js");
Html.RequiresJs("~/assets/js/jquery.scrolly.js");
Html.RequiresJs("~/assets/js/lodash.min.js");
Html.RequiresJs("~/assets/js/community.js");
Html.RequiresJs("~/assets/js/app.min.js");
Html.RequiresJs("~/assets/js/editor.min.js");
}<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!-->
<html class="no-js" lang="en">
<!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="alternate" type="application/rss+xml" title="Latest packages" href="//our.umbraco.org/rss/projects" />
<link rel="alternate" type="application/rss+xml" title="Package updates" href="//our.umbraco.org/rss/projectsupdate" />
<link rel="alternate" type="application/rss+xml" title="Active forum topics" href="//our.umbraco.org/rss/activetopics" />
<link rel="alternate" type="application/rss+xml" title="Community blogs" href="//pipes.yahoo.com/pipes/pipe.run?_id=8llM7pvk3RGFfPy4pgt1Yg&_render=rss" />
<link rel="search" type="application/opensearchdescription+xml" title="our.umbraco.org" href="/scripts/OpenSearch.xml">
<!-- Application name -->
<meta name="application-name" content="Our Umbraco" />
<meta name="apple-mobile-web-app-title" content="Our Umbraco">
<!-- Icons -->
<link rel="apple-touch-icon-precomposed" href="/assets/images/app-icons/icon-60.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="/assets/images/app-icons/icon-72.png">
<link rel="apple-touch-icon-precomposed" sizes="76x76" href="/assets/images/app-icons/icon-76.png">
<link rel="icon" sizes="192x192" href="/assets/images/app-icons/touch-icon-192x192.png">
<meta name="msapplication-TileImage" content="/assets/images/app-icons/tile.png" />
<meta name="msapplication-config" content="/assets/images/app-icons/browserconfig.xml">
<link rel="icon" type="image/png" href="/assets/images/app-icons/favicon.png">
<title>
@{
var title = string.Empty;
var navigationTitle = HttpContext.Current.Items["topicTitle"];
if (navigationTitle != null)
{
title = navigationTitle.ToString();
}
if (string.IsNullOrWhiteSpace(title) == false)
{
<text>@title - </text>
}
}
@Model.Content.Name - our.umbraco.org
</title>
<meta name="description" content="">
<meta name="author" content="">
<!--[if lt IE 9]>
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.7.1/modernizr.min.js"></script>
<![endif]-->
<script type="text/javascript" src="https://code.jquery.com/jquery-1.7.2.min.js"></script>
@Html.Partial("~/Views/Partials/Community/JsValues.cshtml")
@Html.RenderCssHere()
@RenderSection("HeadCssScripts", false)
<script>
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date(); a = s.createElement(o),
m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-120590-4', 'auto');
ga('send', 'pageview');
</script>
</head>
<body class="@bodyCss">
@Html.Partial("~/Views/Partials/Members/QuickMenu.cshtml")
<div class="wrapper">
<header>
<div class="navigation">
<div class="container">
<div class="row">
<div class="col-md-3">
<a class="logo" href="/">Our Umbraco</a>
</div>
<div id="toggle" class="menu-toggle">
<a href="#" class="toggle cross"><span></span></a>
</div>
<nav class="col-md-9">
@Html.Partial("~/Views/Partials/Navigation/TopNavigation.cshtml")
</nav>
</div>
</div>
</div>
</header>
@{
if (memberIsBlocked == false)
{
@Html.Partial("~/Views/Partials/Global/AlertBar.cshtml")
@RenderSection("Search", false)
@RenderBody()
}
else
{
<section class="forum">
<div class="container">
<div class="row">
<div class="col-md-12">
<h1 class="text-center">Computer says no</h1>
<p>Unfortunaly, it seems that your account has been blocked.</p>
</div>
</div>
</div>
</section>
}
}
<footer>
<div class="container">
<div class="row">
<div class="col-xs-12">
Our.umbraco.org is the community mothership for Umbraco, the open source asp.net cms. With a friendly forum for all your questions, a comprehensive documentation and a ton of packages from the community.
@if (HttpContext.Current != null && HttpContext.Current.Request.UserAgent != null && HttpContext.Current.Request.UserAgent.ToLower().Contains("googlebot"))
{
<text>This site is running Umbraco.</text>
}
else
{
<text>This site is running</text> <data id="umbraco-version" value="@UmbracoVersion.GetSemanticVersion()">Umbraco version @UmbracoVersion.GetSemanticVersion()</data>
}
</div>
</div>
</div>
</footer>
</div>
<!--.wrapper-->
@Html.RenderJsHere()
<script type="text/javascript">
classOnScroll('header', 'sticky', 10);
</script>
@RenderSection("EndScripts", false)
</body>
</html>
@@ -0,0 +1,191 @@
@using OurUmbraco.Our.Models
@using Skybrud.Social.Meetup.Models.Events
@inherits OurUmbracoTemplatePage
@{
var homeNotificationText = Model.Content.GetPropertyValue<string>("homeOnlyBanner");
var showHomeNotification = string.IsNullOrWhiteSpace(homeNotificationText) == false;
var globalNotificationText = Model.Content.GetPropertyValue<string>("mainNotification");
var showGlobalNotification = string.IsNullOrWhiteSpace(globalNotificationText) == false;
}
<!-- Search start -->
<section id="search-all" class="search-all">
<div class="search-all-form">
<div class="search-fieldset">
<input class="search-input" type="search" placeholder="Search..">
<input class="search-submit" type="submit" value="&#xe085;">
</div>
<span class="search-all-close"></span>
</div>
<div class="search-all-results equalizer">
<ul></ul>
</div>
@if (MemberData == null)
{
<div class="search-text">
<div class="container">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<strong>The friendliest CMS community on the planet</strong>
<p>our.umbraco.org is the central hub for the friendly umbraco community. Search for documentation, get help and guidance from seasoned experts, download and collaborate on plugins and extensions.</p>
</div>
</div>
</div>
</div>
}
</section>
<!-- Search end -->
<style>
.bannertext p {
line-height: 1.4rem;
}
</style>
@if (showGlobalNotification)
{
<div class="alertbar__yellow">
@Html.Raw(globalNotificationText)
</div>
}
@if (showHomeNotification)
{
@Html.Raw(homeNotificationText)
}
@if (Members.IsLoggedIn())
{
@ForumActivity()
@Meetups()
@GitHubContributors()
@TwitterSearch()
@Html.Partial("home/documentation")
}
else
{
@Html.Partial("home/documentation")
@ForumActivity()
@Meetups()
@GitHubContributors()
@TwitterSearch()
}
@helper ForumActivity()
{
<section class="forum">
<div class="container">
<div class="row">
<div class="col-md-12">
<h1 class="text-center">Forum Activity</h1>
<p>
Recent activity in the forums, where people are helping each other with current problems.
</p>
</div>
<div class="col-md-12">
<small>Recent posts</small>
</div>
<div class="col-md-12 flex" id="forum-activity">
<h2>Loading latest forum activity...</h2>
</div>
<div class="col-md-12 goto-forum">
<a class="button green" href="/forum">Go to Forum &rarr;</a>
</div>
</div>
</div>
</section>
}
@helper TwitterSearch()
{
<section class="forum">
<div class="container">
<div class="row">
<div class="col-md-12">
<h1 class="text-center">Twitter Activity</h1>
<p>
Recent activity on twitter, where people are talking about Umbraco.
</p>
</div>
<div class="col-md-12">
<small>Recent tweets</small>
</div>
<div class="col-md-12 flex" id="twitter-search">
<h2>Loading twitter search results...</h2>
</div>
<div class="col-md-12 goto-forum">
<a class="button green" href="https://twitter.com/search?f=tweets&vertical=default&q=umbraco&src=typd">Join the conversation on Twitter &rarr;</a>
</div>
</div>
</div>
</section>
}
@helper GitHubContributors()
{
<section class="github-contributors forum">
<div class="container">
<div class="row">
<div class="col-md-12">
<h1 class="text-center">GitHub Contributions</h1>
<p>
Contributions to Umbraco GitHub repositories
<small class="link-list">
Contributions to default branches for
<a href="https://github.com/umbraco/Umbraco-CMS" target="_blank" title="Umbraco-CMS">Umbraco-CMS</a>,
<a href="https://github.com/umbraco/UmbracoDocs" target="_blank" title="UmbracoDocs">UmbracoDocs</a>,
<a href="https://github.com/umbraco/OurUmbraco" target="_blank" title="OurUmbraco">OurUmbraco</a>,
<a href="https://github.com/umbraco/Umbraco.Deploy.Contrib" target="_blank" title="Umbraco.Deploy.Contrib">Umbraco.Deploy.Contrib</a>,
<a href="https://github.com/umbraco/Umbraco.Courier.Contrib" target="_blank" title="Umbraco.Courier.Contrib">Umbraco.Courier.Contrib</a> and
<a href="https://github.com/umbraco/Umbraco.Deploy.ValueConnectors" target="_blank" title="Umbraco.Deploy.ValueConnectors">Umbraco.Deploy.ValueConnectors</a> repos
</small>
</p>
</div>
<div class="col-md-12">
<small>GitHub contributors</small>
</div>
<div class="col-md-12 flex forum-thread" id="github-contributors">
<h2>Loading GitHub contributors...</h2>
</div>
<div class="col-md-12 goto-forum">
<a class="button green" href="https://github.com/umbraco" target="_blank">Contribute to Umbraco on GitHub &rarr;</a>
</div>
</div>
</div>
</section>
}
@helper Meetups() {
<section class="forum">
<div class="container">
<div class="row">
<div class="col-md-12">
<h1 class="text-center">Meetups</h1>
<p>
Upcoming meetups organized by the Umbraco community.
</p>
</div>
<div class="col-md-12">
<small>Upcoming meetups</small>
</div>
<div class="col-md-12 flex" id="meetups">
<h2>Loading meetups...</h2>
</div>
</div>
</div>
</section>
}

Some files were not shown because too many files have changed in this diff Show More