143 Commits

Author SHA1 Message Date
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 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 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 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 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
1107 changed files with 140031 additions and 144347 deletions
+3 -1
View File
@@ -55,7 +55,7 @@ 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
@@ -63,4 +63,6 @@ OurUmbraco.Site/[Aa]ssets/js/app.min.js
OurUmbraco.Site/App_Data/migrations/*.txt
OurUmbraco.Site/apidocs/
OurUmbraco.Site/App_Data/Documentation/
OurUmbraco.Site/App_Data/NotificationTest/
build/tools/node*
wwwcache/
+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>
+3 -3
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'),
@@ -10,7 +10,7 @@ var gulp = require('gulp'),
imageMin = require('gulp-imagemin'),
clean = require('gulp-clean'),
svgmin = require('gulp-svgmin'),
cmq = require('gulp-group-css-media-queries');
cmq = require('gulp-combine-media-queries');
rename = require('gulp-rename');
var settings = {
@@ -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.9.1",
"gulp-util": "3.0.x",
"gulp-watch": "0.6.x",
"gulp-minify-css": "1.1.x",
"gulp-sass": "^2.2.0",
"gulp-combine-media-queries": "0.2.x",
"gulp-imagemin": "0.6.x",
"gulp-autoprefixer": "^3.1.0",
"gulp-clean": "*",
"gulp-concat": "^2.6.0",
"gulp-group-css-media-queries": "^1.1.0",
"gulp-imagemin": "^3.0.2",
"gulp-jshint": "^2.0.1",
"gulp-minify-css": "^1.2.4",
"gulp-rename": "*",
"gulp-sass": "^2.3.2",
"gulp-svgmin": "^1.2.2",
"gulp-uglify": "^2.0.0",
"gulp-util": "^3.0.7",
"gulp-watch": "^4.3.9",
"jshint": "^2.9.2",
"jshint-stylish": "^2.2.0",
"node-sass": "^3.8.0"
"gulp-uglify": "^1.5.3",
"gulp-jshint": "2.0.0",
"gulp-concat": "2.2.x",
"jshint-stylish": "0.2.x",
"gulp-clean": "0.3.x",
"gulp-svgmin": "0.4.x",
"gulp-rename": "1.2.x"
},
"scripts": {
"test": "gulp build --verbose"
},
"author": "umbraco",
"license": "MIT",
"repository": {
"type": "git",
"url": "http://github.com/devdk/gulp-workflow.git"
}
"license": "MIT"
}
@@ -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
@@ -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;
}
}
@@ -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;
}
}
}
+68 -37
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,18 +126,25 @@
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 {
word-break: break-all;
font-weight: 600;
}
a {
@@ -181,8 +179,9 @@
@media (min-width: $md) {
font-size: 1.15rem;
line-height: 1.3;
h3 {
font-weight: 100;
}
span {
font-size: .9rem;
@@ -220,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;
}
}
}
}
@@ -295,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 {
@@ -352,7 +382,6 @@
span {
position: relative;
flex: 1 1 auto;
margin-right: 20px;
display: flex;
justify-content: center;
@@ -373,6 +402,8 @@
transition: color 150ms ease;
font-size: .7rem;
text-align: center;
@media(min-width: $md) {
font-size: .9rem;
}
+276 -162
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;
}
@@ -216,7 +137,7 @@
}
a {
a {
text-decoration: underline;
font-family: $font-family;
}
@@ -253,12 +174,12 @@
}
}
}
.releaseTable {
.col-xs-3 {
&:first-child {
.progress {
.top {
@@ -282,6 +203,7 @@
}
}
// Progress page
.inprogress {
@@ -324,11 +246,12 @@
}
}
// Roadmap page
.plannedreleases {
.dot.big {
text-indent: 0;
line-height: 3rem;
line-height: 3rem;
}
.chart {
top: 0px;
@@ -342,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;
}
@@ -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;
@@ -132,14 +136,14 @@ section.forum {
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);
}
@@ -182,7 +186,6 @@ section.forum {
color: #000;
line-height: 1.3;
font-size: 1rem;
word-break: break-all;
@media (min-width: $md) {
font-size: 1.1rem;
+5
View File
@@ -15,6 +15,11 @@
@import 'playground';
/**
/* Utilities
**/
@import 'utilities/flexbox';
/**
/* Elements
**/
@@ -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; }
@@ -1,31 +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();
}
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);
@@ -1,41 +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>
<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>
@@ -1,23 +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);
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);
@@ -1,7 +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'
]
{
//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"
]
}
@@ -0,0 +1,81 @@
<?xml version="1.0" encoding="utf-8"?>
<ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings">
<TelemetryInitializers>
<Add Type="Microsoft.ApplicationInsights.DependencyCollector.HttpDependenciesParsingTelemetryInitializer, Microsoft.AI.DependencyCollector" />
<Add Type="Microsoft.ApplicationInsights.WindowsServer.AzureRoleEnvironmentTelemetryInitializer, Microsoft.AI.WindowsServer" />
<Add Type="Microsoft.ApplicationInsights.WindowsServer.AzureWebAppRoleEnvironmentTelemetryInitializer, Microsoft.AI.WindowsServer" />
<Add Type="Microsoft.ApplicationInsights.WindowsServer.BuildInfoConfigComponentVersionTelemetryInitializer, Microsoft.AI.WindowsServer" />
<Add Type="Microsoft.ApplicationInsights.Web.WebTestTelemetryInitializer, Microsoft.AI.Web" />
<Add Type="Microsoft.ApplicationInsights.Web.SyntheticUserAgentTelemetryInitializer, Microsoft.AI.Web">
<!-- Extended list of bots:
search|spider|crawl|Bot|Monitor|BrowserMob|BingPreview|PagePeeker|WebThumb|URL2PNG|ZooShot|GomezA|Google SketchUp|Read Later|KTXN|KHTE|Keynote|Pingdom|AlwaysOn|zao|borg|oegp|silk|Xenu|zeal|NING|htdig|lycos|slurp|teoma|voila|yahoo|Sogou|CiBra|Nutch|Java|JNLP|Daumoa|Genieo|ichiro|larbin|pompos|Scrapy|snappy|speedy|vortex|favicon|indexer|Riddler|scooter|scraper|scrubby|WhatWeb|WinHTTP|voyager|archiver|Icarus6j|mogimogi|Netvibes|altavista|charlotte|findlinks|Retreiver|TLSProber|WordPress|wsr-agent|http client|Python-urllib|AppEngine-Google|semanticdiscovery|facebookexternalhit|web/snippet|Google-HTTP-Java-Client-->
<Filters>search|spider|crawl|Bot|Monitor|AlwaysOn</Filters>
</Add>
<Add Type="Microsoft.ApplicationInsights.Web.ClientIpHeaderTelemetryInitializer, Microsoft.AI.Web" />
<Add Type="Microsoft.ApplicationInsights.Web.OperationNameTelemetryInitializer, Microsoft.AI.Web" />
<Add Type="Microsoft.ApplicationInsights.Web.OperationCorrelationTelemetryInitializer, Microsoft.AI.Web" />
<Add Type="Microsoft.ApplicationInsights.Web.UserTelemetryInitializer, Microsoft.AI.Web" />
<Add Type="Microsoft.ApplicationInsights.Web.AuthenticatedUserIdTelemetryInitializer, Microsoft.AI.Web" />
<Add Type="Microsoft.ApplicationInsights.Web.AccountIdTelemetryInitializer, Microsoft.AI.Web" />
<Add Type="Microsoft.ApplicationInsights.Web.SessionTelemetryInitializer, Microsoft.AI.Web" />
</TelemetryInitializers>
<TelemetryModules>
<Add Type="Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule, Microsoft.AI.DependencyCollector" />
<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.PerformanceCollectorModule, Microsoft.AI.PerfCounterCollector">
<!--
Use the following syntax here to collect additional performance counters:
<Counters>
<Add PerformanceCounter="\Process(??APP_WIN32_PROC??)\Handle Count" ReportAs="Process handle count" />
...
</Counters>
PerformanceCounter must be either \CategoryName(InstanceName)\CounterName or \CategoryName\CounterName
NOTE: performance counters configuration will be lost upon NuGet upgrade.
The following placeholders are supported as InstanceName:
??APP_WIN32_PROC?? - instance name of the application process for Win32 counters.
??APP_W3SVC_PROC?? - instance name of the application IIS worker process for IIS/ASP.NET counters.
??APP_CLR_PROC?? - instance name of the application CLR process for .NET counters.
-->
</Add>
<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse.QuickPulseTelemetryModule, Microsoft.AI.PerfCounterCollector" />
<Add Type="Microsoft.ApplicationInsights.WindowsServer.DeveloperModeWithDebuggerAttachedTelemetryModule, Microsoft.AI.WindowsServer" />
<Add Type="Microsoft.ApplicationInsights.WindowsServer.UnhandledExceptionTelemetryModule, Microsoft.AI.WindowsServer" />
<Add Type="Microsoft.ApplicationInsights.WindowsServer.UnobservedExceptionTelemetryModule, Microsoft.AI.WindowsServer" />
<Add Type="Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule, Microsoft.AI.Web">
<Handlers>
<!--
Add entries here to filter out additional handlers:
NOTE: handler configuration will be lost upon NuGet upgrade.
-->
<Add>System.Web.Handlers.TransferRequestHandler</Add>
<Add>Microsoft.VisualStudio.Web.PageInspector.Runtime.Tracing.RequestDataHttpHandler</Add>
<Add>System.Web.StaticFileHandler</Add>
<Add>System.Web.Handlers.AssemblyResourceLoader</Add>
<Add>System.Web.Optimization.BundleHandler</Add>
<Add>System.Web.Script.Services.ScriptHandlerFactory</Add>
<Add>System.Web.Handlers.TraceHandler</Add>
<Add>System.Web.Services.Discovery.DiscoveryRequestHandler</Add>
<Add>System.Web.HttpDebugHandler</Add>
</Handlers>
</Add>
<Add Type="Microsoft.ApplicationInsights.Web.ExceptionTrackingTelemetryModule, Microsoft.AI.Web" />
</TelemetryModules>
<TelemetryProcessors>
<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse.QuickPulseTelemetryProcessor, Microsoft.AI.PerfCounterCollector" />
<Add Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor, Microsoft.AI.ServerTelemetryChannel">
<MaxTelemetryItemsPerSecond>5</MaxTelemetryItemsPerSecond>
</Add>
</TelemetryProcessors>
<TelemetryChannel Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel, Microsoft.AI.ServerTelemetryChannel" />
<!--
Learn more about Application Insights configuration with ApplicationInsights.config here:
http://go.microsoft.com/fwlink/?LinkID=513840
Note: If not present, please add <InstrumentationKey>Your Key</InstrumentationKey> to the top of this file.
-->
<InstrumentationKey>lalalala-not-telling-you</InstrumentationKey>
</ApplicationInsights>
+1 -1
View File
@@ -1 +1 @@
<svg height="50" viewBox="0 0 50 50" width="50" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h50v50H0z"/><path fill="none" stroke="#000" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M35.891 30.054L25 40.943l-10.89-10.89M25 9v31.445"/></svg>
<svg height="50" viewBox="0 0 50 50" width="50" xmlns="http://www.w3.org/2000/svg"><path fill="none" d="M0 0h50v50H0z"/><path fill="none" stroke="#000" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M35.89 30.054L25 40.944l-10.89-10.89M25 9v31.445"/></svg>

Before

Width:  |  Height:  |  Size: 276 B

After

Width:  |  Height:  |  Size: 275 B

+1 -1
View File
@@ -1 +1 @@
<svg height="512" viewBox="0 0 512 512" width="512" xmlns="http://www.w3.org/2000/svg"><path d="M396.6 160l19.4 20.7L256 352 96 180.7l19.3-20.7L256 310.5z"/></svg>
<svg height="512" viewBox="0 0 512 512" width="512" xmlns="http://www.w3.org/2000/svg"><path d="M396.6 160l19.4 20.7L256 352 96 180.7l19.3-20.7L256 310.5"/></svg>

Before

Width:  |  Height:  |  Size: 163 B

After

Width:  |  Height:  |  Size: 162 B

@@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-281 286 36 30"><path fill="#98D768" d="M-267 316l8-5v-8l14-17h-36l14 17z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-281 286 36 30"><path fill="#98D768" d="M-267 316l8-5v-8l14-17h-36l14 17"/></svg>

Before

Width:  |  Height:  |  Size: 131 B

After

Width:  |  Height:  |  Size: 130 B

@@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-281 286 36 30"><path fill="#191919" d="M-267 316l8-5v-8l14-17h-36l14 17z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-281 286 36 30"><path fill="#191919" d="M-267 316l8-5v-8l14-17h-36l14 17"/></svg>

Before

Width:  |  Height:  |  Size: 131 B

After

Width:  |  Height:  |  Size: 130 B

