Compare commits
290 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 | |||
| 0208dd0d30 | |||
| 3f218e2a57 | |||
| d9b3c061f0 | |||
| 18540e1c63 | |||
| b3386c1048 | |||
| 205daf1d15 | |||
| 34a328174c | |||
| 27f88dfb80 | |||
| 252a9015dc | |||
| 166007c668 | |||
| f7878c3e18 | |||
| 8e1c62059d | |||
| d1d10ff585 | |||
| 6c5d2ff92f | |||
| b0a3b770e3 | |||
| a077481678 | |||
| ea0cf71d2c | |||
| 26e2c56424 | |||
| 8accc7b73d | |||
| e0bea19825 | |||
| c8aa24964e | |||
| 8268cfb10c | |||
| 862be4bb14 | |||
| 6222b47b9b | |||
| 81105a6707 | |||
| 47dd314ef3 | |||
| 3332d80796 | |||
| d7e52fb645 | |||
| 2d9d5d6072 | |||
| 20c4d973eb | |||
| f66d032ddd | |||
| dda814805e | |||
| da9fb277ce | |||
| 1b22054b4c | |||
| 0b42afa893 | |||
| ed7ef6bf07 | |||
| f1d37c0407 | |||
| fb0bb7f3ec | |||
| a37e33c9c2 | |||
| b78d28244c | |||
| d16e35922a | |||
| 204ccc28a5 | |||
| f87caab388 | |||
| 985b02c49c | |||
| c9eedfcd56 | |||
| e8bce6ab10 | |||
| eca5122d1c | |||
| b2880f2b28 | |||
| b76dfce24e | |||
| 117c2936cf | |||
| c736e9553b | |||
| ac80ebd124 | |||
| 0b950089f0 | |||
| dcd1917189 |
+5
-1
@@ -55,7 +55,7 @@ OurUmbraco.Site/usercontrols/Deli/
|
||||
OurUmbraco.Site/App_Data/mail/
|
||||
OurUmbraco.Client/build/assets/
|
||||
OurUmbraco.Client/node_modules/
|
||||
npm-debug.log
|
||||
npm-debug.log
|
||||
OurUmbraco.Site/[Ww]eb.config
|
||||
OurUmbraco.Site/[Aa]ssets/css/style.min.css
|
||||
OurUmbraco.Site/[Aa]ssets/js/app.min.js
|
||||
@@ -63,3 +63,7 @@ OurUmbraco.Site/[Aa]ssets/js/app.min.js
|
||||
OurUmbraco.Site/App_Data/migrations/*.txt
|
||||
OurUmbraco.Site/apidocs/
|
||||
OurUmbraco.Site/App_Data/Documentation/
|
||||
OurUmbraco.Site/App_Data/NotificationTest/
|
||||
build/tools/node*
|
||||
wwwcache/
|
||||
build/toolsnode.js.*/
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -4,24 +4,24 @@
|
||||
"description": "Umbraco Our gulpjs config",
|
||||
"main": "gulpfile.js",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
},
|
||||
"dependencies": {},
|
||||
"devDependencies": {
|
||||
"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-uglify": "^1.5.3",
|
||||
"gulp-util": "3.0.x",
|
||||
"gulp-watch": "0.6.x",
|
||||
"gulp-minify-css": "1.1.x",
|
||||
"gulp-sass": "^2.2.0",
|
||||
"gulp-combine-media-queries": "0.2.x",
|
||||
"gulp-imagemin": "0.6.x",
|
||||
"gulp-autoprefixer": "^3.1.0",
|
||||
"gulp-uglify": "^1.5.3",
|
||||
"gulp-jshint": "2.0.0",
|
||||
"gulp-concat": "2.2.x",
|
||||
"jshint-stylish": "0.2.x",
|
||||
"gulp-clean": "0.3.x",
|
||||
"gulp-svgmin": "0.4.x",
|
||||
"gulp-rename": "1.2.x"
|
||||
"jshint": "^2.9.4",
|
||||
"jshint-stylish": "0.2.x"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "gulp build --verbose"
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
button.button, .button, a.button {
|
||||
background: $color-blue;
|
||||
padding: 0 40px;
|
||||
height: 44px;
|
||||
padding: 12px 40px;
|
||||
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
text-decoration: none;
|
||||
border: none;
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,475 +1,476 @@
|
||||
.markdown-editor {
|
||||
position: fixed;
|
||||
bottom: -100%;
|
||||
max-height: 100%;
|
||||
width: 100%;
|
||||
padding: .2rem;
|
||||
background-color: rgba(darken(#fff, 1%), .94);
|
||||
box-shadow: 0px -2px 6px 0px rgba(0, 0, 0, 0.08);
|
||||
transition: bottom .6s $cubicSearch, top .6s $cubicSearch;
|
||||
z-index: 800;
|
||||
|
||||
@media (max-width: $xs) {
|
||||
top: 100%;
|
||||
padding: 20px 0 0;
|
||||
}
|
||||
|
||||
&.write {
|
||||
bottom:0px;
|
||||
overflow-y: scroll;
|
||||
visibility: visible;
|
||||
@media (max-width: $xs) {
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&.mobile-preview {
|
||||
@media (max-width: $md) {
|
||||
#input-container {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#preview-container {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#preview-container {
|
||||
@media (max-width: $md) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
input, textarea, select{
|
||||
border: 2px solid #E4E8E9;
|
||||
color: #000;
|
||||
|
||||
&:focus, &:active{
|
||||
outline: none;
|
||||
border-color: $color-green;
|
||||
}
|
||||
|
||||
&.warning {
|
||||
border-color: $color-red !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.wmd-button {
|
||||
position: relative;
|
||||
margin-right: 15px;
|
||||
left: 0 !important;
|
||||
font-size: 1.4em;
|
||||
top: 10px;
|
||||
cursor: pointer;
|
||||
float: left;
|
||||
border-radius: 20px;
|
||||
transition: top 300ms $cubicSearch, opacity 300ms $cubicSearch;
|
||||
|
||||
}
|
||||
|
||||
.show {
|
||||
.wmd-button {
|
||||
@media (min-width: $md){
|
||||
top: 10px;
|
||||
opacity: .9;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.reply-to {
|
||||
p {
|
||||
font-size: 1rem;
|
||||
overflow: hidden;
|
||||
color: darken($color-space, 25%);
|
||||
background: transparent;
|
||||
}
|
||||
span {
|
||||
font-weight: 800;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-button-bar {
|
||||
position:relative;
|
||||
height: 30px;
|
||||
@media (max-width: $xs) {
|
||||
display:none;
|
||||
}
|
||||
}
|
||||
|
||||
.input-row {
|
||||
label {
|
||||
display: block;
|
||||
margin-bottom: 5px;
|
||||
color: darken($color-space, 10%);
|
||||
font-size: .9rem;
|
||||
}
|
||||
}
|
||||
.wmd-button-row {
|
||||
list-style: none;
|
||||
li {
|
||||
&:hover {
|
||||
span {
|
||||
color:black;
|
||||
}
|
||||
}
|
||||
|
||||
span {
|
||||
background-image: none;
|
||||
color: #727272;
|
||||
transition: color .2s ease-in;
|
||||
&:before {
|
||||
font-family: "our-umbraco" !important;
|
||||
content: attr(data-icon);
|
||||
font-style: normal !important;
|
||||
font-weight: normal !important;
|
||||
font-variant: normal !important;
|
||||
text-transform: none !important;
|
||||
speak: none;
|
||||
line-height: 1;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-bold-button {
|
||||
span {
|
||||
@extend .our-icon-bold;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-italic-button {
|
||||
span {
|
||||
@extend .our-icon-italic;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-bold-button {
|
||||
span {
|
||||
@extend .our-icon-bold;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-link-button {
|
||||
span {
|
||||
@extend .our-icon-hyperlink;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-quote-button {
|
||||
span {
|
||||
@extend .our-icon-quote;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-quote-button {
|
||||
span {
|
||||
@extend .our-icon-quote;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-code-button {
|
||||
span {
|
||||
@extend .our-icon-code;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-image-button {
|
||||
span {
|
||||
@extend .our-icon-picture;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-olist-button {
|
||||
span {
|
||||
@extend .our-icon-ol;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-ulist-button {
|
||||
span {
|
||||
@extend .our-icon-ul;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-heading-button {
|
||||
span {
|
||||
@extend .our-icon-header;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-hr-button {
|
||||
span {
|
||||
@extend .our-icon-hr;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-undo-button {
|
||||
span {
|
||||
@extend .our-icon-undo;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-redo-button {
|
||||
span {
|
||||
@extend .our-icon-redo;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.wmd-spacer {
|
||||
float: left;
|
||||
position: relative;
|
||||
width: 27px;
|
||||
display: block;
|
||||
opacity: 0;
|
||||
height: 20px;
|
||||
@media (max-width:$md) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-input {
|
||||
height: 300px;
|
||||
width: 100%;
|
||||
padding: .5rem;
|
||||
font-size: 1rem;
|
||||
color: $color-text;
|
||||
background: white;
|
||||
border: 2px solid #E4E8E9;
|
||||
@include transition(border-color, .2s);
|
||||
|
||||
@media (max-width: $xs) {
|
||||
height: 152px;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
border-color: $color-green;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-preview {
|
||||
width: 100%;
|
||||
min-height: 300px;
|
||||
max-height: 300px;
|
||||
overflow-y: scroll;
|
||||
padding: .5rem 20px;
|
||||
font-size: .8rem;
|
||||
color: #000;
|
||||
background: darken(#F5F7F7, 5%);
|
||||
@media (max-width: $xs) {
|
||||
max-height: 150px;
|
||||
min-height: 150px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.markdown-close {
|
||||
position: absolute;
|
||||
right: 1.5rem;
|
||||
top: 2rem;
|
||||
font-size: 28px;
|
||||
cursor: pointer;
|
||||
opacity: .6;
|
||||
@include transition(opacity, .3s);
|
||||
|
||||
@media (min-width: $md) {
|
||||
top: 1.5rem;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.draft {
|
||||
position: fixed;
|
||||
bottom: -40px;
|
||||
right: 30px;
|
||||
background-color: $color-green;
|
||||
color:white;
|
||||
padding: 12px 20px;
|
||||
cursor: pointer;
|
||||
opacity: 0;
|
||||
font-size: .9rem;
|
||||
font-weight: bold;
|
||||
transition: opacity .3s $cubicSearch, bottom .6s $cubicSearch, box-shadow .2s ease-in-out;
|
||||
|
||||
&.show {
|
||||
bottom: 30px;
|
||||
opacity: 1;
|
||||
|
||||
&:hover {
|
||||
background: lighten($color-green, 5%);
|
||||
@extend .BoxShadow;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.markdown-control {
|
||||
font-family: $font-family;
|
||||
font-size: .8rem;
|
||||
-webkit-appearance: none;
|
||||
@media (max-width: $xs) {
|
||||
padding: 5px !important;
|
||||
}
|
||||
}
|
||||
|
||||
#topic-title {
|
||||
padding: .5rem;
|
||||
font-size: .8rem;
|
||||
overflow: hidden;
|
||||
color: #000;
|
||||
background: #fff;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
select {
|
||||
position: relative;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
padding: .5rem;
|
||||
font-size: .8rem;
|
||||
overflow: hidden;
|
||||
color: #000;
|
||||
background: #fff;
|
||||
width: 100%;
|
||||
|
||||
border: 2px solid #E4E8E9;
|
||||
|
||||
@media (max-width: $xs) {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
&::after {
|
||||
position: absolute;
|
||||
display: block;
|
||||
top: 0;
|
||||
right: 0;
|
||||
content: "<";
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
|
||||
#topic-category {
|
||||
|
||||
option.frontend {
|
||||
background: #4ea7ff;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
option.core {
|
||||
background: #ff661b;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
option.azure {
|
||||
background: #1ed45c;
|
||||
color: #fff;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#topic-submit {
|
||||
border: none;
|
||||
background: $color-green;
|
||||
color: white;
|
||||
padding: 10px;
|
||||
width: 100%;
|
||||
max-width: 140px;
|
||||
font-family: $font-family;
|
||||
cursor: pointer;
|
||||
|
||||
font-size: 1rem;
|
||||
|
||||
&:hover {
|
||||
background: lighten($color-green, 5%);
|
||||
}
|
||||
}
|
||||
|
||||
#mobile-preview {
|
||||
border: none;
|
||||
background: none;
|
||||
-webkit-appearance:none;
|
||||
text-align: right;
|
||||
float: right;
|
||||
opacity: .4;
|
||||
cursor: pointer;
|
||||
@include transition(opacity, .3s);
|
||||
|
||||
i {
|
||||
font-size: 24px;
|
||||
display: inline-block;
|
||||
transform: translate(-3px, 5px);
|
||||
|
||||
}
|
||||
|
||||
span {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
@media (max-width: $xs) {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
&.mobile-preview {
|
||||
|
||||
#wmd-preview {
|
||||
@media (max-width: $md) {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
#mobile-preview {
|
||||
color: $color-our;
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.wmd-prompt-background {
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
#insert-image-dialog {
|
||||
position: fixed;
|
||||
z-index: 1001;
|
||||
@extend .copy-link-wrapper;
|
||||
&.show {
|
||||
clip: auto;
|
||||
opacity: 1;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
.wmd-prompt-dialog {
|
||||
@extend .copy-link-wrapper;
|
||||
opacity: 1;
|
||||
clip: auto;
|
||||
margin: 0 !important;
|
||||
input[type="text"] {
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
.markdown-spacer {
|
||||
position: relative;
|
||||
height: 0px;
|
||||
transition: height .6s $cubicSearch;
|
||||
&.write {
|
||||
height: 500px;
|
||||
}
|
||||
.markdown-editor {
|
||||
position: fixed;
|
||||
bottom: -100%;
|
||||
max-height: 100%;
|
||||
width: 100%;
|
||||
padding: .2rem;
|
||||
background-color: rgba(darken(#fff, 1%), .94);
|
||||
box-shadow: 0px -2px 6px 0px rgba(0, 0, 0, 0.08);
|
||||
transition: bottom .6s $cubicSearch, top .6s $cubicSearch;
|
||||
z-index: 800;
|
||||
|
||||
@media (max-width: $xs) {
|
||||
top: 100%;
|
||||
padding: 20px 0 0;
|
||||
}
|
||||
|
||||
&.write {
|
||||
bottom:0px;
|
||||
overflow-y: scroll;
|
||||
visibility: visible;
|
||||
@media (max-width: $xs) {
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&.mobile-preview {
|
||||
@media (max-width: $md) {
|
||||
#input-container {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#preview-container {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#preview-container {
|
||||
@media (max-width: $md) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
input, textarea, select{
|
||||
border: 2px solid #E4E8E9;
|
||||
color: #000;
|
||||
|
||||
&:focus, &:active{
|
||||
outline: none;
|
||||
border-color: $color-green;
|
||||
}
|
||||
|
||||
&.warning {
|
||||
border-color: $color-red !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.wmd-button {
|
||||
position: relative;
|
||||
margin-right: 15px;
|
||||
left: 0 !important;
|
||||
font-size: 1.4em;
|
||||
top: 10px;
|
||||
cursor: pointer;
|
||||
float: left;
|
||||
border-radius: 20px;
|
||||
transition: top 300ms $cubicSearch, opacity 300ms $cubicSearch;
|
||||
|
||||
}
|
||||
|
||||
.show {
|
||||
.wmd-button {
|
||||
@media (min-width: $md){
|
||||
top: 10px;
|
||||
opacity: .9;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.reply-to {
|
||||
p {
|
||||
font-size: 1rem;
|
||||
overflow: hidden;
|
||||
color: darken($color-space, 25%);
|
||||
background: transparent;
|
||||
}
|
||||
span {
|
||||
font-weight: 800;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-button-bar {
|
||||
position:relative;
|
||||
height: 30px;
|
||||
@media (max-width: $xs) {
|
||||
display:none;
|
||||
}
|
||||
}
|
||||
|
||||
.input-row {
|
||||
label {
|
||||
display: block;
|
||||
margin-bottom: 5px;
|
||||
color: darken($color-space, 10%);
|
||||
font-size: .9rem;
|
||||
}
|
||||
}
|
||||
.wmd-button-row {
|
||||
list-style: none;
|
||||
li {
|
||||
&:hover {
|
||||
span {
|
||||
color:black;
|
||||
}
|
||||
}
|
||||
|
||||
span {
|
||||
background-image: none;
|
||||
color: #727272;
|
||||
transition: color .2s ease-in;
|
||||
&:before {
|
||||
font-family: "our-umbraco" !important;
|
||||
content: attr(data-icon);
|
||||
font-style: normal !important;
|
||||
font-weight: normal !important;
|
||||
font-variant: normal !important;
|
||||
text-transform: none !important;
|
||||
speak: none;
|
||||
line-height: 1;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-bold-button {
|
||||
span {
|
||||
@extend .our-icon-bold;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-italic-button {
|
||||
span {
|
||||
@extend .our-icon-italic;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-bold-button {
|
||||
span {
|
||||
@extend .our-icon-bold;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-link-button {
|
||||
span {
|
||||
@extend .our-icon-hyperlink;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-quote-button {
|
||||
span {
|
||||
@extend .our-icon-quote;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-quote-button {
|
||||
span {
|
||||
@extend .our-icon-quote;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-code-button {
|
||||
span {
|
||||
@extend .our-icon-code;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-image-button {
|
||||
span {
|
||||
@extend .our-icon-picture;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-olist-button {
|
||||
span {
|
||||
@extend .our-icon-ol;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-ulist-button {
|
||||
span {
|
||||
@extend .our-icon-ul;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-heading-button {
|
||||
span {
|
||||
@extend .our-icon-header;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-hr-button {
|
||||
span {
|
||||
@extend .our-icon-hr;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-undo-button {
|
||||
span {
|
||||
@extend .our-icon-undo;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-redo-button {
|
||||
span {
|
||||
@extend .our-icon-redo;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.wmd-spacer {
|
||||
float: left;
|
||||
position: relative;
|
||||
width: 27px;
|
||||
display: block;
|
||||
opacity: 0;
|
||||
height: 20px;
|
||||
@media (max-width:$md) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-input {
|
||||
height: 300px;
|
||||
width: 100%;
|
||||
padding: .5rem;
|
||||
font-size: 1rem;
|
||||
color: $color-text;
|
||||
background: white;
|
||||
border: 2px solid #E4E8E9;
|
||||
@include transition(border-color, .2s);
|
||||
|
||||
@media (max-width: $xs) {
|
||||
height: 152px;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
border-color: $color-green;
|
||||
}
|
||||
}
|
||||
|
||||
#wmd-preview {
|
||||
width: 100%;
|
||||
min-height: 300px;
|
||||
max-height: 300px;
|
||||
overflow-y: scroll;
|
||||
padding: .5rem 20px;
|
||||
font-size: .8rem;
|
||||
color: #000;
|
||||
background: darken(#F5F7F7, 5%);
|
||||
@media (max-width: $xs) {
|
||||
max-height: 150px;
|
||||
min-height: 150px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.markdown-close {
|
||||
position: absolute;
|
||||
right: 1.5rem;
|
||||
top: 2rem;
|
||||
font-size: 28px;
|
||||
cursor: pointer;
|
||||
opacity: .6;
|
||||
@include transition(opacity, .3s);
|
||||
|
||||
@media (min-width: $md) {
|
||||
top: 1.5rem;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.draft {
|
||||
position: fixed;
|
||||
bottom: -40px;
|
||||
right: 30px;
|
||||
background-color: $color-green;
|
||||
color:white;
|
||||
padding: 12px 20px;
|
||||
cursor: pointer;
|
||||
opacity: 0;
|
||||
font-size: .9rem;
|
||||
font-weight: bold;
|
||||
transition: opacity .3s $cubicSearch, bottom .6s $cubicSearch, box-shadow .2s ease-in-out;
|
||||
|
||||
&.show {
|
||||
bottom: 30px;
|
||||
opacity: 1;
|
||||
|
||||
&:hover {
|
||||
background: lighten($color-green, 5%);
|
||||
@extend .BoxShadow;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.markdown-control {
|
||||
font-family: $font-family;
|
||||
font-size: .8rem;
|
||||
-webkit-appearance: none;
|
||||
@media (max-width: $xs) {
|
||||
padding: 5px !important;
|
||||
}
|
||||
}
|
||||
|
||||
#topic-title {
|
||||
padding: .5rem;
|
||||
font-size: .8rem;
|
||||
overflow: hidden;
|
||||
color: #000;
|
||||
background: #fff;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
select {
|
||||
position: relative;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
padding: .5rem;
|
||||
font-size: .8rem;
|
||||
overflow: hidden;
|
||||
color: #000;
|
||||
background: #fff;
|
||||
width: 100%;
|
||||
|
||||
border: 2px solid #E4E8E9;
|
||||
|
||||
@media (max-width: $xs) {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
&::after {
|
||||
position: absolute;
|
||||
display: block;
|
||||
top: 0;
|
||||
right: 0;
|
||||
content: "<";
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
|
||||
#topic-category {
|
||||
|
||||
option.frontend {
|
||||
background: #4ea7ff;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
option.core {
|
||||
background: #ff661b;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
option.azure {
|
||||
background: #1ed45c;
|
||||
color: #fff;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#topic-submit {
|
||||
border: none;
|
||||
background: $color-green;
|
||||
color: white;
|
||||
padding: 10px !important;
|
||||
padding-left: 32px;
|
||||
width: 100%;
|
||||
max-width: 140px;
|
||||
font-family: $font-family;
|
||||
cursor: pointer;
|
||||
|
||||
font-size: 1rem;
|
||||
|
||||
&:hover {
|
||||
background: lighten($color-green, 5%);
|
||||
}
|
||||
}
|
||||
|
||||
#mobile-preview {
|
||||
border: none;
|
||||
background: none;
|
||||
-webkit-appearance:none;
|
||||
text-align: right;
|
||||
float: right;
|
||||
opacity: .4;
|
||||
cursor: pointer;
|
||||
@include transition(opacity, .3s);
|
||||
|
||||
i {
|
||||
font-size: 24px;
|
||||
display: inline-block;
|
||||
transform: translate(-3px, 5px);
|
||||
|
||||
}
|
||||
|
||||
span {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
@media (max-width: $xs) {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
&.mobile-preview {
|
||||
|
||||
#wmd-preview {
|
||||
@media (max-width: $md) {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
#mobile-preview {
|
||||
color: $color-our;
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.wmd-prompt-background {
|
||||
background-color: black;
|
||||
}
|
||||
|
||||
#insert-image-dialog {
|
||||
position: fixed;
|
||||
z-index: 1001;
|
||||
@extend .copy-link-wrapper;
|
||||
&.show {
|
||||
clip: auto;
|
||||
opacity: 1;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
.wmd-prompt-dialog {
|
||||
@extend .copy-link-wrapper;
|
||||
opacity: 1;
|
||||
clip: auto;
|
||||
margin: 0 !important;
|
||||
input[type="text"] {
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
.markdown-spacer {
|
||||
position: relative;
|
||||
height: 0px;
|
||||
transition: height .6s $cubicSearch;
|
||||
&.write {
|
||||
height: 500px;
|
||||
}
|
||||
}
|
||||
@@ -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,18 +126,25 @@
|
||||
padding: 25px 15px;
|
||||
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
|
||||
border-bottom: 1px solid rgba($color-space, .11);
|
||||
|
||||
@media (min-width: $md) {
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
|
||||
.topic {
|
||||
font-size: .95rem;
|
||||
font-size: 1.15rem;
|
||||
line-height: 1.3;
|
||||
|
||||
order: 2;
|
||||
|
||||
h3 {
|
||||
word-break: break-all;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
a {
|
||||
@@ -181,8 +179,9 @@
|
||||
|
||||
|
||||
@media (min-width: $md) {
|
||||
font-size: 1.15rem;
|
||||
line-height: 1.3;
|
||||
h3 {
|
||||
font-weight: 100;
|
||||
}
|
||||
|
||||
span {
|
||||
font-size: .9rem;
|
||||
@@ -220,35 +219,62 @@
|
||||
|
||||
|
||||
.topic {
|
||||
flex: 0 0 50%;
|
||||
margin-right: 5%;
|
||||
order: 2;
|
||||
|
||||
margin: 10px 0;
|
||||
|
||||
@media (min-width: $md) {
|
||||
flex: 0 0 50%;
|
||||
margin-right: 10%;
|
||||
margin: 0 10% 0 0;
|
||||
|
||||
order: 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.category {
|
||||
flex: 0 0 30%;
|
||||
margin-right: 5%;
|
||||
order: 1;
|
||||
|
||||
@media (min-width: $md) {
|
||||
flex: 0 0 28%;
|
||||
margin-right: 2%;
|
||||
|
||||
order: 2;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.posts {
|
||||
flex: 0 0 10%;
|
||||
text-align: center;
|
||||
order: 3;
|
||||
|
||||
@media (max-width: $md) {
|
||||
transform: translate(-6px, 0);
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
font-size: .8rem;
|
||||
|
||||
small {
|
||||
margin-right: 3px;
|
||||
margin-bottom: 0;
|
||||
font-weight: normal;
|
||||
font-size: .8rem;
|
||||
color: $color-black;
|
||||
}
|
||||
|
||||
@media (min-width: $md) {
|
||||
text-align: center;
|
||||
|
||||
flex-direction: column;
|
||||
|
||||
small {
|
||||
margin-right: 0px;
|
||||
margin-bottom: 5px;
|
||||
font-weight: bold;
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -295,10 +321,14 @@
|
||||
color: #4f5f63;
|
||||
text-transform: uppercase;
|
||||
font-weight: 700;
|
||||
letter-spacing: .2px;
|
||||
display: block;
|
||||
margin-bottom: .5rem;
|
||||
text-align: left;
|
||||
line-height: 1.2;
|
||||
|
||||
@media (min-width: $md) {
|
||||
letter-spacing: .2px;
|
||||
}
|
||||
}
|
||||
|
||||
.options {
|
||||
@@ -352,7 +382,6 @@
|
||||
span {
|
||||
position: relative;
|
||||
flex: 1 1 auto;
|
||||
margin-right: 20px;
|
||||
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
@@ -373,6 +402,8 @@
|
||||
transition: color 150ms ease;
|
||||
font-size: .7rem;
|
||||
|
||||
text-align: center;
|
||||
|
||||
@media(min-width: $md) {
|
||||
font-size: .9rem;
|
||||
}
|
||||
|
||||
@@ -343,9 +343,16 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -383,13 +390,15 @@
|
||||
text-decoration: none;
|
||||
|
||||
|
||||
padding: 8px 10px 8px 10px;
|
||||
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;
|
||||
|
||||
@@ -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;
|
||||
@@ -132,14 +136,14 @@ section.forum {
|
||||
padding: 25px;
|
||||
margin-bottom: 30px;
|
||||
border: 1px solid darken(#f6f6f6, 5%);
|
||||
transition: box-shadow .2s;
|
||||
transition: box-shadow .2s ease, border-color .2s ease;
|
||||
text-decoration: none;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
&:hover {
|
||||
border-color: transparent;
|
||||
border-color: white;
|
||||
@include box_shadow(2);
|
||||
}
|
||||
|
||||
@@ -182,7 +186,6 @@ section.forum {
|
||||
color: #000;
|
||||
line-height: 1.3;
|
||||
font-size: 1rem;
|
||||
word-break: break-all;
|
||||
|
||||
@media (min-width: $md) {
|
||||
font-size: 1.1rem;
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
@import 'sections/forum';
|
||||
@import 'sections/people';
|
||||
@import 'sections/events';
|
||||
|
||||
@import 'sections/contributors';
|
||||
|
||||
/**
|
||||
/* Pages
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
function modelsBuilderController($scope, umbRequestHelper, $log, $http, modelsBuilderResource) {
|
||||
|
||||
$scope.generate = function() {
|
||||
$scope.generating = true;
|
||||
umbRequestHelper.resourcePromise(
|
||||
$http.post(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "BuildModels")),
|
||||
'Failed to generate.')
|
||||
.then(function (result) {
|
||||
$scope.generating = false;
|
||||
$scope.dashboard = result;
|
||||
});
|
||||
};
|
||||
|
||||
$scope.reload = function () {
|
||||
$scope.ready = false;
|
||||
modelsBuilderResource.getDashboard().then(function (result) {
|
||||
$scope.dashboard = result;
|
||||
$scope.ready = true;
|
||||
});
|
||||
};
|
||||
|
||||
function init() {
|
||||
modelsBuilderResource.getDashboard().then(function(result) {
|
||||
$scope.dashboard = result;
|
||||
$scope.ready = true;
|
||||
});
|
||||
}
|
||||
|
||||
init();
|
||||
}
|
||||
function modelsBuilderController($scope, umbRequestHelper, $log, $http, modelsBuilderResource) {
|
||||
|
||||
$scope.generate = function() {
|
||||
$scope.generating = true;
|
||||
umbRequestHelper.resourcePromise(
|
||||
$http.post(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "BuildModels")),
|
||||
'Failed to generate.')
|
||||
.then(function (result) {
|
||||
$scope.generating = false;
|
||||
$scope.dashboard = result;
|
||||
});
|
||||
};
|
||||
|
||||
$scope.reload = function () {
|
||||
$scope.ready = false;
|
||||
modelsBuilderResource.getDashboard().then(function (result) {
|
||||
$scope.dashboard = result;
|
||||
$scope.ready = true;
|
||||
});
|
||||
};
|
||||
|
||||
function init() {
|
||||
modelsBuilderResource.getDashboard().then(function(result) {
|
||||
$scope.dashboard = result;
|
||||
$scope.ready = true;
|
||||
});
|
||||
}
|
||||
|
||||
init();
|
||||
}
|
||||
angular.module("umbraco").controller("Umbraco.Dashboard.ModelsBuilderController", modelsBuilderController);
|
||||
@@ -1,41 +1,41 @@
|
||||
<div id="modelsBuilder" ng-controller="Umbraco.Dashboard.ModelsBuilderController">
|
||||
|
||||
<div ng-show="ready" style="float: right;">
|
||||
<button type="button" class="btn" ng-click="reload()"><span>Reload</span></button>
|
||||
</div>
|
||||
|
||||
<h3>Models Builder</h3>
|
||||
|
||||
<div ng-show="!ready">
|
||||
Loading...
|
||||
</div>
|
||||
|
||||
<div ng-show="ready">
|
||||
<div ng-bind-html-unsafe="dashboard.text"></div>
|
||||
|
||||
<div ng-if="dashboard.outOfDateModels">
|
||||
<p>Models are <strong>out-of-date</strong>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div ng-if="dashboard.canGenerate">
|
||||
<div ng-if="dashboard.generateCausesRestart">
|
||||
<p style="color: red; font-weight: bold;">Generating models will restart the application.</p>
|
||||
</div>
|
||||
<div ng-show="!generating">
|
||||
<button type="button" ng-click="generate()" class="btn btn-danger">
|
||||
<span>Generate models</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="umb-loader-wrapper" ng-show="generating">
|
||||
<div class="umb-loader"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-if="dashboard.lastError" style="margin-top: 32px;" ng-show="!generating">
|
||||
<span style="color: red; font-weight: bold;">Last generation failed with the following error:</span>
|
||||
<pre style="width: 80%; white-space: pre-line; background: #f8f8f8; padding: 4px; font-size: small;">{{dashboard.lastError}}</pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div id="modelsBuilder" ng-controller="Umbraco.Dashboard.ModelsBuilderController">
|
||||
|
||||
<div ng-show="ready" style="float: right;">
|
||||
<button type="button" class="btn" ng-click="reload()"><span>Reload</span></button>
|
||||
</div>
|
||||
|
||||
<h3>Models Builder</h3>
|
||||
|
||||
<div ng-show="!ready">
|
||||
Loading...
|
||||
</div>
|
||||
|
||||
<div ng-show="ready">
|
||||
<div ng-bind-html-unsafe="dashboard.text"></div>
|
||||
|
||||
<div ng-if="dashboard.outOfDateModels">
|
||||
<p>Models are <strong>out-of-date</strong>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div ng-if="dashboard.canGenerate">
|
||||
<div ng-if="dashboard.generateCausesRestart">
|
||||
<p style="color: red; font-weight: bold;">Generating models will restart the application.</p>
|
||||
</div>
|
||||
<div ng-show="!generating">
|
||||
<button type="button" ng-click="generate()" class="btn btn-danger">
|
||||
<span>Generate models</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="umb-loader-wrapper" ng-show="generating">
|
||||
<div class="umb-loader"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-if="dashboard.lastError" style="margin-top: 32px;" ng-show="!generating">
|
||||
<span style="color: red; font-weight: bold;">Last generation failed with the following error:</span>
|
||||
<pre style="width: 80%; white-space: pre-line; background: #f8f8f8; padding: 4px; font-size: small;">{{dashboard.lastError}}</pre>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -1,23 +1,23 @@
|
||||
function modelsBuilderResource($q, $http, umbRequestHelper) {
|
||||
|
||||
return {
|
||||
getModelsOutOfDateStatus: function () {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.get(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "GetModelsOutOfDateStatus")),
|
||||
"Failed to get models out-of-date status");
|
||||
},
|
||||
|
||||
buildModels: function () {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.post(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "BuildModels")),
|
||||
"Failed to build models");
|
||||
},
|
||||
|
||||
getDashboard: function () {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.get(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "GetDashboard")),
|
||||
"Failed to get dashboard");
|
||||
}
|
||||
};
|
||||
}
|
||||
angular.module("umbraco.resources").factory("modelsBuilderResource", modelsBuilderResource);
|
||||
function modelsBuilderResource($q, $http, umbRequestHelper) {
|
||||
|
||||
return {
|
||||
getModelsOutOfDateStatus: function () {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.get(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "GetModelsOutOfDateStatus")),
|
||||
"Failed to get models out-of-date status");
|
||||
},
|
||||
|
||||
buildModels: function () {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.post(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "BuildModels")),
|
||||
"Failed to build models");
|
||||
},
|
||||
|
||||
getDashboard: function () {
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.get(umbRequestHelper.getApiUrl("modelsBuilderBaseUrl", "GetDashboard")),
|
||||
"Failed to get dashboard");
|
||||
}
|
||||
};
|
||||
}
|
||||
angular.module("umbraco.resources").factory("modelsBuilderResource", modelsBuilderResource);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
//array of files we want to inject into the application on app_start
|
||||
javascript: [
|
||||
'~/App_Plugins/ModelsBuilder/modelsbuilder.controller.js',
|
||||
'~/App_Plugins/ModelsBuilder/modelsbuilder.resource.js'
|
||||
]
|
||||
{
|
||||
//array of files we want to inject into the application on app_start
|
||||
javascript: [
|
||||
'~/App_Plugins/ModelsBuilder/modelsbuilder.controller.js',
|
||||
'~/App_Plugins/ModelsBuilder/modelsbuilder.resource.js'
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
angular.module("umbraco").controller("ourManagementController", function ($scope, $http, notificationsService) {
|
||||
$scope.downloadDocumentation = function () {
|
||||
notificationsService.success("Downloading and indexing documentation, hold on");
|
||||
var downloadUrl = "/html/githubpulltrigger";
|
||||
$http.get(downloadUrl)
|
||||
.success(function () {
|
||||
notificationsService.success("Documentation all downloaded and indexed!");
|
||||
})
|
||||
.error(function () {
|
||||
notificationsService.error("Problem with the documentation download/indexing");
|
||||
});
|
||||
};
|
||||
|
||||
$scope.downloadYoutrackData = function () {
|
||||
notificationsService.success("Downloading YouTrack data, hold on");
|
||||
var youtrackUrl = "backoffice/API/YouTrackApi/GetData";
|
||||
$http.get(youtrackUrl)
|
||||
.success(function () {
|
||||
notificationsService.success("YouTrack data all downloaded!");
|
||||
})
|
||||
.error(function () {
|
||||
notificationsService.error("Problem with the YouTrack data downloading");
|
||||
});
|
||||
};
|
||||
});
|
||||
@@ -0,0 +1,11 @@
|
||||
<div class="ourManagementDashboard" ng-controller="ourManagementController">
|
||||
<h3>Documentation</h3>
|
||||
<button ng-click="downloadDocumentation()">
|
||||
Download documentation
|
||||
</button>
|
||||
|
||||
<h3>YouTrack</h3>
|
||||
<button ng-click="downloadYoutrackData()">
|
||||
Download YouTrack data
|
||||
</button>
|
||||
</div>
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"$schema": "/App_Plugins/manifestSchema.json",
|
||||
"javascript": [
|
||||
"/App_Plugins/OurManagement/ourmanagement.controller.js"
|
||||
]
|
||||
}
|
||||
@@ -1,2 +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;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\packages\UmbracoCms.7.5.3\build\UmbracoCms.props" Condition="Exists('..\packages\UmbracoCms.7.5.3\build\UmbracoCms.props')" />
|
||||
<Import Project="..\packages\UmbracoCms.7.5.11\build\UmbracoCms.props" Condition="Exists('..\packages\UmbracoCms.7.5.11\build\UmbracoCms.props')" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
@@ -47,32 +47,36 @@
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="AutoMapper, Version=3.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\AutoMapper.3.0.0\lib\net40\AutoMapper.dll</HintPath>
|
||||
<Reference Include="Autofac, Version=3.5.0.0, Culture=neutral, PublicKeyToken=17863af14b0044da, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Autofac.3.5.2\lib\net40\Autofac.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="AutoMapper.Net4, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\AutoMapper.3.0.0\lib\net40\AutoMapper.Net4.dll</HintPath>
|
||||
<Reference Include="AutoMapper, Version=3.3.1.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\AutoMapper.3.3.1\lib\net40\AutoMapper.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="businesslogic, Version=1.0.6092.24022, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\businesslogic.dll</HintPath>
|
||||
<Reference Include="AutoMapper.Net4, Version=3.3.1.0, Culture=neutral, PublicKeyToken=be96cd2c38ef1005, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\AutoMapper.3.3.1\lib\net40\AutoMapper.Net4.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ClientDependency.Core, Version=1.9.1.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ClientDependency.1.9.1\lib\net45\ClientDependency.Core.dll</HintPath>
|
||||
<Reference Include="businesslogic, Version=1.0.6274.27355, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.11\lib\businesslogic.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ClientDependency.Core, Version=1.9.2.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ClientDependency.1.9.2\lib\net45\ClientDependency.Core.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ClientDependency.Core.Mvc, Version=1.8.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ClientDependency-Mvc5.1.8.0.0\lib\net45\ClientDependency.Core.Mvc.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="cms, Version=1.0.6092.24022, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\cms.dll</HintPath>
|
||||
<Reference Include="cms, Version=1.0.6274.27356, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.11\lib\cms.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="controls, Version=1.0.6092.24024, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\controls.dll</HintPath>
|
||||
<Reference Include="controls, Version=1.0.6274.27357, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.11\lib\controls.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="CookComputing.XmlRpcV2, Version=2.5.0.0, Culture=neutral, PublicKeyToken=a7d6e17aa302004d, processorArchitecture=MSIL">
|
||||
@@ -83,32 +87,28 @@
|
||||
<HintPath>..\packages\EasyHttp.1.6.29.0\lib\net40\EasyHttp.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Examine, Version=0.1.69.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Examine.0.1.69.0\lib\Examine.dll</HintPath>
|
||||
<Reference Include="Examine, Version=0.1.81.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Examine.0.1.81\lib\net45\Examine.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="HtmlAgilityPack, Version=1.4.9.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\HtmlAgilityPack.1.4.9\lib\Net45\HtmlAgilityPack.dll</HintPath>
|
||||
<Reference Include="HtmlAgilityPack, Version=1.4.9.5, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\HtmlAgilityPack.1.4.9.5\lib\Net45\HtmlAgilityPack.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ICSharpCode.SharpZipLib, Version=0.86.0.518, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SharpZipLib.0.86.0\lib\20\ICSharpCode.SharpZipLib.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ImageProcessor, Version=2.4.4.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ImageProcessor.2.4.4.0\lib\net45\ImageProcessor.dll</HintPath>
|
||||
<Reference Include="ImageProcessor, Version=2.5.2.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ImageProcessor.2.5.2\lib\net45\ImageProcessor.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ImageProcessor.Web, Version=4.6.4.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ImageProcessor.Web.4.6.4.0\lib\net45\ImageProcessor.Web.dll</HintPath>
|
||||
<Reference Include="ImageProcessor.Web, Version=4.8.2.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ImageProcessor.Web.4.8.2\lib\net45\ImageProcessor.Web.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="InfoCaster.Umbraco.UrlTracker, Version=3.11.5900.30099, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UrlTracker.3.11\lib\InfoCaster.Umbraco.UrlTracker.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="interfaces, Version=1.0.6092.24017, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\interfaces.dll</HintPath>
|
||||
<Reference Include="interfaces, Version=1.0.6274.27351, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.11\lib\interfaces.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="JsonFx, Version=2.0.1209.2802, Culture=neutral, PublicKeyToken=315052dd637f8a52, processorArchitecture=MSIL">
|
||||
@@ -116,19 +116,19 @@
|
||||
<HintPath>..\packages\JsonFx.2.0.1209.2802\lib\net40\JsonFx.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="log4net, Version=1.2.11.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\log4net.dll</HintPath>
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.11\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="MarkdownSharp, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Markdown.1.14.4\lib\net45\MarkdownSharp.dll</HintPath>
|
||||
<Reference Include="MarkdownSharp, Version=1.14.5.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Markdown.1.14.7\lib\net45\MarkdownSharp.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.ApplicationBlocks.Data, Version=1.0.1559.20655, Culture=neutral">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\Microsoft.ApplicationBlocks.Data.dll</HintPath>
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.11\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">
|
||||
@@ -148,6 +148,10 @@
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="Microsoft.IO.RecyclableMemoryStream, Version=1.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IO.RecyclableMemoryStream.1.2.1\lib\net45\Microsoft.IO.RecyclableMemoryStream.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Owin, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Owin.3.0.1\lib\net45\Microsoft.Owin.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
@@ -172,6 +176,18 @@
|
||||
<HintPath>..\packages\Microsoft.Owin.Security.OAuth.3.0.1\lib\net45\Microsoft.Owin.Security.OAuth.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Threading.Tasks, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Threading.Tasks.Extensions, Version=1.0.12.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Threading.Tasks.Extensions.Desktop, Version=1.0.168.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.Async.1.0.168\lib\net40\Microsoft.Threading.Tasks.Extensions.Desktop.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebHelpers.3.2.3\lib\net45\Microsoft.Web.Helpers.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
@@ -188,14 +204,18 @@
|
||||
<HintPath>..\packages\MySql.Data.6.9.8\lib\net45\MySql.Data.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Owin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=f0ebd12fd5e55cc5, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Owin.1.0\lib\net40\Owin.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="reCAPTCHA.MVC, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\reCAPTCH.MVC.1.0.1\lib\net45\reCAPTCHA.MVC.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="RestSharp, Version=104.1.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\RestSharp.104.1\lib\net4\RestSharp.dll</HintPath>
|
||||
@@ -204,8 +224,20 @@
|
||||
<HintPath>..\packages\semver.1.1.2\lib\net451\Semver.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="SQLCE4Umbraco, Version=1.0.6092.24023, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\SQLCE4Umbraco.dll</HintPath>
|
||||
<Reference Include="Skybrud.Essentials, Version=1.0.8.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Skybrud.Essentials.1.0.8\lib\net45\Skybrud.Essentials.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Skybrud.Social.Core, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Skybrud.Social.Core.1.0.0-beta9\lib\net45\Skybrud.Social.Core.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Skybrud.Social.Meetup, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Skybrud.Social.Meetup.1.0.0-beta002\lib\net45\Skybrud.Social.Meetup.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="SQLCE4Umbraco, Version=1.0.6274.27357, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.11\lib\SQLCE4Umbraco.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Collections.Immutable, Version=1.1.36.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
@@ -214,18 +246,27 @@
|
||||
</Reference>
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="System.Data.SqlServerCe, Version=4.0.0.1, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\System.Data.SqlServerCe.dll</HintPath>
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.11\lib\System.Data.SqlServerCe.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Data.SqlServerCe.Entity, Version=4.0.0.1, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\System.Data.SqlServerCe.Entity.dll</HintPath>
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.11\lib\System.Data.SqlServerCe.Entity.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Net" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Net.Http.Extensions, Version=2.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Extensions.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http.Formatting, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http.Primitives, Version=4.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Primitives.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http.WebRequest" />
|
||||
<Reference Include="System.Reflection.Metadata, Version=1.0.21.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Reflection.Metadata.1.0.21\lib\portable-net45+win8\System.Reflection.Metadata.dll</HintPath>
|
||||
@@ -282,47 +323,51 @@
|
||||
<Reference Include="System.EnterpriseServices" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="TidyNet, Version=1.0.0.0, Culture=neutral">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\TidyNet.dll</HintPath>
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.11\lib\TidyNet.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="umbraco, Version=1.0.6092.24026, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\umbraco.dll</HintPath>
|
||||
<Reference Include="Tweetinvi, Version=1.2.0.0, Culture=neutral, PublicKeyToken=7247f14397bf67b9, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\TweetinviAPI.1.2.0\lib\net45\Tweetinvi.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Umbraco.Core, Version=1.0.6092.24019, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\Umbraco.Core.dll</HintPath>
|
||||
<Reference Include="umbraco, Version=1.0.6274.27359, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.11\lib\umbraco.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="umbraco.DataLayer, Version=1.0.6092.24022, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\umbraco.DataLayer.dll</HintPath>
|
||||
<Reference Include="Umbraco.Core, Version=1.0.6274.27352, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.11\lib\Umbraco.Core.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="umbraco.editorControls, Version=1.0.6092.24028, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\umbraco.editorControls.dll</HintPath>
|
||||
<Reference Include="umbraco.DataLayer, Version=1.0.6274.27355, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.11\lib\umbraco.DataLayer.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="umbraco.editorControls, Version=1.0.6274.27361, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.11\lib\umbraco.editorControls.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Umbraco.IdentityExtensions, Version=1.0.5779.34109, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.IdentityExtensions.1.0.0\lib\net45\Umbraco.IdentityExtensions.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="umbraco.MacroEngines, Version=1.0.6092.24028, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\umbraco.MacroEngines.dll</HintPath>
|
||||
<Reference Include="umbraco.MacroEngines, Version=1.0.6274.27362, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.11\lib\umbraco.MacroEngines.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Umbraco.ModelsBuilder, Version=3.0.4.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Umbraco.ModelsBuilder.3.0.4\lib\Umbraco.ModelsBuilder.dll</HintPath>
|
||||
<Reference Include="Umbraco.ModelsBuilder, Version=3.0.5.96, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Umbraco.ModelsBuilder.3.0.5\lib\Umbraco.ModelsBuilder.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="umbraco.providers, Version=1.0.6092.24024, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\umbraco.providers.dll</HintPath>
|
||||
<Reference Include="umbraco.providers, Version=1.0.6274.27357, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.11\lib\umbraco.providers.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Umbraco.Web.UI, Version=1.0.6092.24029, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\Umbraco.Web.UI.dll</HintPath>
|
||||
<Reference Include="Umbraco.Web.UI, Version=1.0.6274.27363, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.11\lib\Umbraco.Web.UI.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="UmbracoExamine, Version=0.7.0.24023, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\UmbracoExamine.dll</HintPath>
|
||||
<Reference Include="UmbracoExamine, Version=0.7.0.27356, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.11\lib\UmbracoExamine.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="UrlRewritingNet.UrlRewriter, Version=2.0.7.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
@@ -344,13 +389,6 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Views\Search\Search.aspx.cs">
|
||||
<DependentUpon>Search.aspx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Views\Search\Search.aspx.designer.cs">
|
||||
<DependentUpon>Search.aspx</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="App_Browsers\Form.browser" />
|
||||
@@ -359,6 +397,8 @@
|
||||
<Content Include="App_Plugins\ModelsBuilder\modelsbuilder.controller.js" />
|
||||
<Content Include="App_Plugins\ModelsBuilder\modelsbuilder.htm" />
|
||||
<Content Include="App_Plugins\ModelsBuilder\modelsbuilder.resource.js" />
|
||||
<Content Include="App_Plugins\OurManagement\ourmanagement.controller.js" />
|
||||
<Content Include="App_Plugins\OurManagement\ourmanagement.html" />
|
||||
<Content Include="Assets\css\fonts\icomoon\icomoon.svg" />
|
||||
<Content Include="Assets\css\style.min.css" />
|
||||
<Content Include="Assets\images\app-icons\acme-tile-large.png" />
|
||||
@@ -436,6 +476,7 @@
|
||||
<SubType>Designer</SubType>
|
||||
</Content>
|
||||
<Content Include="config\formHandlers.config" />
|
||||
<Content Include="config\githubhq.txt" />
|
||||
<Content Include="config\githubpull.config" />
|
||||
<Content Include="config\grid.editors.config.js" />
|
||||
<Content Include="config\Lang\cs-CZ.user.xml" />
|
||||
@@ -457,6 +498,7 @@
|
||||
<Content Include="config\Lang\sv-SE.user.xml" />
|
||||
<Content Include="config\Lang\zh-CN.user.xml" />
|
||||
<Content Include="config\log4net.config" />
|
||||
<Content Include="config\MeetupUmbracoGroups.txt" />
|
||||
<Content Include="config\Notification.config" />
|
||||
<Content Include="config\restExtensions.config" />
|
||||
<Content Include="config\Skinning.config" />
|
||||
@@ -498,75 +540,6 @@
|
||||
<Content Include="macroScripts\Releases-GetAllReleases.cshtml" />
|
||||
<Content Include="macroScripts\Releases-ReleaseList.cshtml" />
|
||||
<Content Include="macroScripts\testWikiFile.cshtml" />
|
||||
<Content Include="masterpages\AttachFile.master" />
|
||||
<Content Include="masterpages\Authentication.master" />
|
||||
<Content Include="masterpages\blank.master" />
|
||||
<Content Include="masterpages\Community.master" />
|
||||
<Content Include="masterpages\ConfigureProjectLicenses.master" />
|
||||
<Content Include="masterpages\ContentLanding.master" />
|
||||
<Content Include="masterpages\CreateWikiPage.master" />
|
||||
<Content Include="masterpages\Deli.master" />
|
||||
<Content Include="masterpages\DeliCart.master" />
|
||||
<Content Include="masterpages\DeliCartDetails.master" />
|
||||
<Content Include="masterpages\Dialogs.master" />
|
||||
<Content Include="masterpages\DisplayTopic.master" />
|
||||
<Content Include="masterpages\DocumentationMainpage.master" />
|
||||
<Content Include="masterpages\DocumentationSubpage.master" />
|
||||
<Content Include="masterpages\EditProject.master" />
|
||||
<Content Include="masterpages\Event.master" />
|
||||
<Content Include="masterpages\Eventnews.master" />
|
||||
<Content Include="masterpages\Events.master" />
|
||||
<Content Include="masterpages\FileDownload.master" />
|
||||
<Content Include="masterpages\Forum.master" />
|
||||
<Content Include="masterpages\HelpPage.master" />
|
||||
<Content Include="masterpages\InsertImage.master" />
|
||||
<Content Include="masterpages\Locatorpage.master" />
|
||||
<Content Include="masterpages\Master.master" />
|
||||
<Content Include="masterpages\Mobile.master" />
|
||||
<Content Include="masterpages\MobileTextPage.master" />
|
||||
<Content Include="masterpages\newest.master" />
|
||||
<Content Include="masterpages\Nothing.master" />
|
||||
<Content Include="masterpages\Notifications.master" />
|
||||
<Content Include="masterpages\PayPalRedirect.master" />
|
||||
<Content Include="masterpages\People.master" />
|
||||
<Content Include="masterpages\popular.master" />
|
||||
<Content Include="masterpages\Profilepage.master" />
|
||||
<Content Include="masterpages\Project.master" />
|
||||
<Content Include="masterpages\ProjectGroup.master" />
|
||||
<Content Include="masterpages\Projects.master" />
|
||||
<Content Include="masterpages\ProjectsTags.master" />
|
||||
<Content Include="masterpages\PublicMemberProfile.master" />
|
||||
<Content Include="masterpages\Release.master" />
|
||||
<Content Include="masterpages\ReleaseLanding-bak.master" />
|
||||
<Content Include="masterpages\ReleaseLanding.master" />
|
||||
<Content Include="masterpages\Repository.master" />
|
||||
<Content Include="masterpages\RepositoryFrontpage.master" />
|
||||
<Content Include="masterpages\RepositoryMaster.master" />
|
||||
<Content Include="masterpages\repositoryPage.master" />
|
||||
<Content Include="masterpages\Repository\blank.master" />
|
||||
<Content Include="masterpages\Repository\Community.master" />
|
||||
<Content Include="masterpages\Repository\Deli.master" />
|
||||
<Content Include="masterpages\Repository\DeliRepoNET.master" />
|
||||
<Content Include="masterpages\Repository\FileDownload.master" />
|
||||
<Content Include="masterpages\Repository\Master.master" />
|
||||
<Content Include="masterpages\Repository\Nothing.master" />
|
||||
<Content Include="masterpages\Repository\Project.master" />
|
||||
<Content Include="masterpages\Repository\ProjectGroup.master" />
|
||||
<Content Include="masterpages\Repository\Projects.master" />
|
||||
<Content Include="masterpages\Repository\ProjectsTags.master" />
|
||||
<Content Include="masterpages\Repository\Repository.master" />
|
||||
<Content Include="masterpages\Repository\Textpage.master" />
|
||||
<Content Include="masterpages\RoadMap.master" />
|
||||
<Content Include="masterpages\simplr.master" />
|
||||
<Content Include="masterpages\termsofservice.master" />
|
||||
<Content Include="masterpages\Textpage.master" />
|
||||
<Content Include="masterpages\UmbracoMVP2011.master" />
|
||||
<Content Include="masterpages\Wiki.master" />
|
||||
<Content Include="masterpages\WikiMoveDialog.master" />
|
||||
<Content Include="masterpages\WikiPage.master" />
|
||||
<Content Include="masterpages\WikiPageAttachments.master" />
|
||||
<Content Include="masterpages\WikiPageHistory.master" />
|
||||
<Content Include="masterpages\WikipagewithTOC.master" />
|
||||
<Content Include="projects\umbraco-pro\contour\Documentation\Editor\Attaching-Workflows\WorkFlowButton.png" />
|
||||
<Content Include="projects\umbraco-pro\contour\Documentation\Editor\Attaching-Workflows\Workflownode.png" />
|
||||
<Content Include="projects\umbraco-pro\contour\Documentation\Editor\Attaching-Workflows\WorkflowOverview.png" />
|
||||
@@ -669,8 +642,11 @@
|
||||
<Content Include="scripts\forum\select2\select2-new.js" />
|
||||
<Content Include="scripts\forum\tags.js" />
|
||||
<Content Include="config\IISRewriteMaps.config" />
|
||||
<Content Include="masterpages\ReleaseCompare.master" />
|
||||
<Content Include="App_Plugins\ModelsBuilder\package.manifest" />
|
||||
<None Include="App_Plugins\OurManagement\package.manifest" />
|
||||
<Content Include="config\imageprocessor\security.config" />
|
||||
<Content Include="config\imageprocessor\processing.config" />
|
||||
<Content Include="config\imageprocessor\cache.config" />
|
||||
<Content Include="config\tinyMceConfig.config" />
|
||||
<Content Include="config\scripting.config" />
|
||||
<Content Include="config\metablogConfig.config" />
|
||||
@@ -1683,20 +1659,10 @@
|
||||
<Content Include="umbraco_client\tablesorting\jquery.tablesorter.min.js" />
|
||||
<Content Include="umbraco_client\tinymce3\langs\en_us.js" />
|
||||
<Content Include="umbraco_client\tinymce3\langs\ru.js" />
|
||||
<Content Include="usercontrols\dashboard\ForceYouTrackDownload.ascx" />
|
||||
<Content Include="usercontrols\dashboard\ForceDocumentationDownload.ascx" />
|
||||
<Content Include="usercontrols\IndexStatus.ascx" />
|
||||
<Content Include="usercontrols\our.umbraco.org\ForumSpamCleaner.ascx" />
|
||||
<Content Include="usercontrols\our.umbraco.org\ForumSpamListComments.ascx" />
|
||||
<Content Include="usercontrols\our.umbraco.org\ForumSpamListTopics.ascx" />
|
||||
<Content Include="usercontrols\our.umbraco.org\SignupSimple.ascx" />
|
||||
<Content Include="usercontrols\umbracoContour\EditForm.ascx" />
|
||||
<Content Include="usercontrols\umbracoContour\Installer.ascx" />
|
||||
<Content Include="usercontrols\umbracoContour\RenderForm.ascx" />
|
||||
<Content Include="Views\MacroPartials\Forum\TopicForm.cshtml" />
|
||||
<Content Include="Views\ContentLanding.cshtml" />
|
||||
<Content Include="Views\Blank.cshtml" />
|
||||
<Content Include="Views\DisplayTopic.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Members\HeaderProfile.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Members\QuickMenu.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Members\JsValues.cshtml" />
|
||||
<Content Include="Views\Partials\Forum\Comment.cshtml" />
|
||||
<Content Include="Assets\css\fonts\our-icon\our-umbraco.eot" />
|
||||
<Content Include="Assets\css\fonts\our-icon\our-umbraco.svg" />
|
||||
@@ -1704,39 +1670,20 @@
|
||||
<Content Include="Assets\css\fonts\our-icon\our-umbraco.woff" />
|
||||
<Content Include="Assets\images\logo.svg" />
|
||||
<Content Include="Assets\images\magnifier.svg" />
|
||||
<Content Include="Views\MacroPartials\Navigation\TopNavigation.cshtml" />
|
||||
<Content Include="masterpages\ForumMaster.master" />
|
||||
<Content Include="masterpages\DocumentationMaster.master" />
|
||||
<Content Include="masterpages\AddMarkdownProp.master" />
|
||||
<Content Include="masterpages\ComRepositoryFrontpage.master" />
|
||||
<Content Include="Assets\css\fonts\icomoon\icomoon.eot" />
|
||||
<Content Include="Assets\css\fonts\icomoon\icomoon.ttf" />
|
||||
<Content Include="Assets\css\fonts\icomoon\icomoon.woff" />
|
||||
<Content Include="Views\MacroPartials\Forum\TopicActions.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Forum\ForumActions.cshtml" />
|
||||
<Content Include="Assets\js\jquery.scrolly.js" />
|
||||
<Content Include="Views\MacroPartials\Members\Profile.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Members\ProfileNotifications.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Documenation\Breadcrumb.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Documenation\DisplayMarkdown.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Documenation\Navigation.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Projects\ListCategories.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Projects\ListProjects.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Members\ProfileNavigation.cshtml" />
|
||||
<Content Include="Views\Partials\Documentation\Navigation.cshtml" />
|
||||
<Content Include="Views\Partials\Projects\ListCategories.cshtml" />
|
||||
<Content Include="Views\Partials\Projects\ListProjects.cshtml" />
|
||||
<Content Include="Views\Partials\Members\ProfileNavigation.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Search\GlobalSearchPage.cshtml" />
|
||||
<Content Include="masterpages\Download.master" />
|
||||
<Content Include="Views\MacroPartials\Members\ProfileProjectTeam.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Releases\AllReleases.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Projects\ProjectDetails.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Members\Register.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Forum\LatestActivity.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Members\ProfileProjectForums.cshtml" />
|
||||
<Content Include="masterpages\ReleaseProgress.master" />
|
||||
<Content Include="Views\MacroPartials\Global\AlertBar.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Members\PublicProfile.cshtml" />
|
||||
<Content Include="masterpages\ProfileLogin.master" />
|
||||
<Content Include="masterpages\ProfileRegister.master" />
|
||||
<Content Include="masterpages\Sidebar.master" />
|
||||
<Content Include="Views\MacroPartials\Rss\Forum.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Rss\LatestTopics.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Rss\Packages.cshtml" />
|
||||
@@ -1752,14 +1699,31 @@
|
||||
<Content Include="umbraco\lib\font-awesome\fonts\FontAwesome.otf" />
|
||||
<Content Include="macroScripts\repository-popularpackages.cshtml" />
|
||||
<Content Include="Views\MacroPartials\RedirectProjectCategory.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Community\Home.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Project\Edit.cshtml" />
|
||||
<Content Include="masterpages\ProjectPage.master" />
|
||||
<Content Include="umbraco\lib\bootstrap-tabdrop\README.md" />
|
||||
<Content Include="Views\MacroPartials\Releases\ReleasesDropdown.cshtml" />
|
||||
<Content Include="Views\Partials\Community\TermsAndConditions.cshtml" />
|
||||
<None Include="Views\Partials\Forum\MemberBadge.cshtml" />
|
||||
<Content Include="Views\Search\Search.aspx" />
|
||||
<Content Include="Views\Master.cshtml" />
|
||||
<Content Include="Views\Community.cshtml" />
|
||||
<Content Include="Views\Forum.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Members\Login.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Members\ForgotPassword.cshtml" />
|
||||
<Content Include="Views\Partials\Forum\Forum.cshtml" />
|
||||
<Content Include="Views\Partials\Projects\MyProjects.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Projects\MyProjects.cshtml" />
|
||||
<Content Include="Views\EditProject.cshtml" />
|
||||
<Content Include="Views\FileDownload.cshtml" />
|
||||
<Content Include="Views\DocumentationSubpage.cshtml" />
|
||||
<Content Include="Views\Download.cshtml" />
|
||||
<Content Include="Views\Partials\Community\Scripts.cshtml" />
|
||||
<Content Include="Views\Partials\Community\Home.cshtml" />
|
||||
<Content Include="Views\Partials\Community\JsValues.cshtml" />
|
||||
<Content Include="Views\Partials\Forum\ForumActions.cshtml" />
|
||||
<Content Include="Views\Partials\Forum\MemberBadge.cshtml" />
|
||||
<Content Include="Views\Partials\Project\EditFiles.cshtml" />
|
||||
<Content Include="Views\Partials\Project\PackageEditNavigation.cshtml" />
|
||||
<Content Include="Views\Partials\Project\EditScreenshots.cshtml" />
|
||||
<Content Include="Views\Partials\Project\Complete.cshtml" />
|
||||
<Content Include="Views\Partials\Home\LatestForumActivity.cshtml" />
|
||||
<Content Include="Views\Web.config" />
|
||||
<Content Include="web.config">
|
||||
<SubType>Designer</SubType>
|
||||
@@ -4081,65 +4045,6 @@
|
||||
<Content Include="umbraco_client\ui\ui-lightness\images\ui-icons_ffd27a_256x240.png" />
|
||||
<Content Include="umbraco_client\ui\ui-lightness\images\ui-icons_ffffff_256x240.png" />
|
||||
<Content Include="umbraco_client\ui\ui-lightness\jquery-ui.custom.css" />
|
||||
<Content Include="usercontrols\dashboard\getMembersFromGroup.ascx" />
|
||||
<Content Include="usercontrols\dashboard\memberSearch.ascx" />
|
||||
<Content Include="usercontrols\Deli\Cart\Cart.ascx" />
|
||||
<Content Include="usercontrols\Deli\Cart\CartDetails.ascx" />
|
||||
<Content Include="usercontrols\Deli\Cart\CartProgress.ascx" />
|
||||
<Content Include="usercontrols\Deli\Cart\CartReview.ascx" />
|
||||
<Content Include="usercontrols\Deli\Cart\MicroCart.ascx" />
|
||||
<Content Include="usercontrols\Deli\Customers\VendorCustomers.ascx" />
|
||||
<Content Include="usercontrols\Deli\Dashboard\VendorBIOverview.ascx" />
|
||||
<Content Include="usercontrols\Deli\Dashboard\VendorProjectBI.ascx" />
|
||||
<Content Include="usercontrols\Deli\EditPackage.ascx" />
|
||||
<Content Include="usercontrols\Deli\HQStaffPickProjects.ascx" />
|
||||
<Content Include="usercontrols\Deli\License\Member\MyLicenses.ascx" />
|
||||
<Content Include="usercontrols\Deli\License\Vendor\ProjectLicenses.ascx" />
|
||||
<Content Include="usercontrols\Deli\ListPagination.ascx" />
|
||||
<Content Include="usercontrols\Deli\Package\Editor.ascx" />
|
||||
<Content Include="usercontrols\Deli\Package\Steps\Complete.ascx" />
|
||||
<Content Include="usercontrols\Deli\Package\Steps\Details.ascx" />
|
||||
<Content Include="usercontrols\Deli\Package\Steps\Files.ascx" />
|
||||
<Content Include="usercontrols\Deli\Package\Steps\Screenshots.ascx" />
|
||||
<Content Include="usercontrols\Deli\Payout\VendorPayout.ascx" />
|
||||
<Content Include="usercontrols\Deli\Payout\VendorPayoutHistory.ascx" />
|
||||
<Content Include="usercontrols\Deli\Profile\MemberDataLookup.ascx" />
|
||||
<Content Include="usercontrols\Deli\Profile\MyProjects.ascx" />
|
||||
<Content Include="usercontrols\Deli\Profile\Signup.ascx" />
|
||||
<Content Include="usercontrols\Deli\ProjectView.ascx" />
|
||||
<Content Include="usercontrols\Deli\Purchase\PayPalConfirm.ascx" />
|
||||
<Content Include="usercontrols\Deli\Purchase\PayPalPayment.ascx" />
|
||||
<Content Include="usercontrols\Deli\Repository\RepoProjectView.ascx" />
|
||||
<Content Include="usercontrols\Deli\Support\Member\RefundRequest.ascx" />
|
||||
<Content Include="usercontrols\Deli\Support\VendorSupportRequest.ascx" />
|
||||
<Content Include="usercontrols\Deli\Support\Vendor\VendorSupportRequest.ascx" />
|
||||
<Content Include="usercontrols\Deli\TopPaidProjectsList.ascx" />
|
||||
<Content Include="usercontrols\FergusonMoriyama\FeedCache\PostInstall.ascx" />
|
||||
<Content Include="usercontrols\ImageGenInstaller.ascx" />
|
||||
<Content Include="usercontrols\MemberLocator.ascx" />
|
||||
<Content Include="usercontrols\our.umbraco.org\acceptTos.ascx" />
|
||||
<Content Include="usercontrols\our.umbraco.org\EventEditor.ascx" />
|
||||
<Content Include="usercontrols\our.umbraco.org\EventMailer.ascx" />
|
||||
<Content Include="usercontrols\our.umbraco.org\FileDownloadProxy.ascx" />
|
||||
<Content Include="usercontrols\our.umbraco.org\Forgotpassword.ascx" />
|
||||
<Content Include="usercontrols\our.umbraco.org\HeaderLogin.ascx" />
|
||||
<Content Include="usercontrols\our.umbraco.org\InsertImage.ascx" />
|
||||
<Content Include="usercontrols\our.umbraco.org\Login.ascx" />
|
||||
<Content Include="usercontrols\our.umbraco.org\Login_novalidationscript.ascx" />
|
||||
<Content Include="usercontrols\our.umbraco.org\ProjectCollabRequest.ascx" />
|
||||
<Content Include="usercontrols\our.umbraco.org\ProjectContributors.ascx" />
|
||||
<Content Include="usercontrols\our.umbraco.org\ProjectEditor.ascx" />
|
||||
<Content Include="usercontrols\our.umbraco.org\ProjectFileUpload.ascx" />
|
||||
<Content Include="usercontrols\our.umbraco.org\ProjectForums.ascx" />
|
||||
<Content Include="usercontrols\our.umbraco.org\Signup.ascx" />
|
||||
<Content Include="usercontrols\our.umbraco.org\testoptimize.ascx" />
|
||||
<Content Include="usercontrols\our.umbraco.org\YAF_MemberImport.ascx" />
|
||||
<Content Include="usercontrols\poll\Poll.ascx" />
|
||||
<Content Include="usercontrols\umbracoMemberControls\umbLogin.ascx" />
|
||||
<Content Include="usercontrols\umbracoMemberControls\umbPasswordForgot.ascx" />
|
||||
<Content Include="usercontrols\umbracoMemberControls\umbRegister.ascx" />
|
||||
<Content Include="usercontrols\Umbraco\ExamineIndexAdmin.ascx" />
|
||||
<Content Include="usercontrols\uWiki\FileUpload.ascx" />
|
||||
<Content Include="w3c\p3p.xml" />
|
||||
<Content Include="webservices\Licensing.asmx" />
|
||||
<Content Include="webservices\MarketPlace.asmx" />
|
||||
@@ -4241,8 +4146,6 @@
|
||||
<Content Include="packages.config" />
|
||||
<Content Include="App_Data\packages\installed\installedPackages.config" />
|
||||
<Content Include="config\FileIndexerConfig.config" />
|
||||
<Content Include="masterpages\ArchivedRelease.master" />
|
||||
<Content Include="masterpages\ReleaseDownload.master" />
|
||||
<Content Include="macroScripts\Releases-ListDownloads.cshtml">
|
||||
<SubType>Code</SubType>
|
||||
</Content>
|
||||
@@ -4277,14 +4180,9 @@
|
||||
<Content Include="projects\umbraco-pro\contour\Documentation\readme.md" />
|
||||
<Content Include="macroScripts\Rss-CommunityBlogs.cshtml" />
|
||||
<Content Include="macroScripts\TwitterSearch.cshtml" />
|
||||
<Content Include="masterpages\SwitchForumEditor.master" />
|
||||
<Content Include="macroScripts\SwitchForumEditor.cshtml" />
|
||||
<Content Include="masterpages\ManageSpam.master" />
|
||||
<Content Include="macroScripts\ManageSpam.cshtml" />
|
||||
<Content Include="masterpages\ProjectsVersioned.master" />
|
||||
<Content Include="macroScripts\ProjectsVersioned.cshtml" />
|
||||
<Content Include="macroScripts\ProjectsVersionList.cshtml" />
|
||||
<Content Include="masterpages\ProjectCompatibility.master" />
|
||||
<Content Include="macroScripts\EditProjectCompatibility.cshtml" />
|
||||
<Content Include="macroScripts\EventsOverview.cshtml" />
|
||||
<Content Include="umbraco\assets\fonts\helveticons\helveticons.eot" />
|
||||
@@ -4391,9 +4289,7 @@
|
||||
<Content Include="umbraco\Views\Default.cshtml" />
|
||||
<Content Include="umbraco\webservices\UltimatePickerAutoCompleteHandler.ashx" />
|
||||
<Content Include="umbraco\xslt\Web.config" />
|
||||
<Content Include="Views\MacroPartials\Forum\Latest.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Forum\Forum.cshtml" />
|
||||
<Content Include="Views\MacroPartials\Forum\Thread.cshtml" />
|
||||
<Content Include="Views\Partials\Forum\Latest.cshtml" />
|
||||
<Content Include="Views\Partials\Forum\Question.cshtml" />
|
||||
<Content Include="Views\Partials\Members\Profile.cshtml" />
|
||||
<Content Include="Views\Partials\Members\ProfileNotification.cshtml" />
|
||||
@@ -4401,7 +4297,43 @@
|
||||
<Content Include="Views\Partials\Projects\CompatibilityReport.cshtml" />
|
||||
<Content Include="Views\Partials\Project\Edit.cshtml" />
|
||||
<Content Include="Views\Partials\Home\Documentation.cshtml" />
|
||||
<Content Include="Views\Partials\Home\ForumActivity.cshtml" />
|
||||
<Content Include="Views\Partials\Members\Login.cshtml" />
|
||||
<Content Include="Views\Partials\Members\ForgotPassword.cshtml" />
|
||||
<Content Include="Views\Partials\Home\TwitterSearchUmbraco.cshtml" />
|
||||
<Content Include="Views\Projects.cshtml" />
|
||||
<Content Include="Views\Project.cshtml" />
|
||||
<Content Include="Views\DocumentationMainpage.cshtml" />
|
||||
<Content Include="Views\Search.cshtml" />
|
||||
<Content Include="Views\Partials\SearchResults.cshtml" />
|
||||
<Content Include="Views\ReleaseLanding.cshtml" />
|
||||
<Content Include="Views\ReleaseProgress.cshtml" />
|
||||
<Content Include="Views\Release.cshtml" />
|
||||
<Content Include="Views\Textpage.cshtml" />
|
||||
<Content Include="Views\RoadMap.cshtml" />
|
||||
<Content Include="Views\Profilepage.cshtml" />
|
||||
<Content Include="Views\ProjectPage.cshtml" />
|
||||
<Content Include="Views\ReleaseDownload.cshtml" />
|
||||
<Content Include="Views\PublicMemberProfile.cshtml" />
|
||||
<Content Include="Views\ReleaseCompare.cshtml" />
|
||||
<Content Include="Views\Repository.cshtml" />
|
||||
<Content Include="Views\RepositoryFrontpage.cshtml" />
|
||||
<Content Include="Views\RepositoryPage.cshtml" />
|
||||
<Content Include="Views\RepositoryMaster.cshtml" />
|
||||
<Content Include="Views\Partials\Members\QuickMenu.cshtml" />
|
||||
<Content Include="Views\Partials\Navigation\TopNavigation.cshtml" />
|
||||
<Content Include="Views\Partials\Global\Alertbar.cshtml" />
|
||||
<Content Include="Views\Partials\Global\Breadcrumb.cshtml" />
|
||||
<Content Include="Views\Partials\Forum\TopicActions.cshtml" />
|
||||
<Content Include="Views\Partials\Forum\TopicForm.cshtml" />
|
||||
<Content Include="Views\Partials\Forum\Thread.cshtml" />
|
||||
<Content Include="Views\Partials\Documentation\Breadcrumb.cshtml" />
|
||||
<Content Include="Views\Partials\Documentation\DisplayMarkdown.cshtml" />
|
||||
<Content Include="Views\Partials\Members\PublicProfile.cshtml" />
|
||||
<Content Include="Views\Partials\Projects\ProjectDetails.cshtml" />
|
||||
<Content Include="Views\Partials\Releases\ReleasesDropdown.cshtml" />
|
||||
<Content Include="Views\Partials\Releases\AllReleases.cshtml" />
|
||||
<Content Include="Views\Error.cshtml" />
|
||||
<Content Include="Views\PeopleKarma.cshtml" />
|
||||
<Content Include="Views\Partials\Grid\Editors\Textstring.cshtml" />
|
||||
<Content Include="Views\Partials\Grid\Editors\Rte.cshtml" />
|
||||
<Content Include="Views\Partials\Grid\Editors\Media.cshtml" />
|
||||
@@ -4409,7 +4341,12 @@
|
||||
<Content Include="Views\Partials\Grid\Editors\Embed.cshtml" />
|
||||
<Content Include="Views\Partials\Grid\Editors\Base.cshtml" />
|
||||
<Content Include="Views\Partials\Grid\Bootstrap3.cshtml" />
|
||||
<Content Include="Views\Partials\Grid\Bootstrap3-Fluid.cshtml" />
|
||||
<Content Include="Views\Partials\Grid\Bootstrap2.cshtml" />
|
||||
<Content Include="Views\Partials\Grid\Bootstrap2-Fluid.cshtml" />
|
||||
<Content Include="Views\Lesson.cshtml" />
|
||||
<Content Include="Views\Partials\Home\GitHubContributors.cshtml" />
|
||||
<Content Include="Views\Partials\Home\Meetups.cshtml" />
|
||||
<None Include="web.Debug.config">
|
||||
<DependentUpon>web.config</DependentUpon>
|
||||
</None>
|
||||
@@ -4429,7 +4366,6 @@
|
||||
<Folder Include="css\img\Cached\" />
|
||||
<Folder Include="umbraco\lib\datetimepicker\langs\" />
|
||||
<Folder Include="umbraco\Views\directives\" />
|
||||
<Folder Include="usercontrols\Deli\Admin\" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Analyzer Include="..\packages\Microsoft.CodeAnalysis.Analyzers.1.0.0\analyzers\dotnet\cs\Microsoft.CodeAnalysis.Analyzers.dll" />
|
||||
@@ -4440,6 +4376,7 @@
|
||||
<VSToolsPath Condition="exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v11.0\WebApplications\Microsoft.WebApplication.targets')">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v11.0</VSToolsPath>
|
||||
<VSToolsPath Condition="exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v12.0\WebApplications\Microsoft.WebApplication.targets')">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v12.0</VSToolsPath>
|
||||
<VSToolsPath Condition="exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v14.0\WebApplications\Microsoft.WebApplication.targets')">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v14.0</VSToolsPath>
|
||||
<VSToolsPath Condition="exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets')">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v15.0</VSToolsPath>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
|
||||
@@ -4486,10 +4423,12 @@
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\UmbracoCms.7.5.3\build\UmbracoCms.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\UmbracoCms.7.5.3\build\UmbracoCms.props'))" />
|
||||
<Error Condition="!Exists('..\packages\UmbracoCms.7.5.3\build\UmbracoCms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\UmbracoCms.7.5.3\build\UmbracoCms.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\UmbracoCms.7.5.11\build\UmbracoCms.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\UmbracoCms.7.5.11\build\UmbracoCms.props'))" />
|
||||
<Error Condition="!Exists('..\packages\UmbracoCms.7.5.11\build\UmbracoCms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\UmbracoCms.7.5.11\build\UmbracoCms.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\packages\UmbracoCms.7.5.3\build\UmbracoCms.targets" Condition="Exists('..\packages\UmbracoCms.7.5.3\build\UmbracoCms.targets')" />
|
||||
<Import Project="..\packages\AutoMapper.3.3.1\tools\AutoMapper.targets" Condition="Exists('..\packages\AutoMapper.3.3.1\tools\AutoMapper.targets')" />
|
||||
<Import Project="..\packages\UmbracoCms.7.5.11\build\UmbracoCms.targets" Condition="Exists('..\packages\UmbracoCms.7.5.11\build\UmbracoCms.targets')" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="AfterBuild">
|
||||
|
||||
@@ -0,0 +1,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,67 +0,0 @@
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
@{
|
||||
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 (!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 -->
|
||||
|
||||
<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())
|
||||
{
|
||||
@Html.Partial("home/forumactivity")
|
||||
@Html.Partial("home/documentation")
|
||||
}
|
||||
else
|
||||
{
|
||||
@Html.Partial("home/documentation")
|
||||
@Html.Partial("home/forumactivity")
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
@using OurUmbraco.Forum.Extensions
|
||||
@using OurUmbraco.Forum.Models
|
||||
@using OurUmbraco.Forum.Services
|
||||
@using OurUmbraco.Our
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
|
||||
@{
|
||||
var ts = new TopicService(ApplicationContext.DatabaseContext);
|
||||
}
|
||||
|
||||
<div class="col-md-12 flex">
|
||||
@Column(ts.GetLatestTopics(6, 1))
|
||||
</div>
|
||||
|
||||
@helper Column(IEnumerable<ReadOnlyTopic> topics)
|
||||
{
|
||||
foreach (var topic in topics.ToArray())
|
||||
{
|
||||
var cat = Umbraco.TypedContent(topic.ParentId);
|
||||
var mem = Members.GetById(topic.LatestReplyAuthor) ?? Members.GetById(topic.MemberId);
|
||||
|
||||
<a href="@topic.GetUrl()" class="forum-thread @Umbraco.If(topic.Answer > 0, " solved")">
|
||||
|
||||
<div class="avatar">
|
||||
@if(mem != null)
|
||||
{
|
||||
@Html.Raw(Utils.GetMemberAvatar(mem, 100))
|
||||
}
|
||||
</div>
|
||||
|
||||
<div class="meta">
|
||||
<div class="forum-thread-text">
|
||||
<h3>@topic.Title</h3>
|
||||
<p>
|
||||
@if (topic.Replies != 0 && !string.IsNullOrEmpty(topic.LastReplyAuthorName))
|
||||
{
|
||||
<text>last edited by @topic.LastReplyAuthorName</text>
|
||||
}
|
||||
else
|
||||
{
|
||||
<text>created by @topic.AuthorName</text>
|
||||
}
|
||||
|
||||
@topic.Updated.ConvertToRelativeTime()
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="category">
|
||||
<span class="cat">@cat.Name</span>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
}
|
||||
}
|
||||
@@ -1,163 +0,0 @@
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
@using System.Web.Mvc.Html
|
||||
@using OurUmbraco.Forum.Extensions
|
||||
@using OurUmbraco.Forum.Services
|
||||
@using OurUmbraco.NotificationsWeb.Library
|
||||
|
||||
@{
|
||||
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 = 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>
|
||||
}
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="/css/tooltipster.css" />
|
||||
<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>
|
||||
@@ -1,50 +0,0 @@
|
||||
@using OurUmbraco.Forum.Extensions
|
||||
@using OurUmbraco.Forum.Services
|
||||
@using OurUmbraco.NotificationsWeb.Library
|
||||
@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 = 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,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;
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
@inherits OurUmbraco.Our.Models.OurUmbracoTemplatePage
|
||||
|
||||
@if (MemberData != null)
|
||||
{
|
||||
<script type="text/javascript">
|
||||
var umb_member_name = '@MemberData.Member.Name';
|
||||
var umb_member_email = '@MemberData.Email';
|
||||
var umb_member_icon = '@MemberData.AvatarPath';
|
||||
</script>
|
||||
}
|
||||
|
||||
@functions
|
||||
{
|
||||
public class MemberJsValues
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string Email { get; set; }
|
||||
public string Icon { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
<script type="text/javascript">
|
||||
|
||||
function loadAllGitHubContributors() {
|
||||
$('#github-contributors').addClass('all');
|
||||
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
try {
|
||||
$("#twitter-search").load("@Url.Action("TwitterSearchResult", "TwitterSearch", new {numberOfResults = 6})");
|
||||
} catch (errTwitter) {
|
||||
console.log("Couldn't load Twitter feed", errTwitter.message);
|
||||
}
|
||||
|
||||
try {
|
||||
console.log("@Url.Action("GetEvents", "Meetups")");
|
||||
$("#meetups").load("@Url.Action("GetEvents", "Meetups")");
|
||||
console.log('yay');
|
||||
}
|
||||
catch (errTwitter) {
|
||||
console.log("Couldn't load meetups", errTwitter.message);
|
||||
}
|
||||
|
||||
try {
|
||||
$("#forum-activity").load("@Url.Action("LatestActivity", "LatestActivity", new {numberOfTopics = 6})");
|
||||
} catch (errForum) {
|
||||
console.log("Couldn't load latest forum activity", errForum.message);
|
||||
}
|
||||
|
||||
try {
|
||||
$("#github-contributors").load("@Url.Action("GitHubGetContributorsResult", "GitHubContributor")");
|
||||
}
|
||||
catch (errForum) {
|
||||
console.log("Couldn't load latest GitHub contributor activity", errForum.message);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
@using OurUmbraco.Documentation
|
||||
@using OurUmbraco.Documentation
|
||||
@using OurUmbraco.Documentation.Busineslogic
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
@inherits OurUmbraco.Our.Models.OurUmbracoTemplatePage
|
||||
|
||||
@{
|
||||
string baseurl = "/";
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
directoryName = directoryName.Substring(1);
|
||||
string[] strDirs = directoryName.Split('\\');
|
||||
|
||||
|
||||
var linkToGithub = string.Empty;
|
||||
if (absolutePath.StartsWith("/project") == false)
|
||||
{
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
@using OurUmbraco.Documentation.Busineslogic
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
@inherits OurUmbraco.Our.Models.OurUmbracoTemplatePage
|
||||
|
||||
<style>
|
||||
#markdown-docs .anchorjs-link {
|
||||
+1
-2
@@ -1,6 +1,5 @@
|
||||
@using OurUmbraco.Documentation.Busineslogic.GithubSourcePull
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
|
||||
@inherits OurUmbraco.Our.Models.OurUmbracoTemplatePage
|
||||
@{
|
||||
var zipper = new ZipDownloader();
|
||||
dynamic sitemap = zipper.DocumentationSiteMap();
|
||||
@@ -1,38 +1,25 @@
|
||||
@inherits Umbraco.Web.Mvc.UmbracoViewPage<OurUmbraco.Forum.Models.ReadOnlyComment>
|
||||
@inherits UmbracoViewPage<OurUmbraco.Forum.Models.ReadOnlyComment>
|
||||
@using OurUmbraco.Forum.Extensions
|
||||
@using OurUmbraco.Forum.Services
|
||||
@using OurUmbraco.Powers.Library
|
||||
|
||||
@{
|
||||
var currentMember = Members.GetCurrentMember();
|
||||
var answer = (int)ViewData["answer"];
|
||||
var roles = new List<string>();
|
||||
|
||||
var commentAuthor = Members.GetById(Model.MemberId);
|
||||
// author could have been deleted (spammer) so make sure to check if they exist
|
||||
if (commentAuthor != null)
|
||||
{
|
||||
roles = commentAuthor.GetRoles();
|
||||
}
|
||||
var topicService = new TopicService(ApplicationContext.DatabaseContext);
|
||||
var topic = topicService.CurrentTopic(this.Context, ApplicationContext.ApplicationCache.RequestCache);
|
||||
var forum = Umbraco.TypedContent(topic.ParentId);
|
||||
var forumReadOnly = forum.NewTopicsAllowed() == false;
|
||||
|
||||
var currentMember = Model.MemberData != null && Model.MemberData.Member != null ? Model.MemberData.Member : null;
|
||||
var commentAuthor = Model.TopicMembers.FirstOrDefault(x => x.Member.Id == Model.MemberId);
|
||||
var forumReadOnly = Model.ForumNewTopicsAllowed == false;
|
||||
}
|
||||
@* If author exists and comment is either not spam or the viewer is a the author or an admin admin *@
|
||||
@if (commentAuthor != null && (Model.IsSpam == false || (currentMember != null && currentMember.Id == commentAuthor.Id) || Members.IsAdmin()))
|
||||
@if (commentAuthor != null && (Model.IsSpam == false || (currentMember != null && currentMember.Id == commentAuthor.Member.Id) || Model.MemberData != null && Model.MemberData.IsAdmin))
|
||||
{
|
||||
<li class="comment @(Model.ParentCommentId > 0 ? "level-2" : null) @(Model.Id == answer ? "solution" : null)" data-parent="@Model.ParentCommentId" id="comment-@Model.Id">
|
||||
<li class="comment @(Model.ParentCommentId > 0 ? "level-2" : null) @(Model.IsAnswer ? "solution" : null)" data-parent="@Model.ParentCommentId" id="comment-@Model.Id">
|
||||
<div class="meta">
|
||||
<div class="profile">
|
||||
<a href="/member/@commentAuthor.Id">@commentAuthor.Name</a> <span>@if (commentAuthor.ForumPosts() == 0 || commentAuthor.ForumPosts() > 1){@commentAuthor.ForumPosts() <text>posts</text>}else{@commentAuthor.ForumPosts() <text>post</text>}</span> <span>@commentAuthor.Karma() karma points</span>
|
||||
<a href="/member/@commentAuthor.Member.Id">@commentAuthor.Member.Name</a> <span>@if (commentAuthor.Member.ForumPosts() == 0 || commentAuthor.Member.ForumPosts() > 1){@commentAuthor.Member.ForumPosts() <text>posts</text>}else{@commentAuthor.Member.ForumPosts() <text>post</text>}</span> <span>@commentAuthor.Member.Karma() karma points</span>
|
||||
|
||||
|
||||
@if (roles.Any())
|
||||
@if (commentAuthor.Roles.Any())
|
||||
{
|
||||
<span class="roles">
|
||||
@foreach (var role in roles)
|
||||
@foreach (var role in (commentAuthor.Roles))
|
||||
{
|
||||
<span class="@role">@role</span>
|
||||
}
|
||||
@@ -46,14 +33,14 @@
|
||||
</div>
|
||||
|
||||
<div class="comment-inner">
|
||||
<a href="/member/@commentAuthor.Id" class="photo">@Html.Raw(OurUmbraco.Our.Utils.GetMemberAvatar(commentAuthor, 75))</a>
|
||||
<a href="/member/@commentAuthor.Member.Id" class="photo">@Html.Raw(OurUmbraco.Our.Utils.GetMemberAvatar(commentAuthor.Member, 75))</a>
|
||||
|
||||
<div class="highfive highfive-comment">
|
||||
@{
|
||||
var html = "High fives from:<br />";
|
||||
foreach (var vote in Model.Votes)
|
||||
{
|
||||
if (Model.Id == answer && vote.MemberId == Model.TopicAuthorId)
|
||||
if (Model.IsAnswer && vote.MemberId == Model.TopicAuthorId)
|
||||
{
|
||||
html = string.Format("{0}<a href=\"/member/{1}\">{2}</a> (marked as the answer)<br />", html, vote.MemberId, vote.MemberName);
|
||||
}
|
||||
@@ -68,7 +55,7 @@
|
||||
<div class="highfive-count votes-tooltip" title="@(Model.Votes.Any() ? html : null)">
|
||||
@Model.Score
|
||||
</div>
|
||||
@if (Members.IsLoggedIn() && !Utils.HasVoted(currentMember.Id, Model.Id, "powersComment"))
|
||||
@if (Model.MemberData != null && !Utils.HasVoted(currentMember.Id, Model.Id, "powersComment"))
|
||||
{
|
||||
if (currentMember.Id != Model.MemberId)
|
||||
{
|
||||
@@ -82,7 +69,7 @@
|
||||
@if (Model.IsSpam)
|
||||
{
|
||||
<div class="alert">
|
||||
@if (Members.IsAdmin())
|
||||
@if (Model.MemberData.IsAdmin)
|
||||
{
|
||||
<span>You can see this comment because you're a moderator of the forum.</span><br/><br/>
|
||||
}
|
||||
@@ -97,13 +84,13 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="actions">
|
||||
@if (Members.IsLoggedIn())
|
||||
@if (Model.MemberData != null)
|
||||
{
|
||||
<a href="#" class="flag-comment" data-id="@Model.Id" data-member="@currentMember.Id">
|
||||
<i class="icon-Flag"></i><span>Flag as spam</span>
|
||||
</a>
|
||||
|
||||
if (answer == 0 && (Members.IsAdmin() || currentMember.Id == Model.TopicAuthorId))
|
||||
if (Model.IsAnswer == false && (Model.MemberData.IsAdmin || currentMember.Id == Model.TopicAuthorId))
|
||||
{
|
||||
<a href="#" class="solved" data-id="@Model.Id">
|
||||
<i class="icon-Check"></i><span>Mark as solution</span>
|
||||
@@ -112,19 +99,19 @@
|
||||
|
||||
if (Model.ParentCommentId <= 0 && forumReadOnly == false)
|
||||
{
|
||||
<a href="#" data-author="@commentAuthor.Name" data-topic="@Model.TopicId" data-parent="@Model.Id" data-controller="comment" class="forum-reply reply">
|
||||
<a href="#" data-author="@commentAuthor.Member.Name" data-topic="@Model.TopicId" data-parent="@Model.Id" data-controller="comment" class="forum-reply reply">
|
||||
<i class="icon-Reply-arrow"></i><span>Reply</span>
|
||||
</a>
|
||||
}
|
||||
|
||||
if (Model.ParentCommentId > 0 && forumReadOnly == false)
|
||||
{
|
||||
<a href="#" data-author="@commentAuthor.Name" data-topic="@Model.TopicId" data-parent="@Model.ParentCommentId" data-controller="comment" class="forum-reply reply">
|
||||
<a href="#" data-author="@commentAuthor.Member.Name" data-topic="@Model.TopicId" data-parent="@Model.ParentCommentId" data-controller="comment" class="forum-reply reply">
|
||||
<i class="icon-Reply-arrow"></i><span>Reply</span>
|
||||
</a>
|
||||
}
|
||||
|
||||
if (Members.IsAdmin() || currentMember.Id == Model.MemberId)
|
||||
if (Model.MemberData.IsAdmin || currentMember.Id == Model.MemberId)
|
||||
{
|
||||
<a href="#" class="edit-post" data-id="@Model.Id" data-topic="@Model.TopicId" data-controller="comment">
|
||||
<i class="icon-Edit"></i><span>Edit</span>
|
||||
@@ -134,7 +121,7 @@
|
||||
<i class="icon-Delete-key"></i><span>Delete</span>
|
||||
</a>
|
||||
|
||||
if (Members.IsAdmin())
|
||||
if (Model.MemberData.IsAdmin)
|
||||
{
|
||||
if (Model.IsSpam)
|
||||
{
|
||||
|
||||
+192
-195
@@ -1,195 +1,192 @@
|
||||
@using OurUmbraco.Forum.Extensions
|
||||
@using OurUmbraco.Forum.Library
|
||||
@using OurUmbraco.Forum.Models
|
||||
@using OurUmbraco.Forum.Services
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
|
||||
@{
|
||||
const int pagesToShowLeft = 4;
|
||||
int page;
|
||||
if (!int.TryParse(Request["page"], out page))
|
||||
{
|
||||
page = 1;
|
||||
}
|
||||
bool unsolved;
|
||||
bool.TryParse(Request["unsolved"], out unsolved);
|
||||
bool noreplies;
|
||||
bool.TryParse(Request["noreplies"], out noreplies);
|
||||
|
||||
var cat = -1;
|
||||
if (CurrentPage.Level > 2)
|
||||
{
|
||||
cat = CurrentPage.Id;
|
||||
}
|
||||
var topicService = new TopicService(ApplicationContext.DatabaseContext);
|
||||
|
||||
IEnumerable<ReadOnlyTopic> topics;
|
||||
|
||||
var cache = ApplicationContext.Current.ApplicationCache.RuntimeCache;
|
||||
// only cache the first page of each category
|
||||
var pageSize = 50;
|
||||
if (page > 1)
|
||||
{
|
||||
topics = topicService.GetLatestTopicsFiltered(pageSize, page, true, cat, unsolved, noreplies);
|
||||
}
|
||||
else
|
||||
{
|
||||
var key = "OurForumForum[" + cat + unsolved + noreplies + "]";
|
||||
topics = (IEnumerable<ReadOnlyTopic>)cache.GetCacheItem(key,
|
||||
() => topicService.GetLatestTopicsFiltered(pageSize, page, true, cat, unsolved, noreplies).ToArray(),
|
||||
TimeSpan.FromSeconds(4));
|
||||
}
|
||||
|
||||
var totalCountKey = "OurForumForumThreadCount[" + cat + "]";
|
||||
var totalTopics = (int)cache.GetCacheItem(totalCountKey,
|
||||
() => topicService.GetAllTopicsCount(cat),
|
||||
TimeSpan.FromMinutes(1));
|
||||
|
||||
var pages = (totalTopics / pageSize) + 1;
|
||||
|
||||
var categories = Model.Content.AncestorOrSelf(2);
|
||||
}
|
||||
@if (Model.Content.NewTopicsAllowed() == false || Model.Content.AncestorOrSelfIsArchived())
|
||||
{
|
||||
var notification = Model.Content.GetPropertyValue<string>("mainNotification");
|
||||
if (string.IsNullOrWhiteSpace(notification))
|
||||
{
|
||||
notification = "This forum is in read only mode, you can no longer create new topics";
|
||||
}
|
||||
|
||||
<div class="alertbar__yellow">
|
||||
@Html.Raw(notification)
|
||||
</div>
|
||||
}
|
||||
<!-- FORUM HEADER START -->
|
||||
<div class="utilities">
|
||||
|
||||
@Umbraco.RenderMacro("Breadcrumb", new { linktocurrent = "1" })
|
||||
|
||||
@Umbraco.RenderMacro("ForumForumActions")
|
||||
|
||||
</div>
|
||||
|
||||
<div class="forum-settings">
|
||||
<div class="search-big">
|
||||
<input type="search" class="forum-search-input" required placeholder="Search for threads">
|
||||
<label for="search">Search for threads</label>
|
||||
</div>
|
||||
|
||||
<div class="or">or</div>
|
||||
<div class="sorting">
|
||||
<select id="selectCategory" data-placeholder="Choose…">
|
||||
<option class="category" selected disabled>Filter by category</option>
|
||||
@if (categories.ContentType.Alias == "Projects")
|
||||
{
|
||||
foreach (var tag in CurrentPage.Parent.Children)
|
||||
{
|
||||
<option class="@tag.Name.ToLower().Replace(" ", "")" value="@tag.Id" @(CurrentPage.Id == tag.Id ? "selected" : null)>@tag.Name</option>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<option class="all" value="@categories.Id">All categories</option>
|
||||
foreach (var tag in categories.Children)
|
||||
{
|
||||
if (tag.ContentType.Alias == "Forum" && tag.IsArchived() == false)
|
||||
{
|
||||
<option class="@tag.Name.ToLower().Replace(" ", "")" value="@tag.Id" @(CurrentPage.Id == tag.Id ? "selected" : null)>@tag.Name</option>
|
||||
}
|
||||
}
|
||||
}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div id="search-options" class="search-options">
|
||||
<label>Filter by</label>
|
||||
<div class="options">
|
||||
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" name="unsolved" />
|
||||
<span></span>
|
||||
<small>show only unsolved topics</small>
|
||||
</label>
|
||||
|
||||
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" name="noreplies" />
|
||||
<span></span>
|
||||
<small>show only topics with no replies</small>
|
||||
</label>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- FORUM HEADER END -->
|
||||
<!-- FORUM TOPICS -->
|
||||
<div id="overlay" class="overlay"></div>
|
||||
<!-- FORUM LIST START -->
|
||||
<section class="forum">
|
||||
<!-- FORUM LIST HEADER START -->
|
||||
<div class="forum-head">
|
||||
|
||||
<div class="topic">Topic</div>
|
||||
<div class="category">Category</div>
|
||||
<div class="posts">Replies</div>
|
||||
|
||||
</div>
|
||||
<!-- FORUM LIST HEADER END -->
|
||||
<!-- FORUM LIST OF THREADS START -->
|
||||
<div class="forum-content">
|
||||
|
||||
<!-- FORUM THREAD START -->
|
||||
@foreach (var topic in topics)
|
||||
{
|
||||
var forum = Umbraco.TypedContent(topic.ParentId);
|
||||
if (forum != null)
|
||||
{
|
||||
<div class="topic-row @Umbraco.If(topic.Answer > 0, " solved")">
|
||||
|
||||
<div class="topic">
|
||||
<a href="@topic.GetUrl()">
|
||||
<h3>@topic.Title</h3>
|
||||
@if (topic.Replies != 0 && !string.IsNullOrEmpty(topic.LastReplyAuthorName))
|
||||
{
|
||||
<span title="@string.Format("{0:ddd, dd MMM yyyy} {0:HH:mm:ss} UTC+{1}", topic.Updated, TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now))">last edited by <strong>@topic.LastReplyAuthorName</strong> @topic.Updated.ConvertToRelativeTime()</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span title="@string.Format("{0:ddd, dd MMM yyyy} {0:HH:mm:ss} UTC+{1}", topic.Updated, TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now))">topic created by <strong>@topic.AuthorName</strong> @topic.Updated.ConvertToRelativeTime()</span>
|
||||
}
|
||||
</a>
|
||||
</div>
|
||||
<div class="category frontend">
|
||||
<a href="@forum.Url">@(Utils.GetForumName(forum))</a>
|
||||
</div>
|
||||
<div class="posts"><small>@topic.Replies</small> <span>replies</span></div>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
|
||||
<nav class="pagination" role="navigation">
|
||||
@if (page > 1)
|
||||
{
|
||||
<a class="prev" href="?page=@(page - 1)">Prev</a>
|
||||
<span>…</span>
|
||||
}
|
||||
|
||||
@for (var i = (page - 1 > 0 ? page - 1 : 1); i < (page + (pagesToShowLeft - (page - 1 > 0 ? 1 : 0))) && i <= pages; i++)
|
||||
{
|
||||
<a class="@Umbraco.If(i == page, "active")" href="?page=@i">@i</a>
|
||||
}
|
||||
|
||||
@if (page < (pages - 3))
|
||||
{
|
||||
<span>…</span>
|
||||
<a class="next" href="?page=@(page + 1)">Next</a>
|
||||
}
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="forum-conten"></div>
|
||||
<!-- FORUM LIST OF THREADS START -->
|
||||
</section>
|
||||
@using OurUmbraco.Forum.Extensions
|
||||
@using OurUmbraco.Forum.Library
|
||||
@using OurUmbraco.Forum.Models
|
||||
@using OurUmbraco.Forum.Services
|
||||
@inherits OurUmbraco.Our.Models.OurUmbracoTemplatePage
|
||||
|
||||
@{
|
||||
const int pagesToShowLeft = 4;
|
||||
int page;
|
||||
if (!int.TryParse(Request["page"], out page))
|
||||
{
|
||||
page = 1;
|
||||
}
|
||||
bool unsolved;
|
||||
bool.TryParse(Request["unsolved"], out unsolved);
|
||||
bool noreplies;
|
||||
bool.TryParse(Request["noreplies"], out noreplies);
|
||||
|
||||
var cat = -1;
|
||||
if (CurrentPage.Level > 2)
|
||||
{
|
||||
cat = CurrentPage.Id;
|
||||
}
|
||||
var topicService = new TopicService(ApplicationContext.DatabaseContext);
|
||||
|
||||
IEnumerable<ReadOnlyTopic> topics;
|
||||
|
||||
var cache = ApplicationContext.Current.ApplicationCache.RuntimeCache;
|
||||
// only cache the first page of each category
|
||||
var pageSize = 50;
|
||||
if (page > 1)
|
||||
{
|
||||
topics = topicService.GetLatestTopicsFiltered(pageSize, page, true, cat, unsolved, noreplies);
|
||||
}
|
||||
else
|
||||
{
|
||||
var key = "OurForumForum[" + cat + unsolved + noreplies + "]";
|
||||
topics = (IEnumerable<ReadOnlyTopic>)cache.GetCacheItem(key,
|
||||
() => topicService.GetLatestTopicsFiltered(pageSize, page, true, cat, unsolved, noreplies).ToArray(),
|
||||
TimeSpan.FromSeconds(4));
|
||||
}
|
||||
|
||||
var totalCountKey = "OurForumForumThreadCount[" + cat + "]";
|
||||
var totalTopics = (int)cache.GetCacheItem(totalCountKey,
|
||||
() => topicService.GetAllTopicsCount(cat),
|
||||
TimeSpan.FromMinutes(1));
|
||||
|
||||
var pages = (totalTopics / pageSize) + 1;
|
||||
|
||||
var categories = Model.Content.AncestorOrSelf(2);
|
||||
}
|
||||
@if (Model.Content.NewTopicsAllowed() == false || Model.Content.AncestorOrSelfIsArchived())
|
||||
{
|
||||
var notification = Model.Content.GetPropertyValue<string>("mainNotification");
|
||||
if (string.IsNullOrWhiteSpace(notification))
|
||||
{
|
||||
notification = "This forum is in read only mode, you can no longer create new topics";
|
||||
}
|
||||
|
||||
<div class="alertbar__yellow">
|
||||
@Html.Raw(notification)
|
||||
</div>
|
||||
}
|
||||
<!-- FORUM HEADER START -->
|
||||
<div class="utilities">
|
||||
@Html.Action("Render", "Breadcrumb", new { linkToCurrent = true })
|
||||
@Html.Partial("~/Views/Partials/Forum/ForumActions.cshtml")
|
||||
</div>
|
||||
|
||||
<div class="forum-settings">
|
||||
<div class="search-big">
|
||||
<input type="search" class="forum-search-input" required placeholder="Search for threads">
|
||||
<label for="search">Search for threads</label>
|
||||
</div>
|
||||
|
||||
<div class="or">or</div>
|
||||
<div class="sorting">
|
||||
<select id="selectCategory" data-placeholder="Choose…">
|
||||
<option class="category" selected disabled>Filter by category</option>
|
||||
@if (categories.ContentType.Alias == "Projects")
|
||||
{
|
||||
foreach (var tag in CurrentPage.Parent.Children)
|
||||
{
|
||||
<option class="@tag.Name.ToLower().Replace(" ", "")" value="@tag.Id" @(CurrentPage.Id == tag.Id ? "selected" : null)>@tag.Name</option>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<option class="all" value="@categories.Id">All categories</option>
|
||||
foreach (var tag in categories.Children)
|
||||
{
|
||||
if (tag.ContentType.Alias == "Forum" && tag.IsArchived() == false)
|
||||
{
|
||||
<option class="@tag.Name.ToLower().Replace(" ", "")" value="@tag.Id" @(CurrentPage.Id == tag.Id ? "selected" : null)>@tag.Name</option>
|
||||
}
|
||||
}
|
||||
}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div id="search-options" class="search-options">
|
||||
<label>Filter by</label>
|
||||
<div class="options">
|
||||
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" name="unsolved" />
|
||||
<span></span>
|
||||
<small>show only unsolved topics</small>
|
||||
</label>
|
||||
|
||||
|
||||
<label class="checkbox">
|
||||
<input type="checkbox" name="noreplies" />
|
||||
<span></span>
|
||||
<small>show only topics with no replies</small>
|
||||
</label>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- FORUM HEADER END -->
|
||||
<!-- FORUM TOPICS -->
|
||||
<div id="overlay" class="overlay"></div>
|
||||
<!-- FORUM LIST START -->
|
||||
<section class="forum">
|
||||
<!-- FORUM LIST HEADER START -->
|
||||
<div class="forum-head">
|
||||
|
||||
<div class="topic">Topic</div>
|
||||
<div class="category">Category</div>
|
||||
<div class="posts">Replies</div>
|
||||
|
||||
</div>
|
||||
<!-- FORUM LIST HEADER END -->
|
||||
<!-- FORUM LIST OF THREADS START -->
|
||||
<div class="forum-content">
|
||||
|
||||
<!-- FORUM THREAD START -->
|
||||
@foreach (var topic in topics)
|
||||
{
|
||||
var forum = Umbraco.TypedContent(topic.ParentId);
|
||||
if (forum != null)
|
||||
{
|
||||
<div class="topic-row @Umbraco.If(topic.Answer > 0, " solved")">
|
||||
|
||||
<div class="topic">
|
||||
<a href="@topic.GetUrl()">
|
||||
<h3>@topic.Title</h3>
|
||||
@if (topic.Replies != 0 && !string.IsNullOrEmpty(topic.LastReplyAuthorName))
|
||||
{
|
||||
<span title="@string.Format("{0:ddd, dd MMM yyyy} {0:HH:mm:ss} UTC+{1}", topic.Updated, TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now))">last edited by <strong>@topic.LastReplyAuthorName</strong> @topic.Updated.ConvertToRelativeTime()</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span title="@string.Format("{0:ddd, dd MMM yyyy} {0:HH:mm:ss} UTC+{1}", topic.Updated, TimeZone.CurrentTimeZone.GetUtcOffset(DateTime.Now))">topic created by <strong>@topic.AuthorName</strong> @topic.Updated.ConvertToRelativeTime()</span>
|
||||
}
|
||||
</a>
|
||||
</div>
|
||||
<div class="category frontend">
|
||||
<a href="@forum.Url">@(Utils.GetForumName(forum))</a>
|
||||
</div>
|
||||
<div class="posts"><small>@topic.Replies</small> <span>replies</span></div>
|
||||
</div>
|
||||
}
|
||||
}
|
||||
|
||||
<nav class="pagination" role="navigation">
|
||||
@if (page > 1)
|
||||
{
|
||||
<a class="prev" href="?page=@(page - 1)">Prev</a>
|
||||
<span>…</span>
|
||||
}
|
||||
|
||||
@for (var i = (page - 1 > 0 ? page - 1 : 1); i < (page + (pagesToShowLeft - (page - 1 > 0 ? 1 : 0))) && i <= pages; i++)
|
||||
{
|
||||
<a class="@Umbraco.If(i == page, "active")" href="?page=@i">@i</a>
|
||||
}
|
||||
|
||||
@if (page < (pages - 3))
|
||||
{
|
||||
<span>…</span>
|
||||
<a class="next" href="?page=@(page + 1)">Next</a>
|
||||
}
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="forum-conten"></div>
|
||||
<!-- FORUM LIST OF THREADS START -->
|
||||
</section>
|
||||
+4
-10
@@ -1,9 +1,9 @@
|
||||
@using OurUmbraco.Forum.Extensions
|
||||
@using OurUmbraco.Forum.Extensions
|
||||
@using OurUmbraco.NotificationsWeb.Library
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
@inherits OurUmbraco.Our.Models.OurUmbracoTemplatePage
|
||||
|
||||
<div class="utility-actions">
|
||||
@if (Members.IsLoggedIn())
|
||||
@if (MemberData != null)
|
||||
{
|
||||
if (Model.Content.AncestorOrSelfIsArchived() == false && Model.Content.NewTopicsAllowed())
|
||||
{
|
||||
@@ -12,13 +12,7 @@
|
||||
</a>
|
||||
}
|
||||
|
||||
var mem = Members.GetCurrentMember();
|
||||
var subscribed = false;
|
||||
if (mem != null)
|
||||
{
|
||||
subscribed = Utils.IsSubscribedToForum(CurrentPage.Id, mem.Id);
|
||||
}
|
||||
|
||||
var subscribed = Utils.IsSubscribedToForum(CurrentPage.Id, MemberData.Member.Id);
|
||||
if (subscribed)
|
||||
{
|
||||
<a href="#" class="follow button following" data-id="@CurrentPage.Id" data-controller="">
|
||||
+2
-3
@@ -1,9 +1,8 @@
|
||||
@using OurUmbraco.Forum.Services
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
|
||||
@inherits OurUmbraco.Our.Models.OurUmbracoTemplatePage
|
||||
|
||||
@{
|
||||
var topicService = new TopicService(ApplicationContext.DatabaseContext);
|
||||
var topicService = new TopicService(ApplicationContext.Current.DatabaseContext);
|
||||
var topics = topicService.GetLatestTopics();
|
||||
}
|
||||
|
||||
@@ -1,28 +1,24 @@
|
||||
@inherits Umbraco.Web.Mvc.UmbracoViewPage<OurUmbraco.Forum.Models.Topic>
|
||||
@inherits UmbracoViewPage<OurUmbraco.Forum.Models.Topic>
|
||||
@using OurUmbraco.Forum.Extensions
|
||||
@using OurUmbraco.Powers.Library
|
||||
|
||||
@{
|
||||
var currentMember = Members.GetCurrentMember();
|
||||
var topicAuthor = Members.GetById(Model.MemberId);
|
||||
var currentMember = Model.MemberData != null && Model.MemberData.Member != null ? Model.MemberData.Member : null;
|
||||
var topicAuthor = Model.TopicMembers.FirstOrDefault(x => x.Member.Id == Model.MemberId);
|
||||
|
||||
@* If author exists and question is either not spam or the viewer is a the author or an admin admin *@
|
||||
if (topicAuthor != null && (Model.IsSpam == false || (currentMember != null && currentMember.Id == topicAuthor.Id) || Members.IsAdmin()))
|
||||
if (topicAuthor != null && (Model.IsSpam == false || (currentMember != null && currentMember.Id == topicAuthor.Member.Id) || Model.MemberData != null && Model.MemberData.IsAdmin))
|
||||
{
|
||||
var forum = Umbraco.TypedContent(Model.ParentId);
|
||||
var roles = topicAuthor.GetRoles();
|
||||
|
||||
|
||||
<li class="comment question" id="comment-@Model.Id" data-deeplink="@Model.Title" data-version="@Model.Version" data-cat="@Model.ParentId">
|
||||
<!-- Start of question -->
|
||||
<div class="meta">
|
||||
<div class="profile">
|
||||
<a href="/member/@topicAuthor.Id">@topicAuthor.Name</a> <span>@if (topicAuthor.ForumPosts() == 0 || topicAuthor.ForumPosts() > 1){@topicAuthor.ForumPosts() <text>posts</text>}else{@topicAuthor.ForumPosts() <text>post</text>}</span> <span>@topicAuthor.Karma() karma points</span>
|
||||
<a href="/member/@topicAuthor.Member.Id">@topicAuthor.Member.Name</a> <span>@if (topicAuthor.Member.ForumPosts() == 0 || topicAuthor.Member.ForumPosts() > 1){@topicAuthor.Member.ForumPosts() <text>posts</text>}else{@topicAuthor.Member.ForumPosts() <text>post</text>}</span> <span>@topicAuthor.Member.Karma() karma points</span>
|
||||
|
||||
@if (roles.Any())
|
||||
@if (topicAuthor.Roles.Any())
|
||||
{
|
||||
<span class="roles">
|
||||
@foreach (var role in roles)
|
||||
@foreach (var role in topicAuthor.Roles)
|
||||
{
|
||||
<span class="@role">@role</span>
|
||||
}
|
||||
@@ -37,7 +33,7 @@
|
||||
</div>
|
||||
|
||||
<div class="comment-inner">
|
||||
<a href="/member/@topicAuthor.Id" class="photo">@Html.Raw(OurUmbraco.Our.Utils.GetMemberAvatar(topicAuthor, 75))</a>
|
||||
<a href="/member/@topicAuthor.Member.Id" class="photo">@Html.Raw(OurUmbraco.Our.Utils.GetMemberAvatar(topicAuthor.Member, 75))</a>
|
||||
<div class="highfive highfive-question">
|
||||
@{
|
||||
var html = "High fives from:<br />";
|
||||
@@ -50,7 +46,7 @@
|
||||
<div class="highfive-count votes-tooltip" title="@(Model.Votes.Any() ? html : null)">
|
||||
@Model.Score
|
||||
</div>
|
||||
@if (Members.IsLoggedIn() && !Utils.HasVoted(currentMember.Id, Model.Id, "powersTopic"))
|
||||
@if (Model.MemberData != null && !Utils.HasVoted(currentMember.Id, Model.Id, "powersTopic"))
|
||||
{
|
||||
if (currentMember.Id != Model.MemberId)
|
||||
{
|
||||
@@ -65,7 +61,7 @@
|
||||
</div>
|
||||
<div class="categories">
|
||||
<div class="category core">
|
||||
<a href="@forum.Url">@forum.Name</a>
|
||||
<a href="@Model.ForumUrl">@Model.ForumName</a>
|
||||
</div>
|
||||
|
||||
@if (Model.Version > 0)
|
||||
@@ -82,7 +78,7 @@
|
||||
@if (Model.IsSpam)
|
||||
{
|
||||
<div class="alert">
|
||||
@if (Members.IsAdmin())
|
||||
@if (Model.MemberData != null && Model.MemberData.IsAdmin)
|
||||
{
|
||||
<span>You can see this topic because you're a moderator of the forum.</span><br/><br/>
|
||||
}
|
||||
@@ -98,20 +94,20 @@
|
||||
</div>
|
||||
|
||||
<div class="actions">
|
||||
@if (Members.IsLoggedIn())
|
||||
@if (Model.MemberData != null)
|
||||
{
|
||||
<a href="#" class="flag-thread" data-id="@Model.Id" data-member="@currentMember.Id">
|
||||
<i class="icon-Flag"></i><span>Flag as spam</span>
|
||||
</a>
|
||||
|
||||
if (forum.NewTopicsAllowed())
|
||||
if (Model.ForumNewTopicsAllowed)
|
||||
{
|
||||
<a href="#" data-author="@topicAuthor.Name" data-topic="@Model.Id" data-controller="comment" class="reply forum-reply">
|
||||
<a href="#" data-author="@topicAuthor.Member.Name" data-topic="@Model.Id" data-controller="comment" class="reply forum-reply">
|
||||
<i class="icon-Reply-arrow"></i><span>Reply</span>
|
||||
</a>
|
||||
}
|
||||
|
||||
if (Members.IsAdmin() || Members.GetCurrentMember().Id == topicAuthor.Id)
|
||||
if (Model.MemberData.IsAdmin || Model.MemberData.Member.Id == topicAuthor.Member.Id)
|
||||
{
|
||||
<a href="#" class="edit-post" data-id="@Model.Id" data-controller="topic">
|
||||
<i class="icon-Edit"></i><span>Edit</span>
|
||||
@@ -122,7 +118,7 @@
|
||||
</a>
|
||||
}
|
||||
|
||||
if (Members.IsAdmin())
|
||||
if (Model.MemberData.IsAdmin)
|
||||
{
|
||||
if (Model.IsSpam)
|
||||
{
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
@model ReadOnlyTopic
|
||||
@using System.Web.Mvc.Html
|
||||
@using OurUmbraco.Forum.Models
|
||||
@using Umbraco.Core.Logging
|
||||
|
||||
<!-- 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 (Model.MemberData != null)
|
||||
{
|
||||
<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 (Model.ForumNewTopicsAllowed == false)
|
||||
{
|
||||
<div class="alertbar__yellow" style="margin-bottom: 10px;">
|
||||
@Html.Raw(Model.MainNotification)
|
||||
</div>
|
||||
}
|
||||
|
||||
<ul class="comments">
|
||||
@{
|
||||
try
|
||||
{
|
||||
@Html.Partial("forum/question", Model)
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.Error<string>(string.Format("~/Views/MacroPartials/Forum/Thread.cshtml - error rendering topic with id {0}", Model.Id), ex);
|
||||
}
|
||||
}
|
||||
|
||||
@foreach (var comment in Model.Comments.Where(x => x.ParentCommentId == 0))
|
||||
{
|
||||
Html.RenderPartial("forum/comment", comment);
|
||||
|
||||
if (comment.HasChildren)
|
||||
{
|
||||
foreach (var child in Model.Comments.Where(c => c.ParentCommentId == comment.Id))
|
||||
{
|
||||
Html.RenderPartial("forum/comment", child);
|
||||
}
|
||||
}
|
||||
}
|
||||
</ul>
|
||||
|
||||
@if (Model.MemberData != null)
|
||||
{
|
||||
if (Model.ForumNewTopicsAllowed)
|
||||
{
|
||||
<div class="replybutton">
|
||||
<a href="#" class="button green large reply forum-reply" data-author="@Model.AuthorName" data-topic="@Model.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 (Model.MemberData.IsAdmin)
|
||||
{
|
||||
<a href="#" class="delete-thread button" data-id="@Model.Id">
|
||||
<i class="icon-Delete-key"></i><span>Delete thread</span>
|
||||
</a>
|
||||
}
|
||||
|
||||
<a href="#" class="follow button @(Model.Subscribed ? "following" : "transparent")" data-id="@Model.Id" data-controller="topic">
|
||||
<i class="icon-Bookmark"></i><span>@(Model.Subscribed ? "Following" : "Follow")</span>
|
||||
</a>
|
||||
|
||||
@if (Model.Answer > 0)
|
||||
{
|
||||
<a href="#comment-@Model.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(Model.MainNotification)
|
||||
</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>
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
@using OurUmbraco.Forum.Models
|
||||
@model ReadOnlyTopic
|
||||
|
||||
<div class="utility-actions">
|
||||
@if (Model.MemberData != null)
|
||||
{
|
||||
if (Model.MemberData.IsAdmin)
|
||||
{
|
||||
<a href="#" class="delete-thread button" data-id="@Model.Id">
|
||||
<i class="icon-Delete-key"></i><span>Delete thread</span>
|
||||
</a>
|
||||
}
|
||||
|
||||
<a href="#" class="follow button @(Model.Subscribed ? "following" : "transparent")" data-id="@Model.Id" data-controller="topic">
|
||||
<i class="icon-Bookmark"></i><span>@(Model.Subscribed ? "Following" : "Follow")</span>
|
||||
</a>
|
||||
}
|
||||
|
||||
@if (Model.Answer > 0)
|
||||
{
|
||||
<a href="#comment-@Model.Answer.ToString()" class="go-to-solution button transparent">
|
||||
<i class="icon-Check"></i><span>Go to solution</span>
|
||||
</a>
|
||||
}
|
||||
</div>
|
||||
+2
-8
@@ -1,5 +1,5 @@
|
||||
@using OurUmbraco.Forum.Extensions
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
@inherits OurUmbraco.Our.Models.OurUmbracoTemplatePage
|
||||
|
||||
<div class="markdown-spacer"></div>
|
||||
<div id="markdown-editor" class="markdown-editor">
|
||||
@@ -101,11 +101,9 @@
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!-- Mustache template-->
|
||||
<script id="comment-template" type="x-tmpl-mustache">
|
||||
<li class="comment {{cssClass}}" data-parent="{{id}}" id="comment-{{id}}">
|
||||
<li class="comment {{cssClass}}" data-parent="{{id}}" id="comment-{{id}}">
|
||||
<div class="meta">
|
||||
<div class="profile">
|
||||
<a href="/member/{{authorId}}">{{authorName}}</a> has in total {{authorKarma}} karma points
|
||||
@@ -123,14 +121,11 @@
|
||||
</div>
|
||||
|
||||
<div class="comment-inner">
|
||||
|
||||
<a href="/member/{{authorId}}" class="photo">
|
||||
{{{avatar}}}
|
||||
</a>
|
||||
|
||||
|
||||
<div class="highfive">
|
||||
|
||||
<div class="highfive-count">
|
||||
0
|
||||
</div>
|
||||
@@ -146,7 +141,6 @@
|
||||
</div>
|
||||
{{/isSpam}}
|
||||
{{{body}}}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+5
-12
@@ -1,28 +1,21 @@
|
||||
@using System.Drawing
|
||||
@using OurUmbraco.Our
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
@inherits OurUmbraco.Our.Models.OurUmbracoTemplatePage
|
||||
@{
|
||||
var home = Umbraco.TypedContentAtRoot().First();
|
||||
var notificationText = home.GetPropertyValue<string>("mainNotification");
|
||||
var showNotification = string.IsNullOrWhiteSpace(notificationText) == false;
|
||||
Image avatarImage = null;
|
||||
if (Members.IsLoggedIn())
|
||||
{
|
||||
avatarImage = Utils.GetMemberAvatarImage(Members.GetCurrentMember());
|
||||
}
|
||||
}
|
||||
|
||||
@Html.Action("RenderTerms", "TermsAndConditions")
|
||||
@Html.Action("RenderTerms", "TermsAndConditions", new { showBanner = MemberData != null && MemberData.NewTosAccepted == false })
|
||||
|
||||
@* We'll show it differently on the homepage *@
|
||||
@* We'll show it differently on the homepage *@
|
||||
@if (showNotification && Model.Content.Id != home.Id)
|
||||
{
|
||||
<div class="alertbar__yellow">
|
||||
@Html.Raw(notificationText)
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (Request.Cookies["dismissAvatar"] == null && CurrentPage.Id != home.Id && avatarImage != null && (avatarImage.Width < 400 || avatarImage.Height < 400))
|
||||
|
||||
@if (Request.Cookies["dismissAvatar"] == null && Model.Content.Id != home.Id && MemberData != null && MemberData.AvatarImageTooSmall)
|
||||
{
|
||||
<div class="notification__blue avatarTooSmall">
|
||||
<div class="message text-center">
|
||||
@@ -0,0 +1,10 @@
|
||||
@model List<IPublishedContent>
|
||||
<ul id="breadcrumb">
|
||||
<li>
|
||||
<a href="/">Our</a>
|
||||
</li>
|
||||
@foreach (var page in Model)
|
||||
{
|
||||
<li><a href="@page.Url">@page.Name</a></li>
|
||||
}
|
||||
</ul>
|
||||
@@ -0,0 +1,92 @@
|
||||
@inherits UmbracoViewPage<dynamic>
|
||||
@using Umbraco.Web.Templates
|
||||
@using Newtonsoft.Json.Linq
|
||||
|
||||
@*
|
||||
Razor helpers located at the bottom of this file
|
||||
*@
|
||||
|
||||
@if (Model != null && Model.sections != null)
|
||||
{
|
||||
var oneColumn = ((System.Collections.ICollection)Model.sections).Count == 1;
|
||||
|
||||
<div class="umb-grid">
|
||||
@if (oneColumn)
|
||||
{
|
||||
foreach (var section in Model.sections) {
|
||||
<div class="grid-section">
|
||||
@foreach (var row in section.rows) {
|
||||
@renderRow(row, true);
|
||||
}
|
||||
</div>
|
||||
}
|
||||
}else {
|
||||
<div class="container-fluid">
|
||||
<div class="row-fluid clearfix">
|
||||
@foreach (var s in Model.sections) {
|
||||
<div class="grid-section">
|
||||
<div class="@("span" + s.grid) column">
|
||||
@foreach (var row in s.rows) {
|
||||
@renderRow(row, false);
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
@helper renderRow(dynamic row, bool singleColumn){
|
||||
<div @RenderElementAttributes(row)>
|
||||
@Umbraco.If(singleColumn, "<div class='container-fluid'>")
|
||||
<div class="row-fluid clearfix">
|
||||
@foreach ( var area in row.areas ) {
|
||||
<div class="@("span" + area.grid) column">
|
||||
<div @RenderElementAttributes(area)>
|
||||
@foreach (var control in area.controls) {
|
||||
if (control !=null && control.editor != null && control.editor.view != null ) {
|
||||
<text>@Html.Partial("grid/editors/base", (object)control)</text>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
</div>}
|
||||
</div>
|
||||
@Umbraco.If(singleColumn, "</div>")
|
||||
</div>
|
||||
}
|
||||
|
||||
@functions {
|
||||
public static MvcHtmlString RenderElementAttributes(dynamic contentItem)
|
||||
{
|
||||
var attrs = new List<string>();
|
||||
JObject cfg = contentItem.config;
|
||||
|
||||
if(cfg != null)
|
||||
foreach (JProperty property in cfg.Properties())
|
||||
{
|
||||
var propertyValue = HttpUtility.HtmlAttributeEncode(property.Value.ToString());
|
||||
attrs.Add(property.Name + "=\"" + propertyValue + "\"");
|
||||
}
|
||||
|
||||
JObject style = contentItem.styles;
|
||||
|
||||
if (style != null) {
|
||||
var cssVals = new List<string>();
|
||||
foreach (JProperty property in style.Properties())
|
||||
{
|
||||
var propertyValue = property.Value.ToString();
|
||||
if (string.IsNullOrWhiteSpace(propertyValue) == false)
|
||||
{
|
||||
cssVals.Add(property.Name + ":" + propertyValue + ";");
|
||||
}
|
||||
}
|
||||
|
||||
if (cssVals.Any())
|
||||
attrs.Add("style='" + HttpUtility.HtmlAttributeEncode(string.Join(" ", cssVals)) + "'");
|
||||
}
|
||||
|
||||
return new MvcHtmlString(string.Join(" ", attrs));
|
||||
}
|
||||
}
|
||||
@@ -64,21 +64,29 @@
|
||||
JObject cfg = contentItem.config;
|
||||
|
||||
if(cfg != null)
|
||||
foreach (JProperty property in cfg.Properties()) {
|
||||
attrs.Add(property.Name + "=\"" + property.Value.ToString() + "\"");
|
||||
foreach (JProperty property in cfg.Properties())
|
||||
{
|
||||
var propertyValue = HttpUtility.HtmlAttributeEncode(property.Value.ToString());
|
||||
attrs.Add(property.Name + "=\"" + propertyValue + "\"");
|
||||
}
|
||||
|
||||
|
||||
JObject style = contentItem.styles;
|
||||
|
||||
if (style != null) {
|
||||
var cssVals = new List<string>();
|
||||
foreach (JProperty property in style.Properties())
|
||||
cssVals.Add(property.Name + ":" + property.Value.ToString() + ";");
|
||||
if (style != null) {
|
||||
var cssVals = new List<string>();
|
||||
foreach (JProperty property in style.Properties())
|
||||
{
|
||||
var propertyValue = property.Value.ToString();
|
||||
if (string.IsNullOrWhiteSpace(propertyValue) == false)
|
||||
{
|
||||
cssVals.Add(property.Name + ":" + propertyValue + ";");
|
||||
}
|
||||
}
|
||||
|
||||
if (cssVals.Any())
|
||||
attrs.Add("style=\"" + string.Join(" ", cssVals) + "\"");
|
||||
if (cssVals.Any())
|
||||
attrs.Add("style=\"" + HttpUtility.HtmlAttributeEncode(string.Join(" ", cssVals)) + "\"");
|
||||
}
|
||||
|
||||
|
||||
return new MvcHtmlString(string.Join(" ", attrs));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
@inherits UmbracoViewPage<dynamic>
|
||||
@using Umbraco.Web.Templates
|
||||
@using Newtonsoft.Json.Linq
|
||||
|
||||
@*
|
||||
Razor helpers located at the bottom of this file
|
||||
*@
|
||||
|
||||
@if (Model != null && Model.sections != null)
|
||||
{
|
||||
var oneColumn = ((System.Collections.ICollection)Model.sections).Count == 1;
|
||||
|
||||
<div class="umb-grid">
|
||||
@if (oneColumn)
|
||||
{
|
||||
foreach (var section in Model.sections) {
|
||||
<div class="grid-section">
|
||||
@foreach (var row in section.rows) {
|
||||
@renderRow(row);
|
||||
}
|
||||
</div>
|
||||
}
|
||||
}else {
|
||||
<div class="row clearfix">
|
||||
@foreach (var s in Model.sections) {
|
||||
<div class="grid-section">
|
||||
<div class="col-md-@s.grid column">
|
||||
@foreach (var row in s.rows) {
|
||||
@renderRow(row);
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
|
||||
@helper renderRow(dynamic row){
|
||||
<div @RenderElementAttributes(row)>
|
||||
<div class="row clearfix">
|
||||
@foreach ( var area in row.areas ) {
|
||||
<div class="col-md-@area.grid column">
|
||||
<div @RenderElementAttributes(area)>
|
||||
@foreach (var control in area.controls) {
|
||||
if (control !=null && control.editor != null && control.editor.view != null ) {
|
||||
<text>@Html.Partial("grid/editors/base", (object)control)</text>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
</div>}
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@functions {
|
||||
public static MvcHtmlString RenderElementAttributes(dynamic contentItem)
|
||||
{
|
||||
var attrs = new List<string>();
|
||||
JObject cfg = contentItem.config;
|
||||
|
||||
if(cfg != null)
|
||||
foreach (JProperty property in cfg.Properties())
|
||||
{
|
||||
var propertyValue = HttpUtility.HtmlAttributeEncode(property.Value.ToString());
|
||||
attrs.Add(property.Name + "=\"" + propertyValue + "\"");
|
||||
}
|
||||
|
||||
JObject style = contentItem.styles;
|
||||
|
||||
if (style != null) {
|
||||
var cssVals = new List<string>();
|
||||
foreach (JProperty property in style.Properties())
|
||||
{
|
||||
var propertyValue = property.Value.ToString();
|
||||
if (string.IsNullOrWhiteSpace(propertyValue) == false)
|
||||
{
|
||||
cssVals.Add(property.Name + ":" + propertyValue + ";");
|
||||
}
|
||||
}
|
||||
|
||||
if (cssVals.Any())
|
||||
attrs.Add("style='" + HttpUtility.HtmlAttributeEncode(string.Join(" ", cssVals)) + "'");
|
||||
}
|
||||
|
||||
return new MvcHtmlString(string.Join(" ", attrs));
|
||||
}
|
||||
}
|
||||
@@ -64,21 +64,29 @@
|
||||
JObject cfg = contentItem.config;
|
||||
|
||||
if(cfg != null)
|
||||
foreach (JProperty property in cfg.Properties()) {
|
||||
attrs.Add(property.Name + "=\"" + property.Value.ToString() + "\"");
|
||||
foreach (JProperty property in cfg.Properties())
|
||||
{
|
||||
var propertyValue = HttpUtility.HtmlAttributeEncode(property.Value.ToString());
|
||||
attrs.Add(property.Name + "=\"" + propertyValue + "\"");
|
||||
}
|
||||
|
||||
|
||||
JObject style = contentItem.styles;
|
||||
|
||||
if (style != null) {
|
||||
var cssVals = new List<string>();
|
||||
foreach (JProperty property in style.Properties())
|
||||
cssVals.Add(property.Name + ":" + property.Value.ToString() + ";");
|
||||
if (style != null) {
|
||||
var cssVals = new List<string>();
|
||||
foreach (JProperty property in style.Properties())
|
||||
{
|
||||
var propertyValue = property.Value.ToString();
|
||||
if (string.IsNullOrWhiteSpace(propertyValue) == false)
|
||||
{
|
||||
cssVals.Add(property.Name + ":" + propertyValue + ";");
|
||||
}
|
||||
}
|
||||
|
||||
if (cssVals.Any())
|
||||
attrs.Add("style=\"" + string.Join(" ", cssVals) + "\"");
|
||||
if (cssVals.Any())
|
||||
attrs.Add("style=\"" + HttpUtility.HtmlAttributeEncode(string.Join(" ", cssVals)) + "\"");
|
||||
}
|
||||
|
||||
|
||||
return new MvcHtmlString(string.Join(" ", attrs));
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,4 @@
|
||||
@model dynamic
|
||||
@using Umbraco.Web.Templates
|
||||
|
||||
@functions {
|
||||
public static string EditorView(dynamic contentItem)
|
||||
|
||||
@@ -1,3 +1,2 @@
|
||||
@model dynamic
|
||||
@using Umbraco.Web.Templates
|
||||
@Html.Raw(Model.value)
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
@inherits UmbracoViewPage<dynamic>
|
||||
@using Umbraco.Web.Templates
|
||||
|
||||
|
||||
@if (Model.value != null)
|
||||
{
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
@model dynamic
|
||||
@using Umbraco.Web.Templates
|
||||
|
||||
@if (Model.value != null)
|
||||
{
|
||||
|
||||
@@ -4,10 +4,9 @@
|
||||
@if (Model.editor.config.markup != null)
|
||||
{
|
||||
string markup = Model.editor.config.markup.ToString();
|
||||
|
||||
var UmbracoHelper = new UmbracoHelper(UmbracoContext.Current);
|
||||
var umbracoHelper = new UmbracoHelper(UmbracoContext.Current);
|
||||
|
||||
markup = markup.Replace("#value#", UmbracoHelper.ReplaceLineBreaksForHtml(Model.value.ToString()));
|
||||
markup = markup.Replace("#value#", umbracoHelper.ReplaceLineBreaksForHtml(HttpUtility.HtmlEncode(Model.value.ToString())));
|
||||
markup = markup.Replace("#style#", Model.editor.config.style.ToString());
|
||||
|
||||
<text>
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
|
||||
<section class="forum">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-12">
|
||||
<h1 class="text-center">Forum Activity</h1>
|
||||
<p>
|
||||
Recent activity in the forums, where people are helping each other with current problems.
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<small>Recent posts</small>
|
||||
</div>
|
||||
|
||||
@Umbraco.RenderMacro("ForumLatestActivity")
|
||||
|
||||
|
||||
<div class="col-md-12 goto-forum">
|
||||
<a class="button green" href="/forum">Go to Forum →</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -0,0 +1,35 @@
|
||||
@model OurUmbraco.Community.Models.GitHubContributorsModel
|
||||
|
||||
@if (Model.Contributors.Any())
|
||||
{
|
||||
foreach (var contributor in Model.Contributors)
|
||||
{
|
||||
var author = contributor.Author;
|
||||
if (author != null)
|
||||
{
|
||||
<a href="@author.HtmlUrl" class="contributor" target="_blank" title="@author.Login">
|
||||
<div class="avatar">
|
||||
<img alt="@author.Login" src="@author.AvatarUrl&s=112" />
|
||||
<span class="contrib-count" title="@(contributor.TotalCommits + " " + (contributor.TotalCommits == 1 ? "contribution" : "contributions"))">
|
||||
@contributor.TotalCommits
|
||||
</span>
|
||||
<div class="counts">
|
||||
Additions<br />
|
||||
<strong>@contributor.TotalAdditions</strong><br />
|
||||
<br />
|
||||
Deletions<br />
|
||||
<strong>@contributor.TotalDeletions</strong>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
}
|
||||
}
|
||||
<div class="loadmore">
|
||||
<a class="button transparent" href="#" onclick="loadAllGitHubContributors(); return false;">Load more</a>
|
||||
</div>
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
<h2>Could not load recent GitHub contributors.</h2>
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
@using OurUmbraco.Forum.Extensions
|
||||
@using OurUmbraco.Forum.Models
|
||||
@model ReadOnlyTopic[]
|
||||
|
||||
@foreach (var topic in Model)
|
||||
{
|
||||
<a href="@topic.GetUrl()" class="forum-thread @(topic.Answer > 0 ? "solved": null)">
|
||||
|
||||
<div class="avatar">
|
||||
@Html.Raw(topic.LastReplyAuthorAvatar)
|
||||
</div>
|
||||
|
||||
<div class="meta">
|
||||
<div class="forum-thread-text">
|
||||
<h3>@topic.Title</h3>
|
||||
<p>
|
||||
@if (topic.Replies != 0 && !string.IsNullOrEmpty(topic.LastReplyAuthorName))
|
||||
{
|
||||
<text>last updated by @topic.LastReplyAuthorName</text>
|
||||
}
|
||||
else
|
||||
{
|
||||
<text>created by @topic.AuthorName</text>
|
||||
}
|
||||
|
||||
@topic.Updated.ConvertToRelativeTime()
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="category">
|
||||
<span class="cat">@topic.CategoryName</span>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
}
|
||||
|
||||
@if (Model.Any() == false)
|
||||
{
|
||||
<h2>Could not load recent forum activity.</h2>
|
||||
}
|
||||
@@ -0,0 +1,71 @@
|
||||
@using OurUmbraco.Community.Models
|
||||
@using Skybrud.Essentials.Locations
|
||||
@using Skybrud.Essentials.Locations.Extensions
|
||||
@using Skybrud.Essentials.Security
|
||||
|
||||
@inherits UmbracoViewPage<MeetupEventsModel>
|
||||
|
||||
@{
|
||||
|
||||
// Get a reference to the current member
|
||||
IPublishedContent member = Members.GetCurrentMember();
|
||||
|
||||
// Get the location of the current member (if logged in and a location is present)
|
||||
EssentialsLocation memberLocation = null;
|
||||
if (member != null && member.HasValue("latitude") && member.HasValue("longitude")) {
|
||||
memberLocation = new EssentialsLocation(
|
||||
member.GetPropertyValue<double>("latitude"),
|
||||
member.GetPropertyValue<double>("longitude")
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@foreach (MeetupItem item in Model.Items) {
|
||||
|
||||
double distance = -1;
|
||||
|
||||
if (memberLocation != null) {
|
||||
if (item.Event.HasVenue) {
|
||||
distance = memberLocation.GetDistance(item.Event.Venue);
|
||||
} else {
|
||||
distance = memberLocation.GetDistance(item.Group);
|
||||
}
|
||||
}
|
||||
|
||||
<a href="@item.Event.Link" class="forum-thread">
|
||||
@if (item.Group.GroupPhoto != null)
|
||||
{
|
||||
<div class="avatar">
|
||||
<img src="@item.Group.GroupPhoto.ThumbLink" alt="" />
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
string fakeHash = SecurityUtils.GetMd5Hash(item.Group.Id + "");
|
||||
<div class="avatar">
|
||||
<img src="https://www.gravatar.com/avatar/@fakeHash?s=100&d=mm&r=g&d=retro" alt="" />
|
||||
</div>
|
||||
|
||||
}
|
||||
<div class="meta">
|
||||
<div class="forum-thread-text">
|
||||
@if (distance >= 0 && distance <= 50000) {
|
||||
//<span style="float: right; color: red;">@String.Format("~{0:N0}", distance / 1000) km</span>
|
||||
<span style="float: right; color: red; font-weight: bold;" title="Distance: @String.Format("~{0:N0}", distance / 1000) km">NEAR YOU</span>
|
||||
}
|
||||
<h3>@item.Event.Name</h3>
|
||||
<p>@item.Event.Time.DateTime.ToString("MMM d, yyyy") by @item.Group.Name</p>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
}
|
||||
|
||||
@if (Model.Items.Length % 2 == 1) {
|
||||
// If there is an odd amount of events, we add a invisible div so the last event doesn't take up the full width
|
||||
<div class="forum-thread" style="visibility: hidden;"></div>
|
||||
}
|
||||
|
||||
@if (Model.Items.Any() == false) {
|
||||
<h2>Could not load upcoming meetups.</h2>
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
@using OurUmbraco.Forum.Extensions
|
||||
@model OurUmbraco.Community.Models.TweetsModel
|
||||
|
||||
@if (Model.ShowAdminOverView == false)
|
||||
{
|
||||
foreach (var tweet in Model.Tweets)
|
||||
{
|
||||
<a href="@tweet.Url" class="forum-thread">
|
||||
|
||||
<div class="avatar">
|
||||
<img src="@tweet.CreatedBy.ProfileImageUrl400x400.Replace("http://", "https://")" />
|
||||
</div>
|
||||
|
||||
<div class="meta">
|
||||
<div class="forum-thread-text">
|
||||
<h3>@tweet.Text</h3>
|
||||
<p>@tweet.CreatedAt.ConvertToRelativeTime() by @@@tweet.CreatedBy.UserIdentifier.ScreenName (@tweet.CreatedBy.Name)</p>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var tweet in Model.Tweets)
|
||||
{
|
||||
var twitterHandle = tweet.CreatedBy.UserIdentifier.ScreenName;
|
||||
|
||||
<img src="@tweet.CreatedBy.ProfileImageUrl400x400.Replace("http://", "https://")" /><br />
|
||||
<h3>@tweet.Text</h3>
|
||||
<p>@tweet.CreatedAt.ConvertToRelativeTime() by <a href="https://twitter.com/@twitterHandle/with_replies" target="_blank">@@@twitterHandle (@tweet.CreatedBy.Name)</a></p><br />
|
||||
<a href="@tweet.Url" target="_blank">@tweet.Url</a><br />
|
||||
|
||||
using (Html.BeginForm("MarkAsSpam", "TwitterSearch"))
|
||||
{
|
||||
@Html.AntiForgeryToken()
|
||||
|
||||
<input type="hidden" name="TwitterHandle" value="@twitterHandle" />
|
||||
<input type="submit" value="Mark as spam" />
|
||||
}
|
||||
|
||||
<hr />
|
||||
}
|
||||
}
|
||||
|
||||
@if (Model.Tweets.Any() == false)
|
||||
{
|
||||
<h2>Could not load recent tweets.</h2>
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
@using OurUmbraco.Our.Controllers
|
||||
@using reCAPTCHA.MVC
|
||||
@inherits UmbracoViewPage<Umbraco.Web.Models.LoginModel>
|
||||
@{
|
||||
Html.EnableClientValidation(true);
|
||||
Html.EnableUnobtrusiveJavaScript(true);
|
||||
}
|
||||
|
||||
@if (Request.QueryString["success"] == null)
|
||||
{
|
||||
<div class="form simpleForm" id="registrationForm">
|
||||
@using (Html.BeginUmbracoForm<LoginController>("ForgotPassword"))
|
||||
{
|
||||
@Html.ValidationSummary(true)
|
||||
@Html.AntiForgeryToken()
|
||||
|
||||
<fieldset>
|
||||
<p>
|
||||
@Html.LabelFor(m => m.Username, new { @cless = "inputLabel" })<br />
|
||||
@Html.ValidationMessageFor(m => m.Username)
|
||||
|
||||
@Html.TextBoxFor(m => m.Username, new { @class = "email title" })
|
||||
</p>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<p>
|
||||
@Html.Recaptcha()
|
||||
@Html.ValidationMessage("ReCaptcha")
|
||||
</p>
|
||||
</fieldset>
|
||||
<input class="button green" type="submit" value="Retrieve password">
|
||||
}
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
<p>If an account with that email exists you have just been sent instructions to reset your password.</p>
|
||||
}
|
||||
|
||||
<style type="text/css">
|
||||
.field-validation-error, .validation-summary-errors {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.input-validation-error {
|
||||
border-color: red !important;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,50 @@
|
||||
@using OurUmbraco.Our.Controllers
|
||||
@using reCAPTCHA.MVC
|
||||
@inherits UmbracoViewPage<Umbraco.Web.Models.LoginModel>
|
||||
@{
|
||||
Html.EnableClientValidation(true);
|
||||
Html.EnableUnobtrusiveJavaScript(true);
|
||||
}
|
||||
|
||||
<div class="form simpleForm" id="registrationForm">
|
||||
@using (Html.BeginUmbracoForm<LoginController>("Login"))
|
||||
{
|
||||
@Html.ValidationSummary(true)
|
||||
@Html.AntiForgeryToken()
|
||||
|
||||
<fieldset>
|
||||
<p>
|
||||
@Html.LabelFor(m => m.Username, new { @class = "inputLabel" })<br />
|
||||
@Html.ValidationMessageFor(m => m.Username)
|
||||
|
||||
@Html.TextBoxFor(m => m.Username, new { @class = "email title" })
|
||||
</p>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<p>
|
||||
@Html.LabelFor(m => m.Password, new { @class = "inputLabel" })<br />
|
||||
@Html.ValidationMessageFor(m => m.Password)
|
||||
@Html.PasswordFor(m => m.Password, new { @class = "password title" })
|
||||
</p>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<p>
|
||||
@Html.Recaptcha()
|
||||
@Html.ValidationMessage("ReCaptcha")
|
||||
</p>
|
||||
</fieldset>
|
||||
|
||||
<input class="button green" type="submit" value="Log in">
|
||||
}
|
||||
</div>
|
||||
|
||||
<style type="text/css">
|
||||
.field-validation-error, .validation-summary-errors {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.input-validation-error {
|
||||
border-color: red !important;
|
||||
}
|
||||
</style>
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
@inherits OurUmbraco.Our.Models.OurUmbracoTemplatePage
|
||||
@{
|
||||
var source = Umbraco.TypedContent(Model.MacroParameters["source"]);
|
||||
var source = Umbraco.TypedContent(1057);
|
||||
}
|
||||
|
||||
<nav>
|
||||
+7
-7
@@ -1,4 +1,4 @@
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
@inherits OurUmbraco.Our.Models.OurUmbracoTemplatePage
|
||||
@using System.Configuration
|
||||
@using OurUmbraco.Forum.Extensions
|
||||
@using OurUmbraco.Forum.Services
|
||||
@@ -17,7 +17,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
var ts = new TopicService(UmbracoContext.Application.DatabaseContext);
|
||||
var ts = new TopicService(ApplicationContext.DatabaseContext);
|
||||
|
||||
var topics = ts.GetLatestTopicsForMember(member.Id);
|
||||
|
||||
@@ -30,14 +30,13 @@
|
||||
{
|
||||
projects = content.Descendants().Where(c => c.DocumentTypeAlias == "Project").Where(m => m.GetPropertyValue<int>("owner") == member.Id).Where(p => p.GetPropertyValue<bool>("projectLive"));
|
||||
const string sql = @"SELECT * FROM projectContributors WHERE memberId=@memberId";
|
||||
var contribPackageIds = UmbracoContext.Application.DatabaseContext.Database.Fetch<int>(sql, new { memberId });
|
||||
var contribPackageIds = ApplicationContext.DatabaseContext.Database.Fetch<int>(sql, new { memberId });
|
||||
foreach (var contribPackageId in contribPackageIds)
|
||||
{
|
||||
contribProjects.Add(Umbraco.TypedContent(contribPackageId));
|
||||
}
|
||||
}
|
||||
|
||||
var currentMember = Members.GetCurrentMember();
|
||||
var reputationCurrent = member.GetPropertyValue<int>("reputationCurrent");
|
||||
|
||||
var nodeListingProvider = new NodeListingProvider();
|
||||
@@ -90,7 +89,7 @@
|
||||
@if (member.HasValue("company"))
|
||||
{
|
||||
<span> works at <span>@member.GetPropertyValue("company")</span></span>
|
||||
}
|
||||
}
|
||||
and has <em class="posts">@member.GetPropertyValue("forumPosts")</em> @if (member.ForumPosts() == 0 || member.ForumPosts() > 1){<text>posts</text>}else{<text>post</text>} and <em class="karma-points">@member.GetPropertyValue("reputationCurrent")</em> <span></span> karma points
|
||||
</small>
|
||||
</div>
|
||||
@@ -239,7 +238,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- .public-member -->
|
||||
if (currentMember.IsAdmin())
|
||||
if (MemberData != null && MemberData.IsAdmin)
|
||||
{
|
||||
var allTopics = ts.GetLatestTopicsForMember(member.Id, false, 1000);
|
||||
|
||||
@@ -270,7 +269,8 @@
|
||||
</div>
|
||||
}
|
||||
<br /><br />
|
||||
if (currentMember.IsHq())
|
||||
var currentMember = MemberData != null ? MemberData.Member : null;
|
||||
if (currentMember != null && currentMember.IsHq())
|
||||
{
|
||||
<div style="border: 1px solid red; padding: 4px;">
|
||||
<p>HQ Tools (also known as "with great power comes great responsibility"):</p><br />
|
||||
+23
-49
@@ -1,29 +1,13 @@
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
@using System.Drawing
|
||||
@inherits OurUmbracoTemplatePage
|
||||
@using OurUmbraco.Forum.Extensions
|
||||
@using OurUmbraco.Forum.Services
|
||||
@using OurUmbraco.Our
|
||||
@{
|
||||
var topicService = new TopicService(ApplicationContext.DatabaseContext);
|
||||
Image avatarImage = null;
|
||||
if (Members.IsLoggedIn())
|
||||
{
|
||||
avatarImage = Utils.GetMemberAvatarImage(Members.GetCurrentMember());
|
||||
}
|
||||
}
|
||||
@using OurUmbraco.Our.Models
|
||||
@{ var profile = MemberData; }
|
||||
<div class="quick-menu">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
|
||||
@if (Members.IsLoggedIn() && Members.GetCurrentMember() != null)
|
||||
@if (profile != null)
|
||||
{
|
||||
var member = Members.GetCurrentMember();
|
||||
|
||||
var roles = member.GetRoles();
|
||||
|
||||
var latestTopics = topicService.GetLatestTopicsForMember(member.Id, maxCount: 100);
|
||||
|
||||
<div class="close">
|
||||
<i class="icon-Delete"></i>Close
|
||||
</div>
|
||||
@@ -31,49 +15,47 @@
|
||||
<a href="/member/profile"><i class="icon-Settings"></i>Edit profile</a>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="user-image">
|
||||
@Html.Raw(Utils.GetMemberAvatar(member, 100))
|
||||
@Html.Raw(profile.AvatarHtml)
|
||||
</div>
|
||||
|
||||
<div class="user-profile">
|
||||
<h2>@member.Name</h2>
|
||||
<div class="posts">
|
||||
|
||||
@member.ForumPosts()
|
||||
|
||||
@if (member.ForumPosts() == 0 || member.ForumPosts() > 1)
|
||||
<div class="user-profile">
|
||||
<h2>@profile.Member.Name</h2>
|
||||
<div class="posts">
|
||||
|
||||
@profile.NumberOfForumPosts
|
||||
|
||||
@if (profile.NumberOfForumPosts == 0 || profile.NumberOfForumPosts > 1)
|
||||
{
|
||||
<text>Posts</text>
|
||||
}
|
||||
else
|
||||
{
|
||||
<text>Post</text>
|
||||
}
|
||||
<text>Post</text>
|
||||
}
|
||||
</div>
|
||||
<div class="karma">
|
||||
@member.Karma()
|
||||
@profile.Karma
|
||||
</div>
|
||||
@if (member.HasValue("twitter"))
|
||||
@if (string.IsNullOrWhiteSpace(profile.TwitterHandle) == false)
|
||||
{
|
||||
var twitterHandle = member.GetPropertyValue<string>("twitter").Replace("@", string.Empty);
|
||||
<div class="user-twitter">
|
||||
<a href="https://twitter.com/@twitterHandle">@<span>@twitterHandle</span></a>
|
||||
<a href="https://twitter.com/@profile.TwitterHandle">@<span>@profile.TwitterHandle</span></a>
|
||||
</div>
|
||||
}
|
||||
@if (roles.Any())
|
||||
@if (profile.Roles.Any())
|
||||
{
|
||||
<span class="roles">
|
||||
@foreach (var role in roles)
|
||||
@foreach (var role in profile.Roles)
|
||||
{
|
||||
<span class="@role">@role</span>
|
||||
}
|
||||
</span>
|
||||
}
|
||||
<div class="public-profile">
|
||||
<a href="/member/@member.Id">View my public profile</a>
|
||||
<a href="/member/@profile.Member.Id">View my public profile</a>
|
||||
</div>
|
||||
@if (member.IsAdmin())
|
||||
@if (profile.IsAdmin)
|
||||
{
|
||||
<div class="public-profile">
|
||||
<a href="/antispam">Check the spam queue</a>
|
||||
@@ -84,14 +66,12 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
if (avatarImage != null && (avatarImage.Width < 400 || avatarImage.Height < 400))
|
||||
if (profile.AvatarImageTooSmall)
|
||||
{
|
||||
|
||||
<div class="user-notifications">
|
||||
<small>
|
||||
Your Notifications
|
||||
</small>
|
||||
|
||||
<a href="/member/profile" class="user-notification__green">
|
||||
<div class="user-notification-text">
|
||||
<p>Your profile picture is a little on the small side, It would look <strong>much nicer</strong> if you could update it to be larger image.</p>
|
||||
@@ -101,12 +81,10 @@
|
||||
}
|
||||
|
||||
<div class="user-latest-posts">
|
||||
|
||||
<small>
|
||||
Activity in threads you participated in
|
||||
</small>
|
||||
|
||||
@foreach (var topic in latestTopics)
|
||||
@foreach (var topic in profile.LatestTopics)
|
||||
{
|
||||
var forum = Umbraco.TypedContent(topic.ParentId);
|
||||
// if forum == null then it's been hidden/unpublished (example: v5 forum)
|
||||
@@ -128,20 +106,16 @@
|
||||
@topic.Updated.ConvertToRelativeTime()
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="category frontend"><span class="cat">@forum.Name</span></div>
|
||||
</a>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
<a href="/member/login">Sign in</a> <a href="/member/Signup">Register</a>
|
||||
}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,4 +1,5 @@
|
||||
@using OurUmbraco.Our.Controllers
|
||||
@using reCAPTCHA.MVC
|
||||
@inherits UmbracoViewPage<OurUmbraco.Our.Models.RegisterModel>
|
||||
@{
|
||||
Html.EnableClientValidation(true);
|
||||
@@ -60,6 +61,11 @@
|
||||
@Html.CheckBoxFor(m => m.AgreeTerms) <label for="AgreeTerms"><em>I agree to the <a href="/terms-and-conditions" target="_blank">terms and conditions</a> of using the Our Umbraco website.</em></label>
|
||||
@Html.ValidationMessageFor(m => m.AgreeTerms)
|
||||
</div>
|
||||
|
||||
<div class="profile-input" id="recaptcha">
|
||||
@Html.Recaptcha()
|
||||
@Html.ValidationMessage("ReCaptcha")
|
||||
</div>
|
||||
|
||||
<input class="button green" type="submit" value="Sign up">
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
@inherits OurUmbraco.Our.Models.OurUmbracoTemplatePage
|
||||
<ul>
|
||||
@foreach (var page in Model.Content.AncestorOrSelf(1).Children.Where("Visible"))
|
||||
{
|
||||
<li class="@(page.IsAncestorOrSelf(Model.Content) ? "current" : null)">
|
||||
<a href="@page.Url">@page.Name</a>
|
||||
</li>
|
||||
}
|
||||
|
||||
<li>
|
||||
@if (MemberData != null)
|
||||
{
|
||||
<div class="user">
|
||||
@Html.Raw(MemberData.AvatarHtml)
|
||||
@if (MemberData.AvatarImageTooSmall)
|
||||
{
|
||||
<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>
|
||||
@@ -0,0 +1,20 @@
|
||||
@using OurUmbraco.Our.Controllers
|
||||
@model OurUmbraco.Our.Models.ProjectCompleteModel
|
||||
<div class="package-create">
|
||||
@Html.Partial("~/Views/Partials/Project/PackageEditNavigation.cshtml", "complete")
|
||||
|
||||
@using(Html.BeginUmbracoForm<ProjectController>("UpdateProjectLive"))
|
||||
{
|
||||
<fieldset>
|
||||
<legend>Make "@Model.Name" public</legend>
|
||||
<p>By checking the following box your project will become public as long as you have met all of the terms & conditions of listing.</p>
|
||||
<p>
|
||||
@Html.CheckBoxFor(m => m.ProjectLive) @Html.LabelFor(m => m.ProjectLive)
|
||||
</p>
|
||||
</fieldset>
|
||||
|
||||
<div class="buttons">
|
||||
<input type="submit" value="Save" class="submitButton button tiny green">
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
@@ -31,17 +31,7 @@
|
||||
</style>
|
||||
<div class="package-create">
|
||||
|
||||
<ul class="stepNavigation">
|
||||
<li class="current"><a href="/member/profile/projects/details/?projectId=@Model.Id">Package Details</a></li>
|
||||
@if (Model.Id > 0)
|
||||
{
|
||||
<li class=""><a href="/member/profile/projects/edit?editorStep=files&id=@Model.Id">Package Files</a></li>
|
||||
|
||||
<li class=""><a href="/member/profile/projects/edit?editorStep=screenshots&id=@Model.Id">Screenshots</a></li>
|
||||
|
||||
<li class=""><a href="/member/profile/projects/edit?editorStep=complete&id=@Model.Id">Creation Complete</a></li>
|
||||
}
|
||||
</ul>
|
||||
@Html.Partial("~/Views/Partials/Project/PackageEditNavigation.cshtml", "details")
|
||||
|
||||
<div class="form simpleForm" id="registrationForm">
|
||||
@using (Html.BeginUmbracoForm<ProjectController>("SaveDetails"))
|
||||
@@ -119,6 +109,12 @@
|
||||
@Html.ValidationMessageFor(m => m.SourceCodeUrl)
|
||||
<small>url to where the source code is stored, (ie: codeplex.com, github.com etc)</small>
|
||||
</p>
|
||||
<p>
|
||||
@Html.LabelFor(m => m.NuGetPackageUrl)
|
||||
@Html.TextBoxFor(m => m.NuGetPackageUrl)
|
||||
@Html.ValidationMessageFor(m => m.NuGetPackageUrl)
|
||||
<small>url to the NuGet package if any available</small>
|
||||
</p>
|
||||
<p>
|
||||
@Html.LabelFor(m => m.BugTrackingUrl)
|
||||
@Html.TextBoxFor(m => m.BugTrackingUrl)
|
||||
|
||||
@@ -0,0 +1,143 @@
|
||||
@using OurUmbraco.Our.Controllers
|
||||
@model OurUmbraco.Our.Models.EditFileModel
|
||||
<div class="package-create">
|
||||
|
||||
@Html.Partial("~/Views/Partials/Project/PackageEditNavigation.cshtml", "files")
|
||||
|
||||
<div class="form simpleForm" id="registrationForm">
|
||||
<fieldset>
|
||||
<legend>Current project files</legend>
|
||||
<p>
|
||||
<table class="dataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>File</th>
|
||||
<th>Type</th>
|
||||
<th>Compatible Version</th>
|
||||
<th>.NET Version</th>
|
||||
<th>Uploaded</th>
|
||||
<th class="center">Default Release</th>
|
||||
<th class="center">Archive</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var wikiFile in Model.AvailableFiles)
|
||||
{
|
||||
var versionsList = new List<string>();
|
||||
foreach (var version in wikiFile.Versions)
|
||||
{
|
||||
versionsList.Add(version.Version);
|
||||
}
|
||||
var versions = string.Join(",", versionsList);
|
||||
|
||||
<tr>
|
||||
<td>@wikiFile.Name</td>
|
||||
<td>@wikiFile.FileType</td>
|
||||
<td>@versions</td>
|
||||
<td>@wikiFile.DotNetVersion</td>
|
||||
<td>@wikiFile.CreateDate</td>
|
||||
<td class="center">
|
||||
@if (wikiFile.Current == false)
|
||||
{
|
||||
using (Html.BeginUmbracoForm<ProjectController>("MarkFileAsCurrent"))
|
||||
{
|
||||
<input type="hidden" name="id" value="@Request.QueryString["id"]" />
|
||||
<input type="hidden" name="releaseFileId" value="@wikiFile.Id" />
|
||||
<input type="submit" value="Make current" class="actionButton" />
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<text>Current</text>
|
||||
}
|
||||
</td>
|
||||
<td class="center">
|
||||
@using (Html.BeginUmbracoForm<ProjectController>("ArchiveFile"))
|
||||
{
|
||||
var buttonText = wikiFile.Archived ? "Unarchive" : "Archive";
|
||||
|
||||
<input type="hidden" name="id" value="@Request.QueryString["id"]" />
|
||||
<input type="hidden" name="releaseFileId" value="@wikiFile.Id" />
|
||||
<input type="submit" value="@buttonText" class="actionButton" />
|
||||
}
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
</p>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Upload file</legend>
|
||||
<div id="">
|
||||
@using (Html.BeginUmbracoForm<ProjectController>("AddFile"))
|
||||
{
|
||||
<span style="color: red;">
|
||||
@Html.ValidationSummary()
|
||||
</span>
|
||||
|
||||
<div id="">
|
||||
<p>
|
||||
<label class="inputLabel">Pick file (10 MB max):</label>
|
||||
</p>
|
||||
<div>
|
||||
<div>
|
||||
<input type="file" class="title" name="UploadFile.File">
|
||||
</div>
|
||||
</div>
|
||||
<p></p>
|
||||
<p>
|
||||
<label class="inputLabel">Choose filetype</label>
|
||||
|
||||
@Html.DropDownListFor(model => model.UploadFile.FileType, new List<SelectListItem>
|
||||
{
|
||||
new SelectListItem { Text = "Package", Value = "package" },
|
||||
new SelectListItem { Text = "Hot Fix", Value = "hotfix"},
|
||||
new SelectListItem { Text = "Documentation", Value = "docs"},
|
||||
new SelectListItem { Text = "Source Code", Value = "source"}
|
||||
})
|
||||
</p>
|
||||
<div class="pickversionWrapper">
|
||||
<p id="pickVersion">
|
||||
<label class="inputLabel">Choose umbraco version</label>
|
||||
</p>
|
||||
<div class="pickVersion" style="float: left; margin-bottom: 10px;">
|
||||
@foreach (var item in Model.UploadFile.AvailableVersions)
|
||||
{
|
||||
var versionsSelected = Model.UploadFile.SelectedVersions;
|
||||
<input type="checkbox" name="UploadFile.SelectedVersions" value="@item.Value" id="@item.Value" @if (versionsSelected != null && versionsSelected.Contains(item.Value)) { <text> checked="checked" </text> } /> <label for="@item.Value" style="display: inline; padding: 0;">@item.Text</label><br />
|
||||
}
|
||||
|
||||
</div>
|
||||
<p style="clear: both; margin-bottom: 10px;">If your package manifest references a specific version of Umbraco, then that will be used instead.</p>
|
||||
</div>
|
||||
<p id="pickNetVersion">
|
||||
<label class="inputLabel">Choose supported .NET runtime</label>
|
||||
|
||||
<select name="UploadFile.DotNetVersion" class="title">
|
||||
<option value=""></option>
|
||||
<option value="2.0">2.0</option>
|
||||
<option value="3.5">3.5</option>
|
||||
<option value="4.0">4.0</option>
|
||||
<option value="4.5">4.5</option>
|
||||
<option value="4.5.1">4.5.1</option>
|
||||
<option value="4.5.2">4.5.2</option>
|
||||
<option value="4.6.0">4.6.0</option>
|
||||
<option value="4.6.1">4.6.1</option>
|
||||
</select><br>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<input type="hidden" name="UploadFile.ProjectId" value="@Request.QueryString["id"]" />
|
||||
<input type="submit" value="Save file" class="submitButton button blue tiny">
|
||||
</p>
|
||||
|
||||
</div>
|
||||
}
|
||||
<div class="buttons">
|
||||
<a href="/member/profile/projects/edit/?editorStep=screenshots&id=@Request.QueryString["id"]" class="submitButton button green tiny" style="color: white;">Next</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,87 @@
|
||||
@using OurUmbraco.Our.Controllers
|
||||
@model OurUmbraco.Our.Models.EditScreenshotModel
|
||||
<div class="package-create">
|
||||
|
||||
@Html.Partial("~/Views/Partials/Project/PackageEditNavigation.cshtml", "screenshots")
|
||||
|
||||
<div class="form simpleForm" id="registrationForm">
|
||||
<fieldset>
|
||||
<legend>Current project files</legend>
|
||||
<p>
|
||||
<table class="dataTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Image</th>
|
||||
<th>Uploaded</th>
|
||||
<th class="center">Default</th>
|
||||
<th class="center">Delete</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach (var wikiFile in Model.AvailableFiles)
|
||||
{
|
||||
<tr>
|
||||
<td><img src="@wikiFile.Path?height=100" /></td>
|
||||
<td>@wikiFile.CreateDate</td>
|
||||
<td class="center">
|
||||
@if (wikiFile.Current == false)
|
||||
{
|
||||
using (Html.BeginUmbracoForm<ProjectController>("MarkFileAsCurrent"))
|
||||
{
|
||||
<input type="hidden" name="id" value="@Request.QueryString["id"]" />
|
||||
<input type="hidden" name="releaseFileId" value="@wikiFile.Id" />
|
||||
<input type="submit" value="Make current" class="actionButton" />
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
<text>Current</text>
|
||||
}
|
||||
</td>
|
||||
<td class="center">
|
||||
@using (Html.BeginUmbracoForm<ProjectController>("DeleteScreenshot"))
|
||||
{
|
||||
<input type="hidden" name="id" value="@Request.QueryString["id"]" />
|
||||
<input type="hidden" name="releaseFileId" value="@wikiFile.Id" />
|
||||
<input type="submit" value="Delete" class="actionButton" />
|
||||
}
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
</p>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>Upload file</legend>
|
||||
<div id="">
|
||||
@using (Html.BeginUmbracoForm<ProjectController>("AddScreenshot"))
|
||||
{
|
||||
<span style="color: red;">
|
||||
@Html.ValidationSummary()
|
||||
</span>
|
||||
|
||||
<div id="">
|
||||
<p>
|
||||
<label class="inputLabel">Pick file (10 MB max):</label>
|
||||
</p>
|
||||
<div>
|
||||
<div>
|
||||
<input type="file" class="title" name="UploadFile.File">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
<input type="hidden" name="UploadFile.ProjectId" value="@Request.QueryString["id"]" />
|
||||
<input type="submit" value="Save file" class="submitButton button blue tiny">
|
||||
</p>
|
||||
|
||||
</div>
|
||||
}
|
||||
<div class="buttons">
|
||||
<a href="/member/profile/projects/edit/?editorStep=complete&id=@Request.QueryString["id"]" class="submitButton button green tiny" style="color: white;">Next</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,14 @@
|
||||
@model string
|
||||
@{
|
||||
var projectId = Request["projectId"];
|
||||
if (string.IsNullOrWhiteSpace(projectId))
|
||||
{
|
||||
projectId = Request["id"];
|
||||
}
|
||||
}
|
||||
<ul class="stepNavigation">
|
||||
<li class="@(Model == "details" ? "current" : null)" style="text-decoration: underline;"><a href="/member/profile/projects/details?projectId=@projectId">Package Details</a></li>
|
||||
<li class="@(Model == "files" ? "current" : null)" style="text-decoration: underline;"><a href="/member/profile/projects/edit?editorStep=files&id=@projectId">Package Files</a></li>
|
||||
<li class="@(Model == "screenshots" ? "current" : null)" style="text-decoration: underline;"><a href="/member/profile/projects/edit?editorStep=screenshots&id=@projectId">Screenshots</a></li>
|
||||
<li class="@(Model == "complete" ? "current" : null)" style="text-decoration: underline;"><a href="/member/profile/projects/edit?editorStep=complete&id=@projectId">Creation Complete</a></li>
|
||||
</ul>
|
||||
@@ -66,11 +66,11 @@
|
||||
<div class="versions">
|
||||
@if (Model.WorksOnUaaS)
|
||||
{
|
||||
<span class="smiley joyous">Works on Umbraco as a Service</span>
|
||||
<span class="smiley joyous">Works on Umbraco Cloud</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span class="smiley untested">Untested or doesn't work on Umbraco as a Service</span>
|
||||
<span class="smiley untested">Untested or doesn't work on Umbraco Cloud</span>
|
||||
}
|
||||
@foreach (var ver in Model.VersionCompatibilities)
|
||||
{
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
@using Umbraco.Web
|
||||
@inherits OurUmbraco.Our.Models.OurUmbracoTemplatePage
|
||||
|
||||
<ul class="level-2">
|
||||
@foreach (var childPage in Model.Content.Children().Where(
|
||||
x => x.DocumentTypeAlias == "ProjectGroup"
|
||||
&& x.GetPropertyValue<bool>("umbracoNaviHide") == false))
|
||||
{
|
||||
<li>
|
||||
<h4><a href="?category=@childPage.Name">@childPage.Name</a></h4>
|
||||
</li>
|
||||
}
|
||||
<li><h4><a href="?category=uaas">Umbraco Cloud</a></h4></li>
|
||||
</ul>
|
||||
+2
-5
@@ -1,10 +1,8 @@
|
||||
@using Examine.SearchCriteria
|
||||
@using OurUmbraco.Our
|
||||
@using Umbraco.Core.Cache
|
||||
@using OurUmbraco.Our.Examine
|
||||
@using OurUmbraco.Project
|
||||
@using OurUmbraco.Project.Services
|
||||
@inherits Umbraco.Web.Macros.PartialViewMacroPage
|
||||
@inherits OurUmbraco.Our.Models.OurUmbracoTemplatePage
|
||||
@{
|
||||
//This is the main Our project search
|
||||
|
||||
@@ -22,7 +20,7 @@
|
||||
}
|
||||
if (category != null)
|
||||
{
|
||||
headline = category == "uaas" ? "Umbraco as a Service" : category.ToLowerInvariant();
|
||||
headline = category == "uaas" ? "Umbraco Cloud" : category.ToLowerInvariant();
|
||||
}
|
||||
|
||||
var searchFilters = new SearchFilters(BooleanOperation.And);
|
||||
@@ -57,7 +55,6 @@
|
||||
var toVersion = new Version(parsedVersion.Major, 999, 999).GetNumericalValue();
|
||||
var versionFilters = new SearchFilters(BooleanOperation.Or);
|
||||
versionFilters.Filters.Add(new RangeSearchFilter("num_version", fromVersion, toVersion));
|
||||
versionFilters.Filters.Add(new RangeSearchFilter("num_compatVersions", fromVersion, toVersion));
|
||||
filters.Add(versionFilters);
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user