Merge branch 'refs/heads/master' into move-masterpages-to-views
# Conflicts: # .gitignore # OurUmbraco.Client/package.json # OurUmbraco.Site/config/Dashboard.config # OurUmbraco.Site/masterpages/Release.master # OurUmbraco.Site/usercontrols/Deli/Package/Editor.ascx # OurUmbraco.Site/usercontrols/Deli/Package/Steps/Complete.ascx # OurUmbraco.Site/usercontrols/Deli/Package/Steps/Details.ascx # OurUmbraco.Site/usercontrols/Deli/Package/Steps/Files.ascx # OurUmbraco.Site/usercontrols/Deli/Package/Steps/Screenshots.ascx # OurUmbraco.Site/usercontrols/our.umbraco.org/FileDownloadProxy.ascx # OurUmbraco.Site/usercontrols/our.umbraco.org/ProjectCollabRequest.ascx # OurUmbraco.Site/usercontrols/our.umbraco.org/ProjectContributors.ascx # OurUmbraco.Site/usercontrols/our.umbraco.org/ProjectEditor.ascx # OurUmbraco.Site/usercontrols/our.umbraco.org/ProjectFileUpload.ascx # OurUmbraco.Site/usercontrols/our.umbraco.org/ProjectForums.ascx # OurUmbraco/Our/MigrationsHandler.cs # OurUmbraco/OurUmbraco.csproj # build/BuildClientFiles.bat
This commit is contained in:
@@ -63,4 +63,5 @@ 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*
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -57,7 +57,7 @@ gulp.task('css', function () {
|
||||
.pipe(sass())
|
||||
.on('error', gutil.log)
|
||||
.pipe(autoprefixer('last 1 version', 'ie 9', 'ios 7'))
|
||||
.pipe(cmq({log: true}))
|
||||
// .pipe(cmq({log: true}))
|
||||
.pipe(rename({suffix: '.min'}))
|
||||
.pipe(minifyCss())
|
||||
.pipe(gulp.dest(settings.build + '/assets/css'))
|
||||
|
||||
@@ -4,33 +4,28 @@
|
||||
"description": "Umbraco Our gulpjs config",
|
||||
"main": "gulpfile.js",
|
||||
"private": true,
|
||||
"dependencies": {},
|
||||
"dependencies": {
|
||||
},
|
||||
"devDependencies": {
|
||||
"gulp": "^3.9.1",
|
||||
"gulp-util": "3.0.x",
|
||||
"gulp-watch": "0.6.x",
|
||||
"gulp-minify-css": "1.1.x",
|
||||
"gulp-sass": "^2.2.0",
|
||||
"gulp-combine-media-queries": "0.2.x",
|
||||
"gulp-imagemin": "0.6.x",
|
||||
"gulp-autoprefixer": "^3.1.0",
|
||||
"gulp-clean": "*",
|
||||
"gulp-concat": "^2.6.0",
|
||||
"gulp-group-css-media-queries": "^1.1.0",
|
||||
"gulp-imagemin": "^3.0.2",
|
||||
"gulp-jshint": "^2.0.1",
|
||||
"gulp-minify-css": "^1.2.4",
|
||||
"gulp-rename": "*",
|
||||
"gulp-sass": "^2.3.2",
|
||||
"gulp-svgmin": "^1.2.2",
|
||||
"gulp-uglify": "^2.0.0",
|
||||
"gulp-util": "^3.0.7",
|
||||
"gulp-watch": "^4.3.9",
|
||||
"jshint": "^2.9.2",
|
||||
"jshint-stylish": "^2.2.0",
|
||||
"node-sass": "^3.8.0"
|
||||
"gulp-uglify": "^1.5.3",
|
||||
"gulp-jshint": "2.0.0",
|
||||
"gulp-concat": "2.2.x",
|
||||
"jshint-stylish": "0.2.x",
|
||||
"gulp-clean": "0.3.x",
|
||||
"gulp-svgmin": "0.4.x",
|
||||
"gulp-rename": "1.2.x"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "gulp build --verbose"
|
||||
},
|
||||
"author": "umbraco",
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "http://github.com/devdk/gulp-workflow.git"
|
||||
}
|
||||
"license": "MIT"
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
border: none !important;
|
||||
|
||||
padding: 20px;
|
||||
line-height: 1.5;
|
||||
|
||||
@include colorset(alertbar);
|
||||
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
button.button, .button, a.button {
|
||||
background: $color-blue;
|
||||
padding: 14px 40px;
|
||||
display: inline-block;
|
||||
padding: 12px 40px;
|
||||
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
text-decoration: none;
|
||||
border: none;
|
||||
border-radius: 36px;
|
||||
@@ -11,8 +15,7 @@ button.button, .button, a.button {
|
||||
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
font-size: 1rem;
|
||||
line-height: 1;
|
||||
font-size: 14px;
|
||||
|
||||
margin: 0;
|
||||
|
||||
@@ -103,7 +106,7 @@ button.button, .button, a.button {
|
||||
|
||||
|
||||
&.large {
|
||||
font-size: 1.2rem;
|
||||
font-size: 1.175rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -260,12 +260,12 @@
|
||||
.topic {
|
||||
flex: 0 0 100%;
|
||||
|
||||
margin-bottom: .2rem;
|
||||
word-break: break-all;
|
||||
margin-bottom: 15px;
|
||||
|
||||
@media (min-width: $md) {
|
||||
flex: 0 0 70%;
|
||||
padding-right: 3px;
|
||||
flex: 1 1 70%;
|
||||
padding-right: 10px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -276,7 +276,8 @@
|
||||
flex: 0 0 100%;
|
||||
|
||||
@media (min-width: $md) {
|
||||
flex: 0 0 30%;
|
||||
flex: 1 1 30%;
|
||||
margin-left: auto;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
@@ -287,7 +288,7 @@
|
||||
margin: 0 .5rem 0 0;
|
||||
|
||||
@media (min-width: $md) {
|
||||
margin: 0 0 .5rem 0;
|
||||
margin: 0 0 .5rem auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -526,6 +527,7 @@
|
||||
display: inline-block;
|
||||
margin: 0px auto 50px;
|
||||
text-align: center;
|
||||
padding-top: 10px;
|
||||
|
||||
&.reply {
|
||||
font-size: .85rem;
|
||||
|
||||
@@ -379,7 +379,8 @@
|
||||
border: none;
|
||||
background: $color-green;
|
||||
color: white;
|
||||
padding: 10px;
|
||||
padding: 10px !important;
|
||||
padding-left: 32px;
|
||||
width: 100%;
|
||||
max-width: 140px;
|
||||
font-family: $font-family;
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -1,39 +1,31 @@
|
||||
.download {
|
||||
.download.latest .dot {
|
||||
margin-top: 2rem;
|
||||
}
|
||||
|
||||
|
||||
.dot.progress {
|
||||
.download .dot.progress {
|
||||
text-indent: .3rem;
|
||||
text-align: center;
|
||||
line-height: 2.8rem;
|
||||
}
|
||||
|
||||
|
||||
.counter {
|
||||
font-size: 1.1rem;;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
&.latest {
|
||||
|
||||
|
||||
.dot {
|
||||
margin-top: 2rem;
|
||||
}
|
||||
}
|
||||
.download .dot.progress .counter {
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.explain {
|
||||
flex-direction: column;
|
||||
|
||||
|
||||
.changes {
|
||||
small {
|
||||
line-height: .5rem;
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
flex-direction: row;
|
||||
}
|
||||
}
|
||||
|
||||
.explain .changes small {
|
||||
line-height: .5rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.chart {
|
||||
@@ -41,171 +33,100 @@
|
||||
top: -4px;
|
||||
left: -8px;
|
||||
z-index: 1;
|
||||
|
||||
|
||||
.percentage {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
top: 9px;
|
||||
left: 16px;
|
||||
font-size: 1.1rem;
|
||||
color: darken($color-our, 30%);
|
||||
}
|
||||
|
||||
|
||||
canvas {
|
||||
top: 1px;
|
||||
position: absolute;
|
||||
left: 5px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.chart .percentage {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
top: 9px;
|
||||
left: 16px;
|
||||
font-size: 1.1rem;
|
||||
color: darken($color-our, 30%);
|
||||
}
|
||||
|
||||
.chart canvas {
|
||||
top: 1px;
|
||||
position: absolute;
|
||||
left: 5px;
|
||||
}
|
||||
|
||||
.get-release {
|
||||
|
||||
|
||||
i {
|
||||
font-size: 2.5rem;
|
||||
line-height: 5rem;
|
||||
}
|
||||
.chart {
|
||||
position: absolute;
|
||||
top: -4px;
|
||||
left: -8px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.get-release {
|
||||
line-height: 1.5;
|
||||
padding: 2.5rem 0;
|
||||
margin: 2.5rem 0;
|
||||
padding: 3rem 0;
|
||||
margin: 0 0 3.5rem ;
|
||||
border-bottom: 1px solid darken(whitesmoke, 5%);
|
||||
border-top: 1px solid darken(whitesmoke, 5%);
|
||||
}
|
||||
|
||||
.get-release i {
|
||||
font-size: 2.5rem;
|
||||
line-height: 5rem;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.1rem;
|
||||
margin-bottom: .3rem;
|
||||
color: $color-headline;
|
||||
.get-release h3 {
|
||||
font-size: 1.1rem;
|
||||
margin-bottom: .3rem;
|
||||
color: $color-headline;
|
||||
}
|
||||
|
||||
.get-release h3 a {
|
||||
text-decoration: none;
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
|
||||
|
||||
&:hover {
|
||||
color: $color-our;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
p {
|
||||
color: $color-headline;
|
||||
font-size: .95rem;
|
||||
line-height: 1.3;
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
|
||||
|
||||
small {
|
||||
font-size: .7rem;
|
||||
color: $color-text;
|
||||
&:hover {
|
||||
color: $color-our;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.release {
|
||||
min-height: 160px;
|
||||
|
||||
|
||||
&.zip {
|
||||
|
||||
|
||||
i {
|
||||
color: $color-headline;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
&.bin {
|
||||
|
||||
|
||||
i {
|
||||
color: rgba(#000, .4);
|
||||
font-size: 1.6rem;
|
||||
}
|
||||
|
||||
|
||||
h4 {
|
||||
font-size: .9rem;
|
||||
margin-bottom: .3rem;
|
||||
color: $color-headline;
|
||||
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
|
||||
|
||||
&:hover {
|
||||
color: $color-our;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
&.col-sm-5 {
|
||||
padding-top: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
&.col-sm-1 {
|
||||
text-align: center;
|
||||
}
|
||||
.get-release p {
|
||||
color: $color-headline;
|
||||
font-size: .95rem;
|
||||
line-height: 1.3;
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.latest {
|
||||
|
||||
|
||||
.dot.big {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
|
||||
.explain {
|
||||
|
||||
|
||||
h4 {
|
||||
font-size: 2.5rem;
|
||||
}
|
||||
|
||||
|
||||
p {
|
||||
font-size: 1.1rem;
|
||||
color: $color-text
|
||||
;
|
||||
}
|
||||
|
||||
.col-xs-12 {
|
||||
min-height: 0;
|
||||
}
|
||||
}
|
||||
.get-release small {
|
||||
font-size: .8rem;
|
||||
color: rgba($color-text, .6);
|
||||
}
|
||||
|
||||
|
||||
.latest .dot.big {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
|
||||
.latest .explain h4 {
|
||||
font-size: 2.5rem;
|
||||
}
|
||||
|
||||
|
||||
.latest .explain p {
|
||||
font-size: 1.1rem;
|
||||
color: $color-text;
|
||||
}
|
||||
|
||||
.latest .explain .col-xs-12 {
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// Single release page
|
||||
.release{
|
||||
|
||||
.release {
|
||||
|
||||
.markdown-syntax {
|
||||
|
||||
|
||||
p, li, ul, a {
|
||||
p, li, ul {
|
||||
color: $color-headline;
|
||||
font-size: .95rem;
|
||||
}
|
||||
@@ -253,12 +174,12 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.releaseTable {
|
||||
|
||||
|
||||
.col-xs-3 {
|
||||
|
||||
|
||||
&:first-child {
|
||||
.progress {
|
||||
.top {
|
||||
@@ -282,6 +203,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Progress page
|
||||
.inprogress {
|
||||
|
||||
@@ -324,6 +246,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Roadmap page
|
||||
.plannedreleases {
|
||||
.dot.big {
|
||||
@@ -342,3 +265,194 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.release-page .explain h2 {
|
||||
margin: 0;
|
||||
font-size: 2em;
|
||||
color: rgba(0,0,0,.8);
|
||||
}
|
||||
|
||||
.release-page .explain small {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.release-page .dot {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.release-page .dot.big {
|
||||
position: relative;
|
||||
text-indent: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.release-page .chart {
|
||||
height: 60px;
|
||||
width: 60px;
|
||||
top: initial;
|
||||
left: initial;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.release-page .chart p {
|
||||
vertical-align: middle;
|
||||
line-height: 3.7rem;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.release-page .chart canvas {
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
}
|
||||
|
||||
.statuses ul {
|
||||
list-style-type: none;
|
||||
}
|
||||
.statuses ul li {
|
||||
position: relative;
|
||||
margin-bottom: 10px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
.statuses li:before {
|
||||
position: absolute;
|
||||
top: -4px;
|
||||
left: -25px;
|
||||
font-size: 1.5em;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.release-progress-indicator {
|
||||
flex: 1 1 auto;
|
||||
}
|
||||
|
||||
.release-progress-action {
|
||||
flex: 1 1 auto;
|
||||
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.release-progress-version {
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
|
||||
.release-section-group {
|
||||
flex: 1 1 100%;
|
||||
padding: 0;
|
||||
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
|
||||
@media (min-width: 768px) {
|
||||
flex: 1 1 47%;
|
||||
padding: 0 3% 0 0;
|
||||
align-items: flex-start;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
.release-section-group:nth-child(even) {
|
||||
flex: 1 1 100%;
|
||||
padding: 0;
|
||||
|
||||
@media (min-width: 768px) {
|
||||
flex: 1 1 47%;
|
||||
padding: 0 0 0 3%;
|
||||
}
|
||||
}
|
||||
|
||||
.release-section-action {
|
||||
height: 80px;
|
||||
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
|
||||
.release-section code {
|
||||
overflow: auto;
|
||||
|
||||
background-color: #333;
|
||||
background-clip: padding-box;
|
||||
|
||||
color: #fff;
|
||||
font-size: 12px;
|
||||
line-height: 1.4em;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
|
||||
|
||||
padding: 14px 16px 14px 16px;
|
||||
|
||||
width: auto;
|
||||
border-radius: 5px;
|
||||
border: none;
|
||||
}
|
||||
.release-section code a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.release-section + .release-section {
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.release-section-group + .release-section-group {
|
||||
margin-top: 30px;
|
||||
|
||||
@media (min-width: 768px) {
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.release-page h2 {
|
||||
font-size: 1.4rem;
|
||||
font-weight: bold;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.release-page h3 {
|
||||
font-size: 1.1rem;
|
||||
font-weight: bold;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Other files
|
||||
.release-other-files {
|
||||
margin-top: 3rem;
|
||||
}
|
||||
|
||||
.release-other-files h3 {
|
||||
font-size: 1.1rem;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.release-other-files small {
|
||||
font-size: .8rem;
|
||||
color: rgba($color-text, .5);
|
||||
}
|
||||
|
||||
|
||||
.release-other-files .release {
|
||||
min-height: auto;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.release-other-files .release a {
|
||||
display: inline-block;
|
||||
margin-bottom: 10px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.release-other-files .release p {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
@@ -45,6 +45,7 @@ section.forum {
|
||||
.forum-thread {
|
||||
flex: 0 0 100%;
|
||||
display: flex;
|
||||
overflow: hidden;
|
||||
|
||||
@media (min-width: $md) {
|
||||
flex: 1 0 49%;
|
||||
@@ -77,6 +78,8 @@ section.forum {
|
||||
flex-direction: column;
|
||||
flex: 1 0 75%;
|
||||
|
||||
overflow: hidden;
|
||||
|
||||
padding: 0 10px 0 0;
|
||||
|
||||
@media (min-width: $md) {
|
||||
@@ -89,6 +92,7 @@ section.forum {
|
||||
|
||||
.category {
|
||||
margin: .5rem 0 0;
|
||||
max-width: 95%;
|
||||
|
||||
span {
|
||||
font-size: .75rem;
|
||||
@@ -132,14 +136,14 @@ section.forum {
|
||||
padding: 25px;
|
||||
margin-bottom: 30px;
|
||||
border: 1px solid darken(#f6f6f6, 5%);
|
||||
transition: box-shadow .2s;
|
||||
transition: box-shadow .2s ease, border-color .2s ease;
|
||||
text-decoration: none;
|
||||
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
&:hover {
|
||||
border-color: transparent;
|
||||
border-color: white;
|
||||
@include box_shadow(2);
|
||||
}
|
||||
|
||||
@@ -182,7 +186,6 @@ section.forum {
|
||||
color: #000;
|
||||
line-height: 1.3;
|
||||
font-size: 1rem;
|
||||
word-break: break-all;
|
||||
|
||||
@media (min-width: $md) {
|
||||
font-size: 1.1rem;
|
||||
|
||||
@@ -15,6 +15,11 @@
|
||||
@import 'playground';
|
||||
|
||||
|
||||
/**
|
||||
/* Utilities
|
||||
**/
|
||||
@import 'utilities/flexbox';
|
||||
|
||||
/**
|
||||
/* Elements
|
||||
**/
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
/*
|
||||
|
||||
Flexbox
|
||||
|
||||
*/
|
||||
|
||||
.flex { display: flex; }
|
||||
.flex-inline { display: inline-flex; }
|
||||
|
||||
.flex-column { flex-direction: column; }
|
||||
.flex-wrap { flex-wrap: wrap; }
|
||||
|
||||
.items-start { align-items: flex-start; }
|
||||
.items-end { align-items: flex-end; }
|
||||
.items-center { align-items: center; }
|
||||
.items-baseline { align-items: baseline; }
|
||||
.items-stretch { align-items: stretch; }
|
||||
|
||||
.self-start { align-self: flex-start; }
|
||||
.self-end { align-self: flex-end; }
|
||||
.self-center { align-self: center; }
|
||||
.self-baseline { align-self: baseline; }
|
||||
.self-stretch { align-self: stretch; }
|
||||
|
||||
.justify-start { justify-content: flex-start; }
|
||||
.justify-end { justify-content: flex-end; }
|
||||
.justify-center { justify-content: center; }
|
||||
.justify-between { justify-content: space-between; }
|
||||
.justify-around { justify-content: space-around; }
|
||||
|
||||
.content-start { align-content: flex-start; }
|
||||
.content-end { align-content: flex-end; }
|
||||
.content-center { align-content: center; }
|
||||
.content-between { align-content: space-between; }
|
||||
.content-around { align-content: space-around; }
|
||||
.content-stretch { align-content: stretch; }
|
||||
|
||||
.flx-i {
|
||||
flex: 1;
|
||||
}
|
||||
.flx-g0 {
|
||||
flex-grow: 0;
|
||||
}
|
||||
.flx-s0 {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.flx-b0 {
|
||||
flex-basis: 0%;
|
||||
}
|
||||
.flx-g1 {
|
||||
flex-grow: 1;
|
||||
}
|
||||
.flx-s1 {
|
||||
flex-shrink: 1;
|
||||
}
|
||||
.flx-b1 {
|
||||
flex-basis: 100%;
|
||||
}
|
||||
|
||||
/* 1. Fix for Chrome 44 bug. https://code.google.com/p/chromium/issues/detail?id=506893 */
|
||||
.flex-auto {
|
||||
flex: 1 1 auto;
|
||||
min-width: 0; /* 1 */
|
||||
min-height: 0; /* 1 */
|
||||
}
|
||||
|
||||
.flex-none { flex: none; }
|
||||
@@ -1,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.4\build\UmbracoCms.props" Condition="Exists('..\packages\UmbracoCms.7.5.4\build\UmbracoCms.props')" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
@@ -47,16 +47,16 @@
|
||||
<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="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="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.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="businesslogic, Version=1.0.6092.24022, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\businesslogic.dll</HintPath>
|
||||
<Reference Include="businesslogic, Version=1.0.6136.27244, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\lib\businesslogic.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ClientDependency.Core, Version=1.9.1.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
@@ -67,12 +67,12 @@
|
||||
<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.6136.27244, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\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.6136.27246, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\lib\controls.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="CookComputing.XmlRpcV2, Version=2.5.0.0, Culture=neutral, PublicKeyToken=a7d6e17aa302004d, processorArchitecture=MSIL">
|
||||
@@ -83,8 +83,8 @@
|
||||
<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.70.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Examine.0.1.70.0\lib\Examine.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="HtmlAgilityPack, Version=1.4.9.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
|
||||
@@ -95,20 +95,20 @@
|
||||
<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.4.5.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ImageProcessor.2.4.5.0\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.6.6.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ImageProcessor.Web.4.6.6.0\lib\net45\ImageProcessor.Web.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="InfoCaster.Umbraco.UrlTracker, Version=3.11.5900.30099, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UrlTracker.3.11\lib\InfoCaster.Umbraco.UrlTracker.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="interfaces, Version=1.0.6092.24017, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\interfaces.dll</HintPath>
|
||||
<Reference Include="interfaces, Version=1.0.6136.27240, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\lib\interfaces.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="JsonFx, Version=2.0.1209.2802, Culture=neutral, PublicKeyToken=315052dd637f8a52, processorArchitecture=MSIL">
|
||||
@@ -116,7 +116,7 @@
|
||||
<HintPath>..\packages\JsonFx.2.0.1209.2802\lib\net40\JsonFx.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="log4net, Version=1.2.11.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\log4net.dll</HintPath>
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\lib\log4net.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Lucene.Net, Version=2.9.4.1, Culture=neutral, PublicKeyToken=85089178b9ac3181, processorArchitecture=MSIL">
|
||||
@@ -128,7 +128,7 @@
|
||||
<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.4\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">
|
||||
@@ -204,8 +204,8 @@
|
||||
<HintPath>..\packages\semver.1.1.2\lib\net451\Semver.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="SQLCE4Umbraco, Version=1.0.6092.24023, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\SQLCE4Umbraco.dll</HintPath>
|
||||
<Reference Include="SQLCE4Umbraco, Version=1.0.6136.27245, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\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,11 +214,11 @@
|
||||
</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.4\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.4\lib\System.Data.SqlServerCe.Entity.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Net.Http" />
|
||||
@@ -282,47 +282,47 @@
|
||||
<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.4\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="umbraco, Version=1.0.6136.27248, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\lib\umbraco.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.Core, Version=1.0.6136.27241, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\lib\Umbraco.Core.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.DataLayer, Version=1.0.6136.27243, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\lib\umbraco.DataLayer.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.editorControls, Version=1.0.6136.27251, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\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.6136.27252, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\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>
|
||||
<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.6136.27246, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\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.6136.27253, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\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.27245, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\lib\UmbracoExamine.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="UrlRewritingNet.UrlRewriter, Version=2.0.7.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
@@ -4364,10 +4364,11 @@
|
||||
<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\UmbracoCms.7.5.4\build\UmbracoCms.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\UmbracoCms.7.5.4\build\UmbracoCms.props'))" />
|
||||
<Error Condition="!Exists('..\packages\UmbracoCms.7.5.4\build\UmbracoCms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\UmbracoCms.7.5.4\build\UmbracoCms.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\packages\UmbracoCms.7.5.3\build\UmbracoCms.targets" Condition="Exists('..\packages\UmbracoCms.7.5.3\build\UmbracoCms.targets')" />
|
||||
<Import Project="..\packages\UmbracoCms.7.5.4\build\UmbracoCms.targets" Condition="Exists('..\packages\UmbracoCms.7.5.4\build\UmbracoCms.targets')" />
|
||||
<Import Project="..\packages\AutoMapper.3.3.1\tools\AutoMapper.targets" Condition="Exists('..\packages\AutoMapper.3.3.1\tools\AutoMapper.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">
|
||||
|
||||
@@ -10,5 +10,5 @@
|
||||
<h4><a href="?category=@childPage.Name">@childPage.Name</a></h4>
|
||||
</li>
|
||||
}
|
||||
<li><h4><a href="?category=uaas">Umbraco as a Service</a></h4></li>
|
||||
<li><h4><a href="?category=uaas">Umbraco Cloud</a></h4></li>
|
||||
</ul>
|
||||
@@ -22,7 +22,7 @@
|
||||
}
|
||||
if (category != null)
|
||||
{
|
||||
headline = category == "uaas" ? "Umbraco as a Service" : category.ToLowerInvariant();
|
||||
headline = category == "uaas" ? "Umbraco Cloud" : category.ToLowerInvariant();
|
||||
}
|
||||
|
||||
var searchFilters = new SearchFilters(BooleanOperation.And);
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<system.web.webPages.razor>
|
||||
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
|
||||
<pages pageBaseType="System.Web.Mvc.WebViewPage">
|
||||
|
||||
@@ -10,7 +10,7 @@ NOTES:
|
||||
* Compression/Combination/Minification is not enabled unless debug="false" is specified on the 'compiliation' element in the web.config
|
||||
* A new version will invalidate both client and server cache and create new persisted files
|
||||
-->
|
||||
<clientDependency version="1272768233" fileDependencyExtensions=".js,.css" loggerType="Umbraco.Web.UI.CdfLogger, umbraco">
|
||||
<clientDependency version="1837202336" fileDependencyExtensions=".js,.css" loggerType="Umbraco.Web.UI.CdfLogger, umbraco">
|
||||
|
||||
<!--
|
||||
This section is used for Web Forms only, the enableCompositeFiles="true" is optional and by default is set to true.
|
||||
|
||||
@@ -81,6 +81,27 @@ You can unsubscribe from your profile on our.umbraco.org
|
||||
</body>
|
||||
</notification>
|
||||
|
||||
<notification name="MarkAsSolutionReminderSingle"
|
||||
|
||||
assembly="NotificationsCore"
|
||||
|
||||
type="NotificationsCore.NotificationTypes.MarkAsSolutionReminderSingle">
|
||||
|
||||
<subject>Umbraco community: Solution Reminder</subject>
|
||||
|
||||
<body>
|
||||
We noticed that the topic ‘{0}’ you created in the Umbraco Community Forum does not have a post marked as a solution.
|
||||
|
||||
If one of the replies helped answer your question or resolve your issue please mark it as a solution so others can quickly find it.
|
||||
You can view the topic and replies here: {1}
|
||||
|
||||
Thank You from the Umbraco Community!
|
||||
--------------------------------------------------
|
||||
You get this notification because you posted to our forum.
|
||||
You can unsubscribe from your profile on our.umbraco.org
|
||||
</body>
|
||||
|
||||
</notification>
|
||||
</instant>
|
||||
|
||||
</configuration>
|
||||
@@ -39,7 +39,7 @@
|
||||
"view": "textstring",
|
||||
"icon": "icon-quote",
|
||||
"config": {
|
||||
"style": "border-left: 3px solid #ccc; padding: 10px; color: #ccc; font-family: serif; font-variant: italic; font-size: 18px",
|
||||
"style": "border-left: 3px solid #ccc; padding: 10px; color: #ccc; font-family: serif; font-style: italic; font-size: 18px",
|
||||
"markup": "<blockquote>#value#</blockquote>"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="AspNetMvc" version="3.0.20105.1" targetFramework="net4" />
|
||||
<package id="AutoMapper" version="3.0.0" targetFramework="net452" />
|
||||
<package id="AutoMapper" version="3.3.1" targetFramework="net452" />
|
||||
<package id="ClientDependency" version="1.9.1" targetFramework="net452" />
|
||||
<package id="ClientDependency-Mvc" version="1.8.0.0" targetFramework="net451" />
|
||||
<package id="ClientDependency-Mvc5" version="1.8.0.0" targetFramework="net452" />
|
||||
<package id="EasyHttp" version="1.6.29.0" targetFramework="net451" />
|
||||
<package id="Examine" version="0.1.69.0" targetFramework="net452" />
|
||||
<package id="Examine" version="0.1.70.0" targetFramework="net452" />
|
||||
<package id="HtmlAgilityPack" version="1.4.9" targetFramework="net452" />
|
||||
<package id="ImageProcessor" version="2.4.4.0" targetFramework="net452" />
|
||||
<package id="ImageProcessor.Web" version="4.6.4.0" targetFramework="net452" />
|
||||
<package id="ImageProcessor" version="2.4.5.0" targetFramework="net452" />
|
||||
<package id="ImageProcessor.Web" version="4.6.6.0" targetFramework="net452" />
|
||||
<package id="jQuery" version="1.4.1" targetFramework="net451" />
|
||||
<package id="jQuery.Validation" version="1.8" targetFramework="net451" />
|
||||
<package id="jQuery.Validation.Unobtrusive" version="2.0.20710.0" targetFramework="net451" />
|
||||
@@ -51,8 +51,8 @@
|
||||
<package id="System.Collections.Immutable" version="1.1.36" targetFramework="net452" />
|
||||
<package id="System.Reflection.Metadata" version="1.0.21" targetFramework="net452" />
|
||||
<package id="Umbraco.ModelsBuilder" version="3.0.4" targetFramework="net452" />
|
||||
<package id="UmbracoCms" version="7.5.3" targetFramework="net452" />
|
||||
<package id="UmbracoCms.Core" version="7.5.3" targetFramework="net452" />
|
||||
<package id="UmbracoCms" version="7.5.4" targetFramework="net452" />
|
||||
<package id="UmbracoCms.Core" version="7.5.4" targetFramework="net452" />
|
||||
<package id="UmbracoCms.IdentityExtensions" version="1.0.0" targetFramework="net451" />
|
||||
<package id="UmbracoCms.IdentityExtensions.Google" version="1.0.0" targetFramework="net451" />
|
||||
<package id="UrlRewritingNet" version="2.0.7" targetFramework="net452" />
|
||||
|
||||
@@ -12,10 +12,10 @@
|
||||
<div class="umb-media-grid__image-background" ng-if="item.thumbnail || item.extension == 'svg'"></div>
|
||||
|
||||
<!-- Image thumbnail -->
|
||||
<img class="umb-media-grid__item-image" width="{{item.width}}" height="{{item.height}}" ng-if="item.thumbnail" ng-src="{{item.thumbnail}}" alt="{{item.name}}" draggable="false" />
|
||||
<img class="umb-media-grid__item-image" width="{{item.width}}" height="{{item.height}}" ng-if="item.thumbnail" ng-src="{{item.thumbnail}}" alt="{{item.name}}" title="{{item.name}}" draggable="false" />
|
||||
|
||||
<!-- SVG -->
|
||||
<img class="umb-media-grid__item-image" width="{{item.width}}" height="{{item.height}}" ng-if="!item.thumbnail && item.extension == 'svg'" ng-src="{{item.file}}" alt="{{item.name}}" draggable="false" />
|
||||
<img class="umb-media-grid__item-image" width="{{item.width}}" height="{{item.height}}" ng-if="!item.thumbnail && item.extension == 'svg'" ng-src="{{item.file}}" alt="{{item.name}}" title="{{item.name}}" draggable="false" />
|
||||
|
||||
<!-- Transparent image - fallback - used to keep image proportions on wrapper-->
|
||||
<img class="umb-media-grid__item-image-placeholder" ng-if="!item.thumbnail && item.extension != 'svg'" src="assets/img/transparent.png" alt="{{item.name}}" draggable="false" />
|
||||
|
||||
@@ -1,44 +1,95 @@
|
||||
<div class="umb-dashboard-grid" ng-controller="Umbraco.Dashboard.StartUpDynamicContentController as vm">
|
||||
|
||||
<div style="max-width: 1200px">
|
||||
<h3><strong>Welcome to The Friendly CMS</strong></h3>
|
||||
<p style="font-size: 16px; line-height: 1.5; margin-bottom: 30px; max-width: 760px;">Thank you for choosing Umbraco - we think this could be the beginning of something beautiful. While it may feel overwhelming at first, we've done a lot to make the learning curve as smooth and fast as possible:</p>
|
||||
<umb-load-indicator ng-if="vm.loading"></umb-load-indicator>
|
||||
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<a href="http://umbraco.tv/?utm_source=core&utm_medium=dashboard&utm_content=image&utm_campaign=tv" target="_blank" class="nounderline">
|
||||
<img src="views/dashboard/default/umbracotv.png" alt="Umbraco.TV - Hours of Umbraco Video Tutorials" style="margin: 10px 0 10px 0"/>
|
||||
</a>
|
||||
<div class="row clearfix" ng-if="vm.dashboard">
|
||||
<!-- Sections -->
|
||||
<div class="grid-section" ng-repeat="section in vm.dashboard.sections">
|
||||
<div class="{{'span' + section.grid + ' column dash-section'}}">
|
||||
|
||||
<!-- rows -->
|
||||
<div class="row clearfix dash-row" ng-repeat="row in section.rows">
|
||||
<div class="dash-inner-row">
|
||||
|
||||
<!-- areas -->
|
||||
<div ng-repeat="area in row.areas"
|
||||
class="{{'span' + area.grid + ' column dash-area'}}">
|
||||
<div class="dash-inner-area">
|
||||
|
||||
<!-- Controls -->
|
||||
<div ng-repeat="control in area.controls" class="dash-control dash-control-{{control.alias}}">
|
||||
<div class="dash-inner-control">
|
||||
<div ng-bind-html-unsafe="control.html"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Controls end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- Area end -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Section end -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- grid container end -->
|
||||
|
||||
|
||||
<a href="http://umbraco.tv/?utm_source=core&utm_medium=dashboard&utm_content=header&utm_campaign=tv" target="_blank" class="btn-link -underline">
|
||||
<h4> <strong>Umbraco.TV - Learn from the source!</strong> </h4>
|
||||
</a>
|
||||
|
||||
<p style="line-height: 1.5;">
|
||||
Umbraco.TV will help you go from zero to Umbraco
|
||||
hero at a pace that suits you. Our easy to follow
|
||||
online training videos will give you the fundamental
|
||||
knowledge to start building awesome Umbraco websites.
|
||||
<!-- Default content in case we cannot fetch content from the outside -->
|
||||
<div style="max-width: 1200px" ng-if="vm.showDefault">
|
||||
<h3><strong>Welcome to The Friendly CMS</strong></h3>
|
||||
<p style="font-size: 16px; line-height: 1.5; margin-bottom: 30px; max-width: 760px;">
|
||||
<span>Thank you for choosing Umbraco - we think this could be the beginning of something beautiful. While it may feel overwhelming at first, we've done a lot to make the learning curve as smooth and fast as possible.</span>
|
||||
</p>
|
||||
<h4>Find out more:</h4>
|
||||
<ul>
|
||||
<li>Find the answers to your Umbraco questions in <a href="https://our.umbraco.org/documentation/" target="_blank" class="btn-link-underline">our Documentation</a></li>
|
||||
<li>Ask a question in the <a href="https://our.umbraco.org" target="_blank" class="btn-link-underline">Community Forum</a></li>
|
||||
<li>Find <a href="https://our.umbraco.org/projects" target="_blank" class="btn-link-underline">an add-on package</a> to help you get going quickly</li>
|
||||
<li>Watch <a href="https://umbraco.tv" class="btn-link-underline">our tutorial videos</a> (some are free, some require a subscription)</li>
|
||||
<li>Find out about <a href="https://umbraco.com/products-and-support" target="_blank" class="btn-link-underline">our productivity boosting tools and commercial support</a></li>
|
||||
<li>Find out about <a href="https://umbraco.com/products/training" target="_blank" class="btn-link-underline">real-life training and certification opportunities</a></li>
|
||||
</ul>
|
||||
|
||||
<div class="row">
|
||||
<div class="span4">
|
||||
<a href="http://umbraco.tv/?utm_source=core&utm_medium=dashboard&utm_content=image&utm_campaign=tv" target="_blank" class="nounderline">
|
||||
<img src="views/dashboard/default/umbracotv.png" alt="Umbraco.TV - Hours of Umbraco Video Tutorials" style="margin: 10px 0 10px 0" />
|
||||
</a>
|
||||
|
||||
|
||||
<a href="http://umbraco.tv/?utm_source=core&utm_medium=dashboard&utm_content=header&utm_campaign=tv" target="_blank" class="btn-link -underline">
|
||||
<h4> <strong>Umbraco.TV - Learn from the source!</strong> </h4>
|
||||
</a>
|
||||
|
||||
<p style="line-height: 1.5;">
|
||||
Umbraco.TV will help you go from zero to Umbraco
|
||||
hero at a pace that suits you. Our easy to follow
|
||||
online training videos will give you the fundamental
|
||||
knowledge to start building awesome Umbraco websites.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="span4 offset1">
|
||||
|
||||
<a href="http://our.umbraco.org/?utm_source=core&utm_medium=dashboard&utm_content=image&utm_campaign=our" target="_blank" class="nounderline">
|
||||
<img src="views/dashboard/default/ourumbraco.png" alt="Our Umbraco" style="margin: 10px 0 10px 0" />
|
||||
</a>
|
||||
|
||||
<a href="http://our.umbraco.org/?utm_source=core&utm_medium=dashboard&utm_content=header&utm_campaign=our" target="_blank" class="btn-link -underline">
|
||||
<h4><strong>Our Umbraco - The Friendliest Community</strong></h4>
|
||||
</a>
|
||||
|
||||
<p style="line-height: 1.5;">
|
||||
Our Umbraco - the official community site is your one
|
||||
stop for everything Umbraco. Whether you need a
|
||||
question answered or looking for cool plugins, the
|
||||
worlds best community is just a click away.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="span4 offset1">
|
||||
|
||||
<a href="http://our.umbraco.org/?utm_source=core&utm_medium=dashboard&utm_content=image&utm_campaign=our" target="_blank" class="nounderline">
|
||||
<img src="views/dashboard/default/ourumbraco.png" alt="Our Umbraco" style="margin: 10px 0 10px 0"/>
|
||||
</a>
|
||||
|
||||
<a href="http://our.umbraco.org/?utm_source=core&utm_medium=dashboard&utm_content=header&utm_campaign=our" target="_blank" class="btn-link -underline">
|
||||
<h4><strong>Our Umbraco - The Friendliest Community</strong></h4>
|
||||
</a>
|
||||
|
||||
<p style="line-height: 1.5;">
|
||||
Our Umbraco - the official community site is your one
|
||||
stop for everything Umbraco. Whether you need a
|
||||
question answered or looking for cool plugins, the
|
||||
worlds best community is just a click away.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -77,7 +77,7 @@
|
||||
<a class="umb-table-body__link" href="{{redirectUrl.destinationUrl}}" target="_blank" title="{{redirectUrl.destinationUrl}}">{{redirectUrl.destinationUrl}}</a>
|
||||
</div>
|
||||
|
||||
<button type="button" class="umb-era-button -gray umb-button--s" ng-click="vm.removeRedirect(redirectUrl)"><localize key="redirectUrls_removeButton">Remove</localize></button>
|
||||
<button type="button" class="umb-era-button umb-button--s -red" ng-click="vm.removeRedirect(redirectUrl)"><localize key="redirectUrls_removeButton">Remove</localize></button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -199,7 +199,7 @@
|
||||
|
||||
<div class="umb-package-details__information-item" ng-if="vm.package.created">
|
||||
<div class="umb-package-details__information-item-label">Created:</div>
|
||||
<div class="umb-package-details__information-item-content">{{vm.package.created}}</div>
|
||||
<div class="umb-package-details__information-item-content">{{vm.package.created | date:'yyyy-MM-dd HH:mm:ss'}}</div>
|
||||
</div>
|
||||
|
||||
<div class="umb-package-details__information-item" ng-if="vm.package.latestVersion">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<ul class="unstyled">
|
||||
<li ng-repeat="preval in model.prevalues">
|
||||
<label class="checkbox">
|
||||
<input type="radio" ng-model="model.value" value="{{preval}}" /> {{preval}}
|
||||
</label>
|
||||
<label class="checkbox">
|
||||
<input type="radio" ng-model="model.value" value="{{preval.value || preval}}" /> {{preval.label || preval.value || preval}}
|
||||
</label>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -35,17 +35,24 @@
|
||||
<div ng-if="currentSection" style="padding-bottom: 50px;">
|
||||
|
||||
<umb-control-group label="@general_width">
|
||||
<div class="grid-size-scaler" >
|
||||
<div class="grid-size-scaler">
|
||||
<a href ng-click="scaleDown(currentSection)">
|
||||
<i class="icon icon-navigation-down"></i>
|
||||
<i class="icon icon-remove"></i>
|
||||
</a>
|
||||
{{currentSection.grid}}
|
||||
<a href ng-click="scaleUp(currentSection, availableLayoutSpace)">
|
||||
<i class="icon icon-navigation-up"></i>
|
||||
<i class="icon icon-add"></i>
|
||||
</a>
|
||||
</div>
|
||||
</umb-control-group>
|
||||
|
||||
<umb-control-group hide-label="true">
|
||||
<i class="icon-delete red"></i>
|
||||
<a class="btn btn-small btn-link" href="" ng-click="deleteSection(currentSection, currentLayout)">
|
||||
<localize key="general_delete" class="ng-isolate-scope ng-scope">Delete</localize>
|
||||
</a>
|
||||
</umb-control-group>
|
||||
|
||||
|
||||
<umb-control-group hide-label="true">
|
||||
<ul class="unstyled">
|
||||
|
||||
@@ -6,10 +6,15 @@
|
||||
<p><localize key="grid_addRowConfigurationDetail" /></p>
|
||||
|
||||
<div class="alert alert-warn ng-scope" ng-show="nameChanged">
|
||||
Modifying a row configuration name will result in loss of
|
||||
data for any existing content that is based on this configuration.
|
||||
<p>Modifying a row configuration name will result in loss of
|
||||
data for any existing content that is based on this configuration.</p>
|
||||
<p><strong>Modifying only the label will not result in data loss.</strong></p>
|
||||
</div>
|
||||
|
||||
<umb-control-group label="@general_label">
|
||||
<input type="text" ng-model="currentRow.label" placeholder="Overrides name" />
|
||||
</umb-control-group>
|
||||
|
||||
<umb-control-group label="@general_name">
|
||||
<input type="text" ng-model="currentRow.name" />
|
||||
</umb-control-group>
|
||||
@@ -39,19 +44,23 @@
|
||||
<div ng-if="currentCell" style="padding-bottom: 50px;">
|
||||
|
||||
<umb-control-group label="@general_width">
|
||||
<div class="grid-size-scaler" >
|
||||
<div class="grid-size-scaler">
|
||||
<a href ng-click="scaleDown(currentCell)">
|
||||
<i class="icon icon-remove"></i>
|
||||
</a>
|
||||
<div class="grid-size-scaler">
|
||||
<a href ng-click="scaleDown(currentCell)">
|
||||
<i class="icon icon-remove"></i>
|
||||
</a>
|
||||
{{currentCell.grid}}
|
||||
<a href ng-click="scaleUp(currentCell, availableRowSpace, true)">
|
||||
<i class="icon icon-add"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<a href ng-click="scaleUp(currentCell, availableRowSpace, true)">
|
||||
<i class="icon icon-add"></i>
|
||||
</a>
|
||||
</div>
|
||||
</umb-control-group>
|
||||
|
||||
<umb-control-group hide-label="true">
|
||||
<i class="icon-delete red"></i>
|
||||
<a class="btn btn-small btn-link" href="" ng-click="deleteArea(currentCell, currentRow)">
|
||||
<localize key="general_delete" class="ng-isolate-scope ng-scope">Delete</localize>
|
||||
</a>
|
||||
</umb-control-group>
|
||||
|
||||
<umb-control-group hide-label="true">
|
||||
<ul class="unstyled">
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
<div class="umb-row-title-bar">
|
||||
|
||||
<div class=".umb-grid-right">
|
||||
<div class="umb-row-title">{{row.name}}</div>
|
||||
<div class="umb-row-title">{{row.label || row.name}}</div>
|
||||
|
||||
<div class="umb-grid-has-config" ng-if="row.hasConfig && !sortMode">
|
||||
<localize key="grid_settingsApplied" />
|
||||
@@ -282,7 +282,7 @@
|
||||
<div class="preview-overlay">
|
||||
</div>
|
||||
|
||||
<small>{{layout.name}}</small>
|
||||
<small>{{layout.label || layout.name}}</small>
|
||||
|
||||
</div> <!-- .templates-preview-rows -->
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
</div>
|
||||
|
||||
<div>
|
||||
{{layout.name}}<br />
|
||||
{{layout.label || layout.name}}<br />
|
||||
<i class="icon-delete red"></i>
|
||||
<a class="btn btn-small btn-link" href ng-click="deleteLayout($index)">
|
||||
<localize key="general_delete" />
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
center="model.value.focalPoint"
|
||||
on-image-loaded="imageLoaded">
|
||||
</umb-image-gravity>
|
||||
<a href class="btn btn-link btn-crop-delete" ng-show="imageIsLoaded" ng-click="clear()"><i class="icon-delete red"></i> <localize key="content_uploadClear">Remove file</localize></a>
|
||||
<a href class="btn btn-link btn-crop-delete" ng-click="clear()"><i class="icon-delete red"></i> <localize key="content_uploadClear">Remove file</localize></a>
|
||||
</div>
|
||||
|
||||
<ul class="umb-sortable-thumbnails cropList clearfix">
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
<li style="width: 120px; height: 100px; overflow: hidden;" ng-repeat="image in images">
|
||||
|
||||
<!-- IMAGE -->
|
||||
<img ng-src="{{image.thumbnail}}" alt="" ng-show="image.thumbnail" />
|
||||
<img ng-src="{{image.thumbnail}}" alt="" ng-show="image.thumbnail" title="{{image.name}}" />
|
||||
|
||||
<!-- SVG -->
|
||||
<img ng-if="image.metaData.umbracoExtension.Value === 'svg'" ng-src="{{image.metaData.umbracoFile.Value}}" alt="" />
|
||||
<img ng-if="image.metaData.umbracoExtension.Value === 'svg'" ng-src="{{image.metaData.umbracoFile.Value}}" alt="" title="{{image.name}}" />
|
||||
<img ng-if="image.extension === 'svg'" ng-src="{{image.file}}" alt="" />
|
||||
|
||||
<!-- FILE -->
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -147,9 +147,9 @@
|
||||
<key alias="nodeName">Page Title</key>
|
||||
<key alias="otherElements">Properties</key>
|
||||
<key alias="parentNotPublished">This document is published but is not visible because the parent '%0%' is unpublished</key>
|
||||
<key alias="parentNotPublishedAnomaly">Oops: this document is published but is not in the cache (internal error - see log)</key>
|
||||
<key alias="getUrlException">Oops: could not get the url (internal error - see log)</key>
|
||||
<key alias="routeError">Oops: this document is published but its url would collide with content %0%</key>
|
||||
<key alias="parentNotPublishedAnomaly">This document is published but is not in the cache</key>
|
||||
<key alias="getUrlException">Could not get the url</key>
|
||||
<key alias="routeError">This document is published but its url would collide with content %0%</key>
|
||||
<key alias="publish">Publish</key>
|
||||
<key alias="publishStatus">Publication Status</key>
|
||||
<key alias="releaseDate">Publish at</key>
|
||||
@@ -1356,6 +1356,7 @@ To manage your website, simply open the Umbraco back office and start adding con
|
||||
<key alias="xmlDataIntegrityCheckMedia">Media - Total XML: %0%, Total: %1%, Total invalid %2%</key>
|
||||
<key alias="xmlDataIntegrityCheckContent">Content - Total XML: %0%, Total published: %1%, Total invalid %2%</key>
|
||||
|
||||
<key alias="httpsCheckValidCertificate">Your site certificate was marked as valid.</key>
|
||||
<key alias="httpsCheckInvalidCertificate">Certificate validation error: '%0%'</key>
|
||||
<key alias="httpsCheckInvalidUrl">Error pinging the URL %0% - '%1%'</key>
|
||||
<key alias="httpsCheckIsCurrentSchemeHttps">You are currently %0% viewing the site using the HTTPS scheme.</key>
|
||||
|
||||
@@ -148,9 +148,9 @@
|
||||
<key alias="nodeName">Page Title</key>
|
||||
<key alias="otherElements">Properties</key>
|
||||
<key alias="parentNotPublished">This document is published but is not visible because the parent '%0%' is unpublished</key>
|
||||
<key alias="parentNotPublishedAnomaly">Oops: this document is published but is not in the cache (internal error - see log)</key>
|
||||
<key alias="getUrlException">Oops: could not get the url (internal error - see log)</key>
|
||||
<key alias="routeError">Oops: this document is published but its url would collide with content %0%</key>
|
||||
<key alias="parentNotPublishedAnomaly">This document is published but is not in the cache</key>
|
||||
<key alias="getUrlException">Could not get the url</key>
|
||||
<key alias="routeError">This document is published but its url would collide with content %0%</key>
|
||||
<key alias="publish">Publish</key>
|
||||
<key alias="publishStatus">Publication Status</key>
|
||||
<key alias="releaseDate">Publish at</key>
|
||||
@@ -460,6 +460,7 @@
|
||||
<key alias="install">Install</key>
|
||||
<key alias="invalid">Invalid</key>
|
||||
<key alias="justify">Justify</key>
|
||||
<key alias="label">Label</key>
|
||||
<key alias="language">Language</key>
|
||||
<key alias="layout">Layout</key>
|
||||
<key alias="loading">Loading</key>
|
||||
@@ -1360,6 +1361,7 @@ To manage your website, simply open the Umbraco back office and start adding con
|
||||
<key alias="xmlDataIntegrityCheckMedia">Media - Total XML: %0%, Total: %1%, Total invalid: %2%</key>
|
||||
<key alias="xmlDataIntegrityCheckContent">Content - Total XML: %0%, Total published: %1%, Total invalid: %2%</key>
|
||||
|
||||
<key alias="httpsCheckValidCertificate">Your site certificate was marked as valid.</key>
|
||||
<key alias="httpsCheckInvalidCertificate">Certificate validation error: '%0%'</key>
|
||||
<key alias="httpsCheckInvalidUrl">Error pinging the URL %0% - '%1%'</key>
|
||||
<key alias="httpsCheckIsCurrentSchemeHttps">You are currently %0% viewing the site using the HTTPS scheme.</key>
|
||||
|
||||
@@ -499,6 +499,7 @@
|
||||
<key alias="install">Установить</key>
|
||||
<key alias="invalid">Неверно</key>
|
||||
<key alias="justify">Выравнивание</key>
|
||||
<key alias="label">Название</key>
|
||||
<key alias="language">Язык</key>
|
||||
<key alias="layout">Макет</key>
|
||||
<key alias="loading">Загрузка</key>
|
||||
@@ -654,6 +655,7 @@
|
||||
<key alias="xmlDataIntegrityCheckMedia">Медиа - всего в XML: %0%, всего: %1%Б с ошибками: %2%</key>
|
||||
<key alias="xmlDataIntegrityCheckContent">Содержимое - всего в XML: %0%, всего опубликовано: %1%, с ошибками: %2%</key>
|
||||
|
||||
<key alias="httpsCheckValidCertificate">Сертификат Вашего сайта отмечен как проверенный.</key>
|
||||
<key alias="httpsCheckInvalidCertificate">Ошибка проверки сертификата: '%0%'</key>
|
||||
<key alias="httpsCheckInvalidUrl">Ошибка проверки адреса URL %0% - '%1%'</key>
|
||||
<key alias="httpsCheckIsCurrentSchemeHttps">Сейчас Вы %0% просматриваете сайт, используя протокол HTTPS.</key>
|
||||
@@ -1065,6 +1067,23 @@
|
||||
Чтобы опубликовать ранее неопубликованные документы среди дочерних, отметьте опцию <em>Включая неопубликованные дочерние документы</em>.
|
||||
]]></key>
|
||||
</area>
|
||||
<area alias="redirectUrls">
|
||||
<key alias="disableUrlTracker">Остановить отслеживание URL</key>
|
||||
<key alias="enableUrlTracker">Запустить отслеживание URL</key>
|
||||
<key alias="originalUrl">Первоначальный URL</key>
|
||||
<key alias="redirectedTo">Перенаправлен в</key>
|
||||
<key alias="noRedirects">На данный момент нет ни одного перенаправления</key>
|
||||
<key alias="noRedirectsDescription">Если опубликованный документ переименовывается или меняет свое расположение в дереве, а следовательно, меняется адрес (URL), автоматически создается перенаправление на новое местоположение этого документа.</key>
|
||||
<key alias="removeButton">Удалить</key>
|
||||
<key alias="confirmRemove">Вы уверены, что хотите удалить перенаправление с '%0%' на '%1%'?</key>
|
||||
<key alias="redirectRemoved">Перенаправление удалено.</key>
|
||||
<key alias="redirectRemoveError">Ошибка удаления перенаправления.</key>
|
||||
<key alias="confirmDisable">Вы уверены, что хотите остановить отслеживание URL?</key>
|
||||
<key alias="disabledConfirm">Отслеживание URL в настоящий момент остановлено.</key>
|
||||
<key alias="disableError">Ошибка остановки отслеживания URL, более подробные сведения находятся в системном журнале.</key>
|
||||
<key alias="enabledConfirm">Отслеживание URL в настоящий момент запущено.</key>
|
||||
<key alias="enableError">Ошибка запуска отслеживания URL, более подробные сведения находятся в системном журнале.</key>
|
||||
</area>
|
||||
<area alias="relatedlinks">
|
||||
<key alias="caption">Заголовок</key>
|
||||
<key alias="captionPlaceholder">Укажите заголовок</key>
|
||||
|
||||
@@ -108,16 +108,14 @@
|
||||
</div>
|
||||
</asp:PlaceHolder>
|
||||
|
||||
<asp:PlaceHolder ID="SaveAndCancelPlaceholder" runat="server">
|
||||
<br />
|
||||
<p>
|
||||
<div class="btn-toolbar umb-btn-toolbar">
|
||||
<asp:PlaceHolder ID="SaveAndCancelPlaceholder" runat="server">
|
||||
<a href="#" class="btn btn-link" onclick="UmbClientMgr.closeModalWindow()"><%=umbraco.ui.Text("cancel")%></a>
|
||||
<asp:PlaceHolder ID="SavePlaceholder" runat="server">
|
||||
<asp:Button ID="ValidateAndSave" runat="server" OnClick="ValidateAndSave_Click" />
|
||||
<em> <%= umbraco.ui.Text("or") %> </em>
|
||||
<asp:Button ID="ValidateAndSave" runat="server" CssClass="btn btn-primary" Text="Create" OnClick="ValidateAndSave_Click"></asp:Button>
|
||||
</asp:PlaceHolder>
|
||||
<a href="#" style="color: blue" onclick="UmbClientMgr.closeModalWindow()"><%=umbraco.ui.Text("general", "cancel", Security.CurrentUser)%></a>
|
||||
</p>
|
||||
</asp:PlaceHolder>
|
||||
</asp:Placeholder>
|
||||
</div>
|
||||
|
||||
</asp:Content>
|
||||
|
||||
@@ -5322,9 +5322,42 @@ function startUpVideosDashboardController($scope, xmlhelper, $log, $http) {
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
angular.module("umbraco").controller("Umbraco.Dashboard.StartupVideosController", startUpVideosDashboardController);
|
||||
|
||||
|
||||
function startUpDynamicContentController(dashboardResource, assetsService) {
|
||||
var vm = this;
|
||||
vm.loading = true;
|
||||
vm.showDefault = false;
|
||||
|
||||
//proxy remote css through the local server
|
||||
assetsService.loadCss( dashboardResource.getRemoteDashboardCssUrl("content") );
|
||||
dashboardResource.getRemoteDashboardContent("content").then(
|
||||
function (data) {
|
||||
|
||||
vm.loading = false;
|
||||
|
||||
//test if we have received valid data
|
||||
//we capture it like this, so we avoid UI errors - which automatically triggers ui based on http response code
|
||||
if (data && data.sections) {
|
||||
vm.dashboard = data;
|
||||
} else{
|
||||
vm.showDefault = true;
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
function (exception) {
|
||||
console.error(exception);
|
||||
vm.loading = false;
|
||||
vm.showDefault = true;
|
||||
});
|
||||
}
|
||||
|
||||
angular.module("umbraco").controller("Umbraco.Dashboard.StartUpDynamicContentController", startUpDynamicContentController);
|
||||
|
||||
|
||||
function FormsController($scope, $route, $cookieStore, packageResource, localizationService) {
|
||||
$scope.installForms = function(){
|
||||
$scope.state = localizationService.localize("packager_installStateDownloading");
|
||||
@@ -5500,27 +5533,43 @@ function startupLatestEditsController($scope) {
|
||||
}
|
||||
angular.module("umbraco").controller("Umbraco.Dashboard.StartupLatestEditsController", startupLatestEditsController);
|
||||
|
||||
function MediaFolderBrowserDashboardController($rootScope, $scope, contentTypeResource) {
|
||||
function MediaFolderBrowserDashboardController($rootScope, $scope, $location, contentTypeResource, userService) {
|
||||
|
||||
//get the system media listview
|
||||
contentTypeResource.getPropertyTypeScaffold(-96)
|
||||
.then(function(dt) {
|
||||
var currentUser = {};
|
||||
|
||||
$scope.fakeProperty = {
|
||||
alias: "contents",
|
||||
config: dt.config,
|
||||
description: "",
|
||||
editor: dt.editor,
|
||||
hideLabel: true,
|
||||
id: 1,
|
||||
label: "Contents:",
|
||||
validation: {
|
||||
mandatory: false,
|
||||
pattern: null
|
||||
},
|
||||
value: "",
|
||||
view: dt.view
|
||||
};
|
||||
userService.getCurrentUser().then(function (user) {
|
||||
|
||||
currentUser = user;
|
||||
|
||||
// check if the user start node is the dashboard
|
||||
if(currentUser.startMediaId === -1) {
|
||||
|
||||
//get the system media listview
|
||||
contentTypeResource.getPropertyTypeScaffold(-96)
|
||||
.then(function(dt) {
|
||||
|
||||
$scope.fakeProperty = {
|
||||
alias: "contents",
|
||||
config: dt.config,
|
||||
description: "",
|
||||
editor: dt.editor,
|
||||
hideLabel: true,
|
||||
id: 1,
|
||||
label: "Contents:",
|
||||
validation: {
|
||||
mandatory: false,
|
||||
pattern: null
|
||||
},
|
||||
value: "",
|
||||
view: dt.view
|
||||
};
|
||||
|
||||
});
|
||||
|
||||
} else {
|
||||
// redirect to start node
|
||||
$location.path("/media/media/edit/" + currentUser.startMediaId);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
@@ -11112,7 +11161,7 @@ angular.module("umbraco")
|
||||
};
|
||||
|
||||
$scope.scaleDown = function(section){
|
||||
var remove = (section.grid > 1) ? 1 : section.grid;
|
||||
var remove = (section.grid > 1) ? 1 : 0;
|
||||
section.grid = section.grid-remove;
|
||||
};
|
||||
|
||||
@@ -11145,9 +11194,12 @@ angular.module("umbraco")
|
||||
$scope.currentSection = section;
|
||||
};
|
||||
|
||||
|
||||
$scope.deleteSection = function(index){
|
||||
$scope.currentTemplate.sections.splice(index, 1);
|
||||
$scope.deleteSection = function(section, template) {
|
||||
if ($scope.currentSection === section) {
|
||||
$scope.currentSection = undefined;
|
||||
}
|
||||
var index = template.sections.indexOf(section)
|
||||
template.sections.splice(index, 1);
|
||||
};
|
||||
|
||||
$scope.closeSection = function(){
|
||||
@@ -11182,7 +11234,7 @@ function RowConfigController($scope) {
|
||||
};
|
||||
|
||||
$scope.scaleDown = function(section) {
|
||||
var remove = (section.grid > 1) ? 1 : section.grid;
|
||||
var remove = (section.grid > 1) ? 1 : 0;
|
||||
section.grid = section.grid - remove;
|
||||
};
|
||||
|
||||
@@ -11226,9 +11278,14 @@ function RowConfigController($scope) {
|
||||
}
|
||||
};
|
||||
|
||||
$scope.deleteArea = function(index) {
|
||||
$scope.currentRow.areas.splice(index, 1);
|
||||
$scope.deleteArea = function (cell, row) {
|
||||
if ($scope.currentCell === cell) {
|
||||
$scope.currentCell = undefined;
|
||||
}
|
||||
var index = row.areas.indexOf(cell)
|
||||
row.areas.splice(index, 1);
|
||||
};
|
||||
|
||||
$scope.closeArea = function() {
|
||||
$scope.currentCell = undefined;
|
||||
};
|
||||
@@ -11852,6 +11909,37 @@ angular.module("umbraco")
|
||||
}
|
||||
};
|
||||
|
||||
var shouldApply = function(item, itemType, gridItem) {
|
||||
if (item.applyTo === undefined || item.applyTo === null || item.applyTo === "") {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (typeof (item.applyTo) === "string") {
|
||||
return item.applyTo === itemType;
|
||||
}
|
||||
|
||||
if (itemType === "row") {
|
||||
if (item.applyTo.row === undefined) {
|
||||
return false;
|
||||
}
|
||||
if (item.applyTo.row === null || item.applyTo.row === "") {
|
||||
return true;
|
||||
}
|
||||
var rows = item.applyTo.row.split(',');
|
||||
return _.indexOf(rows, gridItem.name) !== -1;
|
||||
} else if (itemType === "cell") {
|
||||
if (item.applyTo.cell === undefined) {
|
||||
return false;
|
||||
}
|
||||
if (item.applyTo.cell === null || item.applyTo.cell === "") {
|
||||
return true;
|
||||
}
|
||||
var cells = item.applyTo.cell.split(',');
|
||||
var cellSize = gridItem.grid.toString();
|
||||
return _.indexOf(cells, cellSize) !== -1;
|
||||
}
|
||||
}
|
||||
|
||||
$scope.editGridItemSettings = function (gridItem, itemType) {
|
||||
|
||||
placeHolder = "{0}";
|
||||
@@ -11861,8 +11949,8 @@ angular.module("umbraco")
|
||||
styles = null;
|
||||
config = angular.copy(gridItem.editor.config.settings);
|
||||
} else {
|
||||
styles = _.filter(angular.copy($scope.model.config.items.styles), function (item) { return (item.applyTo === undefined || item.applyTo === itemType); });
|
||||
config = _.filter(angular.copy($scope.model.config.items.config), function (item) { return (item.applyTo === undefined || item.applyTo === itemType); });
|
||||
styles = _.filter(angular.copy($scope.model.config.items.styles), function (item) { return shouldApply(item, itemType, gridItem); });
|
||||
config = _.filter(angular.copy($scope.model.config.items.config), function (item) { return shouldApply(item, itemType, gridItem); });
|
||||
}
|
||||
|
||||
if(angular.isObject(gridItem.config)){
|
||||
@@ -12437,6 +12525,7 @@ angular.module("umbraco")
|
||||
|
||||
layouts:[
|
||||
{
|
||||
label: "Headline",
|
||||
name: "Headline",
|
||||
areas: [
|
||||
{
|
||||
@@ -12446,6 +12535,7 @@ angular.module("umbraco")
|
||||
]
|
||||
},
|
||||
{
|
||||
label: "Article",
|
||||
name: "Article",
|
||||
areas: [
|
||||
{
|
||||
@@ -12809,7 +12899,7 @@ angular.module('umbraco')
|
||||
//NOTE: The 'entity' can be either a normal media entity or an "entity" returned from the entityResource
|
||||
// they contain different data structures so if we need to query against it we need to be aware of this.
|
||||
mediaHelper.registerFileResolver("Umbraco.ImageCropper", function (property, entity, thumbnail) {
|
||||
if (property.value.src) {
|
||||
if (property.value && property.value.src) {
|
||||
|
||||
if (thumbnail === true) {
|
||||
return property.value.src + "?width=500&mode=max&animationprocessmode=first";
|
||||
|
||||
@@ -4275,9 +4275,13 @@ angular.module("umbraco.directives")
|
||||
$timeout(function(){
|
||||
setDimensions();
|
||||
});
|
||||
var offsetX = $overlay[0].offsetLeft;
|
||||
var offsetY = $overlay[0].offsetTop;
|
||||
calculateGravity(offsetX, offsetY);
|
||||
// Make sure we can find the offset values for the overlay(dot) before calculating
|
||||
// fixes issue with resize event when printing the page (ex. hitting ctrl+p inside the rte)
|
||||
if($overlay.is(':visible')) {
|
||||
var offsetX = $overlay[0].offsetLeft;
|
||||
var offsetY = $overlay[0].offsetTop;
|
||||
calculateGravity(offsetX, offsetY);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
@@ -5338,6 +5342,8 @@ angular.module("umbraco.directives")
|
||||
var curr = $(event.target); // active tab
|
||||
var prev = $(event.relatedTarget); // previous tab
|
||||
|
||||
$scope.$apply();
|
||||
|
||||
for (var c in callbacks) {
|
||||
callbacks[c].apply(this, [{current: curr, previous: prev}]);
|
||||
}
|
||||
|
||||
@@ -1389,7 +1389,6 @@ function dashboardResource($q, $http, umbRequestHelper) {
|
||||
*
|
||||
*/
|
||||
getDashboard: function (section) {
|
||||
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.get(
|
||||
umbRequestHelper.getApiUrl(
|
||||
@@ -1397,7 +1396,53 @@ function dashboardResource($q, $http, umbRequestHelper) {
|
||||
"GetDashboard",
|
||||
[{ section: section }])),
|
||||
'Failed to get dashboard ' + section);
|
||||
},
|
||||
|
||||
/**
|
||||
* @ngdoc method
|
||||
* @name umbraco.resources.dashboardResource#getRemoteDashboardContent
|
||||
* @methodOf umbraco.resources.dashboardResource
|
||||
*
|
||||
* @description
|
||||
* Retrieves dashboard content from a remote source for a given section
|
||||
*
|
||||
* @param {string} section Alias of section to retrieve dashboard content for
|
||||
* @returns {Promise} resourcePromise object containing the user array.
|
||||
*
|
||||
*/
|
||||
getRemoteDashboardContent: function (section, baseurl) {
|
||||
|
||||
//build request values with optional params
|
||||
var values = [{ section: section }];
|
||||
if (baseurl)
|
||||
{
|
||||
values.push({ baseurl: baseurl });
|
||||
}
|
||||
|
||||
return umbRequestHelper.resourcePromise(
|
||||
$http.get(
|
||||
umbRequestHelper.getApiUrl(
|
||||
"dashboardApiBaseUrl",
|
||||
"GetRemoteDashboardContent",
|
||||
values)), "Failed to get dashboard content");
|
||||
},
|
||||
|
||||
getRemoteDashboardCssUrl: function (section, baseurl) {
|
||||
|
||||
//build request values with optional params
|
||||
var values = [{ section: section }];
|
||||
if (baseurl) {
|
||||
values.push({ baseurl: baseurl });
|
||||
}
|
||||
|
||||
return umbRequestHelper.getApiUrl(
|
||||
"dashboardApiBaseUrl",
|
||||
"GetRemoteDashboardCss",
|
||||
values);
|
||||
}
|
||||
|
||||
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -17,6 +17,8 @@ angular.module('umbraco.security.retryQueue', [])
|
||||
.factory('securityRetryQueue', ['$q', '$log', function ($q, $log) {
|
||||
|
||||
var retryQueue = [];
|
||||
var retryUser = null;
|
||||
|
||||
var service = {
|
||||
// The security service puts its own handler in here!
|
||||
onItemAddedCallbacks: [],
|
||||
@@ -35,13 +37,20 @@ angular.module('umbraco.security.retryQueue', [])
|
||||
}
|
||||
});
|
||||
},
|
||||
pushRetryFn: function(reason, retryFn) {
|
||||
pushRetryFn: function(reason, userName, retryFn) {
|
||||
// The reason parameter is optional
|
||||
if ( arguments.length === 1) {
|
||||
retryFn = reason;
|
||||
if ( arguments.length === 2) {
|
||||
retryFn = userName;
|
||||
userName = reason;
|
||||
reason = undefined;
|
||||
}
|
||||
|
||||
if ((retryUser && retryUser !== userName) || userName === null) {
|
||||
throw new Error('invalid user');
|
||||
}
|
||||
|
||||
retryUser = userName;
|
||||
|
||||
// The deferred object that will be resolved or rejected by calling retry or cancel
|
||||
var deferred = $q.defer();
|
||||
var retryItem = {
|
||||
@@ -71,8 +80,19 @@ angular.module('umbraco.security.retryQueue', [])
|
||||
while(service.hasMore()) {
|
||||
retryQueue.shift().cancel();
|
||||
}
|
||||
retryUser = null;
|
||||
},
|
||||
retryAll: function() {
|
||||
retryAll: function (userName) {
|
||||
|
||||
if (retryUser == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (retryUser !== userName) {
|
||||
service.cancelAll();
|
||||
return;
|
||||
}
|
||||
|
||||
while(service.hasMore()) {
|
||||
retryQueue.shift().retry();
|
||||
}
|
||||
@@ -118,10 +138,17 @@ angular.module('umbraco.security.interceptor')
|
||||
//A 401 means that the user is not logged in
|
||||
if (originalResponse.status === 401) {
|
||||
|
||||
// The request bounced because it was not authorized - add a new request to the retry queue
|
||||
promise = queue.pushRetryFn('unauthorized-server', function retryRequest() {
|
||||
var userService = $injector.get('userService'); // see above
|
||||
|
||||
//Associate the user name with the retry to ensure we retry for the right user
|
||||
promise = userService.getCurrentUser()
|
||||
.then(function (user) {
|
||||
var userName = user ? user.name : null;
|
||||
//The request bounced because it was not authorized - add a new request to the retry queue
|
||||
return queue.pushRetryFn('unauthorized-server', userName, function retryRequest() {
|
||||
// We must use $injector to get the $http service to prevent circular dependency
|
||||
return $injector.get('$http')(originalResponse.config);
|
||||
});
|
||||
});
|
||||
}
|
||||
else if (originalResponse.status === 404) {
|
||||
|
||||
@@ -2195,7 +2195,7 @@ angular.module('umbraco.services')
|
||||
* @description
|
||||
* Opens a content picker tree in a modal, the callback returns an array of selected documents
|
||||
* @param {Object} options content picker dialog options object
|
||||
* @param {Boolean} options.multipicker should the picker return one or multiple items
|
||||
* @param {Boolean} options.multiPicker should the picker return one or multiple items
|
||||
* @param {Function} options.callback callback function
|
||||
* @returns {Object} modal object
|
||||
*/
|
||||
@@ -8512,7 +8512,7 @@ angular.module('umbraco.services')
|
||||
loginDialog = null;
|
||||
|
||||
if (success) {
|
||||
securityRetryQueue.retryAll();
|
||||
securityRetryQueue.retryAll(currentUser.name);
|
||||
}
|
||||
else {
|
||||
securityRetryQueue.cancelAll();
|
||||
|
||||
@@ -68,7 +68,7 @@ angular.module('umbraco.mocks').
|
||||
"view": "textstring",
|
||||
"icon": "icon-quote",
|
||||
"config": {
|
||||
"style": "border-left: 3px solid #ccc; padding: 10px; color: #ccc; font-family: serif; font-variant: italic; font-size: 18px",
|
||||
"style": "border-left: 3px solid #ccc; padding: 10px; color: #ccc; font-family: serif; font-style: italic; font-size: 18px",
|
||||
"markup": "<blockquote>#value#</blockquote>"
|
||||
}
|
||||
}
|
||||
@@ -1486,7 +1486,7 @@ angular.module('umbraco.mocks').
|
||||
"content_nodeName": "Page Title",
|
||||
"content_otherElements": "Properties",
|
||||
"content_parentNotPublished": "This document is published but is not visible because the parent '%0%' is unpublished",
|
||||
"content_parentNotPublishedAnomaly": "Oops: this document is published but is not in the cache (internal error)",
|
||||
"content_parentNotPublishedAnomaly": "This document is published but is not in the cache",
|
||||
"content_publish": "Publish",
|
||||
"content_publishStatus": "Publication Status",
|
||||
"content_releaseDate": "Publish at",
|
||||
|
||||
@@ -389,12 +389,12 @@ Umbraco.Sys.registerNamespace("Umbraco.Controls");
|
||||
processData: false,
|
||||
success: function (data, textStatus) {
|
||||
if (textStatus == "error") {
|
||||
alert("Oops. Could not update sort order");
|
||||
alert("Could not update sort order");
|
||||
self._getChildNodes();
|
||||
}
|
||||
},
|
||||
error: function(data) {
|
||||
alert("Oops. Could not update sort order. Err: " + data.statusText);
|
||||
alert("Could not update sort order. Err: " + data.statusText);
|
||||
self._getChildNodes();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -37,9 +37,9 @@
|
||||
Umbraco web.config configuration documentation can be found here:
|
||||
http://our.umbraco.org/documentation/using-umbraco/config-files/#webconfig
|
||||
-->
|
||||
<add key="umbracoConfigurationStatus" value="7.5.3" />
|
||||
<add key="umbracoConfigurationStatus" value="7.5.4" />
|
||||
<add key="umbracoReservedUrls" value="~/config/splashes/booting.aspx,~/install/default.aspx,~/config/splashes/noNodes.aspx,~/Hiccup.aspx,~/signalR,~/VSEnterpriseHelper.axd" />
|
||||
<add key="umbracoReservedPaths" value="~/umbraco,~/install/,~/communityLogoGenerator,~/adhoc,~/signalR,~/apidocs" />
|
||||
<add key="umbracoReservedPaths" value="~/umbraco,~/install/,~/communityLogoGenerator,~/adhoc,~/signalR,~/apidocs,~/hangfire" />
|
||||
<add key="umbracoContentXML" value="~/App_Data/umbraco.config" />
|
||||
<add key="umbracoStorageDirectory" value="~/App_Data" />
|
||||
<add key="umbracoPath" value="~/umbraco" />
|
||||
@@ -310,7 +310,7 @@
|
||||
<providers>
|
||||
<remove name="MySqlSiteMapProvider" />
|
||||
</providers>
|
||||
</siteMap>
|
||||
</siteMap>
|
||||
</system.web>
|
||||
<!-- ASPNETAJAX -->
|
||||
<system.web.extensions>
|
||||
@@ -403,9 +403,9 @@
|
||||
|
||||
<!-- Increase the default upload file size limit -->
|
||||
<security>
|
||||
<requestFiltering>
|
||||
<requestLimits maxAllowedContentLength="52428800" />
|
||||
</requestFiltering>
|
||||
<requestFiltering>
|
||||
<requestLimits maxAllowedContentLength="52428800" />
|
||||
</requestFiltering>
|
||||
</security>
|
||||
|
||||
<rewrite>
|
||||
@@ -451,11 +451,19 @@
|
||||
</rule>
|
||||
<rule name="UaaSGeneralForum" patternSyntax="Wildcard">
|
||||
<match url="forum/umbraco-as-a-service/general-questions/*" />
|
||||
<action type="Redirect" url="forum/umbraco-as-a-service/{R:1}" redirectType="Permanent" appendQueryString="true" />
|
||||
<action type="Redirect" url="forum/umbraco-cloud/{R:1}" redirectType="Permanent" appendQueryString="true" />
|
||||
</rule>
|
||||
<rule name="UaaSIssuesForum" patternSyntax="Wildcard">
|
||||
<match url="forum/umbraco-as-a-service/issues/*" />
|
||||
<action type="Redirect" url="forum/umbraco-as-a-service/{R:1}" redirectType="Permanent" appendQueryString="true" />
|
||||
<action type="Redirect" url="forum/umbraco-cloud/{R:1}" redirectType="Permanent" appendQueryString="true" />
|
||||
</rule>
|
||||
<rule name="UCloudForum" patternSyntax="Wildcard">
|
||||
<match url="forum/umbraco-as-a-service/*" />
|
||||
<action type="Redirect" url="forum/umbraco-cloud/{R:1}" redirectType="Permanent" appendQueryString="true" />
|
||||
</rule>
|
||||
<rule name="UCloudDocs" patternSyntax="Wildcard">
|
||||
<match url="Documentation/Umbraco-as-a-Service/*" />
|
||||
<action type="Redirect" url="Documentation/Umbraco-Cloud/{R:1}" redirectType="Permanent" appendQueryString="true" />
|
||||
</rule>
|
||||
<rule name="RedirectRepoSearch" patternSyntax="Wildcard">
|
||||
<match url="umbraco/api/Search/FindProjects/*" />
|
||||
@@ -554,7 +562,10 @@
|
||||
<assemblyIdentity name="System.Web.WebPages.Razor" publicKeyToken="31bf3856ad364e35" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
|
||||
</dependentAssembly>
|
||||
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="AutoMapper" publicKeyToken="be96cd2c38ef1005" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-3.3.1.0" newVersion="3.3.1.0" />
|
||||
</dependentAssembly>
|
||||
<!-- Ensure correct version of HtmlAgilityPack -->
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="HtmlAgilityPack" publicKeyToken="bd319b19eaf3b43a" culture="neutral" />
|
||||
|
||||
@@ -263,7 +263,7 @@ namespace OurUmbraco.Documentation.Busineslogic.GithubSourcePull
|
||||
case "umbracoforms":
|
||||
return 0;
|
||||
|
||||
//Umbraco as a Service
|
||||
//Umbraco Cloud
|
||||
case "getting-started":
|
||||
return 0;
|
||||
case "set-up":
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Net.Mail;
|
||||
using System.Web.Hosting;
|
||||
using System.Xml;
|
||||
using OurUmbraco.Forum.Services;
|
||||
using OurUmbraco.NotificationsWeb;
|
||||
using Umbraco.Core;
|
||||
using Umbraco.Core.Logging;
|
||||
using Umbraco.Core.Persistence;
|
||||
using Umbraco.Web;
|
||||
using Umbraco.Web.Security;
|
||||
|
||||
namespace OurUmbraco.NotificationsCore.Notifications
|
||||
{
|
||||
public class MarkAsSolutionReminder
|
||||
{
|
||||
private readonly XmlNode _details;
|
||||
|
||||
public MarkAsSolutionReminder()
|
||||
{
|
||||
const string notificationName = "MarkAsSolutionReminderSingle";
|
||||
try
|
||||
{
|
||||
var notifications = new XmlDocument();
|
||||
notifications.Load(Config.ConfigurationFile);
|
||||
|
||||
var settings = notifications.SelectSingleNode("//global");
|
||||
|
||||
var node = notifications.SelectSingleNode(string.Format("//instant//notification [@name = '{0}']", notificationName));
|
||||
|
||||
var details = new XmlDocument();
|
||||
var cont = details.CreateElement("details");
|
||||
cont.AppendChild(details.ImportNode(settings, true));
|
||||
cont.AppendChild(details.ImportNode(node, true));
|
||||
|
||||
_details = details.AppendChild(cont);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
LogHelper.Error<MarkAsSolutionReminder>(string.Format("Couldn't get settings for {0}", notificationName), e);
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
public void SendNotification(int topicId, int memberId)
|
||||
{
|
||||
try
|
||||
{
|
||||
var topicService = new TopicService(ApplicationContext.Current.DatabaseContext);
|
||||
var topic = topicService.GetById(topicId);
|
||||
|
||||
using (ContextHelper.EnsureHttpContext())
|
||||
{
|
||||
var memberShipHelper = new MembershipHelper(UmbracoContext.Current);
|
||||
var member = memberShipHelper.GetById(memberId);
|
||||
|
||||
using (var smtpClient = new SmtpClient())
|
||||
{
|
||||
var fromEmail = _details.SelectSingleNode("//from/email").InnerText;
|
||||
var fromName = _details.SelectSingleNode("//from/name").InnerText;
|
||||
var fromMailAddress = new MailAddress(fromEmail, fromName);
|
||||
|
||||
var subject = string.Format("{0} - '{1}'", _details.SelectSingleNode("//subject").InnerText, topic.Title);
|
||||
var domain = _details.SelectSingleNode("//domain").InnerText;
|
||||
var body = _details.SelectSingleNode("//body").InnerText;
|
||||
body = string.Format(body, topic.Title, "https://" + domain + topic.GetUrl());
|
||||
|
||||
if (member.GetPropertyValue<bool>("bugMeNot") == false)
|
||||
{
|
||||
const string notificationTestFolder = "~/App_Data/NotificationTest";
|
||||
if (Directory.Exists(HostingEnvironment.MapPath(notificationTestFolder)) == false)
|
||||
Directory.CreateDirectory(HostingEnvironment.MapPath(notificationTestFolder));
|
||||
|
||||
File.AppendAllText(string.Format("{0}/{1}.txt", HostingEnvironment.MapPath(notificationTestFolder), topic.Id),
|
||||
string.Format("To: {0}{3}Subject: {1}{3}Body: {3}{2}", member.GetPropertyValue<string>("Email"), subject, body, Environment.NewLine));
|
||||
|
||||
using (var mailMessage = new MailMessage())
|
||||
{
|
||||
mailMessage.Subject = subject;
|
||||
mailMessage.Body = body;
|
||||
|
||||
mailMessage.To.Add(member.GetPropertyValue<string>("Email"));
|
||||
mailMessage.From = fromMailAddress;
|
||||
|
||||
smtpClient.Send(mailMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var db = ApplicationContext.Current.DatabaseContext.Database;
|
||||
var sql = new Sql("UPDATE forumTopics SET markAsSolutionReminderSent = 1 WHERE id = @topicId", new { topicId = topic.Id });
|
||||
var result = db.Execute(sql);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.Error<MarkAsSolutionReminder>("Error processing notification", ex);
|
||||
throw;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
using System;
|
||||
using Hangfire;
|
||||
using Umbraco.Core;
|
||||
using Umbraco.Core.Persistence;
|
||||
|
||||
namespace OurUmbraco.NotificationsCore.Notifications
|
||||
{
|
||||
public class ScheduleHangfireJobs
|
||||
{
|
||||
public void MarkAsSolvedReminder()
|
||||
{
|
||||
RecurringJob.AddOrUpdate(() => ScheduleTopics(), Cron.HourInterval(12));
|
||||
}
|
||||
|
||||
public void ScheduleTopics()
|
||||
{
|
||||
var db = ApplicationContext.Current.DatabaseContext.Database;
|
||||
var sql = new Sql("SELECT id, memberId FROM forumTopics WHERE answer = 0 AND (markAsSolutionReminderSent IS NULL OR markAsSolutionReminderSent = 0) AND replies > 0 AND updated < getdate() - 7 AND created > '2016-10-01 00:00:00' AND id NOT IN (SELECT topicId FROM notificationMarkAsSolution) ORDER BY created DESC");
|
||||
var results = db.Query<ReminderTopic>(sql);
|
||||
var reminder = new MarkAsSolutionReminder();
|
||||
foreach (var reminderTopic in results)
|
||||
{
|
||||
var jobId = BackgroundJob.Schedule(() => reminder.SendNotification(reminderTopic.Id, reminderTopic.MemberId), TimeSpan.FromMinutes(10));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class ReminderTopic
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public int MemberId { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,8 @@
|
||||
using System.Web.Configuration;
|
||||
using Hangfire;
|
||||
using Hangfire.SqlServer;
|
||||
using Microsoft.Owin;
|
||||
using OurUmbraco.NotificationsCore.Notifications;
|
||||
using OurUmbraco.Our.GoogleOAuth;
|
||||
using Owin;
|
||||
using Umbraco.Web;
|
||||
@@ -22,7 +25,19 @@ namespace OurUmbraco.Our.GoogleOAuth
|
||||
|
||||
var clientId = WebConfigurationManager.AppSettings["GoogleOAuthClientID"];
|
||||
var secret = WebConfigurationManager.AppSettings["GoogleOAuthSecret"];
|
||||
UmbracoGoogleAuthExtensions.ConfigureBackOfficeGoogleAuth(app, clientId, secret);
|
||||
app.ConfigureBackOfficeGoogleAuth(clientId, secret);
|
||||
|
||||
// Configure hangfire
|
||||
var options = new SqlServerStorageOptions { PrepareSchemaIfNecessary = true };
|
||||
var connectionString = Umbraco.Core.ApplicationContext.Current.DatabaseContext.ConnectionString;
|
||||
GlobalConfiguration.Configuration.UseSqlServerStorage(connectionString, options);
|
||||
var dashboardOptions = new DashboardOptions { Authorization = new[] { new UmbracoAuthorizationFilter() } };
|
||||
app.UseHangfireDashboard("/hangfire", dashboardOptions);
|
||||
app.UseHangfireServer();
|
||||
|
||||
// Schedule jobs
|
||||
var scheduler = new ScheduleHangfireJobs();
|
||||
scheduler.MarkAsSolvedReminder();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,6 +37,10 @@ namespace OurUmbraco.Our
|
||||
UseNewForgotPasswordForm();
|
||||
UseNewMyProjectsOverview();
|
||||
UseNewRssFeedsOverview();
|
||||
RenameUaaStoUCloud();
|
||||
AddMarkAsSolutionReminderSent();
|
||||
RenameUaaStoUCloud();
|
||||
AddMarkAsSolutionReminderSent();
|
||||
}
|
||||
|
||||
private void EnsureMigrationsMarkerPathExists()
|
||||
@@ -756,5 +760,63 @@ namespace OurUmbraco.Our
|
||||
LogHelper.Error<MigrationsHandler>(string.Format("Migration: '{0}' failed", migrationName), ex);
|
||||
}
|
||||
}
|
||||
private void RenameUaaStoUCloud()
|
||||
{
|
||||
var migrationName = MethodBase.GetCurrentMethod().Name;
|
||||
|
||||
try
|
||||
{
|
||||
var path = HostingEnvironment.MapPath(MigrationMarkersPath + migrationName + ".txt");
|
||||
if (File.Exists(path))
|
||||
return;
|
||||
|
||||
var contentService = UmbracoContext.Current.Application.Services.ContentService;
|
||||
var rootContent = contentService.GetRootContent().FirstOrDefault();
|
||||
if (rootContent != null)
|
||||
{
|
||||
var forumContent = rootContent.Children().FirstOrDefault(x => x.Name == "Forum");
|
||||
if (forumContent != null)
|
||||
{
|
||||
var uaasForumContent = forumContent.Children().FirstOrDefault(x => x.Name.ToLowerInvariant() == "Umbraco as a Service".ToLowerInvariant());
|
||||
if (uaasForumContent != null)
|
||||
{
|
||||
uaasForumContent.Name = "Umbraco Cloud";
|
||||
uaasForumContent.SetValue("forumDescription", "Discussions about Umbraco Cloud.");
|
||||
var status = contentService.SaveAndPublishWithStatus(uaasForumContent);
|
||||
status = contentService.SaveAndPublishWithStatus(uaasForumContent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
string[] lines = { "" };
|
||||
File.WriteAllLines(path, lines);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.Error<MigrationsHandler>(string.Format("Migration: '{0}' failed", migrationName), ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void AddMarkAsSolutionReminderSent()
|
||||
{
|
||||
var migrationName = MethodBase.GetCurrentMethod().Name;
|
||||
|
||||
try
|
||||
{
|
||||
var path = HostingEnvironment.MapPath(MigrationMarkersPath + migrationName + ".txt");
|
||||
if (File.Exists(path))
|
||||
return;
|
||||
|
||||
var db = UmbracoContext.Current.Application.DatabaseContext.Database;
|
||||
db.Execute("ALTER TABLE [forumTopics] ADD [markAsSolutionReminderSent] [BIT] NULL DEFAULT ((0))");
|
||||
|
||||
string[] lines = { "" };
|
||||
File.WriteAllLines(path, lines);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LogHelper.Error<MigrationsHandler>(string.Format("Migration: '{0}' failed", migrationName), ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -31,16 +31,16 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</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="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="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.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="businesslogic, Version=1.0.6092.24022, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\businesslogic.dll</HintPath>
|
||||
<Reference Include="businesslogic, Version=1.0.6136.27244, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\lib\businesslogic.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="ClientDependency.Core, Version=1.9.1.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
@@ -51,12 +51,12 @@
|
||||
<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.6136.27244, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\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.6136.27246, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\lib\controls.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="CookComputing.XmlRpcV2, Version=2.5.0.0, Culture=neutral, PublicKeyToken=a7d6e17aa302004d, processorArchitecture=MSIL">
|
||||
@@ -67,8 +67,16 @@
|
||||
<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.70.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Examine.0.1.70.0\lib\Examine.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Hangfire.Core, Version=1.6.6.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Hangfire.Core.1.6.6\lib\net45\Hangfire.Core.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Hangfire.SqlServer, Version=1.6.6.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Hangfire.SqlServer.1.6.6\lib\net45\Hangfire.SqlServer.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="HtmlAgilityPack, Version=1.4.9.0, Culture=neutral, PublicKeyToken=bd319b19eaf3b43a, processorArchitecture=MSIL">
|
||||
@@ -79,16 +87,16 @@
|
||||
<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.4.5.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ImageProcessor.2.4.5.0\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.6.6.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ImageProcessor.Web.4.6.6.0\lib\net45\ImageProcessor.Web.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.6136.27240, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\lib\interfaces.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="JsonFx, Version=2.0.1209.2802, Culture=neutral, PublicKeyToken=315052dd637f8a52, processorArchitecture=MSIL">
|
||||
@@ -96,7 +104,7 @@
|
||||
<Private>True</Private>
|
||||
</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.4\lib\log4net.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Lucene.Net, Version=2.9.4.1, Culture=neutral, PublicKeyToken=85089178b9ac3181, processorArchitecture=MSIL">
|
||||
@@ -112,7 +120,7 @@
|
||||
<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.4\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">
|
||||
@@ -175,8 +183,8 @@
|
||||
<HintPath>..\packages\semver.1.1.2\lib\net451\Semver.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="SQLCE4Umbraco, Version=1.0.6092.24023, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.3\lib\SQLCE4Umbraco.dll</HintPath>
|
||||
<Reference Include="SQLCE4Umbraco, Version=1.0.6136.27245, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\lib\SQLCE4Umbraco.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
@@ -185,11 +193,11 @@
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Data.Linq" />
|
||||
<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.4\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.4\lib\System.Data.SqlServerCe.Entity.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System.Drawing" />
|
||||
@@ -251,43 +259,43 @@
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
<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.4\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="umbraco, Version=1.0.6136.27248, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\lib\umbraco.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.Core, Version=1.0.6136.27241, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\lib\Umbraco.Core.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.DataLayer, Version=1.0.6136.27243, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\lib\umbraco.DataLayer.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.editorControls, Version=1.0.6136.27251, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\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.6136.27252, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\lib\umbraco.MacroEngines.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.6136.27246, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\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.6136.27253, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\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.27245, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\UmbracoCms.Core.7.5.4\lib\UmbracoExamine.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="UrlRewritingNet.UrlRewriter, Version=2.0.7.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
@@ -395,6 +403,8 @@
|
||||
<Compile Include="NotificationsCore\Notifications\AccountApproved.cs" />
|
||||
<Compile Include="NotificationsCore\Notifications\NewForumTopic.cs" />
|
||||
<Compile Include="NotificationsCore\Notifications\NewForumComment.cs" />
|
||||
<Compile Include="NotificationsCore\Notifications\ScheduleHangfireJobs.cs" />
|
||||
<Compile Include="NotificationsCore\Notifications\MarkAsSolutionReminder.cs" />
|
||||
<Compile Include="NotificationsCore\NotificationTypes\NewForumTopic.cs" />
|
||||
<Compile Include="NotificationsCore\NotificationTypes\NewForumTopicComment.cs" />
|
||||
<Compile Include="NotificationsCore\SheduledNotification.cs" />
|
||||
@@ -667,6 +677,7 @@
|
||||
<DependentUpon>repository.asmx</DependentUpon>
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="UmbracoAuthorizationFilter.cs" />
|
||||
<Compile Include="Version\Config.cs" />
|
||||
<Compile Include="Version\uWikiFileVerison.cs" />
|
||||
<Compile Include="Wiki\Api\WikiController.cs" />
|
||||
@@ -775,6 +786,7 @@
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent></PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<Import Project="..\packages\AutoMapper.3.3.1\tools\AutoMapper.targets" Condition="Exists('..\packages\AutoMapper.3.3.1\tools\AutoMapper.targets')" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
using System.Web;
|
||||
using Hangfire.Dashboard;
|
||||
using Umbraco.Core.Security;
|
||||
using Umbraco.Web;
|
||||
using Umbraco.Web.Mvc;
|
||||
|
||||
namespace OurUmbraco
|
||||
{
|
||||
[UmbracoAuthorize]
|
||||
public class UmbracoAuthorizationFilter : IDashboardAuthorizationFilter
|
||||
{
|
||||
public bool Authorize(DashboardContext context)
|
||||
{
|
||||
var http = new HttpContextWrapper(HttpContext.Current);
|
||||
var ticket = http.GetUmbracoAuthTicket();
|
||||
http.AuthenticateCurrentRequest(ticket, true);
|
||||
|
||||
var user = UmbracoContext.Current.Security.CurrentUser;
|
||||
|
||||
return user != null && user.UserType.Alias == "admin";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="AutoMapper" version="3.0.0" targetFramework="net452" />
|
||||
<package id="AutoMapper" version="3.3.1" targetFramework="net452" />
|
||||
<package id="ClientDependency" version="1.9.1" targetFramework="net452" />
|
||||
<package id="ClientDependency-Mvc" version="1.8.0.0" targetFramework="net451" />
|
||||
<package id="ClientDependency-Mvc5" version="1.8.0.0" targetFramework="net452" />
|
||||
<package id="EasyHttp" version="1.6.29.0" targetFramework="net451" />
|
||||
<package id="Examine" version="0.1.69.0" targetFramework="net452" />
|
||||
<package id="Examine" version="0.1.70.0" targetFramework="net452" />
|
||||
<package id="Hangfire" version="1.6.6" targetFramework="net452" />
|
||||
<package id="Hangfire.Core" version="1.6.6" targetFramework="net452" />
|
||||
<package id="Hangfire.SqlServer" version="1.6.6" targetFramework="net452" />
|
||||
<package id="HtmlAgilityPack" version="1.4.9" targetFramework="net452" />
|
||||
<package id="ImageProcessor" version="2.4.4.0" targetFramework="net452" />
|
||||
<package id="ImageProcessor.Web" version="4.6.4.0" targetFramework="net452" />
|
||||
<package id="ImageProcessor" version="2.4.5.0" targetFramework="net452" />
|
||||
<package id="ImageProcessor.Web" version="4.6.6.0" targetFramework="net452" />
|
||||
<package id="JsonFx" version="2.0.1209.2802" targetFramework="net451" />
|
||||
<package id="Lucene.Net" version="2.9.4.1" targetFramework="net452" />
|
||||
<package id="Markdown" version="1.14.4" targetFramework="net452" />
|
||||
@@ -39,7 +42,7 @@
|
||||
<package id="RestSharp" version="104.1" targetFramework="net451" />
|
||||
<package id="semver" version="1.1.2" targetFramework="net452" />
|
||||
<package id="SharpZipLib" version="0.86.0" targetFramework="net452" />
|
||||
<package id="UmbracoCms.Core" version="7.5.3" targetFramework="net452" />
|
||||
<package id="UmbracoCms.Core" version="7.5.4" targetFramework="net452" />
|
||||
<package id="UmbracoCms.IdentityExtensions" version="1.0.0" targetFramework="net451" />
|
||||
<package id="UmbracoCms.IdentityExtensions.Google" version="1.0.0" targetFramework="net451" />
|
||||
<package id="UrlRewritingNet" version="2.0.7" targetFramework="net452" />
|
||||
|
||||
@@ -37,6 +37,11 @@ IF NOT [%npmPath%] == [] GOTO :build
|
||||
ECHO Change directory to %CD%\..\OurUmbraco.Client\
|
||||
CD %CD%\..\OurUmbraco.Client\
|
||||
|
||||
|
||||
ECHO.
|
||||
ECHO Setting node_modules folder to hidden to prevent VS13 from crashing on it while loading the websites project
|
||||
attrib +h node_modules
|
||||
|
||||
ECHO Do npm install and the gulp build
|
||||
SET npm="%nodePath%\node.exe" "%npmPath%node_modules\npm\bin\npm-cli.js" %*
|
||||
%npm% cache clean
|
||||
|
||||
@@ -19,6 +19,27 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{F3A30E
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OurUmbraco", "OurUmbraco\OurUmbraco.csproj", "{A8E5C936-ECAB-45B3-BFDA-D12F680EB2A6}"
|
||||
EndProject
|
||||
Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "OurUmbraco.Client", "OurUmbraco.Client\", "{1B63C7B3-6FCF-4961-9933-53A591CD16E4}"
|
||||
ProjectSection(WebsiteProperties) = preProject
|
||||
TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.0"
|
||||
Debug.AspNetCompiler.VirtualPath = "/localhost_59200"
|
||||
Debug.AspNetCompiler.PhysicalPath = "OurUmbraco.Client\"
|
||||
Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_59200\"
|
||||
Debug.AspNetCompiler.Updateable = "true"
|
||||
Debug.AspNetCompiler.ForceOverwrite = "true"
|
||||
Debug.AspNetCompiler.FixedNames = "false"
|
||||
Debug.AspNetCompiler.Debug = "True"
|
||||
Release.AspNetCompiler.VirtualPath = "/localhost_59200"
|
||||
Release.AspNetCompiler.PhysicalPath = "OurUmbraco.Client\"
|
||||
Release.AspNetCompiler.TargetPath = "PrecompiledWeb\localhost_59200\"
|
||||
Release.AspNetCompiler.Updateable = "true"
|
||||
Release.AspNetCompiler.ForceOverwrite = "true"
|
||||
Release.AspNetCompiler.FixedNames = "false"
|
||||
Release.AspNetCompiler.Debug = "False"
|
||||
VWDPort = "59200"
|
||||
SlnRelativePath = "OurUmbraco.Client\"
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
@@ -51,6 +72,16 @@ Global
|
||||
{A8E5C936-ECAB-45B3-BFDA-D12F680EB2A6}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{A8E5C936-ECAB-45B3-BFDA-D12F680EB2A6}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{A8E5C936-ECAB-45B3-BFDA-D12F680EB2A6}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1B63C7B3-6FCF-4961-9933-53A591CD16E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1B63C7B3-6FCF-4961-9933-53A591CD16E4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{1B63C7B3-6FCF-4961-9933-53A591CD16E4}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{1B63C7B3-6FCF-4961-9933-53A591CD16E4}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1B63C7B3-6FCF-4961-9933-53A591CD16E4}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{1B63C7B3-6FCF-4961-9933-53A591CD16E4}.Release|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1B63C7B3-6FCF-4961-9933-53A591CD16E4}.Release|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
{1B63C7B3-6FCF-4961-9933-53A591CD16E4}.Release|Mixed Platforms.Build.0 = Debug|Any CPU
|
||||
{1B63C7B3-6FCF-4961-9933-53A591CD16E4}.Release|x86.ActiveCfg = Debug|Any CPU
|
||||
{1B63C7B3-6FCF-4961-9933-53A591CD16E4}.Release|x86.Build.0 = Debug|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
||||
Reference in New Issue
Block a user