+1 -1
View File
@@ -1,2 +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;
}
}
+185 -224
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\UmbracoCms.7.5.3\build\UmbracoCms.props" Condition="Exists('..\packages\UmbracoCms.7.5.3\build\UmbracoCms.props')" />
<Import Project="..\packages\UmbracoCms.7.5.7\build\UmbracoCms.props" Condition="Exists('..\packages\UmbracoCms.7.5.7\build\UmbracoCms.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
@@ -26,6 +26,8 @@
<UseGlobalApplicationHostFile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<ApplicationInsightsResourceId>/subscriptions/76a04863-9a92-45d6-9801-b26d74a625c4/resourcegroups/Default-ApplicationInsights-EastUS/providers/microsoft.insights/components/OurUmbraco.Site</ApplicationInsightsResourceId>
<ApplicationInsightsAnnotationResourceId>/subscriptions/76a04863-9a92-45d6-9801-b26d74a625c4/resourcegroups/Default-ApplicationInsights-EastUS/providers/microsoft.insights/components/OurUmbraco.Site</ApplicationInsightsAnnotationResourceId>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@@ -47,32 +49,36 @@
<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>
<Reference Include="Autofac, Version=3.5.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
<HintPath>..\packages\Autofac.3.5.2\lib\net40\Autofac.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>
<Reference Include="AutoMapper, Version=3.3.1.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005, processorArchitecture=MSIL">
<HintPath>..\packages\AutoMapper.3.3.1\lib\net40\AutoMapper.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="businesslogic, Version=1.0.6092.24022, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\businesslogic.dll</HintPath>
<Reference Include="AutoMapper.Net4, Version=3.3.1.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005, processorArchitecture=MSIL">
<HintPath>..\packages\AutoMapper.3.3.1\lib\net40\AutoMapper.Net4.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ClientDependency.Core, Version=1.9.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ClientDependency.1.9.1\lib\net45\ClientDependency.Core.dll</HintPath>
<Reference Include="businesslogic, Version=1.0.6219.11993, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.7\lib\businesslogic.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ClientDependency.Core, Version=1.9.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ClientDependency.1.9.2\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.6092.24022, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\cms.dll</HintPath>
<Reference Include="cms, Version=1.0.6219.11994, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.7\lib\cms.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="controls, Version=1.0.6092.24024, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\controls.dll</HintPath>
<Reference Include="controls, Version=1.0.6219.11996, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.7\lib\controls.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="CookComputing.XmlRpcV2, Version=2.5.0.0, Culture=neutral, PublicKeyToken=a7d6e17aa302004d, processorArchitecture=MSIL">
@@ -83,32 +89,28 @@
<HintPath>..\packages\EasyHttp.1.6.29.0\lib\net40\EasyHttp.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Examine, Version=0.1.69.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Examine.0.1.69.0\lib\Examine.dll</HintPath>
<Reference Include="Examine, Version=0.1.80.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Examine.0.1.80\lib\net45\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>
<Reference Include="HtmlAgilityPack, Version=1.4.9.5, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
<HintPath>..\packages\HtmlAgilityPack.1.4.9.5\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.4.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ImageProcessor.2.4.4.0\lib\net45\ImageProcessor.dll</HintPath>
<Reference Include="ImageProcessor, Version=2.5.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ImageProcessor.2.5.1\lib\net45\ImageProcessor.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="ImageProcessor.Web, Version=4.6.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ImageProcessor.Web.4.6.4.0\lib\net45\ImageProcessor.Web.dll</HintPath>
<Reference Include="ImageProcessor.Web, Version=4.8.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ImageProcessor.Web.4.8.0\lib\net45\ImageProcessor.Web.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="InfoCaster.Umbraco.UrlTracker, Version=3.11.5900.30099, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UrlTracker.3.11\lib\InfoCaster.Umbraco.UrlTracker.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="interfaces, Version=1.0.6092.24017, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\interfaces.dll</HintPath>
<Reference Include="interfaces, Version=1.0.6219.11988, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.7\lib\interfaces.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="JsonFx, Version=2.0.1209.2802, Culture=neutral, PublicKeyToken=315052dd637f8a52, processorArchitecture=MSIL">
@@ -116,7 +118,7 @@
<HintPath>..\packages\JsonFx.2.0.1209.2802\lib\net40\JsonFx.dll</HintPath>
</Reference>
<Reference Include="log4net, Version=1.2.11.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\log4net.dll</HintPath>
<HintPath>..\packages\UmbracoCms.Core.7.5.7\lib\log4net.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Lucene.Net, Version=2.9.4.1, Culture=neutral, PublicKeyToken=85089178b9ac3181, processorArchitecture=MSIL">
@@ -127,8 +129,40 @@
<HintPath>..\packages\Markdown.1.14.4\lib\net45\MarkdownSharp.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.AI.Agent.Intercept, Version=2.0.6.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.ApplicationInsights.Agent.Intercept.2.0.6\lib\net45\Microsoft.AI.Agent.Intercept.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.AI.DependencyCollector, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.ApplicationInsights.DependencyCollector.2.2.0\lib\net45\Microsoft.AI.DependencyCollector.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.AI.PerfCounterCollector, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.ApplicationInsights.PerfCounterCollector.2.2.0\lib\net45\Microsoft.AI.PerfCounterCollector.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.AI.ServerTelemetryChannel, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.2.2.0\lib\net45\Microsoft.AI.ServerTelemetryChannel.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.AI.Web, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.ApplicationInsights.Web.2.2.0\lib\net45\Microsoft.AI.Web.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.AI.WindowsServer, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.ApplicationInsights.WindowsServer.2.2.0\lib\net45\Microsoft.AI.WindowsServer.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.ApplicationBlocks.Data, Version=1.0.1559.20655, Culture=neutral">
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\Microsoft.ApplicationBlocks.Data.dll</HintPath>
<HintPath>..\packages\UmbracoCms.Core.7.5.7\lib\Microsoft.ApplicationBlocks.Data.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.ApplicationInsights, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.ApplicationInsights.2.2.0\lib\net45\Microsoft.ApplicationInsights.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.ApplicationInsights.TraceListener, Version=2.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.ApplicationInsights.TraceListener.2.2.0\lib\net45\Microsoft.ApplicationInsights.TraceListener.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.AspNet.Identity.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
@@ -148,6 +182,10 @@
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.CSharp" />
<Reference Include="Microsoft.IO.RecyclableMemoryStream, Version=1.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.IO.RecyclableMemoryStream.1.2.0\lib\net45\Microsoft.IO.RecyclableMemoryStream.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>
@@ -172,6 +210,18 @@
<HintPath>..\packages\Microsoft.Owin.Security.OAuth.3.0.1\lib\net45\Microsoft.Owin.Security.OAuth.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Threading.Tasks.Extensions, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop, Version=1.0.168.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.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>
@@ -188,14 +238,18 @@
<HintPath>..\packages\MySql.Data.6.9.8\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>
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.9.0.1\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="reCAPTCHA.MVC, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\reCAPTCH.MVC.1.0.1\lib\net45\reCAPTCHA.MVC.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="RestSharp, Version=104.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\packages\RestSharp.104.1\lib\net4\RestSharp.dll</HintPath>
@@ -204,8 +258,8 @@
<HintPath>..\packages\semver.1.1.2\lib\net451\Semver.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="SQLCE4Umbraco, Version=1.0.6092.24023, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\SQLCE4Umbraco.dll</HintPath>
<Reference Include="SQLCE4Umbraco, Version=1.0.6219.11995, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.7\lib\SQLCE4Umbraco.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Collections.Immutable, Version=1.1.36.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
@@ -214,18 +268,27 @@
</Reference>
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Data.SqlServerCe, Version=4.0.0.1, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\System.Data.SqlServerCe.dll</HintPath>
<HintPath>..\packages\UmbracoCms.Core.7.5.7\lib\System.Data.SqlServerCe.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Data.SqlServerCe.Entity, Version=4.0.0.1, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\System.Data.SqlServerCe.Entity.dll</HintPath>
<HintPath>..\packages\UmbracoCms.Core.7.5.7\lib\System.Data.SqlServerCe.Entity.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System.Net" />
<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.Reflection.Metadata, Version=1.0.21.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Reflection.Metadata.1.0.21\lib\portable-net45+win8\System.Reflection.Metadata.dll</HintPath>
@@ -282,47 +345,51 @@
<Reference Include="System.EnterpriseServices" />
<Reference Include="System.Xml.Linq" />
<Reference Include="TidyNet, Version=1.0.0.0, Culture=neutral">
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\TidyNet.dll</HintPath>
<HintPath>..\packages\UmbracoCms.Core.7.5.7\lib\TidyNet.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="umbraco, Version=1.0.6092.24026, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\umbraco.dll</HintPath>
<Reference Include="Tweetinvi, Version=1.2.0.0, Culture=neutral, PublicKeyToken=7247f14397bf67b9, processorArchitecture=MSIL">
<HintPath>..\packages\TweetinviAPI.1.2.0\lib\net45\Tweetinvi.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Umbraco.Core, Version=1.0.6092.24019, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\Umbraco.Core.dll</HintPath>
<Reference Include="umbraco, Version=1.0.6219.11997, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.7\lib\umbraco.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="umbraco.DataLayer, Version=1.0.6092.24022, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\umbraco.DataLayer.dll</HintPath>
<Reference Include="Umbraco.Core, Version=1.0.6219.11990, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.7\lib\Umbraco.Core.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="umbraco.editorControls, Version=1.0.6092.24028, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\umbraco.editorControls.dll</HintPath>
<Reference Include="umbraco.DataLayer, Version=1.0.6219.11993, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.7\lib\umbraco.DataLayer.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="umbraco.editorControls, Version=1.0.6219.11999, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.7\lib\umbraco.editorControls.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Umbraco.IdentityExtensions, Version=1.0.5779.34109, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.IdentityExtensions.1.0.0\lib\net45\Umbraco.IdentityExtensions.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="umbraco.MacroEngines, Version=1.0.6092.24028, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\umbraco.MacroEngines.dll</HintPath>
<Reference Include="umbraco.MacroEngines, Version=1.0.6219.12000, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.7\lib\umbraco.MacroEngines.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Umbraco.ModelsBuilder, Version=3.0.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Umbraco.ModelsBuilder.3.0.4\lib\Umbraco.ModelsBuilder.dll</HintPath>
<Reference Include="Umbraco.ModelsBuilder, Version=3.0.5.96, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Umbraco.ModelsBuilder.3.0.5\lib\Umbraco.ModelsBuilder.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="umbraco.providers, Version=1.0.6092.24024, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\umbraco.providers.dll</HintPath>
<Reference Include="umbraco.providers, Version=1.0.6219.11996, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.7\lib\umbraco.providers.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Umbraco.Web.UI, Version=1.0.6092.24029, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\Umbraco.Web.UI.dll</HintPath>
<Reference Include="Umbraco.Web.UI, Version=1.0.6219.12001, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.7\lib\Umbraco.Web.UI.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="UmbracoExamine, Version=0.7.0.24023, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\UmbracoExamine.dll</HintPath>
<Reference Include="UmbracoExamine, Version=0.7.0.11994, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\UmbracoCms.Core.7.5.7\lib\UmbracoExamine.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="UrlRewritingNet.UrlRewriter, Version=2.0.7.0, Culture=neutral, processorArchitecture=MSIL">
@@ -344,13 +411,6 @@
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Views\Search\Search.aspx.cs">
<DependentUpon>Search.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile>
<Compile Include="Views\Search\Search.aspx.designer.cs">
<DependentUpon>Search.aspx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<Content Include="App_Browsers\Form.browser" />
@@ -359,6 +419,8 @@
<Content Include="App_Plugins\ModelsBuilder\modelsbuilder.controller.js" />
<Content Include="App_Plugins\ModelsBuilder\modelsbuilder.htm" />
<Content Include="App_Plugins\ModelsBuilder\modelsbuilder.resource.js" />
<Content Include="App_Plugins\OurManagement\ourmanagement.controller.js" />
<Content Include="App_Plugins\OurManagement\ourmanagement.html" />
<Content Include="Assets\css\fonts\icomoon\icomoon.svg" />
<Content Include="Assets\css\style.min.css" />
<Content Include="Assets\images\app-icons\acme-tile-large.png" />
@@ -498,75 +560,6 @@
<Content Include="macroScripts\Releases-GetAllReleases.cshtml" />
<Content Include="macroScripts\Releases-ReleaseList.cshtml" />
<Content Include="macroScripts\testWikiFile.cshtml" />
<Content Include="masterpages\AttachFile.master" />
<Content Include="masterpages\Authentication.master" />
<Content Include="masterpages\blank.master" />
<Content Include="masterpages\Community.master" />
<Content Include="masterpages\ConfigureProjectLicenses.master" />
<Content Include="masterpages\ContentLanding.master" />
<Content Include="masterpages\CreateWikiPage.master" />
<Content Include="masterpages\Deli.master" />
<Content Include="masterpages\DeliCart.master" />
<Content Include="masterpages\DeliCartDetails.master" />
<Content Include="masterpages\Dialogs.master" />
<Content Include="masterpages\DisplayTopic.master" />
<Content Include="masterpages\DocumentationMainpage.master" />
<Content Include="masterpages\DocumentationSubpage.master" />
<Content Include="masterpages\EditProject.master" />
<Content Include="masterpages\Event.master" />
<Content Include="masterpages\Eventnews.master" />
<Content Include="masterpages\Events.master" />
<Content Include="masterpages\FileDownload.master" />
<Content Include="masterpages\Forum.master" />
<Content Include="masterpages\HelpPage.master" />
<Content Include="masterpages\InsertImage.master" />
<Content Include="masterpages\Locatorpage.master" />
<Content Include="masterpages\Master.master" />
<Content Include="masterpages\Mobile.master" />
<Content Include="masterpages\MobileTextPage.master" />
<Content Include="masterpages\newest.master" />
<Content Include="masterpages\Nothing.master" />
<Content Include="masterpages\Notifications.master" />
<Content Include="masterpages\PayPalRedirect.master" />
<Content Include="masterpages\People.master" />
<Content Include="masterpages\popular.master" />
<Content Include="masterpages\Profilepage.master" />
<Content Include="masterpages\Project.master" />
<Content Include="masterpages\ProjectGroup.master" />
<Content Include="masterpages\Projects.master" />
<Content Include="masterpages\ProjectsTags.master" />
<Content Include="masterpages\PublicMemberProfile.master" />
<Content Include="masterpages\Release.master" />
<Content Include="masterpages\ReleaseLanding-bak.master" />
<Content Include="masterpages\ReleaseLanding.master" />
<Content Include="masterpages\Repository.master" />
<Content Include="masterpages\RepositoryFrontpage.master" />
<Content Include="masterpages\RepositoryMaster.master" />
<Content Include="masterpages\repositoryPage.master" />
<Content Include="masterpages\Repository\blank.master" />
<Content Include="masterpages\Repository\Community.master" />
<Content Include="masterpages\Repository\Deli.master" />
<Content Include="masterpages\Repository\DeliRepoNET.master" />
<Content Include="masterpages\Repository\FileDownload.master" />
<Content Include="masterpages\Repository\Master.master" />
<Content Include="masterpages\Repository\Nothing.master" />
<Content Include="masterpages\Repository\Project.master" />
<Content Include="masterpages\Repository\ProjectGroup.master" />
<Content Include="masterpages\Repository\Projects.master" />
<Content Include="masterpages\Repository\ProjectsTags.master" />
<Content Include="masterpages\Repository\Repository.master" />
<Content Include="masterpages\Repository\Textpage.master" />
<Content Include="masterpages\RoadMap.master" />
<Content Include="masterpages\simplr.master" />
<Content Include="masterpages\termsofservice.master" />
<Content Include="masterpages\Textpage.master" />
<Content Include="masterpages\UmbracoMVP2011.master" />
<Content Include="masterpages\Wiki.master" />
<Content Include="masterpages\WikiMoveDialog.master" />
<Content Include="masterpages\WikiPage.master" />
<Content Include="masterpages\WikiPageAttachments.master" />
<Content Include="masterpages\WikiPageHistory.master" />
<Content Include="masterpages\WikipagewithTOC.master" />
<Content Include="projects\umbraco-pro\contour\Documentation\Editor\Attaching-Workflows\WorkFlowButton.png" />
<Content Include="projects\umbraco-pro\contour\Documentation\Editor\Attaching-Workflows\Workflownode.png" />
<Content Include="projects\umbraco-pro\contour\Documentation\Editor\Attaching-Workflows\WorkflowOverview.png" />
@@ -669,8 +662,14 @@
<Content Include="scripts\forum\select2\select2-new.js" />
<Content Include="scripts\forum\tags.js" />
<Content Include="config\IISRewriteMaps.config" />
<Content Include="masterpages\ReleaseCompare.master" />
<Content Include="App_Plugins\ModelsBuilder\package.manifest" />
<None Include="App_Plugins\OurManagement\package.manifest" />
<Content Include="config\imageprocessor\security.config" />
<Content Include="config\imageprocessor\processing.config" />
<Content Include="config\imageprocessor\cache.config" />
<Content Include="ApplicationInsights.config">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="config\tinyMceConfig.config" />
<Content Include="config\scripting.config" />
<Content Include="config\metablogConfig.config" />
@@ -1683,16 +1682,9 @@
<Content Include="umbraco_client\tablesorting\jquery.tablesorter.min.js" />
<Content Include="umbraco_client\tinymce3\langs\en_us.js" />
<Content Include="umbraco_client\tinymce3\langs\ru.js" />
<Content Include="usercontrols\dashboard\ForceYouTrackDownload.ascx" />
<Content Include="usercontrols\dashboard\ForceDocumentationDownload.ascx" />
<Content Include="usercontrols\IndexStatus.ascx" />
<Content Include="usercontrols\our.umbraco.org\ForumSpamCleaner.ascx" />
<Content Include="usercontrols\our.umbraco.org\ForumSpamListComments.ascx" />
<Content Include="usercontrols\our.umbraco.org\ForumSpamListTopics.ascx" />
<Content Include="usercontrols\our.umbraco.org\SignupSimple.ascx" />
<Content Include="usercontrols\umbracoContour\EditForm.ascx" />
<Content Include="usercontrols\umbracoContour\Installer.ascx" />
<Content Include="usercontrols\umbracoContour\RenderForm.ascx" />
<Content Include="Views\ContentLanding.cshtml" />
<Content Include="Views\Blank.cshtml" />
<Content Include="Views\DisplayTopic.cshtml" />
<Content Include="Views\MacroPartials\Forum\TopicForm.cshtml" />
<Content Include="Views\MacroPartials\Members\HeaderProfile.cshtml" />
<Content Include="Views\MacroPartials\Members\QuickMenu.cshtml" />
@@ -1705,10 +1697,6 @@
<Content Include="Assets\images\logo.svg" />
<Content Include="Assets\images\magnifier.svg" />
<Content Include="Views\MacroPartials\Navigation\TopNavigation.cshtml" />
<Content Include="masterpages\ForumMaster.master" />
<Content Include="masterpages\DocumentationMaster.master" />
<Content Include="masterpages\AddMarkdownProp.master" />
<Content Include="masterpages\ComRepositoryFrontpage.master" />
<Content Include="Assets\css\fonts\icomoon\icomoon.eot" />
<Content Include="Assets\css\fonts\icomoon\icomoon.ttf" />
<Content Include="Assets\css\fonts\icomoon\icomoon.woff" />
@@ -1724,19 +1712,13 @@
<Content Include="Views\MacroPartials\Projects\ListProjects.cshtml" />
<Content Include="Views\MacroPartials\Members\ProfileNavigation.cshtml" />
<Content Include="Views\MacroPartials\Search\GlobalSearchPage.cshtml" />
<Content Include="masterpages\Download.master" />
<Content Include="Views\MacroPartials\Members\ProfileProjectTeam.cshtml" />
<Content Include="Views\MacroPartials\Releases\AllReleases.cshtml" />
<Content Include="Views\MacroPartials\Projects\ProjectDetails.cshtml" />
<Content Include="Views\MacroPartials\Members\Register.cshtml" />
<Content Include="Views\MacroPartials\Forum\LatestActivity.cshtml" />
<Content Include="Views\MacroPartials\Members\ProfileProjectForums.cshtml" />
<Content Include="masterpages\ReleaseProgress.master" />
<Content Include="Views\MacroPartials\Global\AlertBar.cshtml" />
<Content Include="Views\MacroPartials\Members\PublicProfile.cshtml" />
<Content Include="masterpages\ProfileLogin.master" />
<Content Include="masterpages\ProfileRegister.master" />
<Content Include="masterpages\Sidebar.master" />
<Content Include="Views\MacroPartials\Rss\Forum.cshtml" />
<Content Include="Views\MacroPartials\Rss\LatestTopics.cshtml" />
<Content Include="Views\MacroPartials\Rss\Packages.cshtml" />
@@ -1754,12 +1736,28 @@
<Content Include="Views\MacroPartials\RedirectProjectCategory.cshtml" />
<Content Include="Views\MacroPartials\Community\Home.cshtml" />
<Content Include="Views\MacroPartials\Project\Edit.cshtml" />
<Content Include="masterpages\ProjectPage.master" />
<Content Include="umbraco\lib\bootstrap-tabdrop\README.md" />
<Content Include="Views\MacroPartials\Releases\ReleasesDropdown.cshtml" />
<Content Include="Views\Partials\Community\TermsAndConditions.cshtml" />
<Content Include="Views\Master.cshtml" />
<Content Include="Views\Community.cshtml" />
<Content Include="Views\Forum.cshtml" />
<Content Include="Views\MacroPartials\Members\Login.cshtml" />
<Content Include="Views\MacroPartials\Members\ForgotPassword.cshtml" />
<Content Include="Views\Partials\Projects\MyProjects.cshtml" />
<Content Include="Views\MacroPartials\Projects\MyProjects.cshtml" />
<Content Include="Views\EditProject.cshtml" />
<Content Include="Views\FileDownload.cshtml" />
<Content Include="Views\DocumentationSubpage.cshtml" />
<Content Include="Views\Download.cshtml" />
<None Include="Views\Partials\Forum\MemberBadge.cshtml" />
<Content Include="Views\Search\Search.aspx" />
<Content Include="Views\Partials\Project\EditFiles.cshtml" />
<Content Include="Views\Partials\Project\PackageEditNavigation.cshtml" />
<Content Include="Views\Partials\Project\EditScreenshots.cshtml" />
<Content Include="Views\Partials\Project\Complete.cshtml" />
<Content Include="Views\Partials\Home\LatestForumActivity.cshtml" />
<Content Include="Views\MacroPartials\Community\Scripts.cshtml" />
<Content Include="Service References\Application Insights\ConnectedService.json" />
<Content Include="Views\Web.config" />
<Content Include="web.config">
<SubType>Designer</SubType>
@@ -4081,65 +4079,6 @@
<Content Include="umbraco_client\ui\ui-lightness\images\ui-icons_ffd27a_256x240.png" />
<Content Include="umbraco_client\ui\ui-lightness\images\ui-icons_ffffff_256x240.png" />
<Content Include="umbraco_client\ui\ui-lightness\jquery-ui.custom.css" />
<Content Include="usercontrols\dashboard\getMembersFromGroup.ascx" />
<Content Include="usercontrols\dashboard\memberSearch.ascx" />
<Content Include="usercontrols\Deli\Cart\Cart.ascx" />
<Content Include="usercontrols\Deli\Cart\CartDetails.ascx" />
<Content Include="usercontrols\Deli\Cart\CartProgress.ascx" />
<Content Include="usercontrols\Deli\Cart\CartReview.ascx" />
<Content Include="usercontrols\Deli\Cart\MicroCart.ascx" />
<Content Include="usercontrols\Deli\Customers\VendorCustomers.ascx" />
<Content Include="usercontrols\Deli\Dashboard\VendorBIOverview.ascx" />
<Content Include="usercontrols\Deli\Dashboard\VendorProjectBI.ascx" />
<Content Include="usercontrols\Deli\EditPackage.ascx" />
<Content Include="usercontrols\Deli\HQStaffPickProjects.ascx" />
<Content Include="usercontrols\Deli\License\Member\MyLicenses.ascx" />
<Content Include="usercontrols\Deli\License\Vendor\ProjectLicenses.ascx" />
<Content Include="usercontrols\Deli\ListPagination.ascx" />
<Content Include="usercontrols\Deli\Package\Editor.ascx" />
<Content Include="usercontrols\Deli\Package\Steps\Complete.ascx" />
<Content Include="usercontrols\Deli\Package\Steps\Details.ascx" />
<Content Include="usercontrols\Deli\Package\Steps\Files.ascx" />
<Content Include="usercontrols\Deli\Package\Steps\Screenshots.ascx" />
<Content Include="usercontrols\Deli\Payout\VendorPayout.ascx" />
<Content Include="usercontrols\Deli\Payout\VendorPayoutHistory.ascx" />
<Content Include="usercontrols\Deli\Profile\MemberDataLookup.ascx" />
<Content Include="usercontrols\Deli\Profile\MyProjects.ascx" />
<Content Include="usercontrols\Deli\Profile\Signup.ascx" />
<Content Include="usercontrols\Deli\ProjectView.ascx" />
<Content Include="usercontrols\Deli\Purchase\PayPalConfirm.ascx" />
<Content Include="usercontrols\Deli\Purchase\PayPalPayment.ascx" />
<Content Include="usercontrols\Deli\Repository\RepoProjectView.ascx" />
<Content Include="usercontrols\Deli\Support\Member\RefundRequest.ascx" />
<Content Include="usercontrols\Deli\Support\VendorSupportRequest.ascx" />
<Content Include="usercontrols\Deli\Support\Vendor\VendorSupportRequest.ascx" />
<Content Include="usercontrols\Deli\TopPaidProjectsList.ascx" />
<Content Include="usercontrols\FergusonMoriyama\FeedCache\PostInstall.ascx" />
<Content Include="usercontrols\ImageGenInstaller.ascx" />
<Content Include="usercontrols\MemberLocator.ascx" />
<Content Include="usercontrols\our.umbraco.org\acceptTos.ascx" />
<Content Include="usercontrols\our.umbraco.org\EventEditor.ascx" />
<Content Include="usercontrols\our.umbraco.org\EventMailer.ascx" />
<Content Include="usercontrols\our.umbraco.org\FileDownloadProxy.ascx" />
<Content Include="usercontrols\our.umbraco.org\Forgotpassword.ascx" />
<Content Include="usercontrols\our.umbraco.org\HeaderLogin.ascx" />
<Content Include="usercontrols\our.umbraco.org\InsertImage.ascx" />
<Content Include="usercontrols\our.umbraco.org\Login.ascx" />
<Content Include="usercontrols\our.umbraco.org\Login_novalidationscript.ascx" />
<Content Include="usercontrols\our.umbraco.org\ProjectCollabRequest.ascx" />
<Content Include="usercontrols\our.umbraco.org\ProjectContributors.ascx" />
<Content Include="usercontrols\our.umbraco.org\ProjectEditor.ascx" />
<Content Include="usercontrols\our.umbraco.org\ProjectFileUpload.ascx" />
<Content Include="usercontrols\our.umbraco.org\ProjectForums.ascx" />
<Content Include="usercontrols\our.umbraco.org\Signup.ascx" />
<Content Include="usercontrols\our.umbraco.org\testoptimize.ascx" />
<Content Include="usercontrols\our.umbraco.org\YAF_MemberImport.ascx" />
<Content Include="usercontrols\poll\Poll.ascx" />
<Content Include="usercontrols\umbracoMemberControls\umbLogin.ascx" />
<Content Include="usercontrols\umbracoMemberControls\umbPasswordForgot.ascx" />
<Content Include="usercontrols\umbracoMemberControls\umbRegister.ascx" />
<Content Include="usercontrols\Umbraco\ExamineIndexAdmin.ascx" />
<Content Include="usercontrols\uWiki\FileUpload.ascx" />
<Content Include="w3c\p3p.xml" />
<Content Include="webservices\Licensing.asmx" />
<Content Include="webservices\MarketPlace.asmx" />
@@ -4241,8 +4180,6 @@
<Content Include="packages.config" />
<Content Include="App_Data\packages\installed\installedPackages.config" />
<Content Include="config\FileIndexerConfig.config" />
<Content Include="masterpages\ArchivedRelease.master" />
<Content Include="masterpages\ReleaseDownload.master" />
<Content Include="macroScripts\Releases-ListDownloads.cshtml">
<SubType>Code</SubType>
</Content>
@@ -4277,14 +4214,9 @@
<Content Include="projects\umbraco-pro\contour\Documentation\readme.md" />
<Content Include="macroScripts\Rss-CommunityBlogs.cshtml" />
<Content Include="macroScripts\TwitterSearch.cshtml" />
<Content Include="masterpages\SwitchForumEditor.master" />
<Content Include="macroScripts\SwitchForumEditor.cshtml" />
<Content Include="masterpages\ManageSpam.master" />
<Content Include="macroScripts\ManageSpam.cshtml" />
<Content Include="masterpages\ProjectsVersioned.master" />
<Content Include="macroScripts\ProjectsVersioned.cshtml" />
<Content Include="macroScripts\ProjectsVersionList.cshtml" />
<Content Include="masterpages\ProjectCompatibility.master" />
<Content Include="macroScripts\EditProjectCompatibility.cshtml" />
<Content Include="macroScripts\EventsOverview.cshtml" />
<Content Include="umbraco\assets\fonts\helveticons\helveticons.eot" />
@@ -4401,7 +4333,30 @@
<Content Include="Views\Partials\Projects\CompatibilityReport.cshtml" />
<Content Include="Views\Partials\Project\Edit.cshtml" />
<Content Include="Views\Partials\Home\Documentation.cshtml" />
<Content Include="Views\Partials\Home\ForumActivity.cshtml" />
<Content Include="Views\Partials\Members\Login.cshtml" />
<Content Include="Views\Partials\Members\ForgotPassword.cshtml" />
<Content Include="Views\Partials\Home\TwitterSearchUmbraco.cshtml" />
<Content Include="Views\Projects.cshtml" />
<Content Include="Views\Project.cshtml" />
<Content Include="Views\DocumentationMainpage.cshtml" />
<Content Include="Views\Search.cshtml" />
<Content Include="Views\Partials\SearchResults.cshtml" />
<Content Include="Views\ReleaseLanding.cshtml" />
<Content Include="Views\ReleaseProgress.cshtml" />
<Content Include="Views\Release.cshtml" />
<Content Include="Views\Textpage.cshtml" />
<Content Include="Views\RoadMap.cshtml" />
<Content Include="Views\Partials\Members\Login.cshtml" />
<Content Include="Views\Partials\Members\ForgotPassword.cshtml" />
<Content Include="Views\Profilepage.cshtml" />
<Content Include="Views\ProjectPage.cshtml" />
<Content Include="Views\ReleaseDownload.cshtml" />
<Content Include="Views\PublicMemberProfile.cshtml" />
<Content Include="Views\ReleaseCompare.cshtml" />
<Content Include="Views\Repository.cshtml" />
<Content Include="Views\RepositoryFrontpage.cshtml" />
<Content Include="Views\RepositoryPage.cshtml" />
<Content Include="Views\RepositoryMaster.cshtml" />
<Content Include="Views\Partials\Grid\Editors\Textstring.cshtml" />
<Content Include="Views\Partials\Grid\Editors\Rte.cshtml" />
<Content Include="Views\Partials\Grid\Editors\Media.cshtml" />
@@ -4409,7 +4364,9 @@
<Content Include="Views\Partials\Grid\Editors\Embed.cshtml" />
<Content Include="Views\Partials\Grid\Editors\Base.cshtml" />
<Content Include="Views\Partials\Grid\Bootstrap3.cshtml" />
<Content Include="Views\Partials\Grid\Bootstrap3-Fluid.cshtml" />
<Content Include="Views\Partials\Grid\Bootstrap2.cshtml" />
<Content Include="Views\Partials\Grid\Bootstrap2-Fluid.cshtml" />
<None Include="web.Debug.config">
<DependentUpon>web.config</DependentUpon>
</None>
@@ -4429,12 +4386,14 @@
<Folder Include="css\img\Cached\" />
<Folder Include="umbraco\lib\datetimepicker\langs\" />
<Folder Include="umbraco\Views\directives\" />
<Folder Include="usercontrols\Deli\Admin\" />
</ItemGroup>
<ItemGroup>
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.Analyzers.1.0.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.Analyzers.dll" />
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.Analyzers.1.0.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.Analyzers.dll" />
</ItemGroup>
<ItemGroup>
<WCFMetadata Include="Service References\" />
</ItemGroup>
<PropertyGroup>
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">11.0</VisualStudioVersion>
<VSToolsPath Condition="exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets')">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v11.0</VSToolsPath>
@@ -4482,14 +4441,16 @@
<!-- Only runs if the ClientFiles build folder doesn't yet exist -->
<CallTarget Targets="ClientFilesBuild" Condition="!Exists('$(ProjectDir)\..\OurUmbraco.Client\build\assets')" />
</Target>
<Import Project="..\packages\AutoMapper.3.3.1\tools\AutoMapper.targets" Condition="Exists('..\packages\AutoMapper.3.3.1\tools\AutoMapper.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use 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('..\packages\UmbracoCms.7.5.3\build\UmbracoCms.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\UmbracoCms.7.5.3\build\UmbracoCms.props'))" />
<Error Condition="!Exists('..\packages\UmbracoCms.7.5.3\build\UmbracoCms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\UmbracoCms.7.5.3\build\UmbracoCms.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets'))" />
<Error Condition="!Exists('..\packages\UmbracoCms.7.5.7\build\UmbracoCms.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\UmbracoCms.7.5.7\build\UmbracoCms.props'))" />
<Error Condition="!Exists('..\packages\UmbracoCms.7.5.7\build\UmbracoCms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\UmbracoCms.7.5.7\build\UmbracoCms.targets'))" />
</Target>
<Import Project="..\packages\UmbracoCms.7.5.3\build\UmbracoCms.targets" Condition="Exists('..\packages\UmbracoCms.7.5.3\build\UmbracoCms.targets')" />
<Import Project="..\packages\UmbracoCms.7.5.7\build\UmbracoCms.targets" Condition="Exists('..\packages\UmbracoCms.7.5.7\build\UmbracoCms.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="AfterBuild">
@@ -0,0 +1,7 @@
{
"ProviderId": "Microsoft.ApplicationInsights.ConnectedService.ConnectedServiceProvider",
"Version": "7.16.109.2",
"GettingStartedDocument": {
"Uri": "https://go.microsoft.com/fwlink/?LinkID=613413"
}
}
+2
View File
@@ -0,0 +1,2 @@
@inherits UmbracoTemplatePage
@Umbraco.RenderMacro(Model.Content.GetPropertyValue<string>("macro"))
+29
View File
@@ -0,0 +1,29 @@
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
}
@Umbraco.RenderMacro("CommunityHome")
@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>
}
@Umbraco.RenderMacro("CommunityHomeScripts")
@@ -0,0 +1,19 @@
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
}
<div id="contribute" class="subpage">
<div id="body" class="markdown-syntax">
<div>
@Umbraco.RenderMacro("Breadcrumb", new { linkToCurrent = "0" })
</div>
<h1>Contribute to the Umbraco Project</h1>
<div>
@Html.Raw(Model.Content.GetPropertyValue<string>("bodyText"))
</div>
<div class="options">
@Umbraco.RenderMacro("ContentLanding-Summary")
</div>
</div>
</div>
+22
View File
@@ -0,0 +1,22 @@
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
}
<!-- FORUM OVERVIEW START -->
<section class="forum-overview">
<div class="forum-single-thread">
<!-- FORUM HEADER START -->
<div class="utilities">
<!-- FORUM BREADCRUMB START -->
@Umbraco.RenderMacro("Breadcrumb", new { linkToCurrent = "1" })
<!-- FORUM BREADCRUMB END -->
<!-- THREAD ACTIONS START -->
@Umbraco.RenderMacro("ForumTopicActions")
<!-- THREAD ACTIONS END -->
<div class="clear"></div>
</div>
<!-- FORUM HEADER END -->
@Umbraco.RenderMacro("ForumThread")
</div>
</section>
@Umbraco.RenderMacro("ForumForm")
@@ -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;">
@Umbraco.RenderMacro("DocsBreadcrumb")
</div>
<div id="markdown-docs" class="markdown-syntax">
@Umbraco.RenderMacro("DocsDisplayMarkdown")
</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">
@Umbraco.RenderMacro("DocsNavigation")
</div><!-- .content-wrapper -->
</div><!-- .sidebar-content -->
</div><!-- .sidebar-area-->
<div class="main-area">
<div class="main-content">
<div class="content-wrapper">
<div>
@Umbraco.RenderMacro("DocsBreadcrumb")
</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">
@Umbraco.RenderMacro("DocsDisplayMarkdown")
</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>
+32
View File
@@ -0,0 +1,32 @@
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
}
<div class="page-content">
<div class="sidebar-area">
<div class="sidebar-content">
<div class="content-wrapper">
@Umbraco.RenderMacro("MemberProfileNavigation", new { source = "1057" })
</div><!-- .content-wrapper -->
</div><!-- .sidebar-content -->
</div><!-- .sidebar-area -->
<div class="main-area">
<div class="main-content">
<div class="content-wrapper">
@Umbraco.RenderMacro("Breadcrumb", new { linkToCurrent = "1" })
@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 -->
+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">
@Umbraco.RenderMacro("ForumForum")
</div>
</section>
@Umbraco.RenderMacro("ForumForm")
@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>
}
@@ -57,11 +57,71 @@
@if (Members.IsLoggedIn())
{
@Html.Partial("home/forumactivity")
@ForumActivity()
@TwitterSearch()
@Html.Partial("home/documentation")
}
else
{
@Html.Partial("home/documentation")
@Html.Partial("home/forumactivity")
@ForumActivity()
@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>
}
@@ -0,0 +1,18 @@
@inherits Umbraco.Web.Macros.PartialViewMacroPage
<script type="text/javascript">
$(document).ready(function () {
try {
$("#twitter-search").load("@Url.Action("TwitterSearchResult", "TwitterSearch", new { numberOfResults = 6 })");
}
catch (errTwitter) {
console.log("Couldn't load Twitter feed", errTwitter.message);
}
try {
$("#forum-activity").load("@Url.Action("LatestActivity", "LatestActivity", new { numberOfTopics = 6 })");
}
catch (errForum) {
console.log("Couldn't load latest forum activity", errForum.message);
}
});
</script>
@@ -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 @Umbraco.If(topic.Answer > 0, " solved")">
<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>
}
}
@@ -3,6 +3,7 @@
@using OurUmbraco.Forum.Extensions
@using OurUmbraco.Forum.Services
@using OurUmbraco.NotificationsWeb.Library
@using Umbraco.Core.Logging
@{
var topicService = new TopicService(ApplicationContext.DatabaseContext);
@@ -61,8 +62,17 @@
}
<ul class="comments">
@Html.Partial("forum/question", topic)
@{
try
{
@Html.Partial("forum/question", topic)
}
catch (Exception ex)
{
LogHelper.Error<string>(string.Format("~/Views/MacroPartials/Forum/Thread.cshtml - error rendering topic with id {0}", topic.Id), ex);
}
}
@foreach (var comment in topic.Comments.Where(x => x.ParentCommentId == 0))
{
@@ -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")
@@ -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")
@@ -10,5 +10,5 @@
<h4><a href="?category=@childPage.Name">@childPage.Name</a></h4>
</li>
}
<li><h4><a href="?category=uaas">Umbraco as a Service</a></h4></li>
<li><h4><a href="?category=uaas">Umbraco Cloud</a></h4></li>
</ul>
@@ -22,7 +22,7 @@
}
if (category != null)
{
headline = category == "uaas" ? "Umbraco as a Service" : category.ToLowerInvariant();
headline = category == "uaas" ? "Umbraco Cloud" : category.ToLowerInvariant();
}
var searchFilters = new SearchFilters(BooleanOperation.And);
@@ -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>
}
@@ -281,7 +281,7 @@
@if (currentMember != null && (currentMember.Id == owner.Id || contributors.Any(c => c.MemberId == currentMember.Id)))
{
<br/><br/>
<a href="/member/profile/projects/edit?id=@project.Id">Edit project</a>
<a href="/member/profile/projects/details?projectId=@project.Id">Edit project</a>
}
</div>
</div>
@@ -73,7 +73,7 @@
<optgroup label="@majorVersion.Key">
@foreach (var version in versions)
{
if (version.Key.ToString() == fromVersion.ToString())
if (fromVersion != null && version.Key.ToString() == fromVersion.ToString())
{
<option name="@version.Key" selected="selected" value="@version.Key">@version.Key</option>
}
@@ -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;
}
+187
View File
@@ -0,0 +1,187 @@
@using ClientDependency.Core.Mvc
@using Umbraco.Core.Configuration
@using Umbraco.Web.Security
@inherits UmbracoTemplatePage
@{
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 ms = new MembershipHelper(UmbracoContext.Current);
var member = ms.GetCurrentMember();
var memberIsBlocked = false;
if (member != null) { memberIsBlocked = member.GetPropertyValue<bool>("blocked"); }
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.0, maximum-scale=1.0, user-scalable=no">
<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>
@Umbraco.RenderMacro("Title")
</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>
@Umbraco.RenderMacro("MembersJsValues")
@Html.RenderCssHere()
<script>
var _prum = [['id', '529dbcf6abe53d055a000000'],
['mark', 'firstbyte', (new Date()).getTime()]];
(function () {
var s = document.getElementsByTagName('script')[0]
, p = document.createElement('script');
p.async = 'async';
p.src = '//rum-static.pingdom.net/prum.min.js';
s.parentNode.insertBefore(p, s);
})();
</script>
<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">
@Umbraco.RenderMacro("MembersQuickMenu")
<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">
@Umbraco.RenderMacro("NavigationTopNavigation")
</nav>
</div>
</div>
</div>
</header>
@{
if (memberIsBlocked == false)
{
@Umbraco.RenderMacro("GlobalAlertBar")
@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,92 @@
@inherits UmbracoViewPage<dynamic>
@using Umbraco.Web.Templates
@using Newtonsoft.Json.Linq
@*
Razor helpers located at the bottom of this file
*@
@if (Model != null && Model.sections != null)
{
var oneColumn = ((System.Collections.ICollection)Model.sections).Count == 1;
<div class="umb-grid">
@if (oneColumn)
{
foreach (var section in Model.sections) {
<div class="grid-section">
@foreach (var row in section.rows) {
@renderRow(row, true);
}
</div>
}
}else {
<div class="container-fluid">
<div class="row-fluid clearfix">
@foreach (var s in Model.sections) {
<div class="grid-section">
<div class="@("span" + s.grid) column">
@foreach (var row in s.rows) {
@renderRow(row, false);
}
</div>
</div>
}
</div>
</div>
}
</div>
}
@helper renderRow(dynamic row, bool singleColumn){
<div @RenderElementAttributes(row)>
@Umbraco.If(singleColumn, "<div class='container-fluid'>")
<div class="row-fluid clearfix">
@foreach ( var area in row.areas ) {
<div class="@("span" + area.grid) column">
<div @RenderElementAttributes(area)>
@foreach (var control in area.controls) {
if (control !=null && control.editor != null && control.editor.view != null ) {
<text>@Html.Partial("grid/editors/base", (object)control)</text>
}
}
</div>
</div>}
</div>
@Umbraco.If(singleColumn, "</div>")
</div>
}
@functions {
public static MvcHtmlString RenderElementAttributes(dynamic contentItem)
{
var attrs = new List<string>();
JObject cfg = contentItem.config;
if(cfg != null)
foreach (JProperty property in cfg.Properties())
{
var propertyValue = HttpUtility.HtmlAttributeEncode(property.Value.ToString());
attrs.Add(property.Name + "=\"" + propertyValue + "\"");
}
JObject style = contentItem.styles;
if (style != null) {
var cssVals = new List<string>();
foreach (JProperty property in style.Properties())
{
var propertyValue = property.Value.ToString();
if (string.IsNullOrWhiteSpace(propertyValue) == false)
{
cssVals.Add(property.Name + ":" + propertyValue + ";");
}
}
if (cssVals.Any())
attrs.Add("style='" + HttpUtility.HtmlAttributeEncode(string.Join(" ", cssVals)) + "'");
}
return new MvcHtmlString(string.Join(" ", attrs));
}
}
@@ -64,21 +64,29 @@
JObject cfg = contentItem.config;
if(cfg != null)
foreach (JProperty property in cfg.Properties()) {
attrs.Add(property.Name + "=\"" + property.Value.ToString() + "\"");
foreach (JProperty property in cfg.Properties())
{
var propertyValue = HttpUtility.HtmlAttributeEncode(property.Value.ToString());
attrs.Add(property.Name + "=\"" + propertyValue + "\"");
}
JObject style = contentItem.styles;
if (style != null) {
var cssVals = new List<string>();
foreach (JProperty property in style.Properties())
cssVals.Add(property.Name + ":" + property.Value.ToString() + ";");
if (style != null) {
var cssVals = new List<string>();
foreach (JProperty property in style.Properties())
{
var propertyValue = property.Value.ToString();
if (string.IsNullOrWhiteSpace(propertyValue) == false)
{
cssVals.Add(property.Name + ":" + propertyValue + ";");
}
}
if (cssVals.Any())
attrs.Add("style=\"" + string.Join(" ", cssVals) + "\"");
if (cssVals.Any())
attrs.Add("style=\"" + HttpUtility.HtmlAttributeEncode(string.Join(" ", cssVals)) + "\"");
}
return new MvcHtmlString(string.Join(" ", attrs));
}
}
@@ -0,0 +1,88 @@
@inherits UmbracoViewPage<dynamic>
@using Umbraco.Web.Templates
@using Newtonsoft.Json.Linq
@*
Razor helpers located at the bottom of this file
*@
@if (Model != null && Model.sections != null)
{
var oneColumn = ((System.Collections.ICollection)Model.sections).Count == 1;
<div class="umb-grid">
@if (oneColumn)
{
foreach (var section in Model.sections) {
<div class="grid-section">
@foreach (var row in section.rows) {
@renderRow(row);
}
</div>
}
}else {
<div class="row clearfix">
@foreach (var s in Model.sections) {
<div class="grid-section">
<div class="col-md-@s.grid column">
@foreach (var row in s.rows) {
@renderRow(row);
}
</div>
</div>
}
</div>
}
</div>
}
@helper renderRow(dynamic row){
<div @RenderElementAttributes(row)>
<div class="row clearfix">
@foreach ( var area in row.areas ) {
<div class="col-md-@area.grid column">
<div @RenderElementAttributes(area)>
@foreach (var control in area.controls) {
if (control !=null && control.editor != null && control.editor.view != null ) {
<text>@Html.Partial("grid/editors/base", (object)control)</text>
}
}
</div>
</div>}
</div>
</div>
}
@functions {
public static MvcHtmlString RenderElementAttributes(dynamic contentItem)
{
var attrs = new List<string>();
JObject cfg = contentItem.config;
if(cfg != null)
foreach (JProperty property in cfg.Properties())
{
var propertyValue = HttpUtility.HtmlAttributeEncode(property.Value.ToString());
attrs.Add(property.Name + "=\"" + propertyValue + "\"");
}
JObject style = contentItem.styles;
if (style != null) {
var cssVals = new List<string>();
foreach (JProperty property in style.Properties())
{
var propertyValue = property.Value.ToString();
if (string.IsNullOrWhiteSpace(propertyValue) == false)
{
cssVals.Add(property.Name + ":" + propertyValue + ";");
}
}
if (cssVals.Any())
attrs.Add("style='" + HttpUtility.HtmlAttributeEncode(string.Join(" ", cssVals)) + "'");
}
return new MvcHtmlString(string.Join(" ", attrs));
}
}
@@ -64,21 +64,29 @@
JObject cfg = contentItem.config;
if(cfg != null)
foreach (JProperty property in cfg.Properties()) {
attrs.Add(property.Name + "=\"" + property.Value.ToString() + "\"");
foreach (JProperty property in cfg.Properties())
{
var propertyValue = HttpUtility.HtmlAttributeEncode(property.Value.ToString());
attrs.Add(property.Name + "=\"" + propertyValue + "\"");
}
JObject style = contentItem.styles;
if (style != null) {
var cssVals = new List<string>();
foreach (JProperty property in style.Properties())
cssVals.Add(property.Name + ":" + property.Value.ToString() + ";");
if (style != null) {
var cssVals = new List<string>();
foreach (JProperty property in style.Properties())
{
var propertyValue = property.Value.ToString();
if (string.IsNullOrWhiteSpace(propertyValue) == false)
{
cssVals.Add(property.Name + ":" + propertyValue + ";");
}
}
if (cssVals.Any())
attrs.Add("style=\"" + string.Join(" ", cssVals) + "\"");
if (cssVals.Any())
attrs.Add("style=\"" + HttpUtility.HtmlAttributeEncode(string.Join(" ", cssVals)) + "\"");
}
return new MvcHtmlString(string.Join(" ", attrs));
}
}
@@ -1,5 +1,4 @@
@model dynamic
@using Umbraco.Web.Templates
@functions {
public static string EditorView(dynamic contentItem)
@@ -1,3 +1,2 @@
@model dynamic
@using Umbraco.Web.Templates
@Html.Raw(Model.value)
@@ -1,6 +1,4 @@
@inherits UmbracoViewPage<dynamic>
@using Umbraco.Web.Templates
@if (Model.value != null)
{
@@ -1,5 +1,4 @@
@model dynamic
@using Umbraco.Web.Templates
@if (Model.value != null)
{
@@ -4,10 +4,9 @@
@if (Model.editor.config.markup != null)
{
string markup = Model.editor.config.markup.ToString();
var UmbracoHelper = new UmbracoHelper(UmbracoContext.Current);
var umbracoHelper = new UmbracoHelper(UmbracoContext.Current);
markup = markup.Replace("#value#", UmbracoHelper.ReplaceLineBreaksForHtml(Model.value.ToString()));
markup = markup.Replace("#value#", umbracoHelper.ReplaceLineBreaksForHtml(HttpUtility.HtmlEncode(Model.value.ToString())));
markup = markup.Replace("#style#", Model.editor.config.style.ToString());
<text>
@@ -1,26 +0,0 @@
@inherits Umbraco.Web.Macros.PartialViewMacroPage
<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>
@Umbraco.RenderMacro("ForumLatestActivity")
<div class="col-md-12 goto-forum">
<a class="button green" href="/forum">Go to Forum &rarr;</a>
</div>
</div>
</div>
</section>
@@ -0,0 +1,40 @@
@using OurUmbraco.Forum.Extensions
@using OurUmbraco.Forum.Models
@model ReadOnlyTopic[]
@foreach (var topic in Model)
{
<a href="@topic.GetUrl()" class="forum-thread @(topic.Answer > 0 ? "solved": null)">
<div class="avatar">
@Html.Raw(topic.LastReplyAuthorAvatar)
</div>
<div class="meta">
<div class="forum-thread-text">
<h3>@topic.Title</h3>
<p>
@if (topic.Replies != 0 && !string.IsNullOrEmpty(topic.LastReplyAuthorName))
{
<text>last updated by @topic.LastReplyAuthorName</text>
}
else
{
<text>created by @topic.AuthorName</text>
}
@topic.Updated.ConvertToRelativeTime()
</p>
</div>
<div class="category">
<span class="cat">@topic.CategoryName</span>
</div>
</div>
</a>
}
@if (Model.Any() == false)
{
<h2>Could not load recent forum activity.</h2>
}
@@ -0,0 +1,25 @@
@using OurUmbraco.Forum.Extensions
@using Tweetinvi.Models
@model ITweet[]
@foreach (var tweet in Model)
{
<a href="@tweet.Url" class="forum-thread">
<div class="avatar">
<img src="@tweet.CreatedBy.ProfileImageUrl400x400.Replace("http://", "https://")" />
</div>
<div class="meta">
<div class="forum-thread-text">
<h3>@tweet.Text</h3>
<p>@tweet.CreatedAt.ConvertToRelativeTime() by @@@tweet.CreatedBy.UserIdentifier.ScreenName (@tweet.CreatedBy.Name)</p>
</div>
</div>
</a>
}
@if (Model.Any() == false)
{
<h2>Could not load recent tweets.</h2>
}
@@ -0,0 +1,49 @@
@using OurUmbraco.Our.Controllers
@using reCAPTCHA.MVC
@inherits UmbracoViewPage<Umbraco.Web.Models.LoginModel>
@{
Html.EnableClientValidation(true);
Html.EnableUnobtrusiveJavaScript(true);
}
@if (Request.QueryString["success"] == null)
{
<div class="form simpleForm" id="registrationForm">
@using (Html.BeginUmbracoForm<LoginController>("ForgotPassword"))
{
@Html.ValidationSummary(true)
@Html.AntiForgeryToken()
<fieldset>
<p>
@Html.LabelFor(m => m.Username, new { @cless = "inputLabel" })<br />
@Html.ValidationMessageFor(m => m.Username)
@Html.TextBoxFor(m => m.Username, new { @class = "email title" })
</p>
</fieldset>
<fieldset>
<p>
@Html.Recaptcha()
@Html.ValidationMessage("ReCaptcha")
</p>
</fieldset>
<input class="button green" type="submit" value="Retrieve password">
}
</div>
}
else
{
<p>If an account with that email exists you have just been sent instructions to reset your password.</p>
}
<style type="text/css">
.field-validation-error, .validation-summary-errors {
color: red;
}
.input-validation-error {
border-color: red !important;
}
</style>
@@ -0,0 +1,50 @@
@using OurUmbraco.Our.Controllers
@using reCAPTCHA.MVC
@inherits UmbracoViewPage<Umbraco.Web.Models.LoginModel>
@{
Html.EnableClientValidation(true);
Html.EnableUnobtrusiveJavaScript(true);
}
<div class="form simpleForm" id="registrationForm">
@using (Html.BeginUmbracoForm<LoginController>("Login"))
{
@Html.ValidationSummary(true)
@Html.AntiForgeryToken()
<fieldset>
<p>
@Html.LabelFor(m => m.Username, new { @class = "inputLabel" })<br />
@Html.ValidationMessageFor(m => m.Username)
@Html.TextBoxFor(m => m.Username, new { @class = "email title" })
</p>
</fieldset>
<fieldset>
<p>
@Html.LabelFor(m => m.Password, new { @class = "inputLabel" })<br />
@Html.ValidationMessageFor(m => m.Password)
@Html.PasswordFor(m => m.Password, new { @class = "password title" })
</p>
</fieldset>
<fieldset>
<p>
@Html.Recaptcha()
@Html.ValidationMessage("ReCaptcha")
</p>
</fieldset>
<input class="button green" type="submit" value="Log in">
}
</div>
<style type="text/css">
.field-validation-error, .validation-summary-errors {
color: red;
}
.input-validation-error {
border-color: red !important;
}
</style>
@@ -1,4 +1,5 @@
@using OurUmbraco.Our.Controllers
@using reCAPTCHA.MVC
@inherits UmbracoViewPage<OurUmbraco.Our.Models.RegisterModel>
@{
Html.EnableClientValidation(true);
@@ -60,6 +61,11 @@
@Html.CheckBoxFor(m => m.AgreeTerms) <label for="AgreeTerms"><em>I agree to the <a href="/terms-and-conditions" target="_blank">terms and conditions</a> of using the Our Umbraco website.</em></label>
@Html.ValidationMessageFor(m => m.AgreeTerms)
</div>
<div class="profile-input" id="recaptcha">
@Html.Recaptcha()
@Html.ValidationMessage("ReCaptcha")
</div>
<input class="button green" type="submit" value="Sign up">
}
@@ -0,0 +1,20 @@
@using OurUmbraco.Our.Controllers
@model OurUmbraco.Our.Models.ProjectCompleteModel
<div class="package-create">
@Html.Partial("~/Views/Partials/Project/PackageEditNavigation.cshtml", "complete")
@using(Html.BeginUmbracoForm<ProjectController>("UpdateProjectLive"))
{
<fieldset>
<legend>Make "@Model.Name" public</legend>
<p>By checking the following box your project will become public as long as you have met all of the terms &amp; conditions of listing.</p>
<p>
@Html.CheckBoxFor(m => m.ProjectLive) @Html.LabelFor(m => m.ProjectLive)
</p>
</fieldset>
<div class="buttons">
<input type="submit" value="Save" class="submitButton button tiny green">
</div>
}
</div>
@@ -31,17 +31,7 @@
</style>
<div class="package-create">
<ul class="stepNavigation">
<li class="current"><a href="/member/profile/projects/details/?projectId=@Model.Id">Package Details</a></li>
@if (Model.Id > 0)
{
<li class=""><a href="/member/profile/projects/edit?editorStep=files&id=@Model.Id">Package Files</a></li>
<li class=""><a href="/member/profile/projects/edit?editorStep=screenshots&id=@Model.Id">Screenshots</a></li>
<li class=""><a href="/member/profile/projects/edit?editorStep=complete&id=@Model.Id">Creation Complete</a></li>
}
</ul>
@Html.Partial("~/Views/Partials/Project/PackageEditNavigation.cshtml", "details")
<div class="form simpleForm" id="registrationForm">
@using (Html.BeginUmbracoForm<ProjectController>("SaveDetails"))
@@ -0,0 +1,143 @@
@using OurUmbraco.Our.Controllers
@model OurUmbraco.Our.Models.EditFileModel
<div class="package-create">
@Html.Partial("~/Views/Partials/Project/PackageEditNavigation.cshtml", "files")
<div class="form simpleForm" id="registrationForm">
<fieldset>
<legend>Current project files</legend>
<p>
<table class="dataTable">
<thead>
<tr>
<th>File</th>
<th>Type</th>
<th>Compatible Version</th>
<th>.NET Version</th>
<th>Uploaded</th>
<th class="center">Default Release</th>
<th class="center">Archive</th>
</tr>
</thead>
<tbody>
@foreach (var wikiFile in Model.AvailableFiles)
{
var versionsList = new List<string>();
foreach (var version in wikiFile.Versions)
{
versionsList.Add(version.Version);
}
var versions = string.Join(",", versionsList);
<tr>
<td>@wikiFile.Name</td>
<td>@wikiFile.FileType</td>
<td>@versions</td>
<td>@wikiFile.DotNetVersion</td>
<td>@wikiFile.CreateDate</td>
<td class="center">
@if (wikiFile.Current == false)
{
using (Html.BeginUmbracoForm<ProjectController>("MarkFileAsCurrent"))
{
<input type="hidden" name="id" value="@Request.QueryString["id"]" />
<input type="hidden" name="releaseFileId" value="@wikiFile.Id" />
<input type="submit" value="Make current" class="actionButton" />
}
}
else
{
<text>Current</text>
}
</td>
<td class="center">
@using (Html.BeginUmbracoForm<ProjectController>("ArchiveFile"))
{
var buttonText = wikiFile.Archived ? "Unarchive" : "Archive";
<input type="hidden" name="id" value="@Request.QueryString["id"]" />
<input type="hidden" name="releaseFileId" value="@wikiFile.Id" />
<input type="submit" value="@buttonText" class="actionButton" />
}
</td>
</tr>
}
</table>
</p>
</fieldset>
<fieldset>
<legend>Upload file</legend>
<div id="">
@using (Html.BeginUmbracoForm<ProjectController>("AddFile"))
{
<span style="color: red;">
@Html.ValidationSummary()
</span>
<div id="">
<p>
<label class="inputLabel">Pick file (10 MB max):</label>
</p>
<div>
<div>
<input type="file" class="title" name="UploadFile.File">
</div>
</div>
<p></p>
<p>
<label class="inputLabel">Choose filetype</label>
@Html.DropDownListFor(model => model.UploadFile.FileType, new List<SelectListItem>
{
new SelectListItem { Text = "Package", Value = "package" },
new SelectListItem { Text = "Hot Fix", Value = "hotfix"},
new SelectListItem { Text = "Documentation", Value = "docs"},
new SelectListItem { Text = "Source Code", Value = "source"}
})
</p>
<div class="pickversionWrapper">
<p id="pickVersion">
<label class="inputLabel">Choose umbraco version</label>
</p>
<div class="pickVersion" style="float: left; margin-bottom: 10px;">
@foreach (var item in Model.UploadFile.AvailableVersions)
{
var versionsSelected = Model.UploadFile.SelectedVersions;
<input type="checkbox" name="UploadFile.SelectedVersions" value="@item.Value" id="@item.Value" @if (versionsSelected != null && versionsSelected.Contains(item.Value)) { <text> checked="checked" </text> } /> <label for="@item.Value" style="display: inline; padding: 0;">@item.Text</label><br />
}
</div>
<p style="clear: both; margin-bottom: 10px;">If your package manifest references a specific version of Umbraco, then that will be used instead.</p>
</div>
<p id="pickNetVersion">
<label class="inputLabel">Choose supported .NET runtime</label>
<select name="UploadFile.DotNetVersion" class="title">
<option value=""></option>
<option value="2.0">2.0</option>
<option value="3.5">3.5</option>
<option value="4.0">4.0</option>
<option value="4.5">4.5</option>
<option value="4.5.1">4.5.1</option>
<option value="4.5.2">4.5.2</option>
<option value="4.6.0">4.6.0</option>
<option value="4.6.1">4.6.1</option>
</select><br>
</p>
<p>
<input type="hidden" name="UploadFile.ProjectId" value="@Request.QueryString["id"]" />
<input type="submit" value="Save file" class="submitButton button blue tiny">
</p>
</div>
}
<div class="buttons">
<a href="/member/profile/projects/edit/?editorStep=screenshots&id=@Request.QueryString["id"]" class="submitButton button green tiny" style="color: white;">Next</a>
</div>
</div>
</fieldset>
</div>
</div>
@@ -0,0 +1,87 @@
@using OurUmbraco.Our.Controllers
@model OurUmbraco.Our.Models.EditScreenshotModel
<div class="package-create">
@Html.Partial("~/Views/Partials/Project/PackageEditNavigation.cshtml", "screenshots")
<div class="form simpleForm" id="registrationForm">
<fieldset>
<legend>Current project files</legend>
<p>
<table class="dataTable">
<thead>
<tr>
<th>Image</th>
<th>Uploaded</th>
<th class="center">Default</th>
<th class="center">Delete</th>
</tr>
</thead>
<tbody>
@foreach (var wikiFile in Model.AvailableFiles)
{
<tr>
<td><img src="@wikiFile.Path?height=100" /></td>
<td>@wikiFile.CreateDate</td>
<td class="center">
@if (wikiFile.Current == false)
{
using (Html.BeginUmbracoForm<ProjectController>("MarkFileAsCurrent"))
{
<input type="hidden" name="id" value="@Request.QueryString["id"]" />
<input type="hidden" name="releaseFileId" value="@wikiFile.Id" />
<input type="submit" value="Make current" class="actionButton" />
}
}
else
{
<text>Current</text>
}
</td>
<td class="center">
@using (Html.BeginUmbracoForm<ProjectController>("DeleteScreenshot"))
{
<input type="hidden" name="id" value="@Request.QueryString["id"]" />
<input type="hidden" name="releaseFileId" value="@wikiFile.Id" />
<input type="submit" value="Delete" class="actionButton" />
}
</td>
</tr>
}
</table>
</p>
</fieldset>
<fieldset>
<legend>Upload file</legend>
<div id="">
@using (Html.BeginUmbracoForm<ProjectController>("AddScreenshot"))
{
<span style="color: red;">
@Html.ValidationSummary()
</span>
<div id="">
<p>
<label class="inputLabel">Pick file (10 MB max):</label>
</p>
<div>
<div>
<input type="file" class="title" name="UploadFile.File">
</div>
</div>
<p>
<input type="hidden" name="UploadFile.ProjectId" value="@Request.QueryString["id"]" />
<input type="submit" value="Save file" class="submitButton button blue tiny">
</p>
</div>
}
<div class="buttons">
<a href="/member/profile/projects/edit/?editorStep=complete&id=@Request.QueryString["id"]" class="submitButton button green tiny" style="color: white;">Next</a>
</div>
</div>
</fieldset>
</div>
</div>
@@ -0,0 +1,14 @@
@model string
@{
var projectId = Request["projectId"];
if (string.IsNullOrWhiteSpace(projectId))
{
projectId = Request["id"];
}
}
<ul class="stepNavigation">
<li class="@(Model == "details" ? "current" : null)" style="text-decoration: underline;"><a href="/member/profile/projects/details?projectId=@projectId">Package Details</a></li>
<li class="@(Model == "files" ? "current" : null)" style="text-decoration: underline;"><a href="/member/profile/projects/edit?editorStep=files&id=@projectId">Package Files</a></li>
<li class="@(Model == "screenshots" ? "current" : null)" style="text-decoration: underline;"><a href="/member/profile/projects/edit?editorStep=screenshots&id=@projectId">Screenshots</a></li>
<li class="@(Model == "complete" ? "current" : null)" style="text-decoration: underline;"><a href="/member/profile/projects/edit?editorStep=complete&id=@projectId">Creation Complete</a></li>
</ul>
@@ -66,11 +66,11 @@
<div class="versions">
@if (Model.WorksOnUaaS)
{
<span class="smiley joyous">Works on Umbraco as a Service</span>
<span class="smiley joyous">Works on Umbraco Cloud</span>
}
else
{
<span class="smiley untested">Untested or doesn't work on Umbraco as a Service</span>
<span class="smiley untested">Untested or doesn't work on Umbraco Cloud</span>
}
@foreach (var ver in Model.VersionCompatibilities)
{
@@ -0,0 +1,61 @@
@using OurUmbraco.MarketPlace.Interfaces
@using OurUmbraco.Project
@model OurUmbraco.Our.Models.MyProjectsModel
<div class="profile-settings">
<strong>My Packages</strong>
<div class="profile-settings-packages packages-content">
<a href="/member/profile/projects/details?projectId=" class="button green"><i class="icon-Add"></i>Add package</a>
@foreach (var project in Model.Projects)
{
@RenderProject(project)
}
<strong>Package Contributions</strong>
@foreach (var project in Model.ContribProjects)
{
@RenderProject(project)
}
</div>
</div>
@helper RenderProject(IListingItem project)
{
<div class="box liked">
<div class="row">
<div class="col-xs-2 col-md-1">
<img src="@(string.IsNullOrEmpty(project.DefaultScreenshot) ? "/css/img/package2.png" : project.DefaultScreenshot)?width=65&height=65" alt="">
</div>
<div class="col-xs-10 col-md-6">
<div class="forum-thread-text">
<h3><a href="@project.NiceUrl">@project.Name</a></h3>
<p>
@project.Description.StripHtmlAndLimit(45) ...
<br />
<a href="details?projectId=@project.Id">Edit</a>
<a href="manage-project-forums/?id=@project.Id">Forums</a>
<a href="manage-team/?id=@project.Id">Team</a>
</p>
</div>
</div>
<div class="col-xs-12 col-md-5">
<div class="other">
<div class="package-badge">
<span class="package-name">version</span>
<span class="package-number">@project.CurrentVersion</span>
</div>
<span class="stats">
<span class="downloads">
@project.Downloads<span><i class="icon-Download-alt"></i></span>
</span>
<span class="karma">
@project.Karma<span><i class="icon-Hearts"></i></span>
</span>
</span>
</div>
</div>
</div>
</div>
}
@@ -0,0 +1,94 @@
@using OurUmbraco.Our
@model OurUmbraco.Our.Models.SearchResultContentModel
<div class="plain">
<!-- search OVERVIEW START -->
<section class="search-results">
<div>
<!-- FORUM HEADER START -->
<div class="utilities">
<ul id="breadcrumb">
<li><a href="/" rel="nofollow">Our Umbraco</a></li>
<li><a href="#" rel="nofollow">Search</a></li>
<li><a href="#" rel="nofollow">@Model.Results.SearchTerm</a></li>
</ul>
</div>
@if (Context.IsDebuggingEnabled)
{
<div style="border: 1px solid orange;">
<p>
<strong>Debugging output</strong><br />
<strong>Query:</strong> @Model.Results.LuceneQuery<br />
<strong>Order by:</strong> @Model.Results.OrderBy<br />
<strong>Time elapsed:</strong> @Model.Results.Totalmilliseconds
</p>
</div>
}
<div class="search-big">
<asp:TextBox runat="server" ID="SearchText"></asp:TextBox>
<label for="SearchText">Search</label>
</div>
@if(Request.QueryString["cat"] == "forum") {
<div id="search-options" class="search-options">
<label>Sort by</label>
<div class="options">
<label class="checkbox">
<input type="checkbox" name="solved" />
<span></span>
<small>show only solved topics</small>
</label>
<label class="checkbox">
<input type="checkbox" name="replies" />
<span></span>
<small>show only topics with replies</small>
</label>
<label class="checkbox">
<input type="checkbox" name="order" value="updateDate" />
<span></span>
<small>show last updated first</small>
</label>
</div>
</div>
}
@if(Model.Results.SearchResults.Any() == false) {
<p class="message">No results</p>
}
<section>
@if(string.IsNullOrWhiteSpace(Model.Results.Category) == false) {
<h2 class="search-in">Results from category: @Model.Results.Category</h2>
}
<ul class="search-all-results docs-search-listing">
@foreach(var result in Model.Results.SearchResults) {
<li class="@result.SolvedClass()">
<a href="@result.FullUrl()">
<div class="type-icon">
<i class="<%=result.GetIcon() %>"></i>
</div>
<div class="type-context">
<div class="type-name">@result.GetTitle()</div>
<span class="type-datetime">@result.GetDate()</span>
<div class="type-description">@result.GenerateBlurb(300)</div>
</div>
</a>
</li>
}
</ul>
</section>
</div>
</section>
<!-- search OVERVIEW END -->
</div>
+31
View File
@@ -0,0 +1,31 @@
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
}
<div class="page-content">
<div id="overlay" class="overlay"></div>
<div class="sidebar-area">
<div class="sidebar-content">
<div class="content-wrapper">
@Umbraco.RenderMacro("MemberProfileNavigation", new { source = "1057" })
</div><!-- .content-wrapper -->
</div><!-- .sidebar-content -->
</div><!-- .sidebar-area -->
<div class="main-area">
<div class="main-content">
<div class="content-wrapper">
@Umbraco.RenderMacro("Breadcrumb", new { linkToCurrent = "1" })
@Html.Raw(Model.Content.GetPropertyValue<string>("bodyText"))
</div><!-- .content-wrapper -->
</div><!-- .main-content -->
</div><!-- .main-area -->
</div><!-- .page-content -->
+27
View File
@@ -0,0 +1,27 @@
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
}
<section class="plain">
<div>
<!-- FORUM HEADER START -->
<div class="utilities">
@Umbraco.RenderMacro("Breadcrumb", new { linkToCurrent = "0" })
<div class="clear"></div>
</div>
@Umbraco.RenderMacro("ProjectsProjectDetail")
</div>
</section>
@section EndScripts {
<script type="text/javascript">
(function () {
$(".fancybox")
.fancybox({
openEffect: 'none',
closeEffect: 'none',
padding: 0
});
})();
</script>
}
+21
View File
@@ -0,0 +1,21 @@
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
}
<div class="page-content">
<div class="sidebar-area">
<div class="sidebar-content">
<div class="content-wrapper">
@Umbraco.RenderMacro("MemberProfileNavigation", new { source = "1057" })
</div><!-- .content-wrapper -->
</div><!-- .sidebar-content -->
</div><!-- .sidebar-area -->
<div class="main-area">
<div class="main-content">
<div class="content-wrapper">
@Umbraco.RenderMacro("Breadcrumb", new { linkToCurrent = "1" })
@Html.Raw(Model.Content.GetPropertyValue<string>("bodyText"))
</div><!-- .content-wrapper -->
</div><!-- .main-content -->
</div><!-- .main-area -->
</div><!-- .page-content -->
+76
View File
@@ -0,0 +1,76 @@
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
}
<div class="page-content">
<div class="sidebar-area">
<div class="sidebar-content">
<div class="content-wrapper">
<nav>
<ul class="level-1">
<li class="filter-orderBy">
<h3>Projects</h3>
<ul class="level-2">
<li><h4><a href="?orderBy=updateDate">Updated projects</a></h4></li>
<li><h4><a href="?orderBy=popularity">Popular projects</a></h4></li>
</ul>
</li>
<li class="filter-version">
<h3>By Version</h3>
<ul class="level-2">
<li><h4><a href="?version=7">Version 7</a></h4></li>
<li><h4><a href="?version=6">Version 6</a></h4></li>
<li><h4><a href="?version=4">Version 4</a></h4></li>
</ul>
</li>
<li class="filter-category">
<h3>By Category</h3>
@Umbraco.RenderMacro("ProjectsListCategories")
</li>
</ul>
</nav>
</div><!-- .content-wrapper -->
</div><!-- .sidebar-content -->
</div><!-- .sidebar-area -->
<div class="main-area">
<div class="main-content">
<div class="content-wrapper">
<div>
@Umbraco.RenderMacro("Breadcrumb", new { linkToCurrent = "1" })
</div>
<div class="packages-content">
@Umbraco.RenderMacro("ProjectsListProjects")
</div>
</div><!-- .content-wrapper -->
</div><!-- .main-content -->
</div><!-- .main-area -->
</div><!-- .page-content -->
@section EndScripts
{
<script type="text/javascript">
function getUrlVars() {
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
var query = getUrlVars();
var filter = '.filter-' + query[0];
$(filter).addClass('open');
$('.level-1>li').on('click', function () {
$('.level-1>li').removeClass('open');
$(this).addClass('open');
});
</script>
}
@@ -0,0 +1,30 @@
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
}
<div class="has-sidebar">
<div class="page-content">
<div id="overlay" class="overlay"></div>
<div class="sidebar-area">
<div class="sidebar-content">
<div class="content-wrapper">
<nav>
<ul class="level-1">
<li class="">
<h3>Profile</h3>
</li>
</ul>
</nav>
</div><!-- .content-wrapper -->
</div><!-- .sidebar-content -->
</div><!-- .sidebar-area -->
<div class="main-area">
<div class="main-content">
<div class="content-wrapper">
@Umbraco.RenderMacro("Breadcrumb", new { linkToCurrent = "1" })
@Umbraco.RenderMacro("MembersPublicProfile")
</div><!-- .content-wrapper -->
</div><!-- .main-content -->
</div><!-- .main-area -->
</div><!-- .page-content -->
</div>
+363
View File
@@ -0,0 +1,363 @@
@using OurUmbraco.Release
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
var downloads = Model.Content.Children().Where(x => x.ContentType.Alias == "ReleaseDownload").ToArray();
if (Request.Params["fromdownload"] != null)
{
if (downloads.Any())
{
var downloadIds = new List<int>();
foreach (var item in downloads)
{
downloadIds.Add(item.Id);
}
Response.Redirect("/ReleaseDownload?id=" + downloadIds.First(), false);
}
}
var currentPage = UmbracoContext.Current.PublishedContentRequest.PublishedContent;
var allReleases = Release.GetAllReleaseFromFile();
var release = allReleases.First(x => x.version == currentPage.Name);
var completedIssues = release.issues.Count(x => x.state == "Fixed");
var totalIssues = release.issues.Count();
var percentComplete = Math.Round(((double)100 / totalIssues) * completedIssues);
var releaseDateParsed = DateTime.Now;
if (release.releaseDate != string.Empty)
{
releaseDateParsed = DateTime.Parse(release.releaseDate.Substring(3, 2) + "-" + release.releaseDate.Substring(0, 2) + "-" + release.releaseDate.Substring(6));
}
var releaseDate = release.releaseDate == "" ? "Not yet determined" : releaseDateParsed.ToString("dddd, MMMM d yyyy");
var umbracoHelper = new UmbracoHelper(UmbracoContext.Current);
var releaseContent = umbracoHelper.TypedContent(umbracoHelper.UmbracoContext.PageId);
if (releaseContent != null)
{
var overrideDescription = releaseContent.GetPropertyValue<bool>("overrideYouTrackDescription");
if (overrideDescription)
{
release.releaseDescription = releaseContent.GetPropertyValue<string>("bodyText");
}
var overrideReleaseDate = releaseContent.GetPropertyValue<string>("overrideYouTrackReleaseDate");
if (string.IsNullOrWhiteSpace(overrideReleaseDate) == false)
{
releaseDate = overrideReleaseDate;
}
}
}
<div class="has-sidebar release">
<div class="page-content">
<div class="sidebar-area">
<div class="sidebar-content">
<div class="content-wrapper">
<nav>
<ul class="level-1">
@foreach (var currentRelease in allReleases.Where(x => x.released && x.currentRelease))
{
<li>
<a class="active" href="/contribute/releases/@(currentRelease.version.Replace(".", string.Empty))"><h3>Latest Release - v@(currentRelease.version)</h3></a>
</li>
}
<li>
<a href="/contribute/progress"><h3>In Progress</h3></a>
</li>
<li>
<a href="/contribute/releases"><h3>All Releases</h3></a>
<ul class="level-2">
<li>
<a href=""><h4>Umbraco 7</h4></a>
</li>
<li>
<a href=""><h4>Umbraco 6</h4></a>
</li>
<li>
<a href=""><h4>Umbraco 4</h4></a>
</li>
</ul>
</li>
</ul>
</nav>
</div><!-- .content-wrapper -->
</div><!-- .sidebar-content -->
</div>
<div class="main-area">
<div class="main-content">
<div class="content-wrapper">
<div>
@Umbraco.RenderMacro("Breadcrumb", new { linkToCurrent = "1" })
</div>
<style>
.release-page .explain h2 {
margin-top: 12px;
font-size: 2em;
margin-bottom: .3rem;
color: rgba(0,0,0,.8);
}
.release-page .dot {
border: none;
}
.release-page .dot.big {
position: relative;
text-indent: 0;
margin: 15px auto 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;
}
</style>
<div class="row explain">
<div class="col-sm-2">
<span class="dot big progress">
<div class="chart" data-percent="percentComplete">
<p>@(percentComplete)%</p>
</div>
</span>
</div>
<div class="col-sm-10">
<h2>v@(Model.Content.Name)</h2>
<small>Status: <span>@(release.released ? "Released" : "In Progress")</span></small>
@if (release.released == false)
{
<h3>
<span>@(percentComplete)% complete</span>
<span>@(100 - percentComplete)% in progress</span>
</h3>
<h3>Target release date: <span style="color:#5B5B5B">@releaseDate</span></h3>
}
@if (Model.Content.HasValue("releaseNotes"))
{
<small><p>@Html.Raw(Model.Content.GetPropertyValue<string>("releaseNotes"))</p></small>
}
</div>
</div>
<div>
@{
var countIsOdd = ((downloads.Count() & 1) != 0) ? true : false;
if (downloads.Any())
{
<div class="get-release row">
@foreach (var item in downloads)
{
var background = item.IsFirst() ? "/images/releases/download.png" : "/media/2483095/download.png";
var width = (item.IsLast() && countIsOdd) ? 895 : 380;
var numberOfDownloads = item.GetPropertyValue<int>("numberOfDownloads");
numberOfDownloads = numberOfDownloads + OurUmbraco.Our.Utils.GetReleaseDownloadCount(item.Id);
if (item.Name.Contains("WebPI") == false)
{
<div class="release @(item.IsFirst() == false ? "bin" : "zip") col-sm-1">
<i class="icon-Download-alt"></i>
</div>
<div class="release @(item.IsFirst() == false ? "bin" : "zip") col-md-5">
<h3><a href="/ReleaseDownload?id=@item.Id" onclick="_gaq.push(['_trackEvent', 'Release', 'Download', '@item.Name']);">@item.Name</a></h3>
@if (item.IsFirst())
{
<p>This is the main Umbraco download, generally you won't need anything else.</p>
}
<small>Downloaded @numberOfDownloads times - uploaded @(item.GetPropertyValue<DateTime>("UploadDate").ToString("D"))</small>
</div>
}
else
{
<div style="display: none;"><a href="/ReleaseDownload?id=@item.Id" onclick="_gaq.push(['_trackEvent', 'Release', 'Download', '@item.Name']);">@item.Name</a></div>
}
}
</div>
}
}
<div class="row markdown-syntax">
<div class="col-md-5">
@if (release.releaseDescription != string.Empty && currentPage.HasValue("bodyText") == false)
{
<span>
<h2>Summary</h2>
<p><span>@Html.Raw(release.releaseDescription)</span></p>
</span>
}
@if (Model.Content.HasValue("bodyText"))
{
<h2>Release notes</h2>
@Html.Raw(Model.Content.GetPropertyValue<string>("bodyText"))
}
<h2>Related changes from the issue tracker</h2>
<div class="panel-wrapper">
<div class="panel-left">
<!-- Columns for statuses -->
<div class="statuses group">
<div class="status features">
<h3>Features</h3>
@{
var features = release.issues.Where(x => x.type.ToLowerInvariant().Contains("feature")).ToList();
if (features.Any())
{
foreach (var issue in features)
{
<ul>
<li class="@issue.StateIcon()" title="@issue.state">
<a href="http://issues.umbraco.org/issue/@issue.id" target="_blank">@issue.id - @issue.title</a>
</li>
</ul>
}
}
else
{
<p>No items to display</p>
}
}
</div>
<div class="status breaking">
<h3>Breaking Changes</h3>
@{
var breaking = release.issues.Where(x => x.breaking).ToList();
if (breaking.Any())
{
foreach (var issue in breaking)
{
<ul>
<li class="@issue.StateIcon()" title="@issue.state">
<a href="http://issues.umbraco.org/issue/@issue.id" target="_blank">@issue.id - @issue.title</a>
</li>
</ul>
}
}
else
{
<p>No items to display</p>
}
}
</div>
<div class="status issues">
<h3>Issues & Tasks</h3>
@{
var issues = release.issues.Where(x => x.breaking == false && x.type.ToLowerInvariant().Contains("feature") == false).ToList();
if (issues.Any())
{
foreach (var issue in issues)
{
<ul>
<li class="@issue.StateIcon()" title="@issue.state">
<a href="http://issues.umbraco.org/issue/@issue.id" target="_blank">@issue.id - @issue.title</a>
</li>
</ul>
}
}
else
{
<p>No items to display</p>
}
}
</div>
</div>
</div>
</div>
</div>
<div class="col-md-5 col-md-offset-2">
<h2>Getting started</h2>
<p>Make sure to give the <a href="http://our.umbraco.org/documentation/Installation/">installation instructions a read</a>.</p>
<p>
Check the <strong>free</strong> <a href="http://umbraco.tv/videos/umbraco-v7/implementor/">foundation videos</a> on how to get started building Umbraco sites. They're available from:<br />
<ul>
<li><a href="http://umbraco.tv/videos/umbraco-v7/implementor/fundamentals/installation/">Installation</a></li>
<li><a href="http://umbraco.tv/videos/umbraco-v7/implementor/fundamentals/document-types/">Document Types</a></li>
<li><a href="http://umbraco.tv/videos/umbraco-v7/implementor/fundamentals/templating/">Templating</a></li>
<li><a href="http://umbraco.tv/videos/umbraco-v7/implementor/fundamentals/stylesheets-and-javascript/">Stylesheets and Javascript</a></li>
</ul>
<h2>World's best community</h2>
<p>You'll find our über active community working hard to help each other at Our Umbraco: <a href="http://our.umbraco.org">http://our.umbraco.org</a></p>
<h2>Upgrading from older versions</h2>
<p>Make sure to read the <a href="http://our.umbraco.org/documentation/Installation/Upgrading/">upgrade instructions</a> before you attempt an upgrade.</p>
<h2>Found a bug?</h2>
<p>We're happy to help you with any problems you encounter, so please report them in <a href="http://issues.umbraco.org/issues/U4">the issue tracker</a> and use the “Affected versions” field to set it to @Model.Content.Name. <br />Do a search first though, if the issue already exists, give it an extra vote.</p>
@if (Model.Content.HasValue("linkToChangeset"))
{
<h2>Source code</h2>
<p>The source for <a href="@(Model.Content.GetPropertyValue<string>("linkToChangeset"))">this specific release is available for download from the repository</a> (click the "ZIP" button).</p>
}
@if (Model.Content.GetPropertyValue<bool>("hasNuGet"))
{
<h2>Also available on NuGet</h2>
<div class="nuget-badge">
<a href="https://nuget.org/packages/UmbracoCms/@Model.Content.Name">
<p><code>PM&gt; Install-Package UmbracoCms -Version @Model.Content.Name</code></p>
</a>
</div>
}
</div><!-- col-md-5 col-md-offset-2 -->
</div><!-- .row .markdown-syntax -->
</div>
</div><!-- .content-wrapper -->
</div><!-- .main-content -->
</div><!-- .main-area -->
</div><!-- .page-content -->
</div><!-- has-sidebar -->
@section EndScripts {
<script src="https://cdnjs.cloudflare.com/ajax/libs/easy-pie-chart/2.1.4/jquery.easypiechart.min.js"></script>
<script type="text/javascript">
setTimeout(function () {
$('.chart').easyPieChart({
size: 60,
barColor: '#569327',
scaleColor: false,
trackColor: '#daf0c9'
});
}, 300);
</script>
}
+190
View File
@@ -0,0 +1,190 @@
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
}
<div class="has-sidebar release">
<div class="page-content">
<div class="sidebar-area">
<div class="sidebar-content">
<div class="content-wrapper">
<nav>
<ul class="level-1">
<li>
<a href="/contribute/progress">
<h3>In Progress</h3>
</a>
</li>
<li class="active open">
<a href="/contribute/releases">
<h3>All releases</h3>
</a>
<ul class="level-2">
<li class="active">
<a href="/contribute/releases/compare">
<h4>Compare Versions</h4>
</a>
</li>
</ul>
</li>
</ul>
</nav>
</div> <!-- .content-wrapper -->
</div> <!-- .sidebar-content -->
</div>
<div class="main-area">
<div class="main-content">
<div class="content-wrapper">
<div>
@Umbraco.RenderMacro("Breadcrumb", new { linkToCurrent = "1" })
</div>
<style>
.release .explain {
margin-top: 20px;
border-bottom: 1px solid #eee;
border-top: 1px solid #eee;
}
.release .explain h2 {
margin-top: 12px;
font-size: 2em;
margin-bottom: .3rem;
color: rgba(0,0,0,.8);
}
.release .dot {
border: none;
}
.release .dot.big {
position: relative;
text-indent: 0;
margin: 15px !important;
float: left;
}
.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 .markdown-syntax a {
text-decoration: none;
}
.release .markdown-syntax a:hover {
text-decoration: underline;
}
.markdown-syntax.douh {
margin-top: 0 !important;
}
.release .chart {
height: 60px;
width: 60px;
top: inherit;
left: inherit;
text-align: center;
}
.release .chart p {
vertical-align: middle;
line-height: 2.7rem;
display: inline-block;
}
.release .chart canvas {
top: 0;
left: 0;
}
.release .chartDesc {
float: left;
position: relative;
line-height: 3.6em;
}
.release select {
border-radius: 0;
padding: 10px;
background-position: 95% center;
float: left;
}
.release .titles {
padding: 12px 15px;
font-size: .8rem;
text-transform: uppercase;
font-weight: 700;
letter-spacing: .5px;
}
.release .to {
margin-left: 20px;
margin-right: 20px;
}
.release .button {
float: right;
}
.explain .col-xs-12 {
min-height: 50px;
}
.error {
color: red !important;
}
</style>
<div class="container">
<div class="row markdown-syntax douh">
<div class="col-sm-12">
<h1>Compare Releases</h1>
@Umbraco.RenderMacro("ReleasesDropdown")
</div>
</div>
</div>
</div> <!-- .content-wrapper -->
</div> <!-- .main-content -->
</div> <!-- .main-area -->
</div> <!-- .page-content -->
</div> <!-- has-sidebar -->
@section EndScripts
{
<script src="https://cdnjs.cloudflare.com/ajax/libs/easy-pie-chart/2.1.4/jquery.easypiechart.min.js"></script>
<script type="text/javascript">
function offsetAnchor() {
if (location.hash.length !== 0) {
window.scrollTo(window.scrollX, window.scrollY - 120);
}
}
$(window).on("hashchange", function () {
offsetAnchor();
});
setTimeout(function () {
$('.chart').easyPieChart({
size: 60,
barColor: '#569327',
scaleColor: false,
trackColor: '#daf0c9'
});
offsetAnchor();
}, 300);
</script>
}
@@ -1,9 +1,4 @@
<%@ Master Language="C#" MasterPageFile="~/umbraco/masterpages/default.master" AutoEventWireup="true" %>
<asp:Content ContentPlaceHolderID="ContentPlaceHolderDefault" runat="server">
<umbraco:Macro runat="server" language="cshtml">
@using umbraco.BusinessLogic
@using umbraco.BusinessLogic
@{
int docId;
if (int.TryParse(Request["id"], out docId))
@@ -13,7 +8,7 @@
docId = 111983;
}
var umbracoHelper = new Umbraco.Web.UmbracoHelper(Umbraco.Web.UmbracoContext.Current);
var umbracoHelper = new UmbracoHelper(UmbracoContext.Current);
var content = umbracoHelper.TypedContent(docId);
if (content != null)
@@ -21,7 +16,7 @@
var link = content.GetProperty("downloadLink").Value.ToString().Trim();
var currentMember = 0;
var memberShipHelper = new Umbraco.Web.Security.MembershipHelper(Umbraco.Web.UmbracoContext.Current);
var memberShipHelper = new Umbraco.Web.Security.MembershipHelper(UmbracoContext.Current);
var member = memberShipHelper.GetCurrentMember();
if (member != null)
@@ -29,10 +24,12 @@
currentMember = member.Id;
}
Application.SqlHelper.ExecuteNonQuery(
@"insert into projectDownload(projectId,memberId,timestamp) values(@id, @memberId, getdate())",
Application.SqlHelper.CreateParameter("@id", docId),
Application.SqlHelper.CreateParameter("@memberId", currentMember));
using (var sqlHelper = Application.SqlHelper)
{
sqlHelper.ExecuteNonQuery(@"insert into projectDownload(projectId,memberId,timestamp) values(@id, @memberId, getdate())",
sqlHelper.CreateParameter("@id", docId),
sqlHelper.CreateParameter("@memberId", currentMember));
}
Response.Redirect(link, false);
}
@@ -43,8 +40,4 @@
return;
}
}
}
</umbraco:Macro>
</asp:Content>
}
@@ -0,0 +1,54 @@
@using OurUmbraco.Release
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
var allReleases = Release.GetAllReleaseFromFile();
}
<div class="has-sidebar">
<!-- Apply to body -->
<div class="page-content">
<div class="sidebar-area">
<div class="sidebar-content">
<div class="content-wrapper">
<nav>
<ul class="level-1">
@foreach (var currentRelease in allReleases.Where(x => x.released && x.currentRelease))
{
<li>
<a class="active" href="/contribute/releases/@(currentRelease.version.Replace(".", string.Empty))">
<h3>Latest Release - v@(currentRelease.version)</h3>
</a>
</li>
}
<li>
<a href="/contribute/progress"><h3>In Progress</h3></a>
</li>
<li class="active open">
<a href="/contribute/releases"><h3>All releases</h3></a>
<ul class="level-2">
<li>
<a href="/contribute/releases/compare"><h4>Compare Versions</h4></a>
</li>
</ul>
</li>
</ul>
</nav>
</div><!-- .content-wrapper -->
</div><!-- .sidebar-content -->
</div>
<div class="main-area">
<div class="main-content">
<div class="content-wrapper">
<div>
@Umbraco.RenderMacro("Breadcrumb", new { linkToCurrent = "1" })
</div>
<!-- <div class="markdown-syntax"><div data-bind="template: { name: 'releases-template', foreach: currentReleases }"></div></div>-->
<div class="markdown-syntax">
@Umbraco.RenderMacro("ReleasesAllReleases")
</div>
</div><!-- .content-wrapper -->
</div><!-- .main-content -->
</div><!-- .main-area -->
</div><!-- .page-content -->
</div>
@@ -0,0 +1,171 @@
@using OurUmbraco.Release
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
var allReleases = Release.GetAllReleaseFromFile();
var inProgress = allReleases.Where(x => x.inProgressRelease).ToList();
var umbracoHelper = new UmbracoHelper(UmbracoContext.Current);
var currentPage = umbracoHelper.TypedContent(umbracoHelper.UmbracoContext.PageId);
var releaseLanding = currentPage.Parent.Children().FirstOrDefault(x => x.ContentType.Alias == "ReleaseLanding");
}
<div class="has-sidebar">
<div class="page-content">
<div class="sidebar-area">
<div class="sidebar-content">
<div class="content-wrapper">
<nav>
<ul class="level-1">
@foreach (var currentRelease in allReleases.Where(x => x.released && x.currentRelease))
{
<li>
<a class="active" href="/contribute/releases/@(currentRelease.version.Replace(".", string.Empty))">
<h3>Latest Release - v@(currentRelease.version)</h3>
</a>
</li>
}
<li class="active open">
<a href="/contribute/progress">
<h3>In Progress</h3>
</a>
<ul class="level-2">
@foreach (var release in inProgress)
{
<li>
<a href="/contribute/releases/@(release.version.Replace(".", string.Empty))">
<h4>v@(release.version)</h4>
</a>
</li>
}
</ul>
</li>
<li>
<a href="/contribute/releases">
<h3>All Releases</h3>
</a>
</li>
</ul>
</nav>
</div>
<!-- .content-wrapper -->
</div>
<!-- .sidebar-content -->
</div>
<div class="main-area">
<div class="main-content">
<div class="content-wrapper">
<div style="margin-top: 25px;">
<umbraco:Macro linkToCurrent="1" Alias="Breadcrumb" runat="server"></umbraco:Macro>
</div>
<div class="markdown-syntax">
<h1>In progress</h1>
<p><em>Versions of Umbraco currently in production</em></p>
</div>
<!-- #markdown-docs -->
<div class="releaseTable row">
@foreach (var release in inProgress)
{
var completedIssues = release.issues.Count(x => x.state == "Fixed");
var totalIssues = release.issues.Count();
var percentComplete = Math.Round(((double)100 / totalIssues) * completedIssues);
var releaseDateParsed = DateTime.Now;
if (release.releaseDate != string.Empty)
{
releaseDateParsed = DateTime.Parse(release.releaseDate.Substring(3, 2) + "-" + release.releaseDate.Substring(0, 2) + "-" + release.releaseDate.Substring(6));
}
var releaseDate = release.releaseDate == "" ? "Not yet determined" : releaseDateParsed.ToString("dddd, MMMM d yyyy");
IPublishedContent releaseContent = null;
if (releaseLanding != null)
{
releaseContent = releaseLanding.Children().FirstOrDefault(x => x.Name.ToLowerInvariant() == release.version.ToLowerInvariant());
if (releaseContent != null)
{
var overrideDescription = releaseContent.GetPropertyValue<bool>
("overrideYouTrackDescription");
if (overrideDescription)
{
release.releaseDescription = releaseContent.GetPropertyValue<string>
("bodyText");
}
var overrideReleaseDate = releaseContent.GetPropertyValue<string>
("overrideYouTrackReleaseDate");
if (string.IsNullOrWhiteSpace(overrideReleaseDate) == false)
{
releaseDate = overrideReleaseDate;
}
}
}
<div class="inprogress">
<div class="col-xs-3">
<span class="dot big progress">
<div class="chart" data-percent="@percentComplete">
<div class="percentage">@(percentComplete)%</div>
</div>
<span class="line v-line top" style="@(release == inProgress.First() == false ? " display: block;" : null)"></span>
<span class="line v-line"></span>
<span class="line h-line"></span>
</span>
<span class="dot small">
<span class="line v-line" style="@(release == inProgress.Last() == false ? " display: block;" : null)"></span>
<span class="line h-line"></span>
</span>
</div>
<div class="col-xs-9">
<div class="row explain">
<div class="col-xs-12">
<h4 class="text-right"><a href="/contribute/releases/@(release.version.Replace(".",""))">v@(release.version)</a></h4>
<small><span>@Html.Raw(release.releaseDescription)</span></small>
</div>
<div class="col-xs-6">
<div class="changes">
<small>Features: <span>@(release.issues.Count(x => x.type.ToLowerInvariant().Contains("feature")))</span></small>
<small>Issues: @(release.issues.Count(x => x.type.ToLowerInvariant().Contains("feature") == false && x.breaking == false))<span></span></small>
<small>Breaking changes: <span>@(release.issues.Count(x => x.breaking))</span></small>
</div>
</div>
<div class="col-xs-6">
<div class="changes">
<small>Release date:</small>
<small>@releaseDate</small>
</div>
</div>
</div>
</div>
</div>
}
</div>
</div>
<!-- .content-wrapper -->
</div>
<!-- .main-content -->
</div>
<!-- .main-area -->
</div>
<!-- .page-content -->
</div>
@section EndScripts {
<script src="https://cdnjs.cloudflare.com/ajax/libs/easy-pie-chart/2.1.4/jquery.easypiechart.min.js"></script>
<script type="text/javascript">
setTimeout(function () {
$('.chart').easyPieChart({
size: 60,
barColor: '#569327',
scaleColor: false,
trackColor: '#daf0c9'
});
}, 300);
</script>
}
+20
View File
@@ -0,0 +1,20 @@
@inherits UmbracoTemplatePage
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Umbraco Package Repository</title>
<link href="/umbraco_client/ui/default.css" type="text/css" rel="stylesheet" />
<link href="/umbraco_client/panel/style.css" type="text/css" rel="stylesheet" />
<link href="/css/repository.css" type="text/css" rel="stylesheet" />
</head>
<body>
<div id="TheForm">
<div id="table1" class="propertyPane guiDialogNormal">
<div class="propertyContent">
@Umbraco.RenderMacro("Repository")
</div>
</div>
</div>
</body>
</html>
@@ -0,0 +1,9 @@
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/RepositoryMaster.cshtml";
}
@Umbraco.RenderMacro("Repository-PopularPackages")
<div id="repoForm">
<h3>Log in using your our.umbraco.org credentials</h3>
@Umbraco.RenderMacro("MemberLogin", new { NextPage = "30186", ErrorMessage = "Unknown Login" })
</div>
@@ -0,0 +1,84 @@
@inherits UmbracoTemplatePage
@inherits UmbracoTemplatePage
@{
HttpContext.Current.Response.AddHeader("p3p", "CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");
}<!DOCTYPE html>
<html>
<head>
<title>Umbraco Package Repository</title>
<link href="/css/repo-styles.css" type="text/css" rel="stylesheet" />
<link href="/css/qtip2.css" type="text/css" rel="stylesheet" />
<script type="text/javascript">
var _callback = '@(Request.QueryString["callback"])';
var _qs = '@(Request.RawUrl.Substring( Request.RawUrl.IndexOf('?')+1 ))';
</script>
<script type="text/javascript" src="/scripts/libs/jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="https://ajax.microsoft.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script>
<script type="text/javascript" src="/scripts/repo/typewatch.js"></script>
<script type="text/javascript" src="/scripts/libs/qtip2.js"></script>
<!-- packagetips -->
<script type="text/javascript" src="/scripts/repo/packageTips.js"></script>
<script type="text/javascript" src="/scripts/repo/repoSearch.js"></script>
<script id="search-result" type="text/x-jquery-tmpl">
<li class="clearfix">
<div class="deliPackage">
<div class="brief">
{{if Fields.image == null}}
<a href="/repo_viewproject?@(Request.RawUrl.Substring( Request.RawUrl.IndexOf('?')+1 ))&project_id={{= Id}}" class="packageIcon" style="background: url(/css/img/package2.png?bgcolor=fff&amp;width=50&amp;height=50&amp;format=png;) no-repeat top left;">
Package
</a>
{{/if}}
{{if Fields.image != null}}
<a href="/repo_viewproject?@(Request.RawUrl.Substring( Request.RawUrl.IndexOf('?')+1 ))&project_id={{= Id}}" class="packageIcon" style="background: url({{= Fields.image}}?bgcolor=fff&amp;width=50&amp;height=50&amp;format=png;) no-repeat top left;">
Package
</a>
{{/if}}
<h3>
<a href="/repo_viewproject?@(Request.RawUrl.Substring( Request.RawUrl.IndexOf('?')+1 ))&project_id={{= Id}}">{{= Fields.nodeName}}</a>
</h3>
<div class="category">
{{= Fields.category}}
</div>
<div class="commercialIndicator free">
{{= Fields.listingType}}
</div>
</div>
<div class="hiLite">
<p>
<a href="/repo_viewproject?@(Request.RawUrl.Substring( Request.RawUrl.IndexOf('?')+1 ))&project_id={{= Id}}" title="{{= Fields.nodeName}}" rel="{{= Fields.uniqueId}}">{{= Fields.body}}</a>
</p>
</div>
<div class="popularity">
<div class="karma">
{{= Fields.karma}} <small>Karma</small>
</div>
<div class="downloads">
{{= Fields.downloads}} <small>Downloads</small>
</div>
</div>
</div>
</li>
</script>
@RenderSection("head", false)
</head>
<body>
<form runat="server">
<div id="TheForm">
<div id="search">
<div><input type="text" id="search-field" value="Search..." /><!-- <em>or</em> <a href="#">browse</a>--></div>
</div>
<div id="body">
<ul class="projects" id="search-result-holder" style="display: none;"></ul>
<div id="search-no-results">
<h3>No luck!</h3>
<p>There's no project that matches <strong><span id="search-query"></span></strong>.</p>
<p>Maybe it doesn't exist, maybe it hasn't been approved yet. After all, it does take community kudos from at least 15 people to make it inside this repository</p>
</div>
<div id="repo-content">
@RenderBody()
</div>
</div>
</div>
</form>
</body>
</html>
@@ -0,0 +1,18 @@
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/RepositoryMaster.cshtml";
}
@section head
{
<link rel="stylesheet" type="text/css" href="/css/shadowbox.css" />
<script type="text/javascript" src="/scripts/shadowbox/shadowbox.js"></script>
<script type="text/javascript">
Shadowbox.init({ overlayColor: '#000000', overlayOpacity: '0.7', onFinish: addClickClose });
function addClickClose() {
$('#sb-content').unbind('click').click(function () { Shadowbox.close(); });
}
</script>
}
@Umbraco.Field("bodyText")
+143
View File
@@ -0,0 +1,143 @@
@using OurUmbraco.Release
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
if (Request.Url != null && (Request.Url.AbsolutePath.ToLowerInvariant() == "/roadmap/" || Request.Url.AbsolutePath.ToLowerInvariant() == "/roadmap"))
{
var newUrl = Request.Url.AbsoluteUri.Replace("/roadmap", "/contribute/roadmap");
Response.Redirect(newUrl, true);
}
var roadmap = Roadmap.GetRoadmapReleasesFromFile();
var umbracoHelper = new UmbracoHelper(UmbracoContext.Current);
var currentPage = umbracoHelper.TypedContent(umbracoHelper.UmbracoContext.PageId);
var releaseLanding = currentPage.Parent.Children().FirstOrDefault(x => x.ContentType.Alias == "ReleaseLanding");
var title = Model.Content.Name;
var altHeadline = Model.Content.GetPropertyValue<string>("alternativeHeadline");
if (string.IsNullOrWhiteSpace(altHeadline) == false)
{
title = altHeadline;
}
}
<style>
.chart canvas {
top: -3px;
position: absolute;
left: -3px;
}
</style>
<div class="subpage wrapper">
<div>
@Umbraco.RenderMacro("Breadcrumb")
</div>
<div class="markdown-syntax">
<h1>@title</h1>
@Html.Raw(Model.Content.GetPropertyValue<string>("bodyText"))
<h2>Planned Releases:</h2>
</div>
@foreach (var release in roadmap.OrderBy(x => x.version))
{
var completedIssues = release.issues.Count(x => x.state == "Fixed");
var totalIssues = release.issues.Count();
var percentComplete = Math.Round(((double)100 / totalIssues) * completedIssues);
var releaseDateParsed = DateTime.Now;
if (release.releaseDate != string.Empty)
{
releaseDateParsed = DateTime.Parse(release.releaseDate.Substring(3, 2) + "-" + release.releaseDate.Substring(0, 2) + "-" + release.releaseDate.Substring(6));
}
var releaseDate = release.releaseDate == "" ? "Not yet determined" : releaseDateParsed.ToString("dddd, MMMM d yyyy");
IPublishedContent releaseContent = null;
if (releaseLanding != null)
{
releaseContent = releaseLanding.Children().FirstOrDefault(x => string.Equals(x.Name, release.version, StringComparison.InvariantCultureIgnoreCase));
if (releaseContent != null)
{
var overrideDescription = releaseContent.GetPropertyValue<bool>("overrideYouTrackDescription");
if (overrideDescription)
{
release.releaseDescription = releaseContent.GetPropertyValue<string>("bodyText");
}
var overrideReleaseDate = releaseContent.GetPropertyValue<string>("overrideYouTrackReleaseDate");
if (string.IsNullOrWhiteSpace(overrideReleaseDate) == false)
{
releaseDate = overrideReleaseDate;
}
}
}
<div class="releaseListing">
<div class="plannedreleases">
<div class="row" style="margin-top: 50px; margin-bottom: 50px;">
<div class="col-xs-3">
<span class="dot big progress">
<div class="chart" data-percent="@percentComplete">
<div class="percentage">@(percentComplete)%</div>
</div>
<span class="line v-line"></span>
<span class="line h-line"></span>
</span>
<span class="dot small">
<span class="line v-line"></span>
<span class="line h-line"></span>
</span>
<span class="dot small">
<span class="line h-line"></span>
</span>
</div>
<div class="col-xs-9">
<div class="row explain">
<div class="col-xs-12">
<h4 class="text-right"><a href="/contribute/releases/@(release.version.Replace(".",""))">v@(release.version)</a></h4>
<small><span>release.releaseDescription</span></small>
</div>
<div class="col-xs-6">
<div class="changes">
<small>Features: <span>@release.issues.Count(x => x.type.ToLowerInvariant().Contains("feature"))</span></small>
<small>Issues: @release.issues.Count(x => x.type.ToLowerInvariant().Contains("feature") == false && x.breaking == false)<span></span></small>
<small>Breaking changes: <span>@release.issues.Count(x => x.breaking)</span></small>
</div>
</div>
<div class="col-xs-6">
<div class="changes">
<small>Release date:</small>
<small>@releaseDate</small>
</div>
</div>
<div class="col-xs-12" style="min-height: initial">
<h1 style="margin-top: 11px; margin-bottom: 30px; font-size: 1.4rem;">Planned features:</h1>
</div>
<div class="issues">
@foreach (var issue in release.issues.Where(x => x.type.ToLowerInvariant().Contains("feature")))
{
<div class="col-sm-6" style="min-height: initial">
<div class="@issue.state.Replace(" ", string.Empty)">
<a href="http://issues.umbraco.org/issue/@issue.id" target="_blank"><small>@issue.id @issue.title</small></a>
</div>
</div>
}
</div>
</div>
</div>
</div>
</div>
</div>
}
</div>
@section EndScripts
{
<script src="https://cdnjs.cloudflare.com/ajax/libs/easy-pie-chart/2.1.4/jquery.easypiechart.min.js"></script>
<script type="text/javascript">
setTimeout(function () {
$('.chart').easyPieChart({
size: 60,
barColor: '#569327',
scaleColor: false,
trackColor: '#daf0c9'
});
}, 300);
</script>
}
+10
View File
@@ -0,0 +1,10 @@
@using OurUmbraco.Our.Models
@inherits UmbracoTemplatePage
@{
Layout = "~/Views/Master.cshtml";
}
<div class="plain">
<!-- search OVERVIEW START -->
@Html.Action("Render", "Search")
<!-- search OVERVIEW END -->
</div>

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