Compare commits
485 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 89bb8eb3f4 | |||
| 6bc5fcad99 | |||
| 04bcf16d33 | |||
| 76752f9bd8 | |||
| 29d5d293c4 | |||
| c66e9d208b | |||
| 7808a20be7 | |||
| 463ebcaa66 | |||
| 2fe55431a0 | |||
| 0a59d09d81 | |||
| 9c4d1baa52 | |||
| 7ebb26840f | |||
| ab3603318a | |||
| ac33beeba9 | |||
| 87a65f0416 | |||
| 25903c34c6 | |||
| 85b7243186 | |||
| 61cbdeb96b | |||
| 8ab087b23f | |||
| e39043af44 | |||
| 2465d4ceb8 | |||
| 8bf89fdf37 | |||
| 89f6f60c96 | |||
| 1572080976 | |||
| 03de29ebd9 | |||
| 055aea9334 | |||
| 06d31b36a6 | |||
| 440084e832 | |||
| 7abe6161d6 | |||
| 576b1bcf2e | |||
| 593d0c31fa | |||
| 09ed061c9b | |||
| 9b67f4cebf | |||
| b8571f56a6 | |||
| 55b2bcae63 | |||
| 1331c2200e | |||
| 3a27201bed | |||
| 9a03d09c04 | |||
| ad900861da | |||
| 9f127239ec | |||
| ae555f4130 | |||
| 0c25c1529d | |||
| efc11c1f40 | |||
| eabe640ebf | |||
| d9de0447f5 | |||
| 25858eb870 | |||
| dfb728655f | |||
| 614c4f2d36 | |||
| 91d3c6c717 | |||
| b235ed168a | |||
| b9d5354cc7 | |||
| 768525a0c7 | |||
| 829693c410 | |||
| a16c9f1c6c | |||
| 6242eed778 | |||
| 284ca67dd3 | |||
| 706c793cc2 | |||
| 9799071d04 | |||
| 492a3e5a8d | |||
| c6de48c8e2 | |||
| aea3c0a696 | |||
| 2fcd7f3911 | |||
| 8c6f03f257 | |||
| 8a24fc60ca | |||
| 1beedba67d | |||
| 16233f4856 | |||
| c662620791 | |||
| 1abb97bdc7 | |||
| 4e2634c116 | |||
| 2c93b5fc13 | |||
| fe83cfa408 | |||
| 59c1485697 | |||
| d68e0e54b5 | |||
| 55daf57e21 | |||
| 7d37c7aa2a | |||
| 3ec24fa6f1 | |||
| 70650eff6a | |||
| baebd73f19 | |||
| 11f9219419 | |||
| 5f12eec438 | |||
| 385c767a48 | |||
| 905a938444 | |||
| 922be55356 | |||
| 9d54458280 | |||
| 481afb0a8f | |||
| ebedf63c71 | |||
| 25fc105257 | |||
| 8848e04019 | |||
| a0d9c0006d | |||
| 0bd31c3fe0 | |||
| aa77ddd60f | |||
| d78cd42797 | |||
| b183f452d2 | |||
| 516a8446cd | |||
| 0130399d7b | |||
| 1bf0d66b7a | |||
| 068005dc16 | |||
| d673877e4e | |||
| 68979fb8d3 | |||
| 3181d73986 | |||
| 825b02fb83 | |||
| d25e6452fe | |||
| b3205b0904 | |||
| 080b0d81a4 | |||
| daf680e5d0 | |||
| 5657249422 | |||
| fce9f0602e | |||
| 07c7eac0cd | |||
| a40061c279 | |||
| 4decadcc5e | |||
| 64d3fea196 | |||
| 1cec98dd5e | |||
| cd7c4d3eb1 | |||
| d813d260d5 | |||
| d19ecb113b | |||
| 7ed1faabc5 | |||
| 58e5221f1b | |||
| 7830af9dda | |||
| bb491d0ac4 | |||
| 94b5533322 | |||
| 9845fe0f76 | |||
| 17c29d9749 | |||
| a0380f652e | |||
| 8e9bafd0d7 | |||
| 05d9e27428 | |||
| 85ab0bd867 | |||
| a11dd3f3ca | |||
| a66f816a92 | |||
| 50f0bbe96e | |||
| f11ff8d1c8 | |||
| 916a5dc065 | |||
| 6fd1237caf | |||
| 0dc9d00446 | |||
| 85ac193e29 | |||
| a81a3556f9 | |||
| c99713df3c | |||
| c7ac4e1392 | |||
| 43878374ae | |||
| 0aefcab298 | |||
| 76f41e069a | |||
| abc21a695b | |||
| ee0817f7dc | |||
| dea0615406 | |||
| 5ead7280a3 | |||
| b35c2a4b49 | |||
| 35f6de1686 | |||
| 0598124f67 | |||
| 8eda3b367f | |||
| 90efdfd27e | |||
| afc93fb593 | |||
| 2247141efd | |||
| 3514d765a6 | |||
| fe254ea99f | |||
| 4054ed9c30 | |||
| 1c63409ce5 | |||
| 7ba2060238 | |||
| b3b01021d7 | |||
| e8565650e4 | |||
| fd12775e86 | |||
| d11559a25c | |||
| 589ef5856d | |||
| d4a4c43383 | |||
| edde33de47 | |||
| 705b8ec6a6 | |||
| a9435022d5 | |||
| 3db55ad139 | |||
| d140fa49c1 | |||
| e45b66fb80 | |||
| 3507f37d74 | |||
| b029976f54 | |||
| 17c9e49341 | |||
| 620e047b6f | |||
| f680cdcee2 | |||
| 13bfa46c01 | |||
| f8be8641f7 | |||
| 01a33d883c | |||
| e3eaff1edf | |||
| 1c71708c5f | |||
| 1b12cb345b | |||
| 19ffe50215 | |||
| 30add3077b | |||
| 9ef5c88bfa | |||
| dd00a5d202 | |||
| 4b49b0d52d | |||
| c50775d788 | |||
| 3160a81b68 | |||
| b5dcb8704f | |||
| 070e26f984 | |||
| 77fff6978f | |||
| 57613b8a75 | |||
| b0c15d2841 | |||
| 229a1a5d91 | |||
| 6dab6dc9ca | |||
| a79b55e66b | |||
| fe8242c26b | |||
| bc739d8b44 | |||
| 42b7d25838 | |||
| 885f4ff836 | |||
| 6e1797537f | |||
| d5761dbcd1 | |||
| 9707c06d1b | |||
| 8040e55a87 | |||
| 755281570b | |||
| 78c327e3f3 | |||
| 1e5a959f25 | |||
| e1529e7f8f | |||
| 47123a7d0a | |||
| a0f27739b7 | |||
| c806b10f95 | |||
| a66a6e2f63 | |||
| 1b362dd1cb | |||
| 93474811f1 | |||
| 6f50fad596 | |||
| 538834dcc3 | |||
| 389ddaabb7 | |||
| c7d2d53902 | |||
| 367a98be56 | |||
| 2128fb883a | |||
| efa0659742 | |||
| 729da39c87 | |||
| 7e82ea86ec | |||
| ddac31b8bc | |||
| 491b5527ae | |||
| e63a9d4b16 | |||
| 6dac0ad4e8 | |||
| 19a737a770 | |||
| c083576ef3 | |||
| 82ba42b1aa | |||
| f39bbc2979 | |||
| f04cf5bb40 | |||
| 12727c7a50 | |||
| 22a382ddad | |||
| 4e00102bad | |||
| 75039c5198 | |||
| cf048ebc01 | |||
| ec6df31b0c | |||
| 9a36eea042 | |||
| e933ea81d7 | |||
| 7ffb0286e3 | |||
| 100fa68a15 | |||
| 612de0e016 | |||
| 427e5b91af | |||
| 3299aee2bd | |||
| 39c1df41a7 | |||
| 0208dd0d30 | |||
| 3f218e2a57 | |||
| d9b3c061f0 | |||
| 18540e1c63 | |||
| b3386c1048 | |||
| 205daf1d15 | |||
| 34a328174c | |||
| 27f88dfb80 | |||
| 252a9015dc | |||
| 166007c668 | |||
| 0ad13cf309 | |||
| f7878c3e18 | |||
| 8e1c62059d | |||
| d1d10ff585 | |||
| 6c5d2ff92f | |||
| b0a3b770e3 | |||
| a077481678 | |||
| ea0cf71d2c | |||
| 26e2c56424 | |||
| 8accc7b73d | |||
| e0bea19825 | |||
| c8aa24964e | |||
| 8268cfb10c | |||
| 862be4bb14 | |||
| 6222b47b9b | |||
| 81105a6707 | |||
| 47dd314ef3 | |||
| 3332d80796 | |||
| d7e52fb645 | |||
| 2d9d5d6072 | |||
| 20c4d973eb | |||
| f66d032ddd | |||
| 9af7fc7752 | |||
| 5d6c3aaee1 | |||
| dda814805e | |||
| da9fb277ce | |||
| 1b22054b4c | |||
| 0b42afa893 | |||
| ed7ef6bf07 | |||
| f1d37c0407 | |||
| fb0bb7f3ec | |||
| a37e33c9c2 | |||
| 0fffc62360 | |||
| 7faf09a80f | |||
| 83ea40bc83 | |||
| 92babb8674 | |||
| abac4190aa | |||
| b78d28244c | |||
| d16e35922a | |||
| 204ccc28a5 | |||
| f87caab388 | |||
| 985b02c49c | |||
| c9eedfcd56 | |||
| f23b7f1036 | |||
| e8bce6ab10 | |||
| eca5122d1c | |||
| b2880f2b28 | |||
| b76dfce24e | |||
| 117c2936cf | |||
| c736e9553b | |||
| ac80ebd124 | |||
| 0b950089f0 | |||
| dcd1917189 | |||
| 3fd893a611 | |||
| af4a802b19 | |||
| 4a4e7c9874 | |||
| 1e04654a16 | |||
| a16fece807 | |||
| 3f61b8c903 | |||
| 088ce651c8 | |||
| 67d48acbf6 | |||
| f152e7bbe8 | |||
| bb206a5cc5 | |||
| cd69617d76 | |||
| 3e661e6cdd | |||
| 24c9389e2e | |||
| ccc6fb2043 | |||
| 00ad76fdd0 | |||
| 0c39411ff2 | |||
| 9222213757 | |||
| b7d5fc0cf1 | |||
| 4b401048ae | |||
| 7adcbd327a | |||
| 0a777c44a6 | |||
| 0797ecc574 | |||
| b414a29b1d | |||
| bd8b002ecf | |||
| b811d3d127 | |||
| 2c5aa5ed31 | |||
| deae2a5a89 | |||
| 25327495ad | |||
| 6e74e38e39 | |||
| 1f7723d1ed | |||
| 4133c2c009 | |||
| 6b94c119a4 | |||
| eccd0eec87 | |||
| 6e2f578676 | |||
| 62bc966bfe | |||
| a810cc6bad | |||
| 1ca1e0ab87 | |||
| 3f17a57289 | |||
| 16e61c9ac4 | |||
| 2c8e1fe3a2 | |||
| 85ed5b5c66 | |||
| 5c74a14f80 | |||
| 6504f340ed | |||
| 6d1d1d398c | |||
| d5cab0fe92 | |||
| 8b28b24d8f | |||
| 89b1e2d124 | |||
| 2aed23b022 | |||
| 82dd7734dc | |||
| 18e1ae74bf | |||
| 95a7bb32be | |||
| 1075e8de1a | |||
| 1b319c5c55 | |||
| 5c6eb8213c | |||
| 640d6ab4ad | |||
| 1ea8a13dd0 | |||
| 1f9e1ac764 | |||
| 2e62edb015 | |||
| 1c766208dc | |||
| e373687c75 | |||
| f9c7a24871 | |||
| 04a25a84f7 | |||
| 948eea9c51 | |||
| 1ba26a4dd1 | |||
| 90d0ab7df1 | |||
| ac9007f1f6 | |||
| 94a0d63ff2 | |||
| 868770b553 | |||
| 126de6dbe5 | |||
| 26a88e1381 | |||
| d398dfb024 | |||
| 3ec0a9eebd | |||
| 6cea47b608 | |||
| aaccdbb1a4 | |||
| 95cc9ba067 | |||
| b729494047 | |||
| 76684a497e | |||
| 75fb9d1986 | |||
| 5e9dd0d52e | |||
| b63c5f93c3 | |||
| e87a80b8ca | |||
| 7c507d9767 | |||
| 8cf00d0420 | |||
| f59bb01d3a | |||
| 2eba7632ce | |||
| a8ca4fc0f5 | |||
| 6239d78858 | |||
| e78de056f2 | |||
| 060fb89496 | |||
| bc24b136ad | |||
| c401398922 | |||
| 96876b72d0 | |||
| af201ce6e6 | |||
| 80598056ee | |||
| 341664e978 | |||
| 5d070a021b | |||
| a6c3077f95 | |||
| f3001b900a | |||
| 7b720101f5 | |||
| 4880f82561 | |||
| 5675a68b8c | |||
| e620c153d7 | |||
| 031e8ec967 | |||
| f26ddc85f8 | |||
| e516082c0e | |||
| 6b3313728b | |||
| 7adc171a0e | |||
| e1938c68d2 | |||
| ada3b38995 | |||
| a571e0b5bf | |||
| 7cc2fb3eca | |||
| 98f60d9410 | |||
| b2a79b95e9 | |||
| ad1c6da04f | |||
| 638d3cc562 | |||
| 1a65664c6c | |||
| 26d7b60159 | |||
| 85662496aa | |||
| e1246d1ae7 | |||
| 8110dcc4bf | |||
| 368e84b4d1 | |||
| abc7e39eb2 | |||
| 0b5e452032 | |||
| 1eecf4c4de | |||
| 88d7edf5ee | |||
| 004ae6b023 | |||
| ad0b3b7c71 | |||
| 70b63998a1 | |||
| fe52faa065 | |||
| b7b3e18a3e | |||
| 8f81ce037a | |||
| 39aa7e5311 | |||
| 53c188c5b6 | |||
| 7d0578d8c1 | |||
| c27b8790d5 | |||
| 0e4f7718d4 | |||
| 3035bff4dd | |||
| 302a678a07 | |||
| 38fd648c43 | |||
| f5d3ef9480 | |||
| be4a2a5aec | |||
| 4f58b4f2ea | |||
| 69cff0f328 | |||
| 5727b06d4b | |||
| 17f1de89d2 | |||
| 476eb858cd | |||
| e7bbcb0029 | |||
| d3d75c80ce | |||
| 58503221f8 | |||
| 161b0fc47f | |||
| 234420aed9 | |||
| ef8e1cd45c | |||
| 602c524f70 | |||
| d179ac3703 | |||
| b12871d47e | |||
| 018dc957c3 | |||
| 4f8d757e7f | |||
| 295039b455 | |||
| de732c4a86 | |||
| 7e692525ff | |||
| 8423e6938f | |||
| e8e944d918 | |||
| 720d1f001c | |||
| 639b371b0e | |||
| 1dba5261f8 | |||
| b02fbcbaef | |||
| 55ee5e9ae4 | |||
| e1d50b5da5 | |||
| 2b87f60066 | |||
| dc0f71e354 | |||
| 0467c69b88 | |||
| ceabcc4ce4 | |||
| 9be6b66841 | |||
| da4f1f0f8a | |||
| 2191054412 | |||
| e1cd3d576f | |||
| c851acb92d | |||
| 2db2b5df03 |
+7
-1
@@ -55,9 +55,15 @@ OurUmbraco.Site/usercontrols/Deli/
|
||||
OurUmbraco.Site/App_Data/mail/
|
||||
OurUmbraco.Client/build/assets/
|
||||
OurUmbraco.Client/node_modules/
|
||||
npm-debug.log
|
||||
npm-debug.log
|
||||
OurUmbraco.Site/[Ww]eb.config
|
||||
OurUmbraco.Site/[Aa]ssets/css/style.min.css
|
||||
OurUmbraco.Site/[Aa]ssets/js/app.min.js
|
||||
.vs/
|
||||
OurUmbraco.Site/App_Data/migrations/*.txt
|
||||
OurUmbraco.Site/apidocs/
|
||||
OurUmbraco.Site/App_Data/Documentation/
|
||||
OurUmbraco.Site/App_Data/NotificationTest/
|
||||
build/tools/node*
|
||||
wwwcache/
|
||||
build/toolsnode.js.*/
|
||||
|
||||
@@ -3,7 +3,4 @@
|
||||
<solution>
|
||||
<add key="disableSourceControlIntegration" value="true" />
|
||||
</solution>
|
||||
<packageSources>
|
||||
<add key="Umbraco 7 Nightly Feed" value="https://www.myget.org/F/umbraco72nightly/api/v2" />
|
||||
</packageSources>
|
||||
</configuration>
|
||||
@@ -1,155 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(MSBuildProjectDirectory)\..\</SolutionDir>
|
||||
|
||||
<!-- Enable the restore command to run before builds -->
|
||||
<RestorePackages Condition=" '$(RestorePackages)' == '' ">false</RestorePackages>
|
||||
|
||||
<!-- Property that enables building a package from a project -->
|
||||
<BuildPackage Condition=" '$(BuildPackage)' == '' ">false</BuildPackage>
|
||||
|
||||
<!-- Determines if package restore consent is required to restore packages -->
|
||||
<RequireRestoreConsent Condition=" '$(RequireRestoreConsent)' != 'false' ">true</RequireRestoreConsent>
|
||||
|
||||
<!-- Download NuGet.exe if it does not already exist -->
|
||||
<DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">false</DownloadNuGetExe>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup Condition=" '$(PackageSources)' == '' ">
|
||||
<!-- Package sources used to restore packages. By default, registered sources under %APPDATA%\NuGet\NuGet.Config will be used -->
|
||||
<!-- The official NuGet package source (https://nuget.org/api/v2/) will be excluded if package sources are specified and it does not appear in the list -->
|
||||
<!--
|
||||
<PackageSource Include="https://nuget.org/api/v2/" />
|
||||
<PackageSource Include="https://my-nuget-source/nuget/" />
|
||||
-->
|
||||
<PackageSource Include="https://nuget.org/api/v2/" />
|
||||
<PackageSource Include="https://www.myget.org/F/umbraco72nightly/api/v2" />
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(OS)' == 'Windows_NT'">
|
||||
<!-- Windows specific commands -->
|
||||
<NuGetToolsPath>$([System.IO.Path]::Combine($(SolutionDir), ".nuget"))</NuGetToolsPath>
|
||||
<PackagesConfig>$([System.IO.Path]::Combine($(ProjectDir), "packages.config"))</PackagesConfig>
|
||||
<PackagesDir>$([System.IO.Path]::Combine($(SolutionDir), "packages"))</PackagesDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition=" '$(OS)' != 'Windows_NT'">
|
||||
<!-- We need to launch nuget.exe with the mono command if we're not on windows -->
|
||||
<NuGetToolsPath>$(SolutionDir).nuget</NuGetToolsPath>
|
||||
<PackagesConfig>packages.config</PackagesConfig>
|
||||
<PackagesDir>$(SolutionDir)packages</PackagesDir>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- NuGet command -->
|
||||
<NuGetExePath Condition=" '$(NuGetExePath)' == '' ">$(NuGetToolsPath)\nuget.exe</NuGetExePath>
|
||||
<PackageSources Condition=" $(PackageSources) == '' ">@(PackageSource)</PackageSources>
|
||||
|
||||
<NuGetCommand Condition=" '$(OS)' == 'Windows_NT'">"$(NuGetExePath)"</NuGetCommand>
|
||||
<NuGetCommand Condition=" '$(OS)' != 'Windows_NT' ">mono --runtime=v4.0.30319 $(NuGetExePath)</NuGetCommand>
|
||||
|
||||
<PackageOutputDir Condition="$(PackageOutputDir) == ''">$(TargetDir.Trim('\\'))</PackageOutputDir>
|
||||
|
||||
<RequireConsentSwitch Condition=" $(RequireRestoreConsent) == 'true' ">-RequireConsent</RequireConsentSwitch>
|
||||
<!-- Commands -->
|
||||
<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(RequireConsentSwitch) -o "$(PackagesDir)"</RestoreCommand>
|
||||
<BuildCommand>$(NuGetCommand) pack "$(ProjectPath)" -p Configuration=$(Configuration) -o "$(PackageOutputDir)" -symbols</BuildCommand>
|
||||
|
||||
<!-- We need to ensure packages are restored prior to assembly resolve -->
|
||||
<ResolveReferencesDependsOn Condition="$(RestorePackages) == 'true'">
|
||||
RestorePackages;
|
||||
$(ResolveReferencesDependsOn);
|
||||
</ResolveReferencesDependsOn>
|
||||
|
||||
<!-- Make the build depend on restore packages -->
|
||||
<BuildDependsOn Condition="$(BuildPackage) == 'true'">
|
||||
$(BuildDependsOn);
|
||||
BuildPackage;
|
||||
</BuildDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="CheckPrerequisites">
|
||||
<!-- Raise an error if we're unable to locate nuget.exe -->
|
||||
<Error Condition="'$(DownloadNuGetExe)' != 'true' AND !Exists('$(NuGetExePath)')" Text="Unable to locate '$(NuGetExePath)'" />
|
||||
<SetEnvironmentVariable EnvKey="VisualStudioVersion" EnvValue="$(VisualStudioVersion)" Condition=" '$(VisualStudioVersion)' != '' AND '$(OS)' == 'Windows_NT' " />
|
||||
<!--
|
||||
Take advantage of MsBuild's build dependency tracking to make sure that we only ever download nuget.exe once.
|
||||
This effectively acts as a lock that makes sure that the download operation will only happen once and all
|
||||
parallel builds will have to wait for it to complete.
|
||||
-->
|
||||
<MsBuild Targets="_DownloadNuGet" Projects="$(MSBuildThisFileFullPath)" Properties="Configuration=NOT_IMPORTANT" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_DownloadNuGet">
|
||||
<DownloadNuGet OutputFilename="$(NuGetExePath)" Condition=" '$(DownloadNuGetExe)' == 'true' AND !Exists('$(NuGetExePath)')" />
|
||||
</Target>
|
||||
|
||||
<Target Name="RestorePackages" DependsOnTargets="CheckPrerequisites">
|
||||
<Exec Command="$(RestoreCommand)"
|
||||
Condition="'$(OS)' != 'Windows_NT' And Exists('$(PackagesConfig)')" />
|
||||
|
||||
<Exec Command="$(RestoreCommand)"
|
||||
LogStandardErrorAsError="true"
|
||||
Condition="'$(OS)' == 'Windows_NT' And Exists('$(PackagesConfig)')" />
|
||||
</Target>
|
||||
|
||||
<Target Name="BuildPackage" DependsOnTargets="CheckPrerequisites">
|
||||
<Exec Command="$(BuildCommand)"
|
||||
Condition=" '$(OS)' != 'Windows_NT' " />
|
||||
|
||||
<Exec Command="$(BuildCommand)"
|
||||
LogStandardErrorAsError="true"
|
||||
Condition=" '$(OS)' == 'Windows_NT' " />
|
||||
</Target>
|
||||
|
||||
<UsingTask TaskName="DownloadNuGet" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
|
||||
<ParameterGroup>
|
||||
<OutputFilename ParameterType="System.String" Required="true" />
|
||||
</ParameterGroup>
|
||||
<Task>
|
||||
<Reference Include="System.Core" />
|
||||
<Using Namespace="System" />
|
||||
<Using Namespace="System.IO" />
|
||||
<Using Namespace="System.Net" />
|
||||
<Using Namespace="Microsoft.Build.Framework" />
|
||||
<Using Namespace="Microsoft.Build.Utilities" />
|
||||
<Code Type="Fragment" Language="cs">
|
||||
<![CDATA[
|
||||
try {
|
||||
OutputFilename = Path.GetFullPath(OutputFilename);
|
||||
|
||||
Log.LogMessage("Downloading latest version of NuGet.exe...");
|
||||
WebClient webClient = new WebClient();
|
||||
webClient.DownloadFile("https://nuget.org/nuget.exe", OutputFilename);
|
||||
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex) {
|
||||
Log.LogErrorFromException(ex);
|
||||
return false;
|
||||
}
|
||||
]]>
|
||||
</Code>
|
||||
</Task>
|
||||
</UsingTask>
|
||||
|
||||
<UsingTask TaskName="SetEnvironmentVariable" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
|
||||
<ParameterGroup>
|
||||
<EnvKey ParameterType="System.String" Required="true" />
|
||||
<EnvValue ParameterType="System.String" Required="true" />
|
||||
</ParameterGroup>
|
||||
<Task>
|
||||
<Using Namespace="System" />
|
||||
<Code Type="Fragment" Language="cs">
|
||||
<![CDATA[
|
||||
try {
|
||||
Environment.SetEnvironmentVariable(EnvKey, EnvValue, System.EnvironmentVariableTarget.Process);
|
||||
}
|
||||
catch {
|
||||
}
|
||||
]]>
|
||||
</Code>
|
||||
</Task>
|
||||
</UsingTask>
|
||||
</Project>
|
||||
@@ -1,22 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using uForum.Businesslogic;
|
||||
|
||||
namespace NotificationsCore.EventHandlers
|
||||
{
|
||||
public class Forum : umbraco.BusinessLogic.ApplicationBase
|
||||
{
|
||||
public Forum()
|
||||
{
|
||||
Comment.AfterCreate += new EventHandler<CreateEventArgs>(Comment_AfterCreate);
|
||||
}
|
||||
|
||||
void Comment_AfterCreate(object sender, uForum.Businesslogic.CreateEventArgs e)
|
||||
{
|
||||
Comment c = (Comment)sender;
|
||||
|
||||
//InstantNotification.Execute("NewComment", c.Id);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,72 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Xml;
|
||||
using System.Reflection;
|
||||
|
||||
namespace NotificationsCore
|
||||
{
|
||||
public class InstantNotification
|
||||
{
|
||||
private delegate void ExecuteDelegate(string config, string assemblydir, string name, params object[] args);
|
||||
private ExecuteDelegate ed;
|
||||
|
||||
public InstantNotification()
|
||||
{
|
||||
ed = new ExecuteDelegate(this.Execute);
|
||||
}
|
||||
|
||||
public void Invoke(string config, string assemblydir, string name, params object[] args)
|
||||
{
|
||||
ed.BeginInvoke(config, assemblydir, name, args, null, null);
|
||||
}
|
||||
|
||||
public void Execute(string config,string assemblydir, string name, params object[] args)
|
||||
{
|
||||
try
|
||||
{
|
||||
XmlDocument notifications = new XmlDocument();
|
||||
notifications.Load(config);
|
||||
|
||||
XmlNode settings = notifications.SelectSingleNode("//global");
|
||||
|
||||
XmlNode node = notifications.SelectSingleNode(
|
||||
string.Format("//instant//notification [@name = '{0}']", name));
|
||||
|
||||
XmlDocument details = new XmlDocument();
|
||||
XmlNode cont = details.CreateElement("details");
|
||||
|
||||
cont.AppendChild(details.ImportNode(settings,true));
|
||||
cont.AppendChild(details.ImportNode(node,true));
|
||||
|
||||
details.AppendChild(cont);
|
||||
|
||||
if (node != null)
|
||||
{
|
||||
|
||||
|
||||
string assemblyFile =
|
||||
String.Format("{0}{1}.dll", assemblydir, node.Attributes["assembly"].Value);
|
||||
|
||||
Assembly nAssembly = System.Reflection.Assembly.LoadFrom(assemblyFile);
|
||||
|
||||
Notification n =
|
||||
(Notification)Activator.CreateInstance(
|
||||
nAssembly.GetType(node.Attributes["type"].Value));
|
||||
|
||||
n.SendNotification(details, args);
|
||||
}
|
||||
else
|
||||
{
|
||||
umbraco.BusinessLogic.Log.Add(umbraco.BusinessLogic.LogTypes.Debug, 666, "not found");
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
umbraco.BusinessLogic.Log.Add(umbraco.BusinessLogic.LogTypes.Debug, 666, e.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Xml;
|
||||
|
||||
namespace NotificationsCore.Interfaces
|
||||
{
|
||||
interface INotification
|
||||
{
|
||||
bool SendNotification(XmlNode details, params object[] args);
|
||||
}
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using NotificationsCore.Interfaces;
|
||||
using System.Xml;
|
||||
|
||||
namespace NotificationsCore
|
||||
{
|
||||
public abstract class Notification: INotification
|
||||
{
|
||||
#region INotification Members
|
||||
|
||||
public virtual bool SendNotification(XmlNode details, params object[] args) { return false; }
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,322 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{80E5F59D-A7A0-4CEE-AEB6-6C626C44B2B2}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>NotificationsCore</RootNamespace>
|
||||
<AssemblyName>NotificationsCore</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<TargetFrameworkProfile />
|
||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
||||
<RestorePackages>true</RestorePackages>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="AutoMapper, Version=3.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\AutoMapper.3.0.0\lib\net40\AutoMapper.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="AutoMapper.Net4, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\AutoMapper.3.0.0\lib\net40\AutoMapper.Net4.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="businesslogic, Version=1.0.5780.28252, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\businesslogic.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ClientDependency.Core, Version=1.8.4.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ClientDependency.1.8.4\lib\net45\ClientDependency.Core.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ClientDependency.Core.Mvc, Version=1.8.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ClientDependency-Mvc5.1.8.0.0\lib\net45\ClientDependency.Core.Mvc.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="cms, Version=1.0.5780.28253, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\cms.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="controls, Version=1.0.5780.28254, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\controls.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="CookComputing.XmlRpcV2, Version=2.5.0.0, Culture=neutral, PublicKeyToken=a7d6e17aa302004d, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\xmlrpcnet.2.5.0\lib\net20\CookComputing.XmlRpcV2.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Examine, Version=0.1.68.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Examine.0.1.68.0\lib\Examine.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="HtmlAgilityPack, Version=1.4.9.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\HtmlAgilityPack.1.4.9\lib\Net45\HtmlAgilityPack.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ImageProcessor, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ImageProcessor.2.3.0.0\lib\net45\ImageProcessor.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ImageProcessor.Web, Version=4.4.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ImageProcessor.Web.4.4.0.0\lib\net45\ImageProcessor.Web.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="interfaces, Version=1.0.5780.28247, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\interfaces.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="log4net, Version=1.2.11.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\log4net.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Lucene.Net, Version=2.9.4.1, Culture=neutral, PublicKeyToken=85089178b9ac3181, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Lucene.Net.2.9.4.1\lib\net40\Lucene.Net.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.ApplicationBlocks.Data, Version=1.0.1559.20655, Culture=neutral">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\Microsoft.ApplicationBlocks.Data.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.AspNet.Identity.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.Identity.Core.2.2.1\lib\net45\Microsoft.AspNet.Identity.Core.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.AspNet.Identity.Owin, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.Identity.Owin.2.2.1\lib\net45\Microsoft.AspNet.Identity.Owin.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Owin.3.0.1\lib\net45\Microsoft.Owin.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin.Host.SystemWeb, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Owin.Host.SystemWeb.3.0.1\lib\net45\Microsoft.Owin.Host.SystemWeb.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin.Security, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Owin.Security.3.0.1\lib\net45\Microsoft.Owin.Security.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin.Security.Cookies, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Owin.Security.Cookies.3.0.1\lib\net45\Microsoft.Owin.Security.Cookies.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin.Security.OAuth, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Owin.Security.OAuth.3.0.1\lib\net45\Microsoft.Owin.Security.OAuth.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebHelpers.3.2.3\lib\net45\Microsoft.Web.Helpers.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="MiniProfiler, Version=2.1.0.0, Culture=neutral, PublicKeyToken=b44f9351044011a3, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MiniProfiler.2.1.0\lib\net40\MiniProfiler.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="MySql.Data, Version=6.9.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MySql.Data.6.9.7\lib\net45\MySql.Data.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Owin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0ebd12fd5e55cc5, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Semver, Version=1.1.2.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\semver.1.1.2\lib\net451\Semver.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="SQLCE4Umbraco, Version=1.0.5780.28254, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\SQLCE4Umbraco.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Core">
|
||||
<RequiredTargetFramework>3.5</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\System.Data.SqlServerCe.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.SqlServerCe.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\System.Data.SqlServerCe.Entity.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Net.Http.Extensions, Version=2.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Extensions.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http.Primitives, Version=4.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Primitives.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http.WebRequest" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Http.WebHost, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.WebPages.Deployment, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="TidyNet, Version=1.0.0.0, Culture=neutral">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\TidyNet.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="umbraco, Version=1.0.5780.28255, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\umbraco.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Umbraco.Core, Version=1.0.5780.28249, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\Umbraco.Core.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="umbraco.DataLayer, Version=1.0.5780.28252, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\umbraco.DataLayer.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="umbraco.editorControls, Version=1.0.5780.28258, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\umbraco.editorControls.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="umbraco.MacroEngines, Version=1.0.5780.28258, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\umbraco.MacroEngines.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="umbraco.providers, Version=1.0.5780.28254, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\umbraco.providers.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Umbraco.Web.UI, Version=1.0.5780.28259, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\Umbraco.Web.UI.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="UmbracoExamine, Version=0.7.0.28253, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\UmbracoExamine.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="UrlRewritingNet.UrlRewriter, Version=2.0.60829.1, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\UrlRewritingNet.UrlRewriter.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="WebMatrix.Data, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebPages.Data.3.2.3\lib\net45\WebMatrix.Data.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="WebMatrix.WebData, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebPages.WebData.3.2.3\lib\net45\WebMatrix.WebData.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="InstantNotification.cs" />
|
||||
<Compile Include="Interfaces\INotification.cs" />
|
||||
<Compile Include="Notification.cs" />
|
||||
<Compile Include="NotificationTypes\NewForumTopic.cs" />
|
||||
<Compile Include="NotificationTypes\NewForumTopicComment.cs" />
|
||||
<Compile Include="SheduledNotification.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OurUmbraco\OurUmbraco.csproj">
|
||||
<Project>{a8e5c936-ecab-45b3-bfda-d12f680eb2a6}</Project>
|
||||
<Name>OurUmbraco</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" />
|
||||
<Target Name="EnsureBclBuildImported" BeforeTargets="BeforeBuild" Condition="'$(BclBuildImported)' == ''">
|
||||
<Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=317567." HelpKeyword="BCLBUILD2001" />
|
||||
<Error Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://go.microsoft.com/fwlink/?LinkID=317568." HelpKeyword="BCLBUILD2002" />
|
||||
</Target>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
@@ -1,52 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Timers;
|
||||
using System.Reflection;
|
||||
using System.Xml;
|
||||
|
||||
|
||||
namespace NotificationsCore
|
||||
{
|
||||
public class NotificationExecuter
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public double Interval { get; set; }
|
||||
public string Assembly { get; set; }
|
||||
public string Type { get; set; }
|
||||
public XmlNode Details { get; set; }
|
||||
|
||||
Timer timer = new Timer();
|
||||
|
||||
public NotificationExecuter(string name, double interval, string assembly, string type, XmlNode details)
|
||||
{
|
||||
this.Name = name;
|
||||
this.Interval = interval;
|
||||
this.Assembly = assembly;
|
||||
this.Type = type;
|
||||
this.Details = details;
|
||||
}
|
||||
public void Start()
|
||||
{
|
||||
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
|
||||
timer.Interval = Interval;
|
||||
timer.Enabled = true;
|
||||
|
||||
}
|
||||
|
||||
void timer_Elapsed(object sender, ElapsedEventArgs e)
|
||||
{
|
||||
string assemblyFile =
|
||||
String.Format("{0}.dll", Assembly);
|
||||
|
||||
Assembly nAssembly = System.Reflection.Assembly.LoadFrom(assemblyFile);
|
||||
|
||||
Notification n =
|
||||
(Notification)Activator.CreateInstance(
|
||||
nAssembly.GetType(Type));
|
||||
|
||||
n.SendNotification(Details);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,113 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Net.Mail;
|
||||
using System.Data.SqlClient;
|
||||
using umbraco.cms.businesslogic.member;
|
||||
using umbraco.presentation.nodeFactory;
|
||||
using umbraco.cms.businesslogic.web;
|
||||
using System.Web;
|
||||
using OurUmbraco.Forum.Models;
|
||||
|
||||
namespace NotificationsCore.NotificationTypes
|
||||
{
|
||||
public class NewForumTopic: Notification
|
||||
{
|
||||
public NewForumTopic()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override bool SendNotification(System.Xml.XmlNode details, params object[] args)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
var topic = (Topic)args[0];
|
||||
string url = (string)args[1];
|
||||
var memberName = (string)args[2];
|
||||
|
||||
if (topic.IsSpam)
|
||||
{
|
||||
umbraco.BusinessLogic.Log.Add(umbraco.BusinessLogic.LogTypes.Debug, -1, string.Format("[Notifications] Topic ID {0} is marked as spam, no notification sent{0}", topic.Id));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
SmtpClient c = new SmtpClient();
|
||||
//c.Credentials = new System.Net.NetworkCredential(details.SelectSingleNode("//username").InnerText, details.SelectSingleNode("//password").InnerText);
|
||||
|
||||
MailAddress from = new MailAddress(
|
||||
details.SelectSingleNode("//from/email").InnerText,
|
||||
details.SelectSingleNode("//from/name").InnerText);
|
||||
|
||||
string subject = details.SelectSingleNode("//subject").InnerText;
|
||||
string body = details.SelectSingleNode("//body").InnerText;
|
||||
|
||||
|
||||
|
||||
//currently using document api instead of nodefactory
|
||||
Document forum = new Document(topic.ParentId);
|
||||
|
||||
|
||||
subject = string.Format(subject, forum.Text);
|
||||
|
||||
var domain = details.SelectSingleNode("//domain").InnerText;
|
||||
|
||||
body = string.Format(body, forum.Text, "https://" + domain + url, memberName, topic.Title, HttpUtility.HtmlDecode(umbraco.library.StripHtml(topic.Body)));
|
||||
|
||||
|
||||
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["umbracoDbDSN"].ConnectionString);
|
||||
|
||||
|
||||
SqlCommand comm = new SqlCommand("Select memberId from forumSubscribers where forumId = @forumId", conn);
|
||||
comm.Parameters.AddWithValue("@forumId", topic.ParentId);
|
||||
conn.Open();
|
||||
|
||||
SqlDataReader dr = comm.ExecuteReader();
|
||||
|
||||
while (dr.Read())
|
||||
{
|
||||
|
||||
int mid = dr.GetInt32(0);
|
||||
try
|
||||
{
|
||||
|
||||
Member m = new Member(mid);
|
||||
|
||||
|
||||
if (m.Id != topic.MemberId
|
||||
&& (m.getProperty("bugMeNot").Value.ToString() != "1"))
|
||||
{
|
||||
MailMessage mm = new MailMessage();
|
||||
mm.Subject = subject;
|
||||
mm.Body = body;
|
||||
|
||||
mm.To.Add(m.Email);
|
||||
mm.From = from;
|
||||
|
||||
c.Send(mm);
|
||||
}
|
||||
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
umbraco.BusinessLogic.Log.Add(umbraco.BusinessLogic.LogTypes.Debug, -1,
|
||||
"[Notifications] Error sending mail to " + mid.ToString() + " " + e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
conn.Close();
|
||||
|
||||
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
umbraco.BusinessLogic.Log.Add(umbraco.BusinessLogic.LogTypes.Debug, -1, "[Notifications]" + e.Message);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,107 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Net.Mail;
|
||||
using System.Data.SqlClient;
|
||||
using umbraco.cms.businesslogic.member;
|
||||
using System.Web;
|
||||
using OurUmbraco.Forum.Models;
|
||||
using Umbraco.Core.Models;
|
||||
using Umbraco.Web;
|
||||
using Umbraco.Core;
|
||||
using Umbraco.Web.Security;
|
||||
|
||||
namespace NotificationsCore.NotificationTypes
|
||||
{
|
||||
public class NewForumTopicComment: Notification
|
||||
{
|
||||
public NewForumTopicComment()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override bool SendNotification(System.Xml.XmlNode details, params object[] args)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
|
||||
|
||||
Comment com = (Comment)args[0];
|
||||
Topic topic = (Topic)args[1];
|
||||
string url = (string)args[2];
|
||||
string memberName = (string)args[3];
|
||||
|
||||
|
||||
if (com.IsSpam)
|
||||
{
|
||||
umbraco.BusinessLogic.Log.Add(umbraco.BusinessLogic.LogTypes.Debug, -1, string.Format("[Notifications] Comment Id {{0}} is marked as spam, no notification sent{0}", com.Id));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
//SMTP SETTINGS
|
||||
SmtpClient c = new SmtpClient();
|
||||
//c.Credentials = new System.Net.NetworkCredential(details.SelectSingleNode("//username").InnerText, details.SelectSingleNode("//password").InnerText);
|
||||
|
||||
//SENDER ADDRESS
|
||||
MailAddress from = new MailAddress(
|
||||
details.SelectSingleNode("//from/email").InnerText,
|
||||
details.SelectSingleNode("//from/name").InnerText);
|
||||
|
||||
//Notification details
|
||||
var domain = details.SelectSingleNode("//domain").InnerText;
|
||||
var subject = string.Format(details.SelectSingleNode("//subject").InnerText, topic.Title);
|
||||
var body = details.SelectSingleNode("//body").InnerText;
|
||||
body = string.Format(body, topic.Title, "https://" + domain + url + "#comment-" + com.Id, memberName, HttpUtility.HtmlDecode(umbraco.library.StripHtml(com.Body)));
|
||||
|
||||
|
||||
//connect to DB
|
||||
|
||||
SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["umbracoDbDSN"].ConnectionString);
|
||||
SqlCommand comm = new SqlCommand("Select memberId from forumTopicSubscribers where topicId = @topicId", conn);
|
||||
comm.Parameters.AddWithValue("@topicId", topic.Id);
|
||||
conn.Open();
|
||||
|
||||
|
||||
//shit this must be so fucking slow
|
||||
SqlDataReader dr = comm.ExecuteReader();
|
||||
while (dr.Read())
|
||||
{
|
||||
int mid = dr.GetInt32(0);
|
||||
try
|
||||
{
|
||||
var m = new umbraco.cms.businesslogic.member.Member(mid);
|
||||
|
||||
if (m.Id != com.MemberId
|
||||
&& m.getProperty("bugMeNot").Value.ToString() != "1")
|
||||
{
|
||||
MailMessage mm = new MailMessage();
|
||||
mm.Subject = subject;
|
||||
mm.Body = body;
|
||||
|
||||
mm.To.Add(m.Email);
|
||||
mm.From = from;
|
||||
|
||||
c.Send(mm);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
umbraco.BusinessLogic.Log.Add(umbraco.BusinessLogic.LogTypes.Debug, -1,
|
||||
"[Notifications] Error sending mail to " + mid.ToString() + " " + e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
conn.Close();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
umbraco.BusinessLogic.Log.Add(umbraco.BusinessLogic.LogTypes.Debug, -1, "[Notifications]" + e.Message);
|
||||
}
|
||||
return true;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Notification")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("Notification")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2010")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("df83d509-8920-49a4-a9e0-41665d8bfa42")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -1,52 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Timers;
|
||||
using System.Reflection;
|
||||
using System.Xml;
|
||||
|
||||
|
||||
namespace NotificationsCore
|
||||
{
|
||||
public class SheduledNotification
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public double Interval { get; set; }
|
||||
public string Assembly { get; set; }
|
||||
public string Type { get; set; }
|
||||
public XmlNode Details { get; set; }
|
||||
|
||||
Timer timer = new Timer();
|
||||
|
||||
public SheduledNotification(string name, double interval, string assembly, string type, XmlNode details)
|
||||
{
|
||||
this.Name = name;
|
||||
this.Interval = interval;
|
||||
this.Assembly = assembly;
|
||||
this.Type = type;
|
||||
this.Details = details;
|
||||
}
|
||||
public void Start()
|
||||
{
|
||||
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
|
||||
timer.Interval = Interval;
|
||||
timer.Enabled = true;
|
||||
|
||||
}
|
||||
|
||||
void timer_Elapsed(object sender, ElapsedEventArgs e)
|
||||
{
|
||||
string assemblyFile =
|
||||
String.Format("{0}.dll", Assembly);
|
||||
|
||||
Assembly nAssembly = System.Reflection.Assembly.LoadFrom(assemblyFile);
|
||||
|
||||
Notification n =
|
||||
(Notification)Activator.CreateInstance(
|
||||
nAssembly.GetType(Type));
|
||||
|
||||
n.SendNotification(Details);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Http.WebHost" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
@@ -1,42 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="AutoMapper" version="3.0.0" targetFramework="net451" />
|
||||
<package id="ClientDependency" version="1.8.4" targetFramework="net451" />
|
||||
<package id="ClientDependency-Mvc" version="1.8.0.0" targetFramework="net451" />
|
||||
<package id="ClientDependency-Mvc5" version="1.8.0.0" targetFramework="net451" />
|
||||
<package id="Examine" version="0.1.68.0" targetFramework="net451" />
|
||||
<package id="HtmlAgilityPack" version="1.4.9" targetFramework="net451" />
|
||||
<package id="ImageProcessor" version="2.3.0.0" targetFramework="net451" />
|
||||
<package id="ImageProcessor.Web" version="4.4.0.0" targetFramework="net451" />
|
||||
<package id="Lucene.Net" version="2.9.4.1" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.Identity.Core" version="2.2.1" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.Identity.Owin" version="2.2.1" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.Mvc.FixedDisplayModes" version="5.0.0" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.WebHelpers" version="3.2.3" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.WebPages.Data" version="3.2.3" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.WebPages.WebData" version="3.2.3" targetFramework="net451" />
|
||||
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="net451" />
|
||||
<package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net451" />
|
||||
<package id="Microsoft.Net.Http" version="2.2.29" targetFramework="net451" />
|
||||
<package id="Microsoft.Owin" version="3.0.1" targetFramework="net451" />
|
||||
<package id="Microsoft.Owin.Host.SystemWeb" version="3.0.1" targetFramework="net451" />
|
||||
<package id="Microsoft.Owin.Security" version="3.0.1" targetFramework="net451" />
|
||||
<package id="Microsoft.Owin.Security.Cookies" version="3.0.1" targetFramework="net451" />
|
||||
<package id="Microsoft.Owin.Security.OAuth" version="3.0.1" targetFramework="net451" />
|
||||
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net451" />
|
||||
<package id="MiniProfiler" version="2.1.0" targetFramework="net451" />
|
||||
<package id="MySql.Data" version="6.9.7" targetFramework="net451" />
|
||||
<package id="Newtonsoft.Json" version="6.0.8" targetFramework="net451" />
|
||||
<package id="Owin" version="1.0" targetFramework="net451" />
|
||||
<package id="semver" version="1.1.2" targetFramework="net451" />
|
||||
<package id="SharpZipLib" version="0.86.0" targetFramework="net451" />
|
||||
<package id="UmbracoCms.Core" version="7.3.1" targetFramework="net451" />
|
||||
<package id="xmlrpcnet" version="2.5.0" targetFramework="net451" />
|
||||
</packages>
|
||||
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<configuration>
|
||||
<appSettings>
|
||||
<add key="url" value="http://dreamingofawhitechristmas.our.umbraco.org/umbraco/plugins/Notifications/SheduledTaskTrigger.aspx"/>
|
||||
<add key="interval" value="900000"/>
|
||||
<!--
|
||||
<add key="configFile" value="C:\Users\Tim Geyssens\Documents\Visual Studio 2008\Umbraco\OUR\NotificationMailer\NotificationMailer.config"/>
|
||||
-->
|
||||
</appSettings>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/></startup></configuration>
|
||||
@@ -1,24 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<configuration>
|
||||
|
||||
<notification name="New forum post" interval="200" assembly="temp" type="temp">
|
||||
<from>
|
||||
<name>Our umbraco</name>
|
||||
<email>robot@umbraco.org</email>
|
||||
</from>
|
||||
<subject>There has been a new post</subject>
|
||||
<body>There has been a new post</body>
|
||||
</notification>
|
||||
|
||||
|
||||
<notification name="Another forum post" interval="100" assembly="temp" type="temp">
|
||||
<from>
|
||||
<name>Our umbraco</name>
|
||||
<email>robot@umbraco.org</email>
|
||||
</from>
|
||||
<subject>There has been a new post</subject>
|
||||
<body>There has been a new post</body>
|
||||
</notification>
|
||||
|
||||
|
||||
</configuration>
|
||||
@@ -1,53 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Timers;
|
||||
using System.Reflection;
|
||||
using Notifications;
|
||||
using System.Xml;
|
||||
|
||||
|
||||
namespace NotificationMailer
|
||||
{
|
||||
public class NotificationExecuter
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public double Interval { get; set; }
|
||||
public string Assembly { get; set; }
|
||||
public string Type { get; set; }
|
||||
public XmlNode Details { get; set; }
|
||||
|
||||
Timer timer = new Timer();
|
||||
|
||||
public NotificationExecuter(string name, double interval, string assembly, string type, XmlNode details)
|
||||
{
|
||||
this.Name = name;
|
||||
this.Interval = interval;
|
||||
this.Assembly = assembly;
|
||||
this.Type = type;
|
||||
this.Details = details;
|
||||
}
|
||||
public void Start()
|
||||
{
|
||||
timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
|
||||
timer.Interval = Interval;
|
||||
timer.Enabled = true;
|
||||
|
||||
}
|
||||
|
||||
void timer_Elapsed(object sender, ElapsedEventArgs e)
|
||||
{
|
||||
string assemblyFile =
|
||||
String.Format("{0}.dll", Assembly);
|
||||
|
||||
Assembly nAssembly = System.Reflection.Assembly.LoadFrom(assemblyFile);
|
||||
|
||||
Notification n =
|
||||
(Notification)Activator.CreateInstance(
|
||||
nAssembly.GetType(Type));
|
||||
|
||||
n.SendNotification(Details);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,85 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.21022</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{F41D51B7-3ECF-4C4C-955E-6E761345E18E}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>NotificationMailer</RootNamespace>
|
||||
<AssemblyName>NotificationMailer</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<UpgradeBackupLocation />
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Configuration.Install" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Management" />
|
||||
<Reference Include="System.ServiceProcess" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="NotificationService.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="NotificationService.Designer.cs">
|
||||
<DependentUpon>NotificationService.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="ProjectInstaller.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ProjectInstaller.Designer.cs">
|
||||
<DependentUpon>ProjectInstaller.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="NotificationService.resx">
|
||||
<DependentUpon>NotificationService.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ProjectInstaller.resx">
|
||||
<DependentUpon>ProjectInstaller.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
-40
@@ -1,40 +0,0 @@
|
||||
namespace NotificationMailer
|
||||
{
|
||||
partial class NotificationService
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
//
|
||||
// NotificationService
|
||||
//
|
||||
this.ServiceName = "NotificationService";
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -1,88 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Diagnostics;
|
||||
using System.ServiceProcess;
|
||||
using System.Text;
|
||||
using System.Xml;
|
||||
using System.Configuration;
|
||||
using System.Threading;
|
||||
using System.Net;
|
||||
|
||||
namespace NotificationMailer
|
||||
{
|
||||
public partial class NotificationService : ServiceBase
|
||||
{
|
||||
|
||||
public NotificationService()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
protected override void OnStart(string[] args)
|
||||
{
|
||||
|
||||
System.Timers.Timer timer = new System.Timers.Timer();
|
||||
|
||||
timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
|
||||
timer.Interval = double.Parse(ConfigurationSettings.AppSettings["interval"]);
|
||||
timer.Enabled = true;
|
||||
|
||||
timer.Start();
|
||||
|
||||
|
||||
//XmlDocument notifications = new XmlDocument();
|
||||
//notifications.Load(ConfigurationSettings.AppSettings["configFile"]);
|
||||
|
||||
//XmlNode settings = notifications.SelectSingleNode("//global");
|
||||
|
||||
//XmlNodeList xnl = notifications.SelectNodes("//sheduled//notification");
|
||||
//foreach (XmlNode node in xnl)
|
||||
//{
|
||||
// XmlDocument details = new XmlDocument();
|
||||
// XmlNode cont = details.CreateElement("details");
|
||||
|
||||
// cont.AppendChild(details.ImportNode(settings, true));
|
||||
// cont.AppendChild(details.ImportNode(node, true));
|
||||
|
||||
// details.AppendChild(cont);
|
||||
|
||||
// SheduledNotification n =
|
||||
// new SheduledNotification(
|
||||
// node.Attributes["name"].Value,
|
||||
// double.Parse(node.Attributes["interval"].Value),
|
||||
// node.Attributes["assembly"].Value,
|
||||
// node.Attributes["type"].Value,
|
||||
// details);
|
||||
|
||||
// Thread nThread = new Thread(new ThreadStart(n.Start));
|
||||
// nThread.Start();
|
||||
|
||||
//}
|
||||
}
|
||||
|
||||
void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
|
||||
{
|
||||
HttpWebRequest request = (HttpWebRequest)
|
||||
WebRequest.Create(ConfigurationSettings.AppSettings["url"]);
|
||||
|
||||
HttpWebResponse response = (HttpWebResponse)
|
||||
request.GetResponse();
|
||||
|
||||
|
||||
}
|
||||
|
||||
protected override void OnStop()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//public static string GetNodeValue(XmlNode n)
|
||||
//{
|
||||
// if (n == null || n.FirstChild == null)
|
||||
// return string.Empty;
|
||||
// return n.FirstChild.Value;
|
||||
//}
|
||||
}
|
||||
}
|
||||
@@ -1,123 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -1,23 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ServiceProcess;
|
||||
using System.Text;
|
||||
|
||||
namespace NotificationMailer
|
||||
{
|
||||
static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
static void Main()
|
||||
{
|
||||
ServiceBase[] ServicesToRun;
|
||||
ServicesToRun = new ServiceBase[]
|
||||
{
|
||||
new NotificationService()
|
||||
};
|
||||
ServiceBase.Run(ServicesToRun);
|
||||
}
|
||||
}
|
||||
}
|
||||
-58
@@ -1,58 +0,0 @@
|
||||
namespace NotificationMailer
|
||||
{
|
||||
partial class ProjectInstaller
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.serviceProcessInstaller1 = new System.ServiceProcess.ServiceProcessInstaller();
|
||||
this.serviceInstaller1 = new System.ServiceProcess.ServiceInstaller();
|
||||
//
|
||||
// serviceProcessInstaller1
|
||||
//
|
||||
this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem;
|
||||
this.serviceProcessInstaller1.Password = null;
|
||||
this.serviceProcessInstaller1.Username = null;
|
||||
//
|
||||
// serviceInstaller1
|
||||
//
|
||||
this.serviceInstaller1.ServiceName = "NotificationService";
|
||||
this.serviceInstaller1.StartType = System.ServiceProcess.ServiceStartMode.Automatic;
|
||||
//
|
||||
// ProjectInstaller
|
||||
//
|
||||
this.Installers.AddRange(new System.Configuration.Install.Installer[] {
|
||||
this.serviceProcessInstaller1,
|
||||
this.serviceInstaller1});
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.ServiceProcess.ServiceProcessInstaller serviceProcessInstaller1;
|
||||
private System.ServiceProcess.ServiceInstaller serviceInstaller1;
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Configuration.Install;
|
||||
using System.Linq;
|
||||
|
||||
|
||||
namespace NotificationMailer
|
||||
{
|
||||
[RunInstaller(true)]
|
||||
public partial class ProjectInstaller : System.Configuration.Install.Installer
|
||||
{
|
||||
public ProjectInstaller()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,129 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="serviceProcessInstaller1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
<metadata name="serviceInstaller1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>196, 17</value>
|
||||
</metadata>
|
||||
<metadata name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
</root>
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("NotificationMailer")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("NotificationMailer")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2010")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("d9a67c91-946c-4774-b7d7-dc4f97a17a1d")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -1,31 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.IO;
|
||||
|
||||
namespace NotificationsWeb
|
||||
{
|
||||
public class Config
|
||||
{
|
||||
private static string _path = umbraco.GlobalSettings.FullpathToRoot + Path.DirectorySeparatorChar + "config" + Path.DirectorySeparatorChar;
|
||||
private static string _filename = "Notification.config";
|
||||
|
||||
public static string AssemblyDir
|
||||
{
|
||||
get
|
||||
{
|
||||
return umbraco.GlobalSettings.FullpathToRoot + Path.DirectorySeparatorChar + "bin" + Path.DirectorySeparatorChar;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static string ConfigurationFile
|
||||
{
|
||||
get
|
||||
{
|
||||
return _path + _filename;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,346 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{6CF53D68-BD81-47BB-8F56-350A1B04F114}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>NotificationsWeb</RootNamespace>
|
||||
<AssemblyName>NotificationsWeb</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
|
||||
<FileUpgradeFlags>
|
||||
</FileUpgradeFlags>
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<OldToolsVersion>4.0</OldToolsVersion>
|
||||
<TargetFrameworkProfile />
|
||||
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
||||
<RestorePackages>true</RestorePackages>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="AutoMapper, Version=3.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\AutoMapper.3.0.0\lib\net40\AutoMapper.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="AutoMapper.Net4, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\AutoMapper.3.0.0\lib\net40\AutoMapper.Net4.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="businesslogic, Version=1.0.5780.28252, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\businesslogic.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ClientDependency.Core, Version=1.8.4.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ClientDependency.1.8.4\lib\net45\ClientDependency.Core.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ClientDependency.Core.Mvc, Version=1.8.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ClientDependency-Mvc5.1.8.0.0\lib\net45\ClientDependency.Core.Mvc.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="cms, Version=1.0.5780.28253, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\cms.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="controls, Version=1.0.5780.28254, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\controls.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="CookComputing.XmlRpcV2, Version=2.5.0.0, Culture=neutral, PublicKeyToken=a7d6e17aa302004d, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\xmlrpcnet.2.5.0\lib\net20\CookComputing.XmlRpcV2.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Examine, Version=0.1.68.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Examine.0.1.68.0\lib\Examine.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="HtmlAgilityPack, Version=1.4.9.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\HtmlAgilityPack.1.4.9\lib\Net45\HtmlAgilityPack.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ImageProcessor, Version=2.3.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ImageProcessor.2.3.0.0\lib\net45\ImageProcessor.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ImageProcessor.Web, Version=4.4.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ImageProcessor.Web.4.4.0.0\lib\net45\ImageProcessor.Web.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="interfaces, Version=1.0.5780.28247, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\interfaces.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="log4net, Version=1.2.11.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\log4net.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Lucene.Net, Version=2.9.4.1, Culture=neutral, PublicKeyToken=85089178b9ac3181, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Lucene.Net.2.9.4.1\lib\net40\Lucene.Net.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.ApplicationBlocks.Data, Version=1.0.1559.20655, Culture=neutral">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\Microsoft.ApplicationBlocks.Data.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.AspNet.Identity.Core, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.Identity.Core.2.2.1\lib\net45\Microsoft.AspNet.Identity.Core.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.AspNet.Identity.Owin, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.Identity.Owin.2.2.1\lib\net45\Microsoft.AspNet.Identity.Owin.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Owin.3.0.1\lib\net45\Microsoft.Owin.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin.Host.SystemWeb, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Owin.Host.SystemWeb.3.0.1\lib\net45\Microsoft.Owin.Host.SystemWeb.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin.Security, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Owin.Security.3.0.1\lib\net45\Microsoft.Owin.Security.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin.Security.Cookies, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Owin.Security.Cookies.3.0.1\lib\net45\Microsoft.Owin.Security.Cookies.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin.Security.OAuth, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Owin.Security.OAuth.3.0.1\lib\net45\Microsoft.Owin.Security.OAuth.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebHelpers.3.2.3\lib\net45\Microsoft.Web.Helpers.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="MiniProfiler, Version=2.1.0.0, Culture=neutral, PublicKeyToken=b44f9351044011a3, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MiniProfiler.2.1.0\lib\net40\MiniProfiler.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="MySql.Data, Version=6.9.7.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\MySql.Data.6.9.7\lib\net45\MySql.Data.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Owin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0ebd12fd5e55cc5, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Semver, Version=1.1.2.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\semver.1.1.2\lib\net451\Semver.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="SQLCE4Umbraco, Version=1.0.5780.28254, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\SQLCE4Umbraco.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\System.Data.SqlServerCe.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.SqlServerCe.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\System.Data.SqlServerCe.Entity.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Net.Http.Extensions, Version=2.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Extensions.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http.Primitives, Version=4.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Primitives.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http.WebRequest" />
|
||||
<Reference Include="System.Web.ApplicationServices" />
|
||||
<Reference Include="System.Web.DynamicData" />
|
||||
<Reference Include="System.Web.Entity" />
|
||||
<Reference Include="System.Web.Extensions" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Web" />
|
||||
<Reference Include="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.Helpers.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Http, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Http.WebHost, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.Mvc.5.2.3\lib\net45\System.Web.Mvc.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.Razor.3.2.3\lib\net45\System.Web.Razor.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.WebPages.Deployment, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Deployment.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.3\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="System.Configuration" />
|
||||
<Reference Include="System.Web.Services" />
|
||||
<Reference Include="System.EnterpriseServices" />
|
||||
<Reference Include="System.Web.Mobile" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="TidyNet, Version=1.0.0.0, Culture=neutral">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\TidyNet.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="umbraco, Version=1.0.5780.28255, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\umbraco.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Umbraco.Core, Version=1.0.5780.28249, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\Umbraco.Core.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="umbraco.DataLayer, Version=1.0.5780.28252, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\umbraco.DataLayer.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="umbraco.editorControls, Version=1.0.5780.28258, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\umbraco.editorControls.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="umbraco.MacroEngines, Version=1.0.5780.28258, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\umbraco.MacroEngines.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="umbraco.providers, Version=1.0.5780.28254, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\umbraco.providers.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Umbraco.Web.UI, Version=1.0.5780.28259, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\Umbraco.Web.UI.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="UmbracoExamine, Version=0.7.0.28253, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\UmbracoExamine.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="UrlRewritingNet.UrlRewriter, Version=2.0.60829.1, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.3.1\lib\UrlRewritingNet.UrlRewriter.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="WebMatrix.Data, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebPages.Data.3.2.3\lib\net45\WebMatrix.Data.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="WebMatrix.WebData, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebPages.WebData.3.2.3\lib\net45\WebMatrix.WebData.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Api\NotificationsController.cs" />
|
||||
<Compile Include="Config.cs" />
|
||||
<Compile Include="EventHandlers\Forum.cs" />
|
||||
<Compile Include="Library\Utils.cs" />
|
||||
<Compile Include="Models\ForumSubscriber.cs" />
|
||||
<Compile Include="Models\ForumTopicSubscriber.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Services\NotificationService.cs" />
|
||||
<Compile Include="Singleton.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Notification\Notification.csproj">
|
||||
<Project>{80E5F59D-A7A0-4CEE-AEB6-6C626C44B2B2}</Project>
|
||||
<Name>Notification</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\OurUmbraco\OurUmbraco.csproj">
|
||||
<Project>{a8e5c936-ecab-45b3-bfda-d12f680eb2a6}</Project>
|
||||
<Name>OurUmbraco</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
<ProjectExtensions />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" />
|
||||
<Target Name="EnsureBclBuildImported" BeforeTargets="BeforeBuild" Condition="'$(BclBuildImported)' == ''">
|
||||
<Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=317567." HelpKeyword="BCLBUILD2001" />
|
||||
<Error Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://go.microsoft.com/fwlink/?LinkID=317568." HelpKeyword="BCLBUILD2002" />
|
||||
</Target>
|
||||
</Project>
|
||||
@@ -1,35 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("NotificationsWeb")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("NotificationsWeb")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2010")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("3d5900ae-111a-45be-96b3-d9e4606ca793")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -1,59 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Web.Http.WebHost" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Owin.Security.OAuth" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Microsoft.Owin.Security.Cookies" publicKeyToken="31bf3856ad364e35" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
@@ -1,42 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="AutoMapper" version="3.0.0" targetFramework="net451" />
|
||||
<package id="ClientDependency" version="1.8.4" targetFramework="net451" />
|
||||
<package id="ClientDependency-Mvc" version="1.8.0.0" targetFramework="net451" />
|
||||
<package id="ClientDependency-Mvc5" version="1.8.0.0" targetFramework="net451" />
|
||||
<package id="Examine" version="0.1.68.0" targetFramework="net451" />
|
||||
<package id="HtmlAgilityPack" version="1.4.9" targetFramework="net451" />
|
||||
<package id="ImageProcessor" version="2.3.0.0" targetFramework="net451" />
|
||||
<package id="ImageProcessor.Web" version="4.4.0.0" targetFramework="net451" />
|
||||
<package id="Lucene.Net" version="2.9.4.1" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.Identity.Core" version="2.2.1" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.Identity.Owin" version="2.2.1" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.Mvc.FixedDisplayModes" version="5.0.0" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.WebHelpers" version="3.2.3" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.WebPages.Data" version="3.2.3" targetFramework="net451" />
|
||||
<package id="Microsoft.AspNet.WebPages.WebData" version="3.2.3" targetFramework="net451" />
|
||||
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="net451" />
|
||||
<package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net451" />
|
||||
<package id="Microsoft.Net.Http" version="2.2.29" targetFramework="net451" />
|
||||
<package id="Microsoft.Owin" version="3.0.1" targetFramework="net451" />
|
||||
<package id="Microsoft.Owin.Host.SystemWeb" version="3.0.1" targetFramework="net451" />
|
||||
<package id="Microsoft.Owin.Security" version="3.0.1" targetFramework="net451" />
|
||||
<package id="Microsoft.Owin.Security.Cookies" version="3.0.1" targetFramework="net451" />
|
||||
<package id="Microsoft.Owin.Security.OAuth" version="3.0.1" targetFramework="net451" />
|
||||
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net451" />
|
||||
<package id="MiniProfiler" version="2.1.0" targetFramework="net451" />
|
||||
<package id="MySql.Data" version="6.9.7" targetFramework="net451" />
|
||||
<package id="Newtonsoft.Json" version="6.0.8" targetFramework="net451" />
|
||||
<package id="Owin" version="1.0" targetFramework="net451" />
|
||||
<package id="semver" version="1.1.2" targetFramework="net451" />
|
||||
<package id="SharpZipLib" version="0.86.0" targetFramework="net451" />
|
||||
<package id="UmbracoCms.Core" version="7.3.1" targetFramework="net451" />
|
||||
<package id="xmlrpcnet" version="2.5.0" targetFramework="net451" />
|
||||
</packages>
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
var gulp = require('gulp'),
|
||||
var gulp = require('gulp'),
|
||||
gutil = require('gulp-util'),
|
||||
sass = require('gulp-sass'),
|
||||
jshint = require('gulp-jshint'),
|
||||
@@ -57,7 +57,7 @@ gulp.task('css', function () {
|
||||
.pipe(sass())
|
||||
.on('error', gutil.log)
|
||||
.pipe(autoprefixer('last 1 version', 'ie 9', 'ios 7'))
|
||||
.pipe(cmq({log: true}))
|
||||
// .pipe(cmq({log: true}))
|
||||
.pipe(rename({suffix: '.min'}))
|
||||
.pipe(minifyCss())
|
||||
.pipe(gulp.dest(settings.build + '/assets/css'))
|
||||
|
||||
@@ -4,33 +4,28 @@
|
||||
"description": "Umbraco Our gulpjs config",
|
||||
"main": "gulpfile.js",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
"gulp": "3.8.x",
|
||||
"gulp-util": "2.2.x",
|
||||
"gulp-watch": "0.6.x",
|
||||
"gulp-minify-css": "1.1.x",
|
||||
"node-sass": "3.2.x",
|
||||
"gulp-sass": "2.0.x",
|
||||
"gulp-combine-media-queries": "0.1.x",
|
||||
"gulp-imagemin": "0.6.x",
|
||||
"gulp-autoprefixer": "2.3.1",
|
||||
"gulp-uglify": "0.3.x",
|
||||
"gulp-jshint": "1.6.x",
|
||||
"gulp-concat": "2.2.x",
|
||||
"jshint-stylish": "0.2.x",
|
||||
"gulp": "^3.9.1",
|
||||
"gulp-autoprefixer": "^3.1.0",
|
||||
"gulp-clean": "0.3.x",
|
||||
"gulp-combine-media-queries": "0.2.x",
|
||||
"gulp-concat": "2.2.x",
|
||||
"gulp-imagemin": "3.3.x",
|
||||
"gulp-jshint": "^2.0.4",
|
||||
"gulp-minify-css": "1.1.x",
|
||||
"gulp-rename": "1.2.x",
|
||||
"gulp-sass": "^2.2.0",
|
||||
"gulp-svgmin": "0.4.x",
|
||||
"gulp-rename": "1.2.x"
|
||||
"gulp-uglify": "^1.5.3",
|
||||
"gulp-util": "3.0.x",
|
||||
"gulp-watch": "0.6.x",
|
||||
"jshint": "^2.9.4",
|
||||
"jshint-stylish": "0.2.x"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "gulp build --verbose"
|
||||
},
|
||||
"author": "umbraco",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "http://github.com/devdk/gulp-workflow.git"
|
||||
}
|
||||
"license": "MIT"
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ function GetSearchFilters(cssClass) {
|
||||
if(cssClass === undefined) {
|
||||
filters.category = undefined;
|
||||
} else {
|
||||
var category = cssClass.replace("-search-input", "");
|
||||
var category = cssClass.replace("-search-input valid", "").replace("-search-input", "");
|
||||
filters.category = category;
|
||||
}
|
||||
|
||||
@@ -112,7 +112,7 @@ var projectSearch = _.debounce(function(ev) {
|
||||
//iterate
|
||||
_.each(response.items, function(item){
|
||||
|
||||
var image = (item.Fields.image && item.Fields.image.length > 0) ? item.Fields.image : "<i class='icon-Box'></i>";
|
||||
var image = (item.Fields.image && item.Fields.image.length > 0) ? item.Fields.image : null;
|
||||
var itemData = {
|
||||
nodeName: item.Fields.nodeName,
|
||||
body: _.escape(item.Fields.body.substring(0, 150)),
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
border: none !important;
|
||||
|
||||
padding: 20px;
|
||||
line-height: 1.5;
|
||||
|
||||
@include colorset(alertbar);
|
||||
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
button.button, .button, a.button {
|
||||
background: $color-blue;
|
||||
padding: 14px 40px;
|
||||
display: inline-block;
|
||||
padding: 12px 40px;
|
||||
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
text-decoration: none;
|
||||
border: none;
|
||||
border-radius: 36px;
|
||||
@@ -11,8 +15,7 @@ button.button, .button, a.button {
|
||||
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
font-size: 1rem;
|
||||
line-height: 1;
|
||||
font-size: 14px;
|
||||
|
||||
margin: 0;
|
||||
|
||||
@@ -103,7 +106,7 @@ button.button, .button, a.button {
|
||||
|
||||
|
||||
&.large {
|
||||
font-size: 1.2rem;
|
||||
font-size: 1.175rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -30,7 +30,7 @@ header {
|
||||
left: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
|
||||
.navigation {
|
||||
position: relative;
|
||||
z-index: 200;
|
||||
@@ -54,11 +54,11 @@ header {
|
||||
|
||||
|
||||
.logo {
|
||||
background: url('/media/7514486/nous-sommes-france.png');
|
||||
background: url('../images/logo.svg');
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
background-size: 30px auto;
|
||||
|
||||
|
||||
height: 60px;
|
||||
line-height: 60px;
|
||||
|
||||
@@ -66,24 +66,21 @@ header {
|
||||
|
||||
text-indent: 40px;
|
||||
text-decoration: none;
|
||||
|
||||
|
||||
position: relative;
|
||||
z-index: 300;
|
||||
|
||||
font-size: 1rem;
|
||||
font-size: 1.15rem;
|
||||
|
||||
@include transition(all, .2s);
|
||||
|
||||
@media (min-width: $md) {
|
||||
background-size: 40px auto;
|
||||
text-indent: 46px;
|
||||
text-indent: 50px;
|
||||
|
||||
|
||||
&:hover {
|
||||
color: rgba(#fff, .66);
|
||||
|
||||
background-size: 36px auto;
|
||||
background-position: 4px center;
|
||||
opacity: .6;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -381,10 +378,10 @@ header {
|
||||
height: 100%;
|
||||
|
||||
background: rgba($color-our, .98);
|
||||
|
||||
|
||||
transform: translate(0, -100%);
|
||||
@include transition(transform, .3s);
|
||||
|
||||
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
|
||||
@@ -480,4 +477,3 @@ header {
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,475 +1,476 @@
|
||||
.markdown-editor {
|
||||
position: fixed;
|
||||
bottom: -100%;
|
||||
max-height: 100%;
|
||||
width: 100%;
|
||||
padding: .2rem;
|
||||
background-color: rgba(darken(#fff, 1%), .94);
|
||||
box-shadow: 0px -2px 6px 0px rgba(0, 0, 0, 0.08);
|
||||
transition: bottom .6s $cubicSearch, top .6s $cubicSearch;
|
||||
z-index: 800;
|
||||
|
||||
@media (max-width: $xs) {
|
||||
top: 100%;
|
||||
padding: 20px 0 0;
|
||||
}
|
||||
|
||||
&.write {
|
||||
bottom:0px;
|
||||
overflow-y: scroll;
|
||||
visibility: visible;
|
||||
@media (max-width: $xs) {
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&.mobile-preview {
|
||||
@media (max-width: $md) {
|
||||
#input-container {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#preview-container {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#preview-container {
|
||||
@media (max-width: $md) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
input, textarea, select{
|
||||
border: 2px solid #E4E8E9;
|
||||
color: #000;
|
||||
|
||||
&:focus, &:active{
|
||||
outline: none;
|
||||
border-color: $color-green;
|
||||
}
|
||||
|
||||
&.warning {
|
||||
border-color: $color-red !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.wmd-button {
|
||||
position: relative;
|
||||
margin-right: 15px;
|
||||
left: 0 !important;
|
||||
font-size: 1.4em;
|
||||
top: 10px;
|
||||
cursor: pointer;
|
||||
float: left;
|
||||
border-radius: 20px;
|
||||
transition: top 300ms $cubicSearch, opacity 300ms $cubicSearch;
|
||||
|
||||
}
|
||||
|
||||
.show {
|
||||
.wmd-button {
|
||||
@media (min-width: $md){
|
||||
top: 10px;
|
||||
opacity: .9;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.reply-to {
|
||||
p {
|
||||
font-size: 1rem;
|
||||
overflow: hidden;
|
||||
color: darken($color-space, 25%);
|
||||
background: transparent;
|
||||
}
|
||||
span {
|
||||
font-weight: 800;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-button-bar {
|
||||
position:relative;
|
||||
height: 30px;
|
||||
@media (max-width: $xs) {
|
||||
display:none;
|
||||
}
|
||||
}
|
||||
|
||||
.input-row {
|
||||
label {
|
||||
display: block;
|
||||
margin-bottom: 5px;
|
||||
color: darken($color-space, 10%);
|
||||
font-size: .9rem;
|
||||
}
|
||||
}
|
||||
.wmd-button-row {
|
||||
list-style: none;
|
||||
li {
|
||||
&:hover {
|
||||
span {
|
||||
color:black;
|
||||
}
|
||||
}
|
||||
|
||||
span {
|
||||
background-image: none;
|
||||
color: #727272;
|
||||
transition: color .2s ease-in;
|
||||
&:before {
|
||||
font-family: "our-umbraco" !important;
|
||||
content: attr(data-icon);
|
||||
font-style: normal !important;
|
||||
font-weight: normal !important;
|
||||
font-variant: normal !important;
|
||||
text-transform: none !important;
|
||||
speak: none;
|
||||
line-height: 1;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-bold-button {
|
||||
span {
|
||||
@extend .our-icon-bold;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-italic-button {
|
||||
span {
|
||||
@extend .our-icon-italic;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-bold-button {
|
||||
span {
|
||||
@extend .our-icon-bold;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-link-button {
|
||||
span {
|
||||
@extend .our-icon-hyperlink;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-quote-button {
|
||||
span {
|
||||
@extend .our-icon-quote;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-quote-button {
|
||||
span {
|
||||
@extend .our-icon-quote;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-code-button {
|
||||
span {
|
||||
@extend .our-icon-code;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-image-button {
|
||||
span {
|
||||
@extend .our-icon-picture;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-olist-button {
|
||||
span {
|
||||
@extend .our-icon-ol;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-ulist-button {
|
||||
span {
|
||||
@extend .our-icon-ul;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-heading-button {
|
||||
span {
|
||||
@extend .our-icon-header;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-hr-button {
|
||||
span {
|
||||
@extend .our-icon-hr;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-undo-button {
|
||||
span {
|
||||
@extend .our-icon-undo;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-redo-button {
|
||||
span {
|
||||
@extend .our-icon-redo;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.wmd-spacer {
|
||||
float: left;
|
||||
position: relative;
|
||||
width: 27px;
|
||||
display: block;
|
||||
opacity: 0;
|
||||
height: 20px;
|
||||
@media (max-width:$md) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-input {
|
||||
height: 300px;
|
||||
width: 100%;
|
||||
padding: .5rem;
|
||||
font-size: 1rem;
|
||||
color: $color-text;
|
||||
background: white;
|
||||
border: 2px solid #E4E8E9;
|
||||
@include transition(border-color, .2s);
|
||||
|
||||
@media (max-width: $xs) {
|
||||
height: 152px;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
border-color: $color-green;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-preview {
|
||||
width: 100%;
|
||||
min-height: 300px;
|
||||
max-height: 300px;
|
||||
overflow-y: scroll;
|
||||
padding: .5rem 20px;
|
||||
font-size: .8rem;
|
||||
color: #000;
|
||||
background: darken(#F5F7F7, 5%);
|
||||
@media (max-width: $xs) {
|
||||
max-height: 150px;
|
||||
min-height: 150px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.markdown-close {
|
||||
position: absolute;
|
||||
right: 1.5rem;
|
||||
top: 2rem;
|
||||
font-size: 28px;
|
||||
cursor: pointer;
|
||||
opacity: .6;
|
||||
@include transition(opacity, .3s);
|
||||
|
||||
@media (min-width: $md) {
|
||||
top: 1.5rem;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.draft {
|
||||
position: fixed;
|
||||
bottom: -40px;
|
||||
right: 30px;
|
||||
background-color: $color-green;
|
||||
color:white;
|
||||
padding: 12px 20px;
|
||||
cursor: pointer;
|
||||
opacity: 0;
|
||||
font-size: .9rem;
|
||||
font-weight: bold;
|
||||
transition: opacity .3s $cubicSearch, bottom .6s $cubicSearch, box-shadow .2s ease-in-out;
|
||||
|
||||
&.show {
|
||||
bottom: 30px;
|
||||
opacity: 1;
|
||||
|
||||
&:hover {
|
||||
background: lighten($color-green, 5%);
|
||||
@extend .BoxShadow;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.markdown-control {
|
||||
font-family: $font-family;
|
||||
font-size: .8rem;
|
||||
-webkit-appearance: none;
|
||||
@media (max-width: $xs) {
|
||||
padding: 5px !important;
|
||||
}
|
||||
}
|
||||
|
||||
#topic-title {
|
||||
padding: .5rem;
|
||||
font-size: .8rem;
|
||||
overflow: hidden;
|
||||
color: #000;
|
||||
background: #fff;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
select {
|
||||
position: relative;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
padding: .5rem;
|
||||
font-size: .8rem;
|
||||
overflow: hidden;
|
||||
color: #000;
|
||||
background: #fff;
|
||||
width: 100%;
|
||||
|
||||
border: 2px solid #E4E8E9;
|
||||
|
||||
@media (max-width: $xs) {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
&::after {
|
||||
position: absolute;
|
||||
display: block;
|
||||
top: 0;
|
||||
right: 0;
|
||||
content: "<";
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
|
||||
#topic-category {
|
||||
|
||||
option.frontend {
|
||||
background: #4ea7ff;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
option.core {
|
||||
background: #ff661b;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
option.azure {
|
||||
background: #1ed45c;
|
||||
color: #fff;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#topic-submit {
|
||||
border: none;
|
||||
background: $color-green;
|
||||
color: white;
|
||||
padding: 10px;
|
||||
width: 100%;
|
||||
max-width: 140px;
|
||||
font-family: $font-family;
|
||||
cursor: pointer;
|
||||
|
||||
font-size: 1rem;
|
||||
|
||||
&:hover {
|
||||
background: lighten($color-green, 5%);
|
||||
}
|
||||
}
|
||||
|
||||
#mobile-preview {
|
||||
border: none;
|
||||
background: none;
|
||||
-webkit-appearance:none;
|
||||
text-align: right;
|
||||
float: right;
|
||||
opacity: .4;
|
||||
cursor: pointer;
|
||||
@include transition(opacity, .3s);
|
||||
|
||||
i {
|
||||
font-size: 24px;
|
||||
display: inline-block;
|
||||
transform: translate(-3px, 5px);
|
||||
|
||||
}
|
||||
|
||||
span {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
@media (max-width: $xs) {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
&.mobile-preview {
|
||||
|
||||
#wmd-preview {
|
||||
@media (max-width: $md) {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
#mobile-preview {
|
||||
color: $color-our;
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.wmd-prompt-background {
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
#insert-image-dialog {
|
||||
position: fixed;
|
||||
z-index: 1001;
|
||||
@extend .copy-link-wrapper;
|
||||
&.show {
|
||||
clip: auto;
|
||||
opacity: 1;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
.wmd-prompt-dialog {
|
||||
@extend .copy-link-wrapper;
|
||||
opacity: 1;
|
||||
clip: auto;
|
||||
margin: 0 !important;
|
||||
input[type="text"] {
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
.markdown-spacer {
|
||||
position: relative;
|
||||
height: 0px;
|
||||
transition: height .6s $cubicSearch;
|
||||
&.write {
|
||||
height: 500px;
|
||||
}
|
||||
.markdown-editor {
|
||||
position: fixed;
|
||||
bottom: -100%;
|
||||
max-height: 100%;
|
||||
width: 100%;
|
||||
padding: .2rem;
|
||||
background-color: rgba(darken(#fff, 1%), .94);
|
||||
box-shadow: 0px -2px 6px 0px rgba(0, 0, 0, 0.08);
|
||||
transition: bottom .6s $cubicSearch, top .6s $cubicSearch;
|
||||
z-index: 800;
|
||||
|
||||
@media (max-width: $xs) {
|
||||
top: 100%;
|
||||
padding: 20px 0 0;
|
||||
}
|
||||
|
||||
&.write {
|
||||
bottom:0px;
|
||||
overflow-y: scroll;
|
||||
visibility: visible;
|
||||
@media (max-width: $xs) {
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&.mobile-preview {
|
||||
@media (max-width: $md) {
|
||||
#input-container {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#preview-container {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#preview-container {
|
||||
@media (max-width: $md) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
input, textarea, select{
|
||||
border: 2px solid #E4E8E9;
|
||||
color: #000;
|
||||
|
||||
&:focus, &:active{
|
||||
outline: none;
|
||||
border-color: $color-green;
|
||||
}
|
||||
|
||||
&.warning {
|
||||
border-color: $color-red !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.wmd-button {
|
||||
position: relative;
|
||||
margin-right: 15px;
|
||||
left: 0 !important;
|
||||
font-size: 1.4em;
|
||||
top: 10px;
|
||||
cursor: pointer;
|
||||
float: left;
|
||||
border-radius: 20px;
|
||||
transition: top 300ms $cubicSearch, opacity 300ms $cubicSearch;
|
||||
|
||||
}
|
||||
|
||||
.show {
|
||||
.wmd-button {
|
||||
@media (min-width: $md){
|
||||
top: 10px;
|
||||
opacity: .9;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.reply-to {
|
||||
p {
|
||||
font-size: 1rem;
|
||||
overflow: hidden;
|
||||
color: darken($color-space, 25%);
|
||||
background: transparent;
|
||||
}
|
||||
span {
|
||||
font-weight: 800;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-button-bar {
|
||||
position:relative;
|
||||
height: 30px;
|
||||
@media (max-width: $xs) {
|
||||
display:none;
|
||||
}
|
||||
}
|
||||
|
||||
.input-row {
|
||||
label {
|
||||
display: block;
|
||||
margin-bottom: 5px;
|
||||
color: darken($color-space, 10%);
|
||||
font-size: .9rem;
|
||||
}
|
||||
}
|
||||
.wmd-button-row {
|
||||
list-style: none;
|
||||
li {
|
||||
&:hover {
|
||||
span {
|
||||
color:black;
|
||||
}
|
||||
}
|
||||
|
||||
span {
|
||||
background-image: none;
|
||||
color: #727272;
|
||||
transition: color .2s ease-in;
|
||||
&:before {
|
||||
font-family: "our-umbraco" !important;
|
||||
content: attr(data-icon);
|
||||
font-style: normal !important;
|
||||
font-weight: normal !important;
|
||||
font-variant: normal !important;
|
||||
text-transform: none !important;
|
||||
speak: none;
|
||||
line-height: 1;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-bold-button {
|
||||
span {
|
||||
@extend .our-icon-bold;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-italic-button {
|
||||
span {
|
||||
@extend .our-icon-italic;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-bold-button {
|
||||
span {
|
||||
@extend .our-icon-bold;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-link-button {
|
||||
span {
|
||||
@extend .our-icon-hyperlink;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-quote-button {
|
||||
span {
|
||||
@extend .our-icon-quote;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-quote-button {
|
||||
span {
|
||||
@extend .our-icon-quote;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-code-button {
|
||||
span {
|
||||
@extend .our-icon-code;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-image-button {
|
||||
span {
|
||||
@extend .our-icon-picture;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-olist-button {
|
||||
span {
|
||||
@extend .our-icon-ol;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-ulist-button {
|
||||
span {
|
||||
@extend .our-icon-ul;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-heading-button {
|
||||
span {
|
||||
@extend .our-icon-header;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-hr-button {
|
||||
span {
|
||||
@extend .our-icon-hr;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-undo-button {
|
||||
span {
|
||||
@extend .our-icon-undo;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-redo-button {
|
||||
span {
|
||||
@extend .our-icon-redo;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.wmd-spacer {
|
||||
float: left;
|
||||
position: relative;
|
||||
width: 27px;
|
||||
display: block;
|
||||
opacity: 0;
|
||||
height: 20px;
|
||||
@media (max-width:$md) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-input {
|
||||
height: 300px;
|
||||
width: 100%;
|
||||
padding: .5rem;
|
||||
font-size: 1rem;
|
||||
color: $color-text;
|
||||
background: white;
|
||||
border: 2px solid #E4E8E9;
|
||||
@include transition(border-color, .2s);
|
||||
|
||||
@media (max-width: $xs) {
|
||||
height: 152px;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
border-color: $color-green;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-preview {
|
||||
width: 100%;
|
||||
min-height: 300px;
|
||||
max-height: 300px;
|
||||
overflow-y: scroll;
|
||||
padding: .5rem 20px;
|
||||
font-size: .8rem;
|
||||
color: #000;
|
||||
background: darken(#F5F7F7, 5%);
|
||||
@media (max-width: $xs) {
|
||||
max-height: 150px;
|
||||
min-height: 150px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.markdown-close {
|
||||
position: absolute;
|
||||
right: 1.5rem;
|
||||
top: 2rem;
|
||||
font-size: 28px;
|
||||
cursor: pointer;
|
||||
opacity: .6;
|
||||
@include transition(opacity, .3s);
|
||||
|
||||
@media (min-width: $md) {
|
||||
top: 1.5rem;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.draft {
|
||||
position: fixed;
|
||||
bottom: -40px;
|
||||
right: 30px;
|
||||
background-color: $color-green;
|
||||
color:white;
|
||||
padding: 12px 20px;
|
||||
cursor: pointer;
|
||||
opacity: 0;
|
||||
font-size: .9rem;
|
||||
font-weight: bold;
|
||||
transition: opacity .3s $cubicSearch, bottom .6s $cubicSearch, box-shadow .2s ease-in-out;
|
||||
|
||||
&.show {
|
||||
bottom: 30px;
|
||||
opacity: 1;
|
||||
|
||||
&:hover {
|
||||
background: lighten($color-green, 5%);
|
||||
@extend .BoxShadow;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.markdown-control {
|
||||
font-family: $font-family;
|
||||
font-size: .8rem;
|
||||
-webkit-appearance: none;
|
||||
@media (max-width: $xs) {
|
||||
padding: 5px !important;
|
||||
}
|
||||
}
|
||||
|
||||
#topic-title {
|
||||
padding: .5rem;
|
||||
font-size: .8rem;
|
||||
overflow: hidden;
|
||||
color: #000;
|
||||
background: #fff;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
select {
|
||||
position: relative;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
padding: .5rem;
|
||||
font-size: .8rem;
|
||||
overflow: hidden;
|
||||
color: #000;
|
||||
background: #fff;
|
||||
width: 100%;
|
||||
|
||||
border: 2px solid #E4E8E9;
|
||||
|
||||
@media (max-width: $xs) {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
&::after {
|
||||
position: absolute;
|
||||
display: block;
|
||||
top: 0;
|
||||
right: 0;
|
||||
content: "<";
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
|
||||
#topic-category {
|
||||
|
||||
option.frontend {
|
||||
background: #4ea7ff;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
option.core {
|
||||
background: #ff661b;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
option.azure {
|
||||
background: #1ed45c;
|
||||
color: #fff;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#topic-submit {
|
||||
border: none;
|
||||
background: $color-green;
|
||||
color: white;
|
||||
padding: 10px !important;
|
||||
padding-left: 32px;
|
||||
width: 100%;
|
||||
max-width: 140px;
|
||||
font-family: $font-family;
|
||||
cursor: pointer;
|
||||
|
||||
font-size: 1rem;
|
||||
|
||||
&:hover {
|
||||
background: lighten($color-green, 5%);
|
||||
}
|
||||
}
|
||||
|
||||
#mobile-preview {
|
||||
border: none;
|
||||
background: none;
|
||||
-webkit-appearance:none;
|
||||
text-align: right;
|
||||
float: right;
|
||||
opacity: .4;
|
||||
cursor: pointer;
|
||||
@include transition(opacity, .3s);
|
||||
|
||||
i {
|
||||
font-size: 24px;
|
||||
display: inline-block;
|
||||
transform: translate(-3px, 5px);
|
||||
|
||||
}
|
||||
|
||||
span {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
@media (max-width: $xs) {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
&.mobile-preview {
|
||||
|
||||
#wmd-preview {
|
||||
@media (max-width: $md) {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
#mobile-preview {
|
||||
color: $color-our;
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.wmd-prompt-background {
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
#insert-image-dialog {
|
||||
position: fixed;
|
||||
z-index: 1001;
|
||||
@extend .copy-link-wrapper;
|
||||
&.show {
|
||||
clip: auto;
|
||||
opacity: 1;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
.wmd-prompt-dialog {
|
||||
@extend .copy-link-wrapper;
|
||||
opacity: 1;
|
||||
clip: auto;
|
||||
margin: 0 !important;
|
||||
input[type="text"] {
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
.markdown-spacer {
|
||||
position: relative;
|
||||
height: 0px;
|
||||
transition: height .6s $cubicSearch;
|
||||
&.write {
|
||||
height: 500px;
|
||||
}
|
||||
}
|
||||
@@ -79,6 +79,53 @@
|
||||
|
||||
}
|
||||
|
||||
.pre {
|
||||
overflow: auto;
|
||||
display: block;
|
||||
font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;
|
||||
background-color: #333;
|
||||
color: #fff;
|
||||
font-size: 0.8rem;
|
||||
line-height: 1.4em;
|
||||
background-clip: padding-box;
|
||||
padding: 8px 15px 8px 15px;
|
||||
border-radius: 5px;
|
||||
width: 100%;
|
||||
min-width: 300px;
|
||||
text-align: left;
|
||||
border: none;
|
||||
margin: 0 auto;
|
||||
|
||||
&:hover {
|
||||
background: lighten(#333, 5%);
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.pm-nuget {
|
||||
position: relative;
|
||||
display: block;
|
||||
margin: 10px auto 25px auto;
|
||||
height: 100%;
|
||||
width: auto;
|
||||
color: #fff;
|
||||
|
||||
&:before {
|
||||
content:"PM>";
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 0;
|
||||
font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;
|
||||
font-size: 0.8rem;
|
||||
transform: translate(15px, -46%);
|
||||
opacity: .9;
|
||||
}
|
||||
.pre {
|
||||
padding-left: 45px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
h2, h3, strong, span {
|
||||
color: $color-headline;
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
input {
|
||||
-webkit-appearance: none;
|
||||
border-radius: 0;
|
||||
|
||||
|
||||
border: 1px solid darken(whitesmoke, 15%);
|
||||
padding: 20px 6px 20px 6px;
|
||||
padding: 20px 10px 20px 10px;
|
||||
outline: none;
|
||||
display: block;
|
||||
width: 100%;
|
||||
|
||||
@@ -529,6 +529,8 @@
|
||||
font-size: .7rem;
|
||||
letter-spacing: .5px;
|
||||
|
||||
text-align: center;
|
||||
|
||||
transform: translate(-50%, -50%);
|
||||
|
||||
cursor: pointer;
|
||||
|
||||
@@ -63,11 +63,11 @@ html {
|
||||
display: inline-block;
|
||||
overflow: hidden;
|
||||
width: 100%;
|
||||
max-width: $sb-desktop / 100% * $sb-width;
|
||||
text-align: center;
|
||||
|
||||
@media (min-width: $md) {
|
||||
float: right;
|
||||
max-width: $sb-desktop / 100% * $sb-width;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -80,7 +80,7 @@ html {
|
||||
padding-bottom: 200px;
|
||||
|
||||
@media (max-width:992px) {
|
||||
|
||||
|
||||
display: block;
|
||||
width: 100%;
|
||||
|
||||
@@ -96,10 +96,10 @@ html {
|
||||
@media (min-width: 2100px) {
|
||||
width:100% - $sb-retina-width;
|
||||
}
|
||||
|
||||
|
||||
.main-content {
|
||||
display: block;
|
||||
width: 100%;
|
||||
width: 100%;
|
||||
padding-left: 20px;
|
||||
padding-right: 20px;
|
||||
padding-top: 20px;
|
||||
@@ -173,7 +173,7 @@ html {
|
||||
cursor: pointer;
|
||||
}
|
||||
@media (max-width: 992px) {
|
||||
border-left: none;
|
||||
border-left: none;
|
||||
background-color: lighten($color-our,10%);
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
|
||||
@@ -50,6 +50,11 @@
|
||||
@media (min-width: $md) {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
span {
|
||||
padding-top: 5px;
|
||||
padding-left: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -91,16 +91,20 @@
|
||||
|
||||
|
||||
&-head {
|
||||
flex-direction: row;
|
||||
display: none;
|
||||
|
||||
padding: 20px 15px;
|
||||
border-bottom: 1px solid whitesmoke;
|
||||
@media (min-width: $md) {
|
||||
display: flex;
|
||||
|
||||
font-size: .8rem;
|
||||
text-transform: uppercase;
|
||||
font-weight: bold;
|
||||
padding: 20px 15px;
|
||||
border-bottom: 1px solid whitesmoke;
|
||||
|
||||
letter-spacing: .5px;
|
||||
font-size: .8rem;
|
||||
text-transform: uppercase;
|
||||
font-weight: bold;
|
||||
|
||||
letter-spacing: .5px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -112,19 +116,6 @@
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
small {
|
||||
color: darken($color-space, 25%);
|
||||
font-size: 1rem;
|
||||
|
||||
margin-bottom: .2rem;
|
||||
}
|
||||
|
||||
span {
|
||||
font-size: .8rem;
|
||||
color: $color-space;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -135,16 +126,27 @@
|
||||
padding: 25px 15px;
|
||||
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
|
||||
border-bottom: 1px solid rgba($color-space, .11);
|
||||
|
||||
@media (min-width: $md) {
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
|
||||
.topic {
|
||||
font-size: .95rem;
|
||||
font-size: 1.15rem;
|
||||
line-height: 1.3;
|
||||
|
||||
order: 2;
|
||||
|
||||
h3 {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
@@ -177,8 +179,9 @@
|
||||
|
||||
|
||||
@media (min-width: $md) {
|
||||
font-size: 1.15rem;
|
||||
line-height: 1.3;
|
||||
h3 {
|
||||
font-weight: 100;
|
||||
}
|
||||
|
||||
span {
|
||||
font-size: .9rem;
|
||||
@@ -216,35 +219,62 @@
|
||||
|
||||
|
||||
.topic {
|
||||
flex: 0 0 50%;
|
||||
margin-right: 5%;
|
||||
order: 2;
|
||||
|
||||
margin: 10px 0;
|
||||
|
||||
@media (min-width: $md) {
|
||||
flex: 0 0 50%;
|
||||
margin-right: 10%;
|
||||
margin: 0 10% 0 0;
|
||||
|
||||
order: 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.category {
|
||||
flex: 0 0 30%;
|
||||
margin-right: 5%;
|
||||
order: 1;
|
||||
|
||||
@media (min-width: $md) {
|
||||
flex: 0 0 28%;
|
||||
margin-right: 2%;
|
||||
|
||||
order: 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.posts {
|
||||
flex: 0 0 10%;
|
||||
text-align: center;
|
||||
order: 3;
|
||||
|
||||
@media (max-width: $md) {
|
||||
transform: translate(-6px, 0);
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
font-size: .8rem;
|
||||
|
||||
small {
|
||||
margin-right: 3px;
|
||||
margin-bottom: 0;
|
||||
font-weight: normal;
|
||||
font-size: .8rem;
|
||||
color: $color-black;
|
||||
}
|
||||
|
||||
@media (min-width: $md) {
|
||||
text-align: center;
|
||||
|
||||
flex-direction: column;
|
||||
|
||||
small {
|
||||
margin-right: 0px;
|
||||
margin-bottom: 5px;
|
||||
font-weight: bold;
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -291,10 +321,14 @@
|
||||
color: #4f5f63;
|
||||
text-transform: uppercase;
|
||||
font-weight: 700;
|
||||
letter-spacing: .2px;
|
||||
display: block;
|
||||
margin-bottom: .5rem;
|
||||
text-align: left;
|
||||
line-height: 1.2;
|
||||
|
||||
@media (min-width: $md) {
|
||||
letter-spacing: .2px;
|
||||
}
|
||||
}
|
||||
|
||||
.options {
|
||||
@@ -348,7 +382,6 @@
|
||||
span {
|
||||
position: relative;
|
||||
flex: 1 1 auto;
|
||||
margin-right: 20px;
|
||||
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
@@ -369,6 +402,8 @@
|
||||
transition: color 150ms ease;
|
||||
font-size: .7rem;
|
||||
|
||||
text-align: center;
|
||||
|
||||
@media(min-width: $md) {
|
||||
font-size: .9rem;
|
||||
}
|
||||
@@ -545,3 +580,8 @@
|
||||
.topic-row.solved + .topic-row.solved {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.forum .forum-thread.solved {
|
||||
background: rgba(163, 219, 120, 0.23) none repeat scroll 0 0;
|
||||
border: 2px solid rgba(163, 219, 120, 0.66);
|
||||
}
|
||||
@@ -1,39 +1,31 @@
|
||||
.download {
|
||||
.download.latest .dot {
|
||||
margin-top: 2rem;
|
||||
}
|
||||
|
||||
|
||||
.dot.progress {
|
||||
.download .dot.progress {
|
||||
text-indent: .3rem;
|
||||
text-align: center;
|
||||
line-height: 2.8rem;
|
||||
}
|
||||
|
||||
|
||||
.counter {
|
||||
font-size: 1.1rem;;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
&.latest {
|
||||
|
||||
|
||||
.dot {
|
||||
margin-top: 2rem;
|
||||
}
|
||||
}
|
||||
.download .dot.progress .counter {
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.explain {
|
||||
flex-direction: column;
|
||||
|
||||
|
||||
.changes {
|
||||
small {
|
||||
line-height: .5rem;
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
flex-direction: row;
|
||||
}
|
||||
}
|
||||
|
||||
.explain .changes small {
|
||||
line-height: .5rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.chart {
|
||||
@@ -41,171 +33,100 @@
|
||||
top: -4px;
|
||||
left: -8px;
|
||||
z-index: 1;
|
||||
|
||||
|
||||
.percentage {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
top: 9px;
|
||||
left: 16px;
|
||||
font-size: 1.1rem;
|
||||
color: darken($color-our, 30%);
|
||||
}
|
||||
|
||||
|
||||
canvas {
|
||||
top: 1px;
|
||||
position: absolute;
|
||||
left: 5px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.chart .percentage {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
top: 9px;
|
||||
left: 16px;
|
||||
font-size: 1.1rem;
|
||||
color: darken($color-our, 30%);
|
||||
}
|
||||
|
||||
.chart canvas {
|
||||
top: 1px;
|
||||
position: absolute;
|
||||
left: 5px;
|
||||
}
|
||||
|
||||
.get-release {
|
||||
|
||||
|
||||
i {
|
||||
font-size: 2.5rem;
|
||||
line-height: 5rem;
|
||||
}
|
||||
.chart {
|
||||
position: absolute;
|
||||
top: -4px;
|
||||
left: -8px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.get-release {
|
||||
line-height: 1.5;
|
||||
padding: 2.5rem 0;
|
||||
margin: 2.5rem 0;
|
||||
padding: 3rem 0;
|
||||
margin: 0 0 3.5rem ;
|
||||
border-bottom: 1px solid darken(whitesmoke, 5%);
|
||||
border-top: 1px solid darken(whitesmoke, 5%);
|
||||
}
|
||||
|
||||
.get-release i {
|
||||
font-size: 2.5rem;
|
||||
line-height: 5rem;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.1rem;
|
||||
margin-bottom: .3rem;
|
||||
color: $color-headline;
|
||||
.get-release h3 {
|
||||
font-size: 1.1rem;
|
||||
margin-bottom: .3rem;
|
||||
color: $color-headline;
|
||||
}
|
||||
|
||||
.get-release h3 a {
|
||||
text-decoration: none;
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
|
||||
|
||||
&:hover {
|
||||
color: $color-our;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
p {
|
||||
color: $color-headline;
|
||||
font-size: .95rem;
|
||||
line-height: 1.3;
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
|
||||
|
||||
small {
|
||||
font-size: .7rem;
|
||||
color: $color-text;
|
||||
&:hover {
|
||||
color: $color-our;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.release {
|
||||
min-height: 160px;
|
||||
|
||||
|
||||
&.zip {
|
||||
|
||||
|
||||
i {
|
||||
color: $color-headline;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
&.bin {
|
||||
|
||||
|
||||
i {
|
||||
color: rgba(#000, .4);
|
||||
font-size: 1.6rem;
|
||||
}
|
||||
|
||||
|
||||
h4 {
|
||||
font-size: .9rem;
|
||||
margin-bottom: .3rem;
|
||||
color: $color-headline;
|
||||
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
|
||||
|
||||
&:hover {
|
||||
color: $color-our;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
&.col-sm-5 {
|
||||
padding-top: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
&.col-sm-1 {
|
||||
text-align: center;
|
||||
}
|
||||
.get-release p {
|
||||
color: $color-headline;
|
||||
font-size: .95rem;
|
||||
line-height: 1.3;
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.latest {
|
||||
|
||||
|
||||
.dot.big {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
|
||||
.explain {
|
||||
|
||||
|
||||
h4 {
|
||||
font-size: 2.5rem;
|
||||
}
|
||||
|
||||
|
||||
p {
|
||||
font-size: 1.1rem;
|
||||
color: $color-text
|
||||
;
|
||||
}
|
||||
|
||||
.col-xs-12 {
|
||||
min-height: 0;
|
||||
}
|
||||
}
|
||||
.get-release small {
|
||||
font-size: .8rem;
|
||||
color: rgba($color-text, .6);
|
||||
}
|
||||
|
||||
|
||||
.latest .dot.big {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
|
||||
.latest .explain h4 {
|
||||
font-size: 2.5rem;
|
||||
}
|
||||
|
||||
|
||||
.latest .explain p {
|
||||
font-size: 1.1rem;
|
||||
color: $color-text;
|
||||
}
|
||||
|
||||
.latest .explain .col-xs-12 {
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// Single release page
|
||||
.release{
|
||||
|
||||
.release {
|
||||
|
||||
.markdown-syntax {
|
||||
|
||||
|
||||
p, li, ul, a {
|
||||
p, li, ul {
|
||||
color: $color-headline;
|
||||
font-size: .95rem;
|
||||
}
|
||||
@@ -217,12 +138,8 @@
|
||||
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
text-decoration: underline;
|
||||
font-family: $font-family;
|
||||
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -257,12 +174,12 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.releaseTable {
|
||||
|
||||
|
||||
.col-xs-3 {
|
||||
|
||||
|
||||
&:first-child {
|
||||
.progress {
|
||||
.top {
|
||||
@@ -286,6 +203,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Progress page
|
||||
.inprogress {
|
||||
|
||||
@@ -328,11 +246,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Roadmap page
|
||||
.plannedreleases {
|
||||
.dot.big {
|
||||
text-indent: 0;
|
||||
line-height: 3rem;
|
||||
line-height: 3rem;
|
||||
}
|
||||
.chart {
|
||||
top: 0px;
|
||||
@@ -346,3 +265,194 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.release-page .explain h2 {
|
||||
margin: 0;
|
||||
font-size: 2em;
|
||||
color: rgba(0,0,0,.8);
|
||||
}
|
||||
|
||||
.release-page .explain small {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.release-page .dot {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.release-page .dot.big {
|
||||
position: relative;
|
||||
text-indent: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.release-page .chart {
|
||||
height: 60px;
|
||||
width: 60px;
|
||||
top: initial;
|
||||
left: initial;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.release-page .chart p {
|
||||
vertical-align: middle;
|
||||
line-height: 3.7rem;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.release-page .chart canvas {
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
}
|
||||
|
||||
.statuses ul {
|
||||
list-style-type: none;
|
||||
}
|
||||
.statuses ul li {
|
||||
position: relative;
|
||||
margin-bottom: 10px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
.statuses li:before {
|
||||
position: absolute;
|
||||
top: -4px;
|
||||
left: -25px;
|
||||
font-size: 1.5em;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.release-progress-indicator {
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
|
||||
.release-progress-action {
|
||||
flex: 1 1 auto;
|
||||
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.release-progress-version {
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
|
||||
.release-section-group {
|
||||
flex: 1 1 100%;
|
||||
padding: 0;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
|
||||
@media (min-width: 768px) {
|
||||
flex: 1 1 47%;
|
||||
padding: 0 3% 0 0;
|
||||
align-items: flex-start;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
.release-section-group:nth-child(even) {
|
||||
flex: 1 1 100%;
|
||||
padding: 0;
|
||||
|
||||
@media (min-width: 768px) {
|
||||
flex: 1 1 47%;
|
||||
padding: 0 0 0 3%;
|
||||
}
|
||||
}
|
||||
|
||||
.release-section-action {
|
||||
height: 80px;
|
||||
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
|
||||
.release-section code {
|
||||
overflow: auto;
|
||||
|
||||
background-color: #333;
|
||||
background-clip: padding-box;
|
||||
|
||||
color: #fff;
|
||||
font-size: 12px;
|
||||
line-height: 1.4em;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
|
||||
|
||||
padding: 14px 16px 14px 16px;
|
||||
|
||||
width: auto;
|
||||
border-radius: 5px;
|
||||
border: none;
|
||||
}
|
||||
.release-section code a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.release-section + .release-section {
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.release-section-group + .release-section-group {
|
||||
margin-top: 30px;
|
||||
|
||||
@media (min-width: 768px) {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.release-page h2 {
|
||||
font-size: 1.4rem;
|
||||
font-weight: bold;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.release-page h3 {
|
||||
font-size: 1.1rem;
|
||||
font-weight: bold;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Other files
|
||||
.release-other-files {
|
||||
margin-top: 3rem;
|
||||
}
|
||||
|
||||
.release-other-files h3 {
|
||||
font-size: 1.1rem;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.release-other-files small {
|
||||
font-size: .8rem;
|
||||
color: rgba($color-text, .5);
|
||||
}
|
||||
|
||||
|
||||
.release-other-files .release {
|
||||
min-height: auto;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.release-other-files .release a {
|
||||
display: inline-block;
|
||||
margin-bottom: 10px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.release-other-files .release p {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
#github-contributors {
|
||||
&:not(.all) {
|
||||
.contributor {
|
||||
&:nth-child(n+17) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media (max-width: $md) {
|
||||
&:nth-child(n+13) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: $xs) {
|
||||
&:nth-child(n+10) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.all {
|
||||
.button {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.loadmore {
|
||||
margin: 20px auto;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.github-contributors small.link-list {
|
||||
font-style: italic;
|
||||
font-weight: normal;
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
.contributor {
|
||||
margin-bottom: 15px;
|
||||
|
||||
.avatar {
|
||||
position: relative;
|
||||
flex: 0 0 23%;
|
||||
margin-right: 20px;
|
||||
|
||||
@media (min-width: $md) {
|
||||
flex: 0 0 15%;
|
||||
}
|
||||
|
||||
img {
|
||||
border: 3px solid #98d768;
|
||||
width: 100%;
|
||||
max-width: 112px;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.counts {
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
left: 2px;
|
||||
right: 2px;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
font-size: 12px;
|
||||
line-height: 12px;
|
||||
background: rgba(0,0,0,0.25);
|
||||
border-radius: 50%;
|
||||
bottom: 6px;
|
||||
padding-top: 23px;
|
||||
opacity: 0;
|
||||
transition: opacity 0.25s;
|
||||
}
|
||||
|
||||
&:hover .counts {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.contrib-count {
|
||||
position: absolute;
|
||||
left: 25px;
|
||||
bottom: 0px;
|
||||
text-align: center;
|
||||
right: 25px;
|
||||
color: #425a2e;
|
||||
font-weight: bold;
|
||||
background: darken($color-our, 4%);
|
||||
border-radius: 15px;
|
||||
z-index: 5;
|
||||
}
|
||||
}
|
||||
@@ -45,6 +45,7 @@ section.forum {
|
||||
.forum-thread {
|
||||
flex: 0 0 100%;
|
||||
display: flex;
|
||||
overflow: hidden;
|
||||
|
||||
@media (min-width: $md) {
|
||||
flex: 1 0 49%;
|
||||
@@ -77,6 +78,8 @@ section.forum {
|
||||
flex-direction: column;
|
||||
flex: 1 0 75%;
|
||||
|
||||
overflow: hidden;
|
||||
|
||||
padding: 0 10px 0 0;
|
||||
|
||||
@media (min-width: $md) {
|
||||
@@ -89,6 +92,7 @@ section.forum {
|
||||
|
||||
.category {
|
||||
margin: .5rem 0 0;
|
||||
max-width: 95%;
|
||||
|
||||
span {
|
||||
font-size: .75rem;
|
||||
@@ -129,17 +133,17 @@ section.forum {
|
||||
|
||||
.forum-thread, .person-activity {
|
||||
background: #fff;
|
||||
padding: 15px;
|
||||
padding: 25px;
|
||||
margin-bottom: 30px;
|
||||
border: 1px solid darken(#f6f6f6, 5%);
|
||||
transition: box-shadow .2s;
|
||||
transition: box-shadow .2s ease, border-color .2s ease;
|
||||
text-decoration: none;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
&:hover {
|
||||
border-color: transparent;
|
||||
border-color: white;
|
||||
@include box_shadow(2);
|
||||
}
|
||||
|
||||
|
||||
@@ -15,6 +15,11 @@
|
||||
@import 'playground';
|
||||
|
||||
|
||||
/**
|
||||
/* Utilities
|
||||
**/
|
||||
@import 'utilities/flexbox';
|
||||
|
||||
/**
|
||||
/* Elements
|
||||
**/
|
||||
@@ -55,7 +60,7 @@
|
||||
@import 'sections/forum';
|
||||
@import 'sections/people';
|
||||
@import 'sections/events';
|
||||
|
||||
@import 'sections/contributors';
|
||||
|
||||
/**
|
||||
/* Pages
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
/*
|
||||
|
||||
Flexbox
|
||||
|
||||
*/
|
||||
|
||||
.flex { display: flex; }
|
||||
.flex-inline { display: inline-flex; }
|
||||
|
||||
.flex-column { flex-direction: column; }
|
||||
.flex-wrap { flex-wrap: wrap; }
|
||||
|
||||
.items-start { align-items: flex-start; }
|
||||
.items-end { align-items: flex-end; }
|
||||
.items-center { align-items: center; }
|
||||
.items-baseline { align-items: baseline; }
|
||||
.items-stretch { align-items: stretch; }
|
||||
|
||||
.self-start { align-self: flex-start; }
|
||||
.self-end { align-self: flex-end; }
|
||||
.self-center { align-self: center; }
|
||||
.self-baseline { align-self: baseline; }
|
||||
.self-stretch { align-self: stretch; }
|
||||
|
||||
.justify-start { justify-content: flex-start; }
|
||||
.justify-end { justify-content: flex-end; }
|
||||
.justify-center { justify-content: center; }
|
||||
.justify-between { justify-content: space-between; }
|
||||
.justify-around { justify-content: space-around; }
|
||||
|
||||
.content-start { align-content: flex-start; }
|
||||
.content-end { align-content: flex-end; }
|
||||
.content-center { align-content: center; }
|
||||
.content-between { align-content: space-between; }
|
||||
.content-around { align-content: space-around; }
|
||||
.content-stretch { align-content: stretch; }
|
||||
|
||||
.flx-i {
|
||||
flex: 1;
|
||||
}
|
||||
.flx-g0 {
|
||||
flex-grow: 0;
|
||||
}
|
||||
.flx-s0 {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.flx-b0 {
|
||||
flex-basis: 0%;
|
||||
}
|
||||
.flx-g1 {
|
||||
flex-grow: 1;
|
||||
}
|
||||
.flx-s1 {
|
||||
flex-shrink: 1;
|
||||
}
|
||||
.flx-b1 {
|
||||
flex-basis: 100%;
|
||||
}
|
||||
|
||||
/* 1. Fix for Chrome 44 bug. https://code.google.com/p/chromium/issues/detail?id=506893 */
|
||||
.flex-auto {
|
||||
flex: 1 1 auto;
|
||||
min-width: 0; /* 1 */
|
||||
min-height: 0; /* 1 */
|
||||
}
|
||||
|
||||
.flex-none { flex: none; }
|
||||
@@ -1,14 +0,0 @@
|
||||
<access>
|
||||
<page id="1057" loginPage="4729" noRightsPage="4729" simple="False">
|
||||
<group id="standard" />
|
||||
</page>
|
||||
<page id="6772" loginPage="1056" noRightsPage="1056" simple="False">
|
||||
<group id="standard" />
|
||||
</page>
|
||||
<page id="8283" loginPage="1056" noRightsPage="4729" simple="False">
|
||||
<group id="wiki editor" />
|
||||
</page>
|
||||
<page id="8615" loginPage="1056" noRightsPage="4729" simple="False">
|
||||
<group id="wiki editor" />
|
||||
</page>
|
||||
</access>
|
||||
@@ -1,11 +0,0 @@
|
||||
<access>
|
||||
<page id="1057" loginPage="4729" noRightsPage="4729" simple="False">
|
||||
<group id="standard" />
|
||||
</page>
|
||||
<page id="6772" loginPage="1056" noRightsPage="1056" simple="False">
|
||||
<group id="standard" />
|
||||
</page>
|
||||
<page id="8283" loginPage="1056" noRightsPage="4729" simple="False">
|
||||
<group id="wiki editor" />
|
||||
</page>
|
||||
</access>
|
||||
@@ -0,0 +1,31 @@
|
||||
function modelsBuilderController($scope, umbRequestHelper, $log, $http, modelsBuilderResource) {
|
||||
|
||||
$scope.generate = function() {
|
||||
$scope.generating = true;
|
||||
umbRequestHelper.resourcePromise(
|
||||
$http.post(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "BuildModels")),
|
||||
'Failed to generate.')
|
||||
.then(function (result) {
|
||||
$scope.generating = false;
|
||||
$scope.dashboard = result;
|
||||
});
|
||||
};
|
||||
|
||||
$scope.reload = function () {
|
||||
$scope.ready = false;
|
||||
modelsBuilderResource.getDashboard().then(function (result) {
|
||||
$scope.dashboard = result;
|
||||
$scope.ready = true;
|
||||
});
|
||||
};
|
||||
|
||||
function init() {
|
||||
modelsBuilderResource.getDashboard().then(function(result) {
|
||||
$scope.dashboard = result;
|
||||
$scope.ready = true;
|
||||
});
|
||||
}
|
||||
|
||||
init();
|
||||
}
|
||||
angular.module("umbraco").controller("Umbraco.Dashboard.ModelsBuilderController", modelsBuilderController);
|
||||
@@ -0,0 +1,41 @@
|
||||
<div id="modelsBuilder" ng-controller="Umbraco.Dashboard.ModelsBuilderController">
|
||||
|
||||
<div ng-show="ready" style="float: right;">
|
||||
<button type="button" class="btn" ng-click="reload()"><span>Reload</span></button>
|
||||
</div>
|
||||
|
||||
<h3>Models Builder</h3>
|
||||
|
||||
<div ng-show="!ready">
|
||||
Loading...
|
||||
</div>
|
||||
|
||||
<div ng-show="ready">
|
||||
<div ng-bind-html-unsafe="dashboard.text"></div>
|
||||
|
||||
<div ng-if="dashboard.outOfDateModels">
|
||||
<p>Models are <strong>out-of-date</strong>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div ng-if="dashboard.canGenerate">
|
||||
<div ng-if="dashboard.generateCausesRestart">
|
||||
<p style="color: red; font-weight: bold;">Generating models will restart the application.</p>
|
||||
</div>
|
||||
<div ng-show="!generating">
|
||||
<button type="button" ng-click="generate()" class="btn btn-danger">
|
||||
<span>Generate models</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="umb-loader-wrapper" ng-show="generating">
|
||||
<div class="umb-loader"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-if="dashboard.lastError" style="margin-top: 32px;" ng-show="!generating">
|
||||
<span style="color: red; font-weight: bold;">Last generation failed with the following error:</span>
|
||||
<pre style="width: 80%; white-space: pre-line; background: #f8f8f8; padding: 4px; font-size: small;">{{dashboard.lastError}}</pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,23 @@
|
||||
function modelsBuilderResource($q, $http, umbRequestHelper) {
|
||||
|
||||
return {
|
||||
getModelsOutOfDateStatus: function () {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.get(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "GetModelsOutOfDateStatus")),
|
||||
"Failed to get models out-of-date status");
|
||||
},
|
||||
|
||||
buildModels: function () {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.post(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "BuildModels")),
|
||||
"Failed to build models");
|
||||
},
|
||||
|
||||
getDashboard: function () {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.get(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "GetDashboard")),
|
||||
"Failed to get dashboard");
|
||||
}
|
||||
};
|
||||
}
|
||||
angular.module("umbraco.resources").factory("modelsBuilderResource", modelsBuilderResource);
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
//array of files we want to inject into the application on app_start
|
||||
javascript: [
|
||||
'~/App_Plugins/ModelsBuilder/modelsbuilder.controller.js',
|
||||
'~/App_Plugins/ModelsBuilder/modelsbuilder.resource.js'
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
angular.module("umbraco").controller("ourManagementController", function ($scope, $http, notificationsService) {
|
||||
$scope.downloadDocumentation = function () {
|
||||
notificationsService.success("Downloading and indexing documentation, hold on");
|
||||
var downloadUrl = "/html/githubpulltrigger";
|
||||
$http.get(downloadUrl)
|
||||
.success(function () {
|
||||
notificationsService.success("Documentation all downloaded and indexed!");
|
||||
})
|
||||
.error(function () {
|
||||
notificationsService.error("Problem with the documentation download/indexing");
|
||||
});
|
||||
};
|
||||
|
||||
$scope.downloadYoutrackData = function () {
|
||||
notificationsService.success("Downloading YouTrack data, hold on");
|
||||
var youtrackUrl = "backoffice/API/YouTrackApi/GetData";
|
||||
$http.get(youtrackUrl)
|
||||
.success(function () {
|
||||
notificationsService.success("YouTrack data all downloaded!");
|
||||
})
|
||||
.error(function () {
|
||||
notificationsService.error("Problem with the YouTrack data downloading");
|
||||
});
|
||||
};
|
||||
});
|
||||
@@ -0,0 +1,11 @@
|
||||
<div class="ourManagementDashboard" ng-controller="ourManagementController">
|
||||
<h3>Documentation</h3>
|
||||
<button ng-click="downloadDocumentation()">
|
||||
Download documentation
|
||||
</button>
|
||||
|
||||
<h3>YouTrack</h3>
|
||||
<button ng-click="downloadYoutrackData()">
|
||||
Download YouTrack data
|
||||
</button>
|
||||
</div>
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"$schema": "/App_Plugins/manifestSchema.json",
|
||||
"javascript": [
|
||||
"/App_Plugins/OurManagement/ourmanagement.controller.js"
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 18 KiB |
@@ -1 +1,2 @@
|
||||
<%@ Application Inherits="Umbraco.Web.UmbracoApplication" Language="C#" %>
|
||||
<%@ Application Inherits="Umbraco.Web.UmbracoApplication" Language="C#" %>
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
<%@ WebHandler Language="c#" Class="RequestHandler" %>
|
||||
|
||||
public class RequestHandler : System.Web.IHttpHandler
|
||||
{
|
||||
public bool IsReusable
|
||||
{
|
||||
get { return false; }
|
||||
}
|
||||
|
||||
public void ProcessRequest(System.Web.HttpContext context)
|
||||
{
|
||||
ImageGen.ImageGenQueryStringParser parser = new ImageGen.ImageGenQueryStringParser();
|
||||
parser.Process(context);
|
||||
parser = null;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
|
||||
by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121.
|
||||
-->
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<WebPublishMethod>FileSystem</WebPublishMethod>
|
||||
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
|
||||
<LastUsedPlatform>Any CPU</LastUsedPlatform>
|
||||
<SiteUrlToLaunchAfterPublish />
|
||||
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
|
||||
<ExcludeApp_Data>False</ExcludeApp_Data>
|
||||
<publishUrl>c:\ourtestpublish</publishUrl>
|
||||
<DeleteExistingFiles>False</DeleteExistingFiles>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,2 @@
|
||||
@inherits UmbracoTemplatePage
|
||||
@Umbraco.RenderMacro(Model.Content.GetPropertyValue<string>("macro"))
|
||||
@@ -0,0 +1,33 @@
|
||||
@inherits OurUmbraco.Our.Models.OurUmbracoTemplatePage
|
||||
@{
|
||||
Layout = "~/Views/Master.cshtml";
|
||||
}
|
||||
|
||||
@Html.Partial("~/Views/Partials/Community/Home.cshtml")
|
||||
|
||||
@section Search
|
||||
{
|
||||
<script type="text/template" class="search-item-template">
|
||||
<li>
|
||||
<a href="{{ url }}">
|
||||
<div class="type-icon">
|
||||
<i class="{{ icon }}"></i>
|
||||
</div>
|
||||
|
||||
<div class="type-context">
|
||||
<div class="type-name">
|
||||
{{ name }}
|
||||
</div>
|
||||
<div class="type-description">
|
||||
{{ description }}
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</script>
|
||||
}
|
||||
|
||||
@section EndScripts
|
||||
{
|
||||
@Html.Partial("~/Views/Partials/Community/Scripts.cshtml")
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
@inherits UmbracoTemplatePage
|
||||
@{
|
||||
Layout = "~/Views/Master.cshtml";
|
||||
}
|
||||
<div id="contribute" class="subpage">
|
||||
<div id="body" class="markdown-syntax">
|
||||
<div>
|
||||
@Html.Action("Render", "Breadcrumb", new { linkToCurrent = false })
|
||||
</div>
|
||||
<h1>Contribute to the Umbraco Project</h1>
|
||||
<div>
|
||||
@Html.Raw(Model.Content.GetPropertyValue<string>("bodyText"))
|
||||
</div>
|
||||
<div class="options">
|
||||
<div class="row projectGroups">
|
||||
@foreach (var item in Model.Content.Children.Where(x => x.IsVisible()))
|
||||
{
|
||||
<div class="projectGroup col-md-6">
|
||||
<div style="background-image: url('@(item.GetPropertyValue<string>("contentIcon"))">
|
||||
<h3><a href="@item.Url">@item.Name</a></h3>
|
||||
<p>@(item.GetPropertyValue<string>("abstract"))</p>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,51 @@
|
||||
@using OurUmbraco.Forum.Services
|
||||
@inherits OurUmbraco.Our.Models.OurUmbracoTemplatePage
|
||||
@{
|
||||
Layout = "~/Views/Master.cshtml";
|
||||
|
||||
var topicService = new TopicService(ApplicationContext.DatabaseContext);
|
||||
var topic = topicService.CurrentTopic(Context, ApplicationContext.ApplicationCache.RequestCache, MemberData, Model.Content);
|
||||
}
|
||||
<!-- FORUM OVERVIEW START -->
|
||||
<section class="forum-overview">
|
||||
<div class="forum-single-thread">
|
||||
<!-- FORUM HEADER START -->
|
||||
<div class="utilities">
|
||||
<!-- FORUM BREADCRUMB START -->
|
||||
@Html.Action("Render", "Breadcrumb", new { linkToCurrent = true })
|
||||
<!-- FORUM BREADCRUMB END -->
|
||||
<!-- THREAD ACTIONS START -->
|
||||
@if (topic != null)
|
||||
{
|
||||
Html.RenderPartial("~/Views/Partials/Forum/TopicActions.cshtml", topic);
|
||||
}
|
||||
<!-- THREAD ACTIONS END -->
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
<!-- FORUM HEADER END -->
|
||||
@if (topic != null)
|
||||
{
|
||||
Html.RenderPartial("~/Views/Partials/Forum/Thread.cshtml", topic);
|
||||
}
|
||||
else
|
||||
{
|
||||
<p>This topic no longer exists.</p>
|
||||
}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@Html.Partial("~/Views/Partials/Forum/TopicForm.cshtml")
|
||||
|
||||
@section HeadCssScripts {
|
||||
<link rel="stylesheet" type="text/css" href="/css/tooltipster.css" />
|
||||
}
|
||||
@section EndScripts {
|
||||
<script type="text/javascript" src="/scripts/jquery.tooltipster.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
$('.highfive-count').tooltipster({
|
||||
contentAsHTML: true,
|
||||
interactive: true,
|
||||
multiple: true
|
||||
});
|
||||
</script>
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
@inherits UmbracoTemplatePage
|
||||
@{
|
||||
Layout = "~/Views/Master.cshtml";
|
||||
}
|
||||
<div class="has-sidebar">
|
||||
<div class="documentation">
|
||||
<div id="wiki" class="subpage">
|
||||
<div id="body">
|
||||
<div style="margin-top: 25px;">
|
||||
@Html.Partial("~/Views/Partials/Documentation/Breadcrumb.cshtml")
|
||||
</div>
|
||||
|
||||
<div id="markdown-docs" class="markdown-syntax">
|
||||
@Html.Partial("~/Views/Partials/Documentation/DisplayMarkdown.cshtml")
|
||||
</div>
|
||||
|
||||
<br style="clear: both" />
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,58 @@
|
||||
@inherits UmbracoTemplatePage
|
||||
@{
|
||||
Layout = "~/Views/Master.cshtml";
|
||||
}
|
||||
<div class="has-sidebar">
|
||||
<div class="documentation">
|
||||
<div class="page-content">
|
||||
<div class="sidebar-area">
|
||||
<div class="sidebar-content">
|
||||
<div class="content-wrapper">
|
||||
@Html.Partial("~/Views/Partials/Documentation/Navigation.cshtml")
|
||||
</div><!-- .content-wrapper -->
|
||||
</div><!-- .sidebar-content -->
|
||||
</div><!-- .sidebar-area-->
|
||||
|
||||
<div class="main-area">
|
||||
<div class="main-content">
|
||||
<div class="content-wrapper">
|
||||
<div>
|
||||
@Html.Partial("~/Views/Partials/Documentation/Breadcrumb.cshtml")
|
||||
</div>
|
||||
|
||||
<div class="search-big">
|
||||
<input type="search" class="docs-search-input" required placeholder="Search for documentation">
|
||||
<label for="search">Search for documentation</label>
|
||||
</div>
|
||||
|
||||
<ul class="search-all-results docs-search-listing"></ul>
|
||||
|
||||
<div id="markdown-docs" class="docs-default-listing markdown-syntax">
|
||||
@Html.Partial("~/Views/Partials/Documentation/DisplayMarkdown.cshtml")
|
||||
</div>
|
||||
</div><!-- .content-wrapper -->
|
||||
</div><!-- .main-content -->
|
||||
</div><!-- .main-area -->
|
||||
|
||||
</div><!-- .page-content -->
|
||||
|
||||
<script type="text/template" class="search-item-docs">
|
||||
<li>
|
||||
<a href="{{ url }}">
|
||||
<div class="type-icon">
|
||||
<i class="icon-Book-alt"></i>
|
||||
</div>
|
||||
|
||||
<div class="type-context">
|
||||
<div class="type-name">
|
||||
{{ name }}
|
||||
</div>
|
||||
<div class="type-description">
|
||||
{{ body }}
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
@@ -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>
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
@inherits UmbracoTemplatePage
|
||||
@{
|
||||
Layout = "~/Views/Master.cshtml";
|
||||
}
|
||||
<div class="page-content">
|
||||
<div class="sidebar-area">
|
||||
<div class="sidebar-content">
|
||||
<div class="content-wrapper">
|
||||
@Html.Partial("~/Views/Partials/Members/ProfileNavigation.cshtml")
|
||||
</div><!-- .content-wrapper -->
|
||||
</div><!-- .sidebar-content -->
|
||||
</div><!-- .sidebar-area -->
|
||||
<div class="main-area">
|
||||
<div class="main-content">
|
||||
<div class="content-wrapper">
|
||||
@Html.Action("Render", "Breadcrumb", new { linkToCurrent = true })
|
||||
|
||||
@if (Request.QueryString["editorStep"] == "files")
|
||||
{
|
||||
@Html.Action("RenderFiles", "Project")
|
||||
}
|
||||
@if (Request.QueryString["editorStep"] == "screenshots")
|
||||
{
|
||||
@Html.Action("RenderScreenshots", "Project")
|
||||
}
|
||||
@if (Request.QueryString["editorStep"] == "complete")
|
||||
{
|
||||
@Html.Action("RenderComplete", "Project")
|
||||
}
|
||||
</div><!-- .content-wrapper -->
|
||||
</div><!-- .main-content -->
|
||||
</div><!-- .main-area -->
|
||||
</div><!-- .page-content -->
|
||||
@@ -0,0 +1,7 @@
|
||||
@using Umbraco.Core.Logging
|
||||
@{
|
||||
var absoluteReferrer = string.Empty;
|
||||
var referrer = HttpContext.Current.Request.UrlReferrer;
|
||||
if(referrer != null) { absoluteReferrer = referrer.AbsoluteUri; }
|
||||
LogHelper.Info<string>(string.Format("Error view requested on page {0} - referrer {1}", HttpContext.Current.Request.Url.AbsoluteUri, absoluteReferrer));
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
@inherits UmbracoTemplatePage
|
||||
@{
|
||||
Layout = "~/Views/Master.cshtml";
|
||||
}
|
||||
|
||||
<!-- FORUM OVERVIEW START -->
|
||||
<section class="forum-overview">
|
||||
<div class="forum-archive">
|
||||
@Html.Partial("~/Views/Partials/Forum/Forum.cshtml")
|
||||
</div>
|
||||
</section>
|
||||
@Html.Partial("~/Views/Partials/Forum/TopicForm.cshtml")
|
||||
|
||||
@section EndScripts {
|
||||
@{
|
||||
var cat = -1;
|
||||
if (Model.Content.Level > 3)
|
||||
{
|
||||
cat = Model.Content.Id;
|
||||
}
|
||||
|
||||
var page = 1;
|
||||
if (Request["page"] != null)
|
||||
{
|
||||
int.TryParse(Request["page"], out page);
|
||||
}
|
||||
}
|
||||
<script type="text/javascript">
|
||||
|
||||
$('table')
|
||||
.scrolly({
|
||||
page: @page,
|
||||
dataUrl: '/umbraco/api/PublicForum/LatestPaged/?cat=@cat',
|
||||
template: '#forum-template',
|
||||
loadingHtml: '<div class="span"><div class=" loader"></div></div>'
|
||||
});
|
||||
|
||||
</script>
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
@using OurUmbraco.Documentation.Busineslogic
|
||||
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
|
||||
@{
|
||||
Layout = null;
|
||||
|
||||
var path = HttpContext.Current.Items[MarkdownLogic.MarkdownPathKey].ToString();
|
||||
var ml = new MarkdownLogic(path) { PrefixLinks = false, AppendAltLessonLink = true };
|
||||
|
||||
var markdown = ml.DoTransformation();
|
||||
}
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<link href="https://fonts.googleapis.com/css?family=Asap:400,700,400italic,700italic" type="text/css" rel="stylesheet"/>
|
||||
|
||||
<style>
|
||||
body {
|
||||
font-family: Asap, sans-serif;
|
||||
}
|
||||
|
||||
code {
|
||||
background-color: #eeeeee ;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
pre {
|
||||
word-wrap: break-word;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
pre > code {
|
||||
display: block;
|
||||
}
|
||||
|
||||
img {
|
||||
max-width: 90%;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
border-left: 4px solid #ddd;
|
||||
padding: 1px 15px;
|
||||
color: #777;
|
||||
background: #efefef ;
|
||||
margin: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
@Html.Raw(markdown)
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,44 +0,0 @@
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
|
||||
<!-- Search start -->
|
||||
<section id="search-all" class="search-all">
|
||||
|
||||
<div class="search-all-form">
|
||||
<div class="search-fieldset">
|
||||
<input class="search-input" type="search" placeholder="Search..">
|
||||
<input class="search-submit" type="submit" value="">
|
||||
</div>
|
||||
<span class="search-all-close"></span>
|
||||
</div>
|
||||
|
||||
<div class="search-all-results equalizer">
|
||||
<ul></ul>
|
||||
</div>
|
||||
|
||||
@if (!Members.IsLoggedIn())
|
||||
{
|
||||
<div class="search-text">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
<strong>The friendliest CMS community on the planet</strong>
|
||||
<p>our.umbraco.org is the central hub for the friendly umbraco community. Search for documentation, get help and guidance from seasoned experts, download and collaborate on plugins and extensions.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
</section>
|
||||
<!-- Search end -->
|
||||
|
||||
@if (Members.IsLoggedIn())
|
||||
{
|
||||
@Html.Partial("home/forumactivity")
|
||||
@Html.Partial("home/documentation")
|
||||
}
|
||||
else
|
||||
{
|
||||
@Html.Partial("home/documentation")
|
||||
@Html.Partial("home/forumactivity")
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
@using OurUmbraco.Documentation.Busineslogic
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
|
||||
@{
|
||||
var path = HttpContext.Current.Items[MarkdownLogic.MarkdownPathKey].ToString();
|
||||
var ml = new MarkdownLogic(path) { PrefixLinks = false };
|
||||
if (path.ToLowerInvariant().EndsWith("index.md".ToLowerInvariant()) || path.ToLowerInvariant().EndsWith("readme.md".ToLowerInvariant()))
|
||||
{
|
||||
if (Request.Url.AbsoluteUri.EndsWith("/") == false)
|
||||
{
|
||||
Response.Redirect(Request.Url + "/", false);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Request.Url.AbsoluteUri.EndsWith("/"))
|
||||
{
|
||||
Response.Redirect(Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.Length - 1), false);
|
||||
}
|
||||
}
|
||||
|
||||
if (Request.Url.AbsoluteUri.EndsWith("/index/"))
|
||||
{
|
||||
Response.Redirect(Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.Length - "/index/".Length), false);
|
||||
}
|
||||
|
||||
if (Request.Url.AbsoluteUri.EndsWith("/readme/"))
|
||||
{
|
||||
Response.Redirect(Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.Length - "/readme/".Length), false);
|
||||
}
|
||||
|
||||
var markdown = ml.DoTransformation();
|
||||
}
|
||||
|
||||
@Html.Raw(markdown)
|
||||
@@ -1,44 +0,0 @@
|
||||
@using OurUmbraco.Forum.Extensions
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
|
||||
<div class="utility-actions">
|
||||
@if (Members.IsLoggedIn())
|
||||
{
|
||||
if (Model.Content.NewTopicsAllowed())
|
||||
{
|
||||
<a href="#" class="button create-new-thread" data-controller="topic">
|
||||
<i class="icon-Add"></i><span>Create new</span>
|
||||
</a>
|
||||
}
|
||||
|
||||
var mem = Members.GetCurrentMember();
|
||||
var subscribed = false;
|
||||
if (mem != null)
|
||||
{
|
||||
subscribed = NotificationsWeb.Library.Utils.IsSubscribedToForum(CurrentPage.Id, mem.Id);
|
||||
}
|
||||
|
||||
if (CurrentPage.Level == 4)
|
||||
{
|
||||
if (subscribed)
|
||||
{
|
||||
<a href="#" class="follow button following" data-id="@CurrentPage.Id" data-controller="">
|
||||
<i class="icon-Bookmark"></i><span>Following</span>
|
||||
</a>
|
||||
}
|
||||
else
|
||||
{
|
||||
<a href="#" class="follow button transparent" data-id="@CurrentPage.Id" data-controller="">
|
||||
<i class="icon-Bookmark"></i><span>Follow</span>
|
||||
</a>
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<a href="/member/login?redirectUrl=@(Server.UrlEncode(Request.Url.AbsoluteUri))" class="button login">
|
||||
<i class="icon-Add"></i><span>Sign in to create a topic</span>
|
||||
</a>
|
||||
}
|
||||
|
||||
</div>
|
||||
@@ -1,54 +0,0 @@
|
||||
@using OurUmbraco.Forum.Extensions
|
||||
@using OurUmbraco.Forum.Models
|
||||
@using OurUmbraco.Forum.Services
|
||||
@using OurUmbraco.Our
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
|
||||
@{
|
||||
var ts = new TopicService(ApplicationContext.DatabaseContext);
|
||||
}
|
||||
|
||||
<div class="col-md-12 flex">
|
||||
@Column(ts.GetLatestTopics(6, 1))
|
||||
</div>
|
||||
|
||||
@helper Column(IEnumerable<ReadOnlyTopic> topics)
|
||||
{
|
||||
foreach (var topic in topics.ToArray())
|
||||
{
|
||||
var cat = Umbraco.TypedContent(topic.ParentId);
|
||||
var mem = Members.GetById(topic.LatestReplyAuthor) ?? Members.GetById(topic.MemberId);
|
||||
|
||||
<a href="@topic.GetUrl()" class="forum-thread">
|
||||
|
||||
<div class="avatar">
|
||||
@if(mem != null)
|
||||
{
|
||||
@Html.Raw(Utils.GetMemberAvatar(mem, 100))
|
||||
}
|
||||
</div>
|
||||
|
||||
<div class="meta">
|
||||
<div class="forum-thread-text">
|
||||
<h3>@topic.Title</h3>
|
||||
<p>
|
||||
@if (topic.Replies != 0 && !string.IsNullOrEmpty(topic.LastReplyAuthorName))
|
||||
{
|
||||
<text>last edited by @topic.LastReplyAuthorName</text>
|
||||
}
|
||||
else
|
||||
{
|
||||
<text>created by @topic.AuthorName</text>
|
||||
}
|
||||
|
||||
@topic.Updated.ConvertToRelativeTime()
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="category">
|
||||
<span class="cat">@cat.Name</span>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
}
|
||||
}
|
||||
@@ -1,152 +0,0 @@
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
@using System.Web.Mvc.Html
|
||||
@using OurUmbraco.Forum.Extensions
|
||||
@using OurUmbraco.Forum.Services
|
||||
|
||||
@{
|
||||
var topicService = new TopicService(ApplicationContext.DatabaseContext);
|
||||
var topic = topicService.CurrentTopic(this.Context, ApplicationContext.ApplicationCache.RequestCache);
|
||||
|
||||
var notification = Model.Content.GetPropertyValue<string>("mainNotification");
|
||||
if (string.IsNullOrWhiteSpace(notification))
|
||||
{
|
||||
notification = "This forum is in read only mode, you can no longer reply";
|
||||
}
|
||||
}
|
||||
|
||||
<!-- COPY LINK -->
|
||||
|
||||
<div id="overlay" class="overlay"></div>
|
||||
|
||||
<div id="copy-link-wrapper" class="copy-link-wrapper">
|
||||
<i class="icon-Link"></i>
|
||||
<textarea class="getLink" readonly type="text"></textarea>
|
||||
<p>Press Ctrl / CMD + C to copy this to your clipboard.</p>
|
||||
</div>
|
||||
|
||||
<div id="thankyou">
|
||||
Copied to clipboard
|
||||
</div>
|
||||
|
||||
<!-- COPY LINK END -->
|
||||
<!-- DELETE THREAD/COMMENT START -->
|
||||
@if (Members.IsLoggedIn())
|
||||
{
|
||||
<div id="confirm-wrapper" class="confirm-wrapper">
|
||||
<h4>Are you sure?</h4>
|
||||
<p>This <span class="type-of"></span> will be gone forever and ever</p>
|
||||
<br />
|
||||
<button type="button" class="button green tiny">Yes</button>
|
||||
<button type="button" class="button red tiny">No</button>
|
||||
</div>
|
||||
}
|
||||
<!-- DELETE THREAD END -->
|
||||
<!-- FLAG SPAM START -->
|
||||
<div id="confirm-wrapper-flag" class="confirm-wrapper-flag">
|
||||
<h4>Flag this post as spam?</h4>
|
||||
<p>This post will be reported to the moderators as potential spam to be looked at</p>
|
||||
<br />
|
||||
<button type="button" class="button green tiny">Yes</button>
|
||||
<button type="button" class="button red tiny">No</button>
|
||||
</div>
|
||||
<!-- FLAG SPAM END -->
|
||||
@if (topic != null)
|
||||
{
|
||||
if (Model.Content.NewTopicsAllowed() == false)
|
||||
{
|
||||
<div class="alertbar__yellow" style="margin-bottom: 10px;">
|
||||
@Html.Raw(notification)
|
||||
</div>
|
||||
}
|
||||
|
||||
<ul class="comments">
|
||||
|
||||
@Html.Partial("forum/question", topic)
|
||||
|
||||
@foreach (var comment in topic.Comments.Where(x => x.ParentCommentId == 0))
|
||||
{
|
||||
var comm = comment;
|
||||
|
||||
Html.RenderPartial("forum/comment", comm, new ViewDataDictionary { { "level", 1 }, { "answer", topic.Answer } });
|
||||
|
||||
if (comm.HasChildren)
|
||||
{
|
||||
var children = topic.Comments.Where(x => x.ParentCommentId == comm.Id);
|
||||
|
||||
foreach (var child in children.Where(c => c.ParentCommentId == comm.Id))
|
||||
{
|
||||
Html.RenderPartial("forum/comment", child, new ViewDataDictionary { { "level", 2 }, { "answer", topic.Answer } });
|
||||
}
|
||||
}
|
||||
}
|
||||
</ul>
|
||||
|
||||
if (Members.IsLoggedIn())
|
||||
{
|
||||
if (Model.Content.NewTopicsAllowed())
|
||||
{
|
||||
<div class="replybutton">
|
||||
<a href="#" class="button green large reply forum-reply" data-author="@topic.AuthorName" data-topic="@topic.Id" data-controller="comment"><i class="icon-Reply-arrow"></i> Reply to topic</a>
|
||||
</div>
|
||||
|
||||
<div class="utilities">
|
||||
<div class="utility-actions thread-bottom">
|
||||
|
||||
@if (Members.IsLoggedIn())
|
||||
{
|
||||
var mem = Members.GetCurrentMember();
|
||||
var subscribed = false;
|
||||
if (mem != null)
|
||||
{
|
||||
subscribed = NotificationsWeb.Library.Utils.IsSubscribedToForumTopic(topic.Id, mem.Id);
|
||||
}
|
||||
|
||||
if (Members.IsAdmin())
|
||||
{
|
||||
<a href="#" class="delete-thread button" data-id="@topic.Id">
|
||||
<i class="icon-Delete-key"></i><span>Delete thread</span>
|
||||
</a>
|
||||
}
|
||||
|
||||
if (subscribed)
|
||||
{
|
||||
<a href="#" class="follow button following" data-id="@topic.Id" data-controller="topic">
|
||||
<i class="icon-Bookmark"></i><span>Following</span>
|
||||
</a>
|
||||
}
|
||||
else
|
||||
{
|
||||
<a href="#" class="follow button transparent" data-id="@topic.Id" data-controller="topic">
|
||||
<i class="icon-Bookmark"></i><span>Follow</span>
|
||||
</a>
|
||||
}
|
||||
}
|
||||
|
||||
@if (topic.Answer > 0)
|
||||
{
|
||||
<a href="#comment-@topic.Answer.ToString()" class="go-to-solution button transparent">
|
||||
<i class="icon-Check"></i><span>Go to solution</span>
|
||||
</a>
|
||||
}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="alertbar__yellow">
|
||||
@Html.Raw(notification)
|
||||
</div>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="replybutton notloggedin">
|
||||
Please <a href="/member/login?redirectUrl=@(Server.UrlEncode(Request.Url.AbsoluteUri))">Sign in</a> or <a href="/member/signup">register</a> to post replies
|
||||
</div>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<p>This topic no longer exists.</p>
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
@using OurUmbraco.Forum.Extensions
|
||||
@using OurUmbraco.Forum.Services
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
@{
|
||||
var topicService = new TopicService(ApplicationContext.DatabaseContext);
|
||||
var topic = topicService.CurrentTopic(this.Context, ApplicationContext.ApplicationCache.RequestCache);
|
||||
}
|
||||
|
||||
<div class="utility-actions">
|
||||
@if(topic != null)
|
||||
{
|
||||
if (Members.IsLoggedIn())
|
||||
{
|
||||
var mem = Members.GetCurrentMember();
|
||||
var subscribed = false;
|
||||
if (mem != null)
|
||||
{
|
||||
subscribed = NotificationsWeb.Library.Utils.IsSubscribedToForumTopic(topic.Id, mem.Id);
|
||||
}
|
||||
|
||||
if (Members.IsAdmin())
|
||||
{
|
||||
<a href="#" class="delete-thread button" data-id="@topic.Id">
|
||||
<i class="icon-Delete-key"></i><span>Delete thread</span>
|
||||
</a>
|
||||
}
|
||||
|
||||
if (subscribed)
|
||||
{
|
||||
<a href="#" class="follow button following" data-id="@topic.Id" data-controller="topic">
|
||||
<i class="icon-Bookmark"></i><span>Following</span>
|
||||
</a>
|
||||
}
|
||||
else
|
||||
{
|
||||
<a href="#" class="follow button transparent" data-id="@topic.Id" data-controller="topic">
|
||||
<i class="icon-Bookmark"></i><span>Follow</span>
|
||||
</a>
|
||||
}
|
||||
}
|
||||
|
||||
if (topic.Answer > 0)
|
||||
{
|
||||
<a href="#comment-@topic.Answer.ToString()" class="go-to-solution button transparent">
|
||||
<i class="icon-Check"></i><span>Go to solution</span>
|
||||
</a>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
if (string.IsNullOrWhiteSpace(memberGuid) == false)
|
||||
{
|
||||
var memberService = UmbracoContext.Current.Application.Services.MemberService;
|
||||
var memberService = ApplicationContext.Current.Services.MemberService;
|
||||
var member = memberService.GetByKey(new Guid(memberGuid));
|
||||
|
||||
if (member == null)
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
|
||||
@{
|
||||
if (Members.IsLoggedIn())
|
||||
{
|
||||
Response.Redirect("/member/profile");
|
||||
}
|
||||
}
|
||||
|
||||
@Html.Action("RenderForgotPassword", "Login")
|
||||
@@ -1,18 +0,0 @@
|
||||
@using OurUmbraco.Forum.Extensions
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
|
||||
@if(Members.IsLoggedIn()){
|
||||
|
||||
|
||||
var profile = Members.GetCurrentMemberProfileModel();
|
||||
var member = Members.GetCurrentMember();
|
||||
|
||||
if (member != null) {
|
||||
<script type="text/javascript">
|
||||
var umb_member_name = '@member.Name';
|
||||
var umb_member_email = '@profile.Email';
|
||||
var umb_member_icon = '@member.Avatar()';
|
||||
</script>
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
|
||||
@{
|
||||
if (Members.IsLoggedIn())
|
||||
{
|
||||
if (Model.MacroParameters["NextPage"] != null && string.IsNullOrWhiteSpace(Model.MacroParameters["NextPage"].ToString()) == false)
|
||||
{
|
||||
// It's being called from the old package repository, don't redirect
|
||||
}
|
||||
else
|
||||
{
|
||||
Response.Redirect("/member/profile");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Html.Action("RenderLogin", "Login")
|
||||
@@ -1,5 +1,5 @@
|
||||
@using NotificationsWeb.Services
|
||||
@using OurUmbraco.Forum.Services
|
||||
@using OurUmbraco.NotificationsWeb.Services
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
@{
|
||||
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
@using System.Collections.Specialized
|
||||
@using System.Drawing
|
||||
@using OurUmbraco.Our
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
|
||||
@{
|
||||
@* Get the root of the website *@
|
||||
var root = CurrentPage.AncestorOrSelf(1);
|
||||
Image avatarImage = null;
|
||||
if (Members.IsLoggedIn())
|
||||
{
|
||||
avatarImage = Utils.GetMemberAvatarImage(Members.GetCurrentMember());
|
||||
}
|
||||
}
|
||||
|
||||
<ul>
|
||||
@foreach (var page in root.Children.Where("Visible"))
|
||||
{
|
||||
<li class="@(page.IsAncestorOrSelf(CurrentPage) ? "current" : null)">
|
||||
<a href="@page.Url">@page.Name</a>
|
||||
</li>
|
||||
}
|
||||
|
||||
<li>
|
||||
@if (Members.IsLoggedIn() && Members.GetCurrentMember() != null)
|
||||
{
|
||||
var member = Members.GetCurrentMember();
|
||||
<div class="user">
|
||||
@Html.Raw(Utils.GetMemberAvatar(member, 75))
|
||||
@if (avatarImage != null && (avatarImage.Width < 400 || avatarImage.Height < 400))
|
||||
{
|
||||
<span class="notificationCount">1</span>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<a href="/member/login?redirectUrl=@(Server.UrlEncode(Request.Url.AbsolutePath))">Sign in</a><strong> / </strong><a href="/member/Signup">Register</a>
|
||||
}
|
||||
</li>
|
||||
</ul>
|
||||
@@ -1,14 +0,0 @@
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
|
||||
|
||||
@* Ensure that the Current Page has children, where the property umbracoNaviHide is not True *@
|
||||
<ul class="level-2">
|
||||
@* For each child page under the root node, where the property umbracoNaviHide is not True *@
|
||||
@foreach (var childPage in CurrentPage.ProjectGroups.Where("Visible"))
|
||||
{
|
||||
<li>
|
||||
<h4><a href="?category=@childPage.Name">@childPage.Name</a></h4>
|
||||
</li>
|
||||
}
|
||||
<li><h4><a href="?category=uaas">Umbraco as a Service</a></h4></li>
|
||||
</ul>
|
||||
@@ -0,0 +1,16 @@
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
@{
|
||||
var m = Members.GetCurrentMember();
|
||||
var reputation = m.GetPropertyValue<string>("reputationTotal");
|
||||
|
||||
int reputationTotal;
|
||||
var enoughReputation = int.TryParse(reputation, out reputationTotal) && reputationTotal > 30;
|
||||
}
|
||||
@if (enoughReputation)
|
||||
{
|
||||
@Html.Action("RenderMyProjects", "Projects")
|
||||
}
|
||||
else
|
||||
{
|
||||
<h2>Sorry, your account is too new to create projects! If you're human, make sure to <a href="https://umbraco.com/about-us/team">get in touch with us</a> to get this restriction lifted.</h2>
|
||||
}
|
||||
@@ -9,7 +9,7 @@
|
||||
int forumId;
|
||||
// For some reason the Request.Url will show that this URL looks like: /rss/forum/?id=?id=103196
|
||||
// This means that Request.QueryString["id"] results in ",1929". Removing the comma helps...
|
||||
if (int.TryParse(Model.MacroParameters["forumId"].ToString().Replace(",", string.Empty), out forumId) == false)
|
||||
if (int.TryParse(Request.QueryString["id"].Replace(",", string.Empty), out forumId) == false)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -7,10 +7,7 @@
|
||||
var selfUrl = string.Format("{0}://{1}{2}", Request.Url.Scheme, Request.Url.Host, Request.Url.PathAndQuery);
|
||||
var home = Model.Content.AncestorOrSelf(1);
|
||||
var projectsRoot = home.Children.First(x => x.ContentType.Alias == "Projects");
|
||||
var orderByUpdated = Model.MacroParameters["updated"].ToString() == "1";
|
||||
var projects = orderByUpdated
|
||||
? projectsRoot.Descendants("Project").OrderByDescending(x => x.UpdateDate).Where(x => x.GetPropertyValue<bool>("projectLive")).Take(20)
|
||||
: projectsRoot.Descendants("Project").OrderByDescending(x => x.CreateDate).Where(x => x.GetPropertyValue<bool>("projectLive")).Take(20);
|
||||
var projects = projectsRoot.Descendants("Project").OrderByDescending(x => x.UpdateDate).Where(x => x.GetPropertyValue<bool>("projectLive")).Take(20);
|
||||
}<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||
<channel>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
int memberId;
|
||||
// For some reason the Request.Url will show that this URL looks like: /rss/forum/?id=?id=103196
|
||||
// This means that Request.QueryString["id"] results in ",1929". Removing the comma helps...
|
||||
if (int.TryParse(Model.MacroParameters["memberId"].ToString().Replace(",", string.Empty), out memberId) == false)
|
||||
if (int.TryParse(Request.QueryString["id"].Replace(",", string.Empty), out memberId) == false)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
int topicId;
|
||||
// For some reason the Request.Url will show that this URL looks like: /rss/forum/?id=?id=103196
|
||||
// This means that Request.QueryString["id"] results in ",1929". Removing the comma helps...
|
||||
if (int.TryParse(Model.MacroParameters["topicId"].ToString().Replace(",", string.Empty), out topicId) == false)
|
||||
if (int.TryParse(Request.QueryString["id"].Replace(",", string.Empty), out topicId) == false)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2,19 +2,23 @@
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
|
||||
@{
|
||||
var orderMode = !string.IsNullOrEmpty(Request["orderBy"]) ? Request["orderBy"] : "updateDate";
|
||||
var orderMode = !string.IsNullOrEmpty(Request["orderBy"]) ? Request["orderBy"] : "createDate";
|
||||
var page = !string.IsNullOrEmpty(Request["page"]) ? int.Parse(Request["page"]) : 1;
|
||||
var category = Request["category"];
|
||||
var version = Request["version"];
|
||||
var term = Request["term"];
|
||||
var pageSize = 50;
|
||||
|
||||
//TODO: If we are searching on projects, they need to be filtered to approved/live!
|
||||
|
||||
//TODO: Depending on what order by this is, we need to pass in a data
|
||||
// type here, for example, if its an INT or a Date!
|
||||
OurSearcher searcher = new OurSearcher(term, orderBy: orderMode);
|
||||
|
||||
|
||||
IEnumerable<SearchResult> result = new List<SearchResult>();
|
||||
var url = "orderBy=" + orderMode + "&q=" + term + "&version=" + version;
|
||||
var pages = 0;
|
||||
|
||||
|
||||
if(string.IsNullOrEmpty(term) == false){
|
||||
var search = searcher.Search();
|
||||
var total = search.SearchResults.TotalItemCount;
|
||||
|
||||
@@ -0,0 +1,186 @@
|
||||
@using ClientDependency.Core.Mvc
|
||||
@using Umbraco.Core.Configuration
|
||||
@inherits OurUmbraco.Our.Models.OurUmbracoTemplatePage
|
||||
@{
|
||||
Layout = null;
|
||||
var model = UmbracoContext.Current.PublishedContentRequest.PublishedContent;
|
||||
var bodyCss =
|
||||
model.Level > 2 && model.AncestorOrSelf(3).Id == 1057
|
||||
? "profile has-sidebar"
|
||||
: model.DocumentTypeAlias.ToLower().Replace(" ", "-") + "-page";
|
||||
|
||||
var memberIsBlocked = MemberData != null && MemberData.IsBlocked;
|
||||
|
||||
|
||||
Html.RequiresCss("~/assets/css/style.min.css", 0);
|
||||
Html.RequiresCss("https://fonts.googleapis.com/css?family=Asap:400,700,400italic,700italic", 0);
|
||||
Html.RequiresCss("https://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.min.css", 0);
|
||||
|
||||
|
||||
Html.RequiresJs("https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/jquery.validate.min.js");
|
||||
Html.RequiresJs("https://ajax.aspnetcdn.com/ajax/mvc/4.0/jquery.validate.unobtrusive.min.js");
|
||||
Html.RequiresJs("https://cdnjs.cloudflare.com/ajax/libs/pagedown/1.0/Markdown.Converter.js");
|
||||
Html.RequiresJs("https://cdnjs.cloudflare.com/ajax/libs/pagedown/1.0/Markdown.Editor.js");
|
||||
Html.RequiresJs("https://cdnjs.cloudflare.com/ajax/libs/pagedown/1.0/Markdown.Sanitizer.js");
|
||||
Html.RequiresJs("https://cdnjs.cloudflare.com/ajax/libs/mustache.js/0.8.1/mustache.min.js");
|
||||
Html.RequiresJs("https://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.min.js");
|
||||
|
||||
Html.RequiresJs("~/assets/js/jquery.ajaxfileupload.js");
|
||||
|
||||
Html.RequiresJs("~/assets/js/jquery.scrolly.js");
|
||||
Html.RequiresJs("~/assets/js/lodash.min.js");
|
||||
Html.RequiresJs("~/assets/js/community.js");
|
||||
Html.RequiresJs("~/assets/js/app.min.js");
|
||||
Html.RequiresJs("~/assets/js/editor.min.js");
|
||||
|
||||
}<!doctype html>
|
||||
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
|
||||
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
|
||||
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
|
||||
<!--[if gt IE 8]><!-->
|
||||
<html class="no-js" lang="en">
|
||||
<!--<![endif]-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<link rel="alternate" type="application/rss+xml" title="Latest packages" href="//our.umbraco.org/rss/projects" />
|
||||
<link rel="alternate" type="application/rss+xml" title="Package updates" href="//our.umbraco.org/rss/projectsupdate" />
|
||||
<link rel="alternate" type="application/rss+xml" title="Active forum topics" href="//our.umbraco.org/rss/activetopics" />
|
||||
<link rel="alternate" type="application/rss+xml" title="Community blogs" href="//pipes.yahoo.com/pipes/pipe.run?_id=8llM7pvk3RGFfPy4pgt1Yg&_render=rss" />
|
||||
|
||||
<link rel="search" type="application/opensearchdescription+xml" title="our.umbraco.org" href="/scripts/OpenSearch.xml">
|
||||
|
||||
<!-- Application name -->
|
||||
<meta name="application-name" content="Our Umbraco" />
|
||||
<meta name="apple-mobile-web-app-title" content="Our Umbraco">
|
||||
|
||||
<!-- Icons -->
|
||||
<link rel="apple-touch-icon-precomposed" href="/assets/images/app-icons/icon-60.png">
|
||||
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="/assets/images/app-icons/icon-72.png">
|
||||
<link rel="apple-touch-icon-precomposed" sizes="76x76" href="/assets/images/app-icons/icon-76.png">
|
||||
<link rel="icon" sizes="192x192" href="/assets/images/app-icons/touch-icon-192x192.png">
|
||||
|
||||
<meta name="msapplication-TileImage" content="/assets/images/app-icons/tile.png" />
|
||||
<meta name="msapplication-config" content="/assets/images/app-icons/browserconfig.xml">
|
||||
|
||||
<link rel="icon" type="image/png" href="/assets/images/app-icons/favicon.png">
|
||||
|
||||
<title>
|
||||
@{
|
||||
var title = string.Empty;
|
||||
var navigationTitle = HttpContext.Current.Items["topicTitle"];
|
||||
if (navigationTitle != null)
|
||||
{
|
||||
title = navigationTitle.ToString();
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(title) == false)
|
||||
{
|
||||
<text>@title - </text>
|
||||
}
|
||||
}
|
||||
|
||||
@Model.Content.Name - our.umbraco.org
|
||||
</title>
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.7.1/modernizr.min.js"></script>
|
||||
<![endif]-->
|
||||
<script type="text/javascript" src="https://code.jquery.com/jquery-1.7.2.min.js"></script>
|
||||
|
||||
@Html.Partial("~/Views/Partials/Community/JsValues.cshtml")
|
||||
|
||||
@Html.RenderCssHere()
|
||||
@RenderSection("HeadCssScripts", false)
|
||||
|
||||
<script>
|
||||
(function (i, s, o, g, r, a, m) {
|
||||
i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {
|
||||
(i[r].q = i[r].q || []).push(arguments)
|
||||
}, i[r].l = 1 * new Date(); a = s.createElement(o),
|
||||
m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)
|
||||
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
|
||||
|
||||
ga('create', 'UA-120590-4', 'auto');
|
||||
ga('send', 'pageview');
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="@bodyCss">
|
||||
@Html.Partial("~/Views/Partials/Members/QuickMenu.cshtml")
|
||||
|
||||
<div class="wrapper">
|
||||
<header>
|
||||
<div class="navigation">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<a class="logo" href="/">Our Umbraco</a>
|
||||
</div>
|
||||
<div id="toggle" class="menu-toggle">
|
||||
<a href="#" class="toggle cross"><span></span></a>
|
||||
</div>
|
||||
<nav class="col-md-9">
|
||||
@Html.Partial("~/Views/Partials/Navigation/TopNavigation.cshtml")
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
@{
|
||||
if (memberIsBlocked == false)
|
||||
{
|
||||
@Html.Partial("~/Views/Partials/Global/AlertBar.cshtml")
|
||||
@RenderSection("Search", false)
|
||||
@RenderBody()
|
||||
}
|
||||
else
|
||||
{
|
||||
<section class="forum">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h1 class="text-center">Computer says no</h1>
|
||||
<p>Unfortunaly, it seems that your account has been blocked.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
}
|
||||
}
|
||||
|
||||
<footer>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
Our.umbraco.org is the community mothership for Umbraco, the open source asp.net cms. With a friendly forum for all your questions, a comprehensive documentation and a ton of packages from the community.
|
||||
@if (HttpContext.Current != null && HttpContext.Current.Request.UserAgent != null && HttpContext.Current.Request.UserAgent.ToLower().Contains("googlebot"))
|
||||
{
|
||||
<text>This site is running Umbraco.</text>
|
||||
}
|
||||
else
|
||||
{
|
||||
<text>This site is running</text> <data id="umbraco-version" value="@UmbracoVersion.GetSemanticVersion()">Umbraco version @UmbracoVersion.GetSemanticVersion()</data>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
</div>
|
||||
<!--.wrapper-->
|
||||
|
||||
@Html.RenderJsHere()
|
||||
|
||||
<script type="text/javascript">
|
||||
classOnScroll('header', 'sticky', 10);
|
||||
</script>
|
||||
|
||||
@RenderSection("EndScripts", false)
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,191 @@
|
||||
@using OurUmbraco.Our.Models
|
||||
@using Skybrud.Social.Meetup.Models.Events
|
||||
@inherits OurUmbracoTemplatePage
|
||||
@{
|
||||
var homeNotificationText = Model.Content.GetPropertyValue<string>("homeOnlyBanner");
|
||||
var showHomeNotification = string.IsNullOrWhiteSpace(homeNotificationText) == false;
|
||||
var globalNotificationText = Model.Content.GetPropertyValue<string>("mainNotification");
|
||||
var showGlobalNotification = string.IsNullOrWhiteSpace(globalNotificationText) == false;
|
||||
}
|
||||
<!-- Search start -->
|
||||
<section id="search-all" class="search-all">
|
||||
|
||||
<div class="search-all-form">
|
||||
<div class="search-fieldset">
|
||||
<input class="search-input" type="search" placeholder="Search..">
|
||||
<input class="search-submit" type="submit" value="">
|
||||
</div>
|
||||
<span class="search-all-close"></span>
|
||||
</div>
|
||||
|
||||
<div class="search-all-results equalizer">
|
||||
<ul></ul>
|
||||
</div>
|
||||
|
||||
@if (MemberData == null)
|
||||
{
|
||||
<div class="search-text">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3">
|
||||
<strong>The friendliest CMS community on the planet</strong>
|
||||
<p>our.umbraco.org is the central hub for the friendly umbraco community. Search for documentation, get help and guidance from seasoned experts, download and collaborate on plugins and extensions.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
</section>
|
||||
<!-- Search end -->
|
||||
|
||||
<style>
|
||||
.bannertext p {
|
||||
line-height: 1.4rem;
|
||||
}
|
||||
</style>
|
||||
|
||||
@if (showGlobalNotification)
|
||||
{
|
||||
<div class="alertbar__yellow">
|
||||
@Html.Raw(globalNotificationText)
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (showHomeNotification)
|
||||
{
|
||||
@Html.Raw(homeNotificationText)
|
||||
}
|
||||
|
||||
@if (Members.IsLoggedIn())
|
||||
{
|
||||
@ForumActivity()
|
||||
@Meetups()
|
||||
@GitHubContributors()
|
||||
@TwitterSearch()
|
||||
@Html.Partial("home/documentation")
|
||||
}
|
||||
else
|
||||
{
|
||||
@Html.Partial("home/documentation")
|
||||
@ForumActivity()
|
||||
@Meetups()
|
||||
@GitHubContributors()
|
||||
@TwitterSearch()
|
||||
}
|
||||
|
||||
@helper ForumActivity()
|
||||
{
|
||||
<section class="forum">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-12">
|
||||
<h1 class="text-center">Forum Activity</h1>
|
||||
<p>
|
||||
Recent activity in the forums, where people are helping each other with current problems.
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<small>Recent posts</small>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 flex" id="forum-activity">
|
||||
<h2>Loading latest forum activity...</h2>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 goto-forum">
|
||||
<a class="button green" href="/forum">Go to Forum →</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 →</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
}
|
||||
|
||||
@helper GitHubContributors()
|
||||
{
|
||||
<section class="github-contributors forum">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h1 class="text-center">GitHub Contributions</h1>
|
||||
<p>
|
||||
Contributions to Umbraco GitHub repositories
|
||||
<small class="link-list">
|
||||
Contributions to default branches for
|
||||
<a href="https://github.com/umbraco/Umbraco-CMS" target="_blank" title="Umbraco-CMS">Umbraco-CMS</a>,
|
||||
<a href="https://github.com/umbraco/UmbracoDocs" target="_blank" title="UmbracoDocs">UmbracoDocs</a>,
|
||||
<a href="https://github.com/umbraco/OurUmbraco" target="_blank" title="OurUmbraco">OurUmbraco</a>,
|
||||
<a href="https://github.com/umbraco/Umbraco.Deploy.Contrib" target="_blank" title="Umbraco.Deploy.Contrib">Umbraco.Deploy.Contrib</a>,
|
||||
<a href="https://github.com/umbraco/Umbraco.Courier.Contrib" target="_blank" title="Umbraco.Courier.Contrib">Umbraco.Courier.Contrib</a> and
|
||||
<a href="https://github.com/umbraco/Umbraco.Deploy.ValueConnectors" target="_blank" title="Umbraco.Deploy.ValueConnectors">Umbraco.Deploy.ValueConnectors</a> repos
|
||||
</small>
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<small>GitHub contributors</small>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 flex forum-thread" id="github-contributors">
|
||||
<h2>Loading GitHub contributors...</h2>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12 goto-forum">
|
||||
<a class="button green" href="https://github.com/umbraco" target="_blank">Contribute to Umbraco on GitHub →</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
}
|
||||
|
||||
@helper Meetups() {
|
||||
<section class="forum">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<h1 class="text-center">Meetups</h1>
|
||||
<p>
|
||||
Upcoming meetups organized by the Umbraco community.
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<small>Upcoming meetups</small>
|
||||
</div>
|
||||
<div class="col-md-12 flex" id="meetups">
|
||||
<h2>Loading meetups...</h2>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user