| @@ -0,0 +1,21 @@ | ||
| <div ng-controller="Umbraco.PropertyEditors.Grid.TextStringController"> | ||
| <textarea | ||
| rows="1" | ||
| umb-auto-resize | ||
| umb-auto-focus | ||
| class="textstring input-block-level" id="{{control.uniqueId}}_text" | ||
| ng-model="control.value.quote" | ||
| ng-attr-style="{{control.editor.config.style}}" placeholder="Write quote here..."></textarea> | ||
| <textarea | ||
| rows="1" | ||
| umb-auto-resize | ||
| class="textstring input-block-level" id="{{control.uniqueId}}_text" | ||
| ng-model="control.value.headline" | ||
| ng-attr-style="{{control.editor.config.style}}" placeholder="Write headerline here..."></textarea> | ||
| <textarea | ||
| rows="1" | ||
| umb-auto-resize | ||
| class="textstring input-block-level" id="{{control.uniqueId}}_text" | ||
| ng-model="control.value.description" | ||
| ng-attr-style="{{control.editor.config.style}}" placeholder="Write description here..."></textarea> | ||
| </div> |
| @@ -0,0 +1,112 @@ | ||
| [class*="vorto-"] | ||
| { | ||
| margin: 0; | ||
| padding: 0; | ||
| list-style: none; | ||
| } | ||
|
|
||
| [class*="vorto-"] a | ||
| { | ||
| text-decoration: none; | ||
| } | ||
|
|
||
| .vorto-tabs | ||
| { | ||
| margin-bottom: -1px; | ||
| } | ||
|
|
||
| .vorto-tabs__item | ||
| { | ||
| position: relative; | ||
| background: #f8f8f8; | ||
| display: inline-block; | ||
| line-height: 30px; | ||
| padding: 0 10px; | ||
| border: solid 1px #ddd; | ||
| margin-right: -1px; | ||
| height: 30px; | ||
| vertical-align: bottom; | ||
| cursor: pointer; | ||
| } | ||
|
|
||
| .vorto-tabs__item.active, | ||
| .vorto-tabs__item:hover | ||
| { | ||
| background: #fff; | ||
| } | ||
|
|
||
| .vorto-tabs__item.active, | ||
| .vorto-tabs__item--menu:hover | ||
| { | ||
| border-bottom-color: #fff; | ||
| } | ||
|
|
||
| .vorto-tabs__item--icon | ||
| { | ||
| padding-right: 30px; | ||
| } | ||
|
|
||
| /*.vorto-tabs__item--menu:hover .vorto-menu | ||
| { | ||
| display: block; | ||
| }*/ | ||
|
|
||
| .vorto-menu | ||
| { | ||
| display: none; | ||
| position: absolute; | ||
| top: 31px; | ||
| left: -1px; | ||
| background: #fff; | ||
| border: solid 1px #ddd; | ||
| border-top-width: 0; | ||
| z-index: 2000 !important; | ||
| min-width: 150px; | ||
| } | ||
|
|
||
| .vorto-menu__item | ||
| { | ||
| position: relative; | ||
| display: block; | ||
| padding: 5px 10px; | ||
| white-space: nowrap; | ||
| cursor: pointer; | ||
| } | ||
|
|
||
| .vorto-menu__item:hover | ||
| { | ||
| background: #2e8aea; | ||
| color: #fff; | ||
| } | ||
|
|
||
| .vorto-menu__item label | ||
| { | ||
| display: block; | ||
| padding: 0; | ||
| margin: 0; | ||
| } | ||
|
|
||
| .vorto-menu__item--icon | ||
| { | ||
| padding-right: 30px; | ||
| } | ||
|
|
||
| .vorto-menu__item--divide | ||
| { | ||
| border-top: solid 1px #ddd; | ||
| } | ||
|
|
||
| .vorto-icon | ||
| { | ||
| position: absolute; | ||
| right: 0; | ||
| top: 0; | ||
| line-height: 30px; | ||
| padding: 0 5px; | ||
| } | ||
|
|
||
| .vorto-property | ||
| { | ||
| border: solid 1px #ddd; | ||
| padding: 15px; | ||
| } |
| @@ -0,0 +1,114 @@ | ||
| /*! | ||
| * jQuery Cookie Plugin v1.4.1 | ||
| * https://github.com/carhartl/jquery-cookie | ||
| * | ||
| * Copyright 2006, 2014 Klaus Hartl | ||
| * Released under the MIT license | ||
| */ | ||
| (function (factory) { | ||
| if (typeof define === 'function' && define.amd) { | ||
| // AMD (Register as an anonymous module) | ||
| define(['jquery'], factory); | ||
| } else if (typeof exports === 'object') { | ||
| // Node/CommonJS | ||
| module.exports = factory(require('jquery')); | ||
| } else { | ||
| // Browser globals | ||
| factory(jQuery); | ||
| } | ||
| }(function ($) { | ||
|
|
||
| var pluses = /\+/g; | ||
|
|
||
| function encode(s) { | ||
| return config.raw ? s : encodeURIComponent(s); | ||
| } | ||
|
|
||
| function decode(s) { | ||
| return config.raw ? s : decodeURIComponent(s); | ||
| } | ||
|
|
||
| function stringifyCookieValue(value) { | ||
| return encode(config.json ? JSON.stringify(value) : String(value)); | ||
| } | ||
|
|
||
| function parseCookieValue(s) { | ||
| if (s.indexOf('"') === 0) { | ||
| // This is a quoted cookie as according to RFC2068, unescape... | ||
| s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'); | ||
| } | ||
|
|
||
| try { | ||
| // Replace server-side written pluses with spaces. | ||
| // If we can't decode the cookie, ignore it, it's unusable. | ||
| // If we can't parse the cookie, ignore it, it's unusable. | ||
| s = decodeURIComponent(s.replace(pluses, ' ')); | ||
| return config.json ? JSON.parse(s) : s; | ||
| } catch(e) {} | ||
| } | ||
|
|
||
| function read(s, converter) { | ||
| var value = config.raw ? s : parseCookieValue(s); | ||
| return $.isFunction(converter) ? converter(value) : value; | ||
| } | ||
|
|
||
| var config = $.cookie = function (key, value, options) { | ||
|
|
||
| // Write | ||
|
|
||
| if (arguments.length > 1 && !$.isFunction(value)) { | ||
| options = $.extend({}, config.defaults, options); | ||
|
|
||
| if (typeof options.expires === 'number') { | ||
| var days = options.expires, t = options.expires = new Date(); | ||
| t.setMilliseconds(t.getMilliseconds() + days * 864e+5); | ||
| } | ||
|
|
||
| return (document.cookie = [ | ||
| encode(key), '=', stringifyCookieValue(value), | ||
| options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE | ||
| options.path ? '; path=' + options.path : '', | ||
| options.domain ? '; domain=' + options.domain : '', | ||
| options.secure ? '; secure' : '' | ||
| ].join('')); | ||
| } | ||
|
|
||
| // Read | ||
|
|
||
| var result = key ? undefined : {}, | ||
| // To prevent the for loop in the first place assign an empty array | ||
| // in case there are no cookies at all. Also prevents odd result when | ||
| // calling $.cookie(). | ||
| cookies = document.cookie ? document.cookie.split('; ') : [], | ||
| i = 0, | ||
| l = cookies.length; | ||
|
|
||
| for (; i < l; i++) { | ||
| var parts = cookies[i].split('='), | ||
| name = decode(parts.shift()), | ||
| cookie = parts.join('='); | ||
|
|
||
| if (key === name) { | ||
| // If second argument (value) is a function it's a converter... | ||
| result = read(cookie, value); | ||
| break; | ||
| } | ||
|
|
||
| // Prevent storing a cookie that we couldn't decode. | ||
| if (!key && (cookie = read(cookie)) !== undefined) { | ||
| result[name] = cookie; | ||
| } | ||
| } | ||
|
|
||
| return result; | ||
| }; | ||
|
|
||
| config.defaults = {}; | ||
|
|
||
| $.removeCookie = function (key, options) { | ||
| // Must not alter options, thus extending a fresh object... | ||
| $.cookie(key, '', $.extend({}, options, { expires: -1 })); | ||
| return !$.cookie(key); | ||
| }; | ||
|
|
||
| })); |
| @@ -0,0 +1,44 @@ | ||
| <ng-form name="vortoForm"> | ||
| <div id="vorto-{{model.id}}" class="vorto" ng-controller="Our.Umbraco.PropertyEditors.Vorto.vortoEditor"> | ||
|
|
||
| <ul class="vorto-tabs"> | ||
| <li class="vorto-tabs__item" | ||
| ng-class="currentLanguage.isoCode == activeLanguage.isoCode ? 'active' : ''" | ||
| ng-click="setActiveLanguage(currentLanguage);"> | ||
| <span ng-hide="model.config.displayNativeNames">{{currentLanguage.name}}</span> | ||
| <span ng-show="model.config.displayNativeNames">{{currentLanguage.nativeName}}</span> | ||
| </li><!-- | ||
| --><li class="vorto-tabs__item vorto-tabs__item--icon" | ||
| ng-class="language.isoCode == activeLanguage.isoCode ? 'active' : ''" | ||
| ng-repeat="language in pinnedLanguages" | ||
| ng-click="setActiveLanguage(language);"> | ||
| <span ng-hide="model.config.displayNativeNames">{{language.name}}</span> | ||
| <span ng-show="model.config.displayNativeNames">{{language.nativeName}}</span> | ||
| <i class="icon icon-wrong vorto-icon" | ||
| ng-click="unpinLanguage(language);$event.stopPropagation();"></i> | ||
| </li><!-- | ||
| --><li class="vorto-tabs__item vorto-tabs__item--menu"> | ||
| <i class="icon icon-globe"></i> | ||
| <ul class="vorto-menu"> | ||
| <li class="vorto-menu__item vorto-menu__item--icon" | ||
| ng-repeat="language in languages" | ||
| ng-click="setCurrentLanguage(language);"> | ||
| <span ng-hide="model.config.displayNativeNames">{{language.name}}</span> | ||
| <span ng-show="model.config.displayNativeNames">{{language.nativeName}}</span> | ||
| <i class="icon icon-pushpin vorto-icon" ng-click="pinLanguage(language);$event.stopPropagation();" | ||
| ng-show="isPinnable(language)"></i> | ||
| </li> | ||
| <li class="vorto-menu__item vorto-menu__item--divide"> | ||
| <label><input type="checkbox" ng-model="sync" /> Sync</label> | ||
| </li> | ||
| </ul> | ||
| </li> | ||
|
|
||
| </ul> | ||
|
|
||
| <div class="vorto-property" ng-repeat="language in languages" ng-show="activeLanguage.isoCode == language.isoCode"> | ||
| <vorto-property view="property.viewPath" config="property.config" language="language.isoCode" property-alias="model.alias" value="model.value.values[language.isoCode]"></vorto-property> | ||
| </div> | ||
|
|
||
| </div> | ||
| </ng-form> |
| @@ -0,0 +1,14 @@ | ||
| <div ng-controller="Our.Umbraco.PreValueEditors.Vorto.languagePicker"> | ||
|
|
||
| <select name="dropDownList" | ||
| class="umb-editor umb-dropdown" | ||
| ng-model="model.value"> | ||
| <option value="">None</option> | ||
| <option ng-selected="{{language.isoCode == model.value}}" | ||
| ng-repeat="language in model.languages" | ||
| value="{{language.isoCode}}"> | ||
| {{language.name}} | ||
| </option> | ||
| </select> | ||
|
|
||
| </div> |
| @@ -0,0 +1,4 @@ | ||
| <div> | ||
| <label><input type="radio" ng-model="model.value" value="installed" /> Installed</label> | ||
| <label><input type="radio" ng-model="model.value" value="inuse" /> In-use</label> | ||
| </div> |
| @@ -0,0 +1,8 @@ | ||
| <select name="dropDownList" | ||
| class="umb-editor umb-dropdown" | ||
| ng-model="model.value"> | ||
| <option value="ignore">Ignore</option> | ||
| <option value="all">All Mandatory</option> | ||
| <option value="any">Any Mandatory</option> | ||
| <option value="primary">Primary Language Mandatory</option> | ||
| </select> |
| @@ -0,0 +1,9 @@ | ||
| <div ng-controller="Our.Umbraco.PreValueEditors.Vorto.propertyEditorPicker"> | ||
|
|
||
| <select name="dropDownList" | ||
| class="umb-editor umb-dropdown" | ||
| ng-model="model.value" | ||
| ng-options="i.name for i in model.dataTypes track by i.guid"> | ||
| </select> | ||
|
|
||
| </div> |
| @@ -0,0 +1,7 @@ | ||
| <?xml version="1.0" encoding="utf-8" ?> | ||
| <NotFoundHandlers> | ||
| <notFound assembly="umbraco" type="SearchForAlias" /> | ||
| <notFound assembly="umbraco" type="SearchForTemplate"/> | ||
| <notFound assembly="umbraco" type="SearchForProfile"/> | ||
| <notFound assembly="umbraco" type="handle404"/> | ||
| </NotFoundHandlers> |
| @@ -0,0 +1,19 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <BaseRestExtensions> | ||
| <!-- | ||
| <extension alias="member" type="Umbraco.Web.BaseRest.MemberRest,umbraco"> | ||
| <method name="Login" allowAll="true" /> | ||
| <method name="Logout" allowAll="true" /> | ||
| <method name="GetCurrentMemberId" allowAll="true" /> | ||
| <method name="GetCurrentMember" allowAll="true" /> | ||
| <method name="GetCurrentMemberAsXml" allowAll="true" /> | ||
| <method name="SetProperty" allowAll="false" /> | ||
| </extension> | ||
| --> | ||
| <!-- | ||
| <extension alias="umbBlog" type="Runway.Blog.Library.Base,Runway.Blog"> | ||
| <method name="CreateComment" returnXml="false" allowAll="true" /> | ||
| <method name="GetGravatarImage" returnXml="false" allowAll="true" /> | ||
| </extension> | ||
| --> | ||
| </BaseRestExtensions> |
| @@ -0,0 +1,66 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
|
|
||
| <!-- | ||
| For full details of the client dependency framework, visit | ||
| https://github.com/Shandem/ClientDependency | ||
| It manages CSS and JS file dependencies per control without having to worry about duplicates. | ||
| It also manages the combination, compression and minification of all JS & CSS files. | ||
| 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="1" 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. | ||
| The LoaderControlProvider is set to default, the javascriptPlaceHolderId, cssPlaceHolderId attributes are optional and default to what is listed below. If using | ||
| this provider, then you must specify both PlaceHolder controls on your page in order to render the JS/CSS. | ||
| --> | ||
| <fileRegistration defaultProvider="PlaceHolderProvider"> | ||
| <providers> | ||
| <add name="PageHeaderProvider" type="ClientDependency.Core.FileRegistration.Providers.PageHeaderProvider, ClientDependency.Core" /> | ||
| <add name="LazyLoadProvider" type="ClientDependency.Core.FileRegistration.Providers.LazyLoadProvider, ClientDependency.Core" /> | ||
| <add name="LoaderControlProvider" type="ClientDependency.Core.FileRegistration.Providers.LoaderControlProvider, ClientDependency.Core" /> | ||
| <add name="PlaceHolderProvider" type="ClientDependency.Core.FileRegistration.Providers.PlaceHolderProvider, ClientDependency.Core" javascriptPlaceHolderId="JavaScriptPlaceHolder" cssPlaceHolderId="CssPlaceHolder" /> | ||
| </providers> | ||
| </fileRegistration> | ||
|
|
||
| <!-- This section is used for MVC only --> | ||
| <mvc defaultRenderer="StandardRenderer"> | ||
| <renderers> | ||
| <add name="StandardRenderer" type="ClientDependency.Core.FileRegistration.Providers.StandardRenderer, ClientDependency.Core" /> | ||
| <add name="LazyLoadRenderer" type="ClientDependency.Core.FileRegistration.Providers.LazyLoadRenderer, ClientDependency.Core" /> | ||
| </renderers> | ||
| </mvc> | ||
|
|
||
| <!-- | ||
| The composite file section configures the compression/combination/minification of files. | ||
| You can enable/disable minification of either JS/CSS files and you can enable/disable the | ||
| persistence of composite files. By default, minification and persistence is enabled. Persisting files | ||
| means that the system is going to save the output of the compressed/combined/minified files | ||
| to disk so that on any subsequent request (when output cache expires) that these files don't have | ||
| to be recreated again and will be based on the persisted file on disk. This saves on processing time. | ||
| --> | ||
| <compositeFiles defaultProvider="defaultFileProcessingProvider" compositeFileHandlerPath="~/DependencyHandler.axd"> | ||
| <fileProcessingProviders> | ||
| <add name="CompositeFileProcessor" | ||
| type="ClientDependency.Core.CompositeFiles.Providers.CompositeFileProcessingProvider, ClientDependency.Core" | ||
| enableCssMinify="true" | ||
| enableJsMinify="true" | ||
| persistFiles="true" | ||
| compositeFilePath="~/App_Data/TEMP/ClientDependency" | ||
| bundleDomains="localhost:123456" | ||
| urlType="Base64QueryStrings" | ||
| pathUrlFormat="{dependencyId}/{version}/{type}"/> | ||
| </fileProcessingProviders> | ||
|
|
||
| <!-- A file map provider stores references to dependency files by an id to be used in the handler URL when using the MappedId Url type --> | ||
| <fileMapProviders> | ||
| <add name="XmlFileMap" | ||
| type="ClientDependency.Core.CompositeFiles.Providers.XmlFileMapper, ClientDependency.Core" | ||
| mapPath="~/App_Data/TEMP/ClientDependency" /> | ||
| </fileMapProviders> | ||
|
|
||
| </compositeFiles> | ||
| </clientDependency> |
| @@ -0,0 +1,88 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <dashBoard> | ||
|
|
||
| <section alias="StartupSettingsDashboardSection"> | ||
| <areas> | ||
| <area>settings</area> | ||
| </areas> | ||
| <tab caption="Welcome"> | ||
| <control showOnce="true" addPanel="true" panelCaption=""> | ||
| views/dashboard/settings/settingsdashboardintro.html | ||
| </control> | ||
| </tab> | ||
| </section> | ||
|
|
||
| <section alias="StartupFormsDashboardSection"> | ||
| <areas> | ||
| <area>forms</area> | ||
| </areas> | ||
| <tab caption="Install Umbraco Forms"> | ||
| <control showOnce="true" addPanel="true" panelCaption=""> | ||
| views/dashboard/forms/formsdashboardintro.html | ||
| </control> | ||
| </tab> | ||
| </section> | ||
|
|
||
| <section alias="StartupDeveloperDashboardSection"> | ||
| <areas> | ||
| <area>developer</area> | ||
| </areas> | ||
| <tab caption="Get Started"> | ||
| <control showOnce="true" addPanel="true" panelCaption=""> | ||
| views/dashboard/developer/developerdashboardvideos.html | ||
| </control> | ||
| </tab> | ||
| <tab caption="Examine Management"> | ||
| <control> | ||
| views/dashboard/developer/examinemanagement.html | ||
| </control> | ||
| </tab> | ||
| </section> | ||
|
|
||
| <section alias="StartupMediaDashboardSection"> | ||
| <areas> | ||
| <area>media</area> | ||
| </areas> | ||
| <tab caption="Content"> | ||
| <control showOnce="false" addPanel="false" panelCaption=""> | ||
| views/dashboard/media/mediafolderbrowser.html | ||
| </control> | ||
| </tab> | ||
|
|
||
| </section> | ||
|
|
||
| <section alias="StartupDashboardSection"> | ||
| <access> | ||
| <deny>translator</deny> | ||
| </access> | ||
| <areas> | ||
| <area>content</area> | ||
| </areas> | ||
| <tab caption="Get Started"> | ||
| <access> | ||
| <grant>admin</grant> | ||
| </access> | ||
|
|
||
| <control showOnce="true" addPanel="true" panelCaption=""> | ||
| views/dashboard/default/startupdashboardintro.html | ||
| </control> | ||
|
|
||
| </tab> | ||
| <tab caption="Change Password"> | ||
| <control showOnce="false" addPanel="false" panelCaption=""> | ||
| views/dashboard/ChangePassword.html | ||
| </control> | ||
| </tab> | ||
| </section> | ||
|
|
||
| <section alias="StartupMemberDashboardSection"> | ||
| <areas> | ||
| <area>member</area> | ||
| </areas> | ||
| <tab caption="Get Started"> | ||
| <control showOnce="true" addPanel="true" panelCaption=""> | ||
| views/dashboard/members/membersdashboardvideos.html | ||
| </control> | ||
| </tab> | ||
| </section> | ||
| </dashBoard> |
| @@ -0,0 +1,71 @@ | ||
| <?xml version="1.0"?> | ||
| <embed> | ||
| <!-- Flickr Settings--> | ||
| <provider name="Flickr" type="Umbraco.Web.Media.EmbedProviders.Flickr, umbraco"> | ||
| <urlShemeRegex><![CDATA[flickr\.com/]]></urlShemeRegex> | ||
| <apiEndpoint><![CDATA[http://www.flickr.com/services/oembed/]]></apiEndpoint> | ||
| <requestParams type="Umbraco.Web.Media.EmbedProviders.Settings.Dictionary, umbraco"></requestParams> | ||
| </provider> | ||
| <!-- Screenr Settings --> | ||
| <provider name="Screenr" type="Umbraco.Web.Media.EmbedProviders.OEmbedVideo, umbraco" supportsDimensions="False"> | ||
| <urlShemeRegex><![CDATA[screenr\.com/]]></urlShemeRegex> | ||
| <apiEndpoint><![CDATA[http://www.screenr.com/api/oembed.xml]]></apiEndpoint> | ||
| <requestParams type="Umbraco.Web.Media.EmbedProviders.Settings.Dictionary, umbraco"></requestParams> | ||
| </provider> | ||
| <!-- SlideShare Settings --> | ||
| <provider name="SlideShare" type="Umbraco.Web.Media.EmbedProviders.OEmbedRich, umbraco"> | ||
| <urlShemeRegex><![CDATA[slideshare\.net/]]></urlShemeRegex> | ||
| <apiEndpoint><![CDATA[http://www.slideshare.net/api/oembed/2]]></apiEndpoint> | ||
| <requestParams type="Umbraco.Web.Media.EmbedProviders.Settings.Dictionary, umbraco"> | ||
| <param name="format">xml</param> | ||
| </requestParams> | ||
| </provider> | ||
| <!-- SoundCloud Settigs --> | ||
| <provider name="SoundCloud" type="Umbraco.Web.Media.EmbedProviders.OEmbedRich, umbraco"> | ||
| <urlShemeRegex><![CDATA[soundcloud\.com/]]></urlShemeRegex> | ||
| <apiEndpoint><![CDATA[http://soundcloud.com/oembed]]></apiEndpoint> | ||
| <requestParams type="Umbraco.Web.Media.EmbedProviders.Settings.Dictionary, umbraco"></requestParams> | ||
| </provider> | ||
| <!-- Twitgoo Settings , not an OEmbed one --> | ||
| <provider name="Twitgoo" type="Umbraco.Web.Media.EmbedProviders.Twitgoo, umbraco"> | ||
| <urlShemeRegex><![CDATA[twitgoo\.com/]]></urlShemeRegex> | ||
| </provider> | ||
| <!-- Youtube Settings --> | ||
| <provider name="Youtube" type="Umbraco.Web.Media.EmbedProviders.OEmbedVideo, umbraco"> | ||
| <urlShemeRegex><![CDATA[youtu(?:\.be|be\.com)/(?:(.*)v(/|=)|(.*/)?)([a-zA-Z0-9-_]+)]]></urlShemeRegex> | ||
| <apiEndpoint><![CDATA[https://www.youtube.com/oembed]]></apiEndpoint> | ||
| <requestParams type="Umbraco.Web.Media.EmbedProviders.Settings.Dictionary, umbraco"> | ||
| <param name="iframe">1</param> | ||
| <param name="format">xml</param> | ||
| <param name="scheme">https</param> | ||
| </requestParams> | ||
| </provider> | ||
| <!-- StreamDotUmbracoDotCom --> | ||
| <provider name="StreamDotUmbracoDotCom" type="Umbraco.Web.Media.EmbedProviders.OEmbedVideo, umbraco"> | ||
| <urlShemeRegex><![CDATA[stream\.umbraco\.org/]]></urlShemeRegex> | ||
| <apiEndpoint><![CDATA[http://stream.umbraco.org/oembed]]></apiEndpoint> | ||
| <requestParams type="Umbraco.Web.Media.EmbedProviders.Settings.Dictionary, umbraco"></requestParams> | ||
| </provider> | ||
| <!-- Daily Motion --> | ||
| <provider name="DailyMotion" type="Umbraco.Web.Media.EmbedProviders.OEmbedVideo, umbraco"> | ||
| <urlShemeRegex><![CDATA[dailymotion\.com/]]></urlShemeRegex> | ||
| <apiEndpoint><![CDATA[http://www.dailymotion.com/services/oembed]]></apiEndpoint> | ||
| <requestParams type="Umbraco.Web.Media.EmbedProviders.Settings.Dictionary, umbraco"> | ||
| <param name="format">xml</param> | ||
| </requestParams> | ||
| </provider> | ||
| <!-- Hulu --> | ||
| <provider name="Hulu" type="Umbraco.Web.Media.EmbedProviders.OEmbedVideo, umbraco"> | ||
| <urlShemeRegex><![CDATA[hulu\.com/]]></urlShemeRegex> | ||
| <apiEndpoint><![CDATA[http://www.hulu.com/api/oembed.xml]]></apiEndpoint> | ||
| <requestParams type="Umbraco.Web.Media.EmbedProviders.Settings.Dictionary, umbraco"> | ||
| <param name="format">xml</param> | ||
| </requestParams> | ||
| </provider> | ||
| <!-- Vimeo --> | ||
| <provider name="Vimeo" type="Umbraco.Web.Media.EmbedProviders.OEmbedVideo, umbraco"> | ||
| <urlShemeRegex><![CDATA[vimeo\.com/]]></urlShemeRegex> | ||
| <apiEndpoint><![CDATA[http://vimeo.com/api/oembed.xml]]></apiEndpoint> | ||
| <requestParams type="Umbraco.Web.Media.EmbedProviders.Settings.Dictionary, umbraco"></requestParams> | ||
| </provider> | ||
| </embed> |
| @@ -0,0 +1,28 @@ | ||
| <?xml version="1.0"?> | ||
| <!-- | ||
| Umbraco examine is an extensible indexer and search engine. | ||
| This configuration file can be extended to create your own index sets. | ||
| Index/Search providers can be defined in the UmbracoSettings.config | ||
| More information and documentation can be found on CodePlex: http://umbracoexamine.codeplex.com | ||
| --> | ||
| <ExamineLuceneIndexSets> | ||
| <!-- The internal index set used by Umbraco back-office - DO NOT REMOVE --> | ||
| <IndexSet SetName="InternalIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/Internal/"/> | ||
|
|
||
| <!-- The internal index set used by Umbraco back-office for indexing members - DO NOT REMOVE --> | ||
| <IndexSet SetName="InternalMemberIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/InternalMember/"> | ||
| <IndexAttributeFields> | ||
| <add Name="id" /> | ||
| <add Name="nodeName"/> | ||
| <add Name="updateDate" /> | ||
| <add Name="writerName" /> | ||
| <add Name="loginName" /> | ||
| <add Name="email" /> | ||
| <add Name="nodeTypeAlias" /> | ||
| </IndexAttributeFields> | ||
| </IndexSet> | ||
|
|
||
| <!-- Default Indexset for external searches, this indexes all fields on all types of nodes--> | ||
| <IndexSet SetName="ExternalIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/External/" /> | ||
| </ExamineLuceneIndexSets> |
| @@ -0,0 +1,41 @@ | ||
| <?xml version="1.0"?> | ||
| <!-- | ||
| Umbraco examine is an extensible indexer and search engine. | ||
| This configuration file can be extended to add your own search/index providers. | ||
| Index sets can be defined in the ExamineIndex.config if you're using the standard provider model. | ||
| More information and documentation can be found on CodePlex: http://umbracoexamine.codeplex.com | ||
| --> | ||
| <Examine> | ||
| <ExamineIndexProviders> | ||
| <providers> | ||
| <add name="InternalIndexer" type="UmbracoExamine.UmbracoContentIndexer, UmbracoExamine" | ||
| supportUnpublished="true" | ||
| supportProtected="true" | ||
| analyzer="Lucene.Net.Analysis.WhitespaceAnalyzer, Lucene.Net"/> | ||
|
|
||
| <add name="InternalMemberIndexer" type="UmbracoExamine.UmbracoMemberIndexer, UmbracoExamine" | ||
| supportUnpublished="true" | ||
| supportProtected="true" | ||
| analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net"/> | ||
|
|
||
| <!-- default external indexer, which excludes protected and unpublished pages--> | ||
| <add name="ExternalIndexer" type="UmbracoExamine.UmbracoContentIndexer, UmbracoExamine"/> | ||
|
|
||
| </providers> | ||
| </ExamineIndexProviders> | ||
|
|
||
| <ExamineSearchProviders defaultProvider="ExternalSearcher"> | ||
| <providers> | ||
| <add name="InternalSearcher" type="UmbracoExamine.UmbracoExamineSearcher, UmbracoExamine" | ||
| analyzer="Lucene.Net.Analysis.WhitespaceAnalyzer, Lucene.Net"/> | ||
|
|
||
| <add name="ExternalSearcher" type="UmbracoExamine.UmbracoExamineSearcher, UmbracoExamine" /> | ||
|
|
||
| <add name="InternalMemberSearcher" type="UmbracoExamine.UmbracoExamineSearcher, UmbracoExamine" | ||
| analyzer="Lucene.Net.Analysis.Standard.StandardAnalyzer, Lucene.Net" enableLeadingWildcard="true"/> | ||
|
|
||
| </providers> | ||
| </ExamineSearchProviders> | ||
|
|
||
| </Examine> |
| @@ -0,0 +1,11 @@ | ||
| <?xml version="1.0"?> | ||
| <FileSystemProviders> | ||
|
|
||
| <!-- Media --> | ||
| <Provider alias="media" type="Umbraco.Core.IO.PhysicalFileSystem, Umbraco.Core"> | ||
| <Parameters> | ||
| <add key="virtualRoot" value="~/media/" /> | ||
| </Parameters> | ||
| </Provider> | ||
|
|
||
| </FileSystemProviders> |
| @@ -0,0 +1,33 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <urlrewritingnet xmlns="http://www.urlrewriting.net/schemas/config/2006/07"> | ||
| <rewrites> | ||
| <!-- | ||
| Urlrewriting.Net is a cool tool, what can make your urls look nice. | ||
| The rewriting is controlled with regular expressions. To get more help | ||
| look at http://www.urlrewriting.net/. | ||
| Remember to read the manual! | ||
| http://our.umbraco.org/wiki/recommendations/recommended-reading-for-web-developers | ||
| The sample below rewrites a url from | ||
| "/product/someproductid.aspx" to | ||
| "/product.aspx?productid=someproductid" | ||
| The user will not see the rewritten path! The page that will be | ||
| loaded from umbraco will instead be: | ||
| "/product.aspx?productid=someproductid" | ||
| <add name="produktidrewrite" | ||
| virtualUrl="^~/product/(.*).aspx" | ||
| rewriteUrlParameter="ExcludeFromClientQueryString" | ||
| destinationUrl="~/product.aspx?productid=$1" | ||
| ignoreCase="true" /> | ||
| This sample is usefull for a productpage, where the product comes from a | ||
| dynamic datasource, e.g. a database. The querystring "productid" can be loaded | ||
| from the template, into a macro, that then loads the product! | ||
| Any bugs or problems with the rewriter, contact Anders/Duckie | ||
| --> | ||
| </rewrites> | ||
| </urlrewritingnet> |
| @@ -0,0 +1,11 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <applications> | ||
| <add alias="content" name="Content" icon="traycontent" sortOrder="0" /> | ||
| <add alias="media" name="Media" icon="traymedia" sortOrder="1" /> | ||
| <add alias="settings" name="Settings" icon="traysettings" sortOrder="2" /> | ||
| <add alias="developer" name="Developer" icon="traydeveloper" sortOrder="3" /> | ||
| <add alias="users" name="Users" icon="trayuser" sortOrder="4" /> | ||
| <add alias="member" name="Members" icon="traymember" sortOrder="5" /> | ||
| <add alias="forms" name="Forms" icon="icon-umb-contour" sortOrder="6" /> | ||
| <add alias="translation" name="Translation" icon="traytranslation" sortOrder="7" /> | ||
| </applications> |
| @@ -0,0 +1,11 @@ | ||
| <?xml version="1.0"?> | ||
| <feedProxy> | ||
| <!-- To enable the FeedProxy to access other domains, please add the hostname to an 'allow' element. --> | ||
| <!-- <allow host="domain.com" /> --> | ||
|
|
||
| <!-- The following hostnames are used by on the dashboards, please do not delete these. --> | ||
| <allow host="umbraco.com" /> | ||
| <allow host="umbraco.org" /> | ||
| <allow host="umbraco.tv" /> | ||
| <allow host="our.umbraco.org" /> | ||
| </feedProxy> |
| @@ -0,0 +1,151 @@ | ||
| [ | ||
| { | ||
| "name": "Rich text editor", | ||
| "alias": "rte", | ||
| "view": "rte", | ||
| "icon": "icon-article" | ||
| }, | ||
| { | ||
| "name": "Image", | ||
| "alias": "media", | ||
| "view": "media", | ||
| "icon": "icon-picture" | ||
| }, | ||
| { | ||
| "name": "Image wide", | ||
| "alias": "media_wide", | ||
| "view": "media", | ||
| "render": "/App_Plugins/Grid/Editors/Render/media_wide.cshtml", | ||
| "icon": "icon-picture" | ||
| }, | ||
| { | ||
| "name": "Image wide cropped", | ||
| "alias": "media_wide_cropped", | ||
| "view": "media", | ||
| "render": "media", | ||
| "icon": "icon-picture", | ||
| "config": { | ||
| "size": { | ||
| "width": 1920, | ||
| "height": 700 | ||
| } | ||
| } | ||
| }, | ||
| { | ||
| "name": "Image rounded", | ||
| "alias": "media_round", | ||
| "view": "media", | ||
| "render": "/App_Plugins/Grid/Editors/Render/media_round.cshtml", | ||
| "icon": "icon-picture" | ||
| }, | ||
| { | ||
| "name": "Image w/ text right", | ||
| "alias": "media_text_right", | ||
| "view": "/App_Plugins/Grid/Editors/Views/media_with_description.html", | ||
| "render": "/App_Plugins/Grid/Editors/Render/media_text_right.cshtml", | ||
| "icon": "icon-picture" | ||
| }, | ||
| { | ||
| "name": "Macro", | ||
| "alias": "macro", | ||
| "view": "macro", | ||
| "icon": "icon-settings-alt" | ||
| }, | ||
| { | ||
| "name": "Embed", | ||
| "alias": "embed", | ||
| "view": "embed", | ||
| "render": "/App_Plugins/Grid/Editors/Render/embed_videowrapper.cshtml", | ||
| "icon": "icon-movie-alt" | ||
| }, | ||
| { | ||
| "name": "Banner Headline", | ||
| "alias": "banner_headline", | ||
| "view": "textstring", | ||
| "icon": "icon-coin", | ||
| "config": { | ||
| "style": "font-size: 36px; line-height: 45px; font-weight: bold; text-align:center", | ||
| "markup": "<h1 style='font-size:62px;text-align:center'>#value#</h1>" | ||
| } | ||
| }, | ||
| { | ||
| "name": "Banner Tagline", | ||
| "alias": "banner_tagline", | ||
| "view": "textstring", | ||
| "icon": "icon-coin", | ||
| "config": { | ||
| "style": "font-size: 25px; line-height: 35px; font-weight: normal; text-align:center", | ||
| "markup": "<h2 style='font-weight: 100; font-size: 40px;text-align:center'>#value#</h2>" | ||
| } | ||
| }, | ||
| { | ||
| "name": "Headline", | ||
| "alias": "headline", | ||
| "view": "textstring", | ||
| "icon": "icon-coin", | ||
| "config": { | ||
| "style": "font-size: 36px; line-height: 45px; font-weight: bold", | ||
| "markup": "<h1>#value#</h1>" | ||
| } | ||
| }, | ||
| { | ||
| "name": "Headline centered", | ||
| "alias": "headline_centered", | ||
| "view": "textstring", | ||
| "icon": "icon-coin", | ||
| "config": { | ||
| "style": "font-size: 30px; line-height: 45px; font-weight: bold; text-align:center;", | ||
| "markup": "<h1 style='text-align:center;'>#value#</h1>" | ||
| } | ||
| }, | ||
| { | ||
| "name": "Abstract", | ||
| "alias": "abstract", | ||
| "view": "textstring", | ||
| "icon": "icon-coin", | ||
| "config": { | ||
| "style": "font-size: 16px; line-height: 20px; font-weight: bold;", | ||
| "markup": "<h3>#value#</h3>" | ||
| } | ||
| }, | ||
| { | ||
| "name": "Paragraph", | ||
| "alias": "paragraph", | ||
| "view": "textstring", | ||
| "icon": "icon-font", | ||
| "config": { | ||
| "style": "font-size: 16px; line-height: 20px; font-weight: light;", | ||
| "markup": "<p>#value#</p>" | ||
| } | ||
| }, | ||
| { | ||
| "name": "Quote", | ||
| "alias": "quote", | ||
| "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", | ||
| "markup": "<blockquote>#value#</blockquote>" | ||
| } | ||
| }, | ||
| { | ||
| "name": "Quote with description", | ||
| "alias": "quote_D", | ||
| "view": "/App_Plugins/Grid/Editors/Views/quote_with_description.html", | ||
| "render": "/App_Plugins/Grid/Editors/Render/quote_with_description.cshtml", | ||
| "icon": "icon-quote", | ||
| "config": { | ||
| "style": "border-left: 3px solid #ccc; padding: 10px; color: #ccc; font-family: serif; font-variant: italic; font-size: 18px" | ||
| } | ||
| }, | ||
| { | ||
| "name": "Code", | ||
| "alias": "code", | ||
| "view": "textstring", | ||
| "icon": "icon-code", | ||
| "config": { | ||
| "style": "overflow: auto;padding: 6px 10px;border: 1px solid #ddd;border-radius: 3px;background-color: #f8f8f8;font-size: .9rem;font-family: 'Courier 10 Pitch', Courier, monospace;line-height: 19px;", | ||
| "markup": "<pre>#value#</pre>" | ||
| } | ||
| } | ||
| ] |
| @@ -0,0 +1,28 @@ | ||
| <?xml version="1.0"?> | ||
| <log4net> | ||
|
|
||
| <root> | ||
| <priority value="Info"/> | ||
| <appender-ref ref="AsynchronousLog4NetAppender" /> | ||
| </root> | ||
|
|
||
| <appender name="AsynchronousLog4NetAppender" type="Umbraco.Core.Logging.AsynchronousRollingFileAppender, Umbraco.Core"> | ||
| <file value="App_Data\Logs\UmbracoTraceLog.txt" /> | ||
| <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> | ||
| <appendToFile value="true" /> | ||
| <rollingStyle value="Date" /> | ||
| <maximumFileSize value="5MB" /> | ||
| <layout type="log4net.Layout.PatternLayout"> | ||
| <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> | ||
| </layout> | ||
| <encoding value="utf-8" /> | ||
| </appender> | ||
|
|
||
| <!--Here you can change the way logging works for certain namespaces --> | ||
|
|
||
| <logger name="NHibernate"> | ||
| <level value="WARN" /> | ||
| </logger> | ||
|
|
||
|
|
||
| </log4net> |
| @@ -0,0 +1,3 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <metablogapi> | ||
| </metablogapi> |
| @@ -0,0 +1,11 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <microsoft.scripting> | ||
| <languages> | ||
| <language names="IronPython;Python;py" extensions=".py" displayName="IronPython 2.6" type="IronPython.Runtime.PythonContext, IronPython, Version=2.6.10920.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> | ||
| <language names="IronRuby;Ruby;rb" extensions=".rb" displayName="IronRuby 1.0" type="IronRuby.Runtime.RubyContext, IronRuby, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" /> | ||
| </languages> | ||
|
|
||
| <options> | ||
| <set language="Ruby" option="LibraryPaths" value="..\..\Languages\Ruby\libs\;..\..\..\External\Languages\Ruby\ruby-1.8.6\lib\ruby\site_ruby\1.8\;..\..\..\External\Languages\Ruby\ruby-1.8.6\lib\ruby\site_ruby\;..\..\..\External\Languages\Ruby\ruby-1.8.6\lib\ruby\1.8\" /> | ||
| </options> | ||
| </microsoft.scripting> |
| @@ -0,0 +1,26 @@ | ||
| <%@ Page Language="C#" AutoEventWireup="true" Inherits="System.Web.UI.Page" %> | ||
|
|
||
| <% | ||
| // NH: Adds this inline check to avoid a simple codebehind file in the legacy project! | ||
| if (Request["url"].ToLower().Contains("booting.aspx") || !umbraco.cms.helpers.url.ValidateProxyUrl(Request["url"], Request.Url.AbsoluteUri)) | ||
| { | ||
| throw new ArgumentException("Can't redirect to the requested url - it's not local or an approved proxy url", | ||
| "url"); | ||
| } | ||
| %> | ||
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||
| <html xmlns="http://www.w3.org/1999/xhtml"> | ||
| <head> | ||
| <title>The website is restarting</title> | ||
| <meta http-equiv="REFRESH" content="10; URL=<%=Request["url"] %>"> | ||
| </head> | ||
| <body> | ||
| <h1>The website is restarting</h1> | ||
| <p>Please wait for 10s while we prepare to serve the page you have requested...</p> | ||
|
|
||
| <p style="border-top: 1px solid #ccc; padding-top: 10px;"> | ||
| <small>You can modify the design of this page by editing /config/splashes/booting.aspx</small> | ||
| </p> | ||
|
|
||
| </body> | ||
| </html> |
| @@ -0,0 +1,68 @@ | ||
| <%@ Page Language="C#" AutoEventWireup="True" Inherits="Umbraco.Web.UI.Config.Splashes.NoNodes" CodeBehind="NoNodes.aspx.cs" %> | ||
| <%@ Import Namespace="Umbraco.Core.Configuration" %> | ||
| <%@ Import Namespace="Umbraco.Core.IO" %> | ||
|
|
||
| <!doctype html> | ||
| <!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]--> | ||
| <!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]--> | ||
| <!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]--> | ||
| <!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]--> | ||
| <head> | ||
| <meta charset="utf-8"> | ||
| <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | ||
| <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> | ||
|
|
||
| <title></title> | ||
| <meta name="description" content=""> | ||
| <meta name="author" content=""> | ||
|
|
||
| <link href='//fonts.googleapis.com/css?family=Open+Sans:300,400,700,600' rel='stylesheet' type='text/css'> | ||
| <link href='//fonts.googleapis.com/css?family=Asap:400,700,400italic,700italic' rel='stylesheet' type='text/css'> | ||
|
|
||
| <link rel="stylesheet" href="../../Umbraco/assets/css/nonodes.style.min.css" /> | ||
|
|
||
| <!--[if lt IE 9]> | ||
| <script src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.7.1/modernizr.min.js"></script> | ||
| <![endif]--> | ||
|
|
||
| </head> | ||
| <body> | ||
|
|
||
| <section> | ||
| <article> | ||
| <div> | ||
| <div class="logo"></div> | ||
|
|
||
| <h1>Welcome to your Umbraco installation</h1> | ||
| <h3>You're seeing the wonderful page because your website doesn't contain any published content yet.</h3> | ||
|
|
||
| <div class="cta"> | ||
| <a href="<%= IOHelper.ResolveUrl(SystemDirectories.Umbraco) %>" class="button">Open Umbraco</a> | ||
| </div> | ||
|
|
||
|
|
||
| <div class="row"> | ||
| <div class="col"> | ||
| <h2>Easy start with Umbraco.tv</h2> | ||
| <p>We have created a bunch of 'how-to' videos, to get you easily started with Umbraco. Learn how to build projects in just a couple of minutes. Easiest CMS in the world.</p> | ||
|
|
||
| <a href="http://umbraco.tv?ref=tvFromInstaller" target="_blank">Umbraco.tv →</a> | ||
| </div> | ||
|
|
||
| <div class="col"> | ||
| <h2>Be a part of the community</h2> | ||
| <p>The Umbraco community is the best of its kind, be sure to visit, and if you have any questions, we’re sure that you can get your answers from the community.</p> | ||
|
|
||
| <a href="http://our.umbraco.org?ref=ourFromInstaller" target="_blank">our.Umbraco →</a> | ||
| </div> | ||
| </div> | ||
|
|
||
| </div> | ||
| </article> | ||
|
|
||
| </section> | ||
|
|
||
| <script src="//code.jquery.com/jquery-latest.min.js"></script> | ||
|
|
||
| </body> | ||
| </html> |
| @@ -0,0 +1,243 @@ | ||
| <?xml version="1.0" encoding="utf-8" ?> | ||
| <!-- Any changes to this file requires the application (umbraco) to restart --> | ||
| <!-- This can be done by touching the web.config or recycling the application pool --> | ||
| <tinymceConfig> | ||
| <commands> | ||
| <command> | ||
| <umbracoAlias>code</umbracoAlias> | ||
| <icon>images/editor/code.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="code">code</tinyMceCommand> | ||
| <priority>1</priority> | ||
| </command> | ||
| <command> | ||
| <umbracoAlias>removeformat</umbracoAlias> | ||
| <icon>images/editor/removeformat.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="removeformat">removeformat</tinyMceCommand> | ||
| <priority>2</priority> | ||
| </command> | ||
|
|
||
| <command> | ||
| <umbracoAlias>Undo</umbracoAlias> | ||
| <icon>images/editor/undo.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="undo">undo</tinyMceCommand> | ||
| <priority>11</priority> | ||
| </command> | ||
| <command> | ||
| <umbracoAlias>Redo</umbracoAlias> | ||
| <icon>images/editor/redo.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="redo">redo</tinyMceCommand> | ||
| <priority>12</priority> | ||
| </command> | ||
| <command> | ||
| <umbracoAlias>Cut</umbracoAlias> | ||
| <icon>images/editor/cut.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="cut">cut</tinyMceCommand> | ||
| <priority>13</priority> | ||
| </command> | ||
| <command> | ||
| <umbracoAlias>Copy</umbracoAlias> | ||
| <icon>images/editor/copy.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="copy">copy</tinyMceCommand> | ||
| <priority>14</priority> | ||
| </command> | ||
|
|
||
| <command> | ||
| <umbracoAlias>styleselect</umbracoAlias> | ||
| <icon>images/editor/showStyles.png</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="styleselect">styleselect</tinyMceCommand> | ||
| <priority>20</priority> | ||
| </command> | ||
| <command> | ||
| <umbracoAlias>bold</umbracoAlias> | ||
| <icon>images/editor/bold.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="bold">bold</tinyMceCommand> | ||
| <priority>21</priority> | ||
| </command> | ||
| <command> | ||
| <umbracoAlias>italic</umbracoAlias> | ||
| <icon>images/editor/italic.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="italic">italic</tinyMceCommand> | ||
| <priority>22</priority> | ||
| </command> | ||
| <command> | ||
| <umbracoAlias>Underline</umbracoAlias> | ||
| <icon>images/editor/underline.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="underline">underline</tinyMceCommand> | ||
| <priority>23</priority> | ||
| </command> | ||
| <command> | ||
| <umbracoAlias>Strikethrough</umbracoAlias> | ||
| <icon>images/editor/strikethrough.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="strikethrough">strikethrough</tinyMceCommand> | ||
| <priority>24</priority> | ||
| </command> | ||
|
|
||
| <command> | ||
| <umbracoAlias>JustifyLeft</umbracoAlias> | ||
| <icon>images/editor/justifyleft.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="alignleft">justifyleft</tinyMceCommand> | ||
| <priority>31</priority> | ||
| </command> | ||
| <command> | ||
| <umbracoAlias>JustifyCenter</umbracoAlias> | ||
| <icon>images/editor/justifycenter.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="aligncenter">justifycenter</tinyMceCommand> | ||
| <priority>32</priority> | ||
| </command> | ||
| <command> | ||
| <umbracoAlias>JustifyRight</umbracoAlias> | ||
| <icon>images/editor/justifyright.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="alignright">justifyright</tinyMceCommand> | ||
| <priority>33</priority> | ||
| </command> | ||
| <command> | ||
| <umbracoAlias>JustifyFull</umbracoAlias> | ||
| <icon>images/editor/justifyfull.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="alignjustify">alignjustify</tinyMceCommand> | ||
| <priority>34</priority> | ||
| </command> | ||
|
|
||
| <command> | ||
| <umbracoAlias>bullist</umbracoAlias> | ||
| <icon>images/editor/bullist.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="bullist">bullist</tinyMceCommand> | ||
| <priority>41</priority> | ||
| </command> | ||
| <command> | ||
| <umbracoAlias>numlist</umbracoAlias> | ||
| <icon>images/editor/numlist.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="numlist">numlist</tinyMceCommand> | ||
| <priority>42</priority> | ||
| </command> | ||
| <command> | ||
| <umbracoAlias>Outdent</umbracoAlias> | ||
| <icon>images/editor/outdent.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="outdent">outdent</tinyMceCommand> | ||
| <priority>43</priority> | ||
| </command> | ||
| <command> | ||
| <umbracoAlias>Indent</umbracoAlias> | ||
| <icon>images/editor/indent.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="indent">indent</tinyMceCommand> | ||
| <priority>44</priority> | ||
| </command> | ||
|
|
||
| <command> | ||
| <umbracoAlias>mceLink</umbracoAlias> | ||
| <icon>images/editor/link.gif</icon> | ||
| <tinyMceCommand value="" userInterface="true" frontendCommand="link">link</tinyMceCommand> | ||
| <priority>51</priority> | ||
| </command> | ||
| <command> | ||
| <umbracoAlias>unlink</umbracoAlias> | ||
| <icon>images/editor/unLink.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="unlink">unlink</tinyMceCommand> | ||
| <priority>52</priority> | ||
| </command> | ||
| <command> | ||
| <umbracoAlias>mceInsertAnchor</umbracoAlias> | ||
| <icon>images/editor/anchor.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="anchor">anchor</tinyMceCommand> | ||
| <priority>53</priority> | ||
| </command> | ||
|
|
||
| <command> | ||
| <umbracoAlias>mceImage</umbracoAlias> | ||
| <icon>images/editor/image.gif</icon> | ||
| <tinyMceCommand value="" userInterface="true" frontendCommand="umbmediapicker">image</tinyMceCommand> | ||
| <priority>61</priority> | ||
| </command> | ||
|
|
||
| <command> | ||
| <umbracoAlias>umbracomacro</umbracoAlias> | ||
| <icon>images/editor/insMacro.gif</icon> | ||
| <tinyMceCommand value="" userInterface="true" frontendCommand="umbmacro">umbracomacro</tinyMceCommand> | ||
| <priority>62</priority> | ||
| </command> | ||
|
|
||
|
|
||
|
|
||
| <command> | ||
| <umbracoAlias>mceInsertTable</umbracoAlias> | ||
| <icon>images/editor/table.gif</icon> | ||
| <tinyMceCommand value="" userInterface="true" frontendCommand="table">table</tinyMceCommand> | ||
| <priority>63</priority> | ||
| </command> | ||
|
|
||
| <command> | ||
| <umbracoAlias>umbracoembed</umbracoAlias> | ||
| <icon>images/editor/media.gif</icon> | ||
| <tinyMceCommand value="" userInterface="true" frontendCommand="umbembeddialog">umbracoembed</tinyMceCommand> | ||
| <priority>66</priority> | ||
| </command> | ||
| <command> | ||
| <umbracoAlias>inserthorizontalrule</umbracoAlias> | ||
| <icon>images/editor/hr.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="hr">hr</tinyMceCommand> | ||
| <priority>71</priority> | ||
| </command> | ||
| <command> | ||
| <umbracoAlias>subscript</umbracoAlias> | ||
| <icon>images/editor/sub.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="subscript">subscript</tinyMceCommand> | ||
| <priority>72</priority> | ||
| </command> | ||
|
|
||
| <command> | ||
| <umbracoAlias>superscript</umbracoAlias> | ||
| <icon>images/editor/sup.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="superscript">superscript</tinyMceCommand> | ||
| <priority>73</priority> | ||
| </command> | ||
|
|
||
| <command> | ||
| <umbracoAlias>mceCharMap</umbracoAlias> | ||
| <icon>images/editor/charmap.gif</icon> | ||
| <tinyMceCommand value="" userInterface="false" frontendCommand="charmap">charmap</tinyMceCommand> | ||
| <priority>74</priority> | ||
| </command> | ||
|
|
||
| </commands> | ||
| <plugins> | ||
| <plugin loadOnFrontend="true">code</plugin> | ||
| <plugin loadOnFrontend="true">paste</plugin> | ||
| <plugin loadOnFrontend="true">umbracolink</plugin> | ||
| <plugin loadOnFrontend="true">anchor</plugin> | ||
| <plugin loadOnFrontend="true">charmap</plugin> | ||
| <plugin loadOnFrontend="true">table</plugin> | ||
| <plugin loadOnFrontend="true">lists</plugin> | ||
| </plugins> | ||
| <validElements> | ||
| <![CDATA[+a[id|style|rel|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick| | ||
| ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/-b[class|style],-em/-i[class|style], | ||
| -strike[class|style],-u[class|style],#p[id|style|dir|class|align],-ol[class|reversed|start|style|type],-ul[class|style],-li[class|style],br[class], | ||
| img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border|alt=|title|hspace|vspace|width|height|align|umbracoorgwidth|umbracoorgheight|onresize|onresizestart|onresizeend|rel], | ||
| -sub[style|class],-sup[style|class],-blockquote[dir|style|class],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor], | ||
| -tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class], | ||
| thead[id|class],tfoot[id|class],#td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope], | ||
| -th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-div[id|dir|class|align|style], | ||
| -span[class|align|style],-pre[class|align|style],address[class|align|style],-h1[id|dir|class|align|style],-h2[id|dir|class|align|style], | ||
| -h3[id|dir|class|align|style],-h4[id|dir|class|align|style],-h5[id|dir|class|align|style],-h6[id|style|dir|class|align|style],hr[class|style], | ||
| dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|lang],dt[id|class|title|style|dir|lang],object[class|id|width|height|codebase|*], | ||
| param[name|value|_value|class],embed[type|width|height|src|class|*],map[name|class],area[shape|coords|href|alt|target|class],bdo[class],button[class],iframe[*]]]> | ||
| </validElements> | ||
| <invalidElements>font</invalidElements> | ||
|
|
||
| <!-- this area is for custom config settings that should be added during TinyMCE initialization --> | ||
| <customConfig> | ||
| <!-- <config key="myKey">mySetting</config>--> | ||
| <config key="entity_encoding">raw</config> | ||
| <config key="codemirror"> | ||
| { | ||
| "indentOnInit": false, | ||
| "path": "../../../../../umbraco_client/CodeMirror/Js", | ||
| "config": { | ||
| }, | ||
| "jsFiles": [ | ||
| ], | ||
| "cssFiles": [ | ||
| ] | ||
| } | ||
| </config> | ||
| </customConfig> | ||
| </tinymceConfig> |
| @@ -0,0 +1,41 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <trees> | ||
| <!--Content--> | ||
| <add initialize="true" sortOrder="0" alias="content" application="content" title="Content" iconClosed="icon-folder" iconOpen="icon-folder" type="Umbraco.Web.Trees.ContentTreeController, umbraco" /> | ||
| <add initialize="false" sortOrder="0" alias="contentRecycleBin" application="content" title="Recycle Bin" iconClosed="icon-folder" iconOpen="icon-folder" type="umbraco.cms.presentation.Trees.ContentRecycleBin, umbraco" /> | ||
| <!--Media--> | ||
| <add initialize="true" sortOrder="0" alias="media" application="media" title="Media" iconClosed="icon-folder" iconOpen="icon-folder" type="Umbraco.Web.Trees.MediaTreeController, umbraco" /> | ||
| <add initialize="false" sortOrder="0" alias="mediaRecycleBin" application="media" title="Recycle Bin" iconClosed="icon-folder" iconOpen="icon-folder" type="umbraco.cms.presentation.Trees.MediaRecycleBin, umbraco" /> | ||
| <!--Settings--> | ||
| <add application="settings" alias="stylesheets" title="Stylesheets" type="umbraco.loadStylesheets, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="0" /> | ||
| <add application="settings" alias="stylesheetProperty" title="Stylesheet Property" type="umbraco.loadStylesheetProperty, umbraco" iconClosed="" iconOpen="" initialize="false" sortOrder="0" /> | ||
| <add application="settings" alias="templates" title="Templates" type="umbraco.loadTemplates, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="1" /> | ||
| <add application="settings" alias="partialViews" title="Partial Views" silent="false" initialize="true" iconClosed="icon-folder" iconOpen="icon-folder" type="Umbraco.Web.Trees.PartialViewsTree, umbraco" sortOrder="2" /> | ||
| <add application="settings" alias="scripts" title="Scripts" type="umbraco.loadScripts, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="3" /> | ||
| <add application="settings" alias="dictionary" title="Dictionary" type="umbraco.loadDictionary, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="4" /> | ||
| <add application="settings" alias="languages" title="Languages" type="umbraco.loadLanguages, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="5" /> | ||
| <add application="settings" alias="mediaTypes" title="Media Types" type="umbraco.loadMediaTypes, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="6" /> | ||
| <add application="settings" alias="nodeTypes" title="Document Types" type="umbraco.loadNodeTypes, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="7" /> | ||
| <!--Developer--> | ||
| <add initialize="true" sortOrder="0" alias="datatype" application="developer" title="Data Types" iconClosed="icon-folder" iconOpen="icon-folder" type="Umbraco.Web.Trees.DataTypeTreeController, umbraco" /> | ||
| <add application="developer" alias="macros" title="Macros" type="umbraco.loadMacros, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="2" /> | ||
| <add application="developer" alias="packager" title="Packages" type="umbraco.loadPackager, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="3" /> | ||
| <add application="developer" alias="packagerPackages" title="Packager Packages" type="umbraco.loadPackages, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" initialize="false" sortOrder="3" /> | ||
| <add application="developer" alias="relationTypes" title="Relation Types" type="umbraco.loadRelationTypes, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="4" /> | ||
| <add application="developer" alias="xslt" title="XSLT Files" type="umbraco.loadXslt, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="5" /> | ||
| <add application="developer" alias="partialViewMacros" type="Umbraco.Web.Trees.PartialViewMacrosTree, umbraco" silent="false" initialize="true" sortOrder="6" title="Partial View Macro Files" iconClosed="icon-folder" iconOpen="icon-folder" /> | ||
| <!--Users--> | ||
| <add application="users" alias="users" title="Users" type="umbraco.loadUsers, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="0" /> | ||
| <add application="users" alias="userTypes" title="User Types" type="umbraco.cms.presentation.Trees.UserTypes, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="1" /> | ||
| <add application="users" alias="userPermissions" title="User Permissions" type="umbraco.cms.presentation.Trees.UserPermissions, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="2" /> | ||
| <!--Members--> | ||
| <add initialize="true" sortOrder="0" alias="member" application="member" title="Members" iconClosed="icon-folder" iconOpen="icon-folder-open" type="Umbraco.Web.Trees.MemberTreeController, umbraco" /> | ||
| <add application="member" alias="memberGroup" title="Member Groups" type="umbraco.loadMemberGroups, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="1" /> | ||
| <add application="member" alias="memberType" title="Member Types" type="umbraco.loadMemberTypes, umbraco" iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="2" /> | ||
| <!--Translation--> | ||
| <add silent="false" initialize="true" sortOrder="1" alias="openTasks" application="translation" title="Tasks assigned to you" iconClosed="icon-folder" iconOpen="icon-folder" type="umbraco.loadOpenTasks, umbraco" /> | ||
| <add silent="false" initialize="true" sortOrder="2" alias="yourTasks" application="translation" title="Tasks created by you" iconClosed="icon-folder" iconOpen="icon-folder" type="umbraco.loadYourTasks, umbraco" /> | ||
| <!-- Custom --> | ||
| <!--<add application="myApplication" alias="myTree" title="Me Tree" type="MyNamespace.myTree, MyAssembly" | ||
| iconClosed="icon-folder" iconOpen="icon-folder" sortOrder="10" />--> | ||
| </trees> |
| @@ -0,0 +1,156 @@ | ||
| <?xml version="1.0" encoding="utf-8" ?> | ||
| <settings> | ||
|
|
||
| <!-- | ||
| umbracoSettings.config configuration documentation can be found here: | ||
| http://our.umbraco.org/documentation/using-umbraco/config-files/umbracoSettings/ | ||
| Many of the optional settings are not explicitly listed here | ||
| but can be found in the online documentation. | ||
| --> | ||
|
|
||
| <content> | ||
|
|
||
| <errors> | ||
| <error404>1</error404> | ||
| <!-- | ||
| The value for error pages can be: | ||
| * A content item's integer ID (example: 1234) | ||
| * A content item's GUID ID (example: 26C1D84F-C900-4D53-B167-E25CC489DAC8) | ||
| * An XPath statement (example: //errorPages[@nodeName='My cool error'] | ||
| --> | ||
| <!-- | ||
| <error404> | ||
| <errorPage culture="default">1</errorPage> | ||
| <errorPage culture="en-US">200</errorPage> | ||
| </error404> | ||
| --> | ||
| </errors> | ||
|
|
||
| <notifications> | ||
| <!-- the email that should be used as from mail when umbraco sends a notification --> | ||
| <email>your@email.here</email> | ||
| </notifications> | ||
|
|
||
| <!-- Show property descriptions in editing view "icon|text|none" --> | ||
| <PropertyContextHelpOption>text</PropertyContextHelpOption> | ||
|
|
||
| <!-- The html injected into a (x)html page if Umbraco is running in preview mode --> | ||
| <PreviewBadge> | ||
| <![CDATA[<a id="umbracoPreviewBadge" style="position: absolute; top: 0; right: 0; border: 0; width: 149px; height: 149px; background: url('{1}/preview/previewModeBadge.png') no-repeat;z-index: 9999999;" href="#" OnClick="javascript:window.top.location.href = '{0}/endPreview.aspx?redir={2}'"><span style="display:none;">In Preview Mode - click to end</span></a>]]></PreviewBadge> | ||
|
|
||
| <!-- Cache cycle of Media and Member data fetched from the umbraco.library methods --> | ||
| <!-- In seconds. 0 will disable cache --> | ||
| <UmbracoLibraryCacheDuration>1800</UmbracoLibraryCacheDuration> | ||
|
|
||
| <!-- How Umbraco should handle errors during macro execution. Can be one of the following values: | ||
| - inline - show an inline error within the macro but allow the page to continue rendering. Historial Umbraco behaviour. | ||
| - silent - Silently suppress the error and do not render the offending macro. | ||
| - throw - Throw an exception which can be caught by the global error handler defined in Application_OnError. If no such | ||
| error handler is defined then you'll see the Yellow Screen Of Death (YSOD) error page. | ||
| Note the error can also be handled by the umbraco.macro.Error event, where you can log/alarm with your own code and change the behaviour per event. --> | ||
| <MacroErrors>inline</MacroErrors> | ||
|
|
||
| <!-- These file types will not be allowed to be uploaded via the upload control for media and content --> | ||
| <disallowedUploadFiles>ashx,aspx,ascx,config,cshtml,vbhtml,asmx,air,axd,swf,xml,html,htm,svg,php,htaccess</disallowedUploadFiles> | ||
|
|
||
| <!-- Defines the default document type property used when adding properties in the back-office (if missing or empty, defaults to Textstring --> | ||
| <defaultDocumentTypeProperty>Textstring</defaultDocumentTypeProperty> | ||
| </content> | ||
|
|
||
| <security> | ||
| <!-- set to true to auto update login interval (and there by disabling the lock screen --> | ||
| <keepUserLoggedIn>true</keepUserLoggedIn> | ||
| <!-- change in 4.8: Disabled users are now showed dimmed and last in the tree. If you prefer not to display them set this to true --> | ||
| <hideDisabledUsersInBackoffice>false</hideDisabledUsersInBackoffice> | ||
| </security> | ||
|
|
||
| <requestHandler> | ||
| <!-- this will ensure that urls are unique when running with multiple root nodes --> | ||
| <useDomainPrefixes>false</useDomainPrefixes> | ||
| <!-- this will add a trailing slash (/) to urls when in directory url mode --> | ||
| <addTrailingSlash>true</addTrailingSlash> | ||
| </requestHandler> | ||
|
|
||
| <templates> | ||
| <!-- To switch the default rendering engine to MVC, change this value from WebForms to Mvc --> | ||
| <defaultRenderingEngine>Mvc</defaultRenderingEngine> | ||
| </templates> | ||
|
|
||
| <scheduledTasks> | ||
| <!-- add tasks that should be called with an interval (seconds) --> | ||
| <!-- <task log="true" alias="test60" interval="60" url="http://localhost/umbraco/test.aspx"/>--> | ||
| </scheduledTasks> | ||
|
|
||
| <!-- distributed calls must be enabled when using Umbraco in a load balanced environment --> | ||
| <distributedCall enable="false"> | ||
| <!-- the id of the user who's making the calls --> | ||
| <!-- needed for security, umbraco will automatically look up correct login and passwords --> | ||
| <user>0</user> | ||
|
|
||
| <!-- | ||
| When distributed call is enabled, you need to add all of the servers part taking in load balancing | ||
| to the server list below. | ||
| --> | ||
|
|
||
| <servers> | ||
|
|
||
| <!-- | ||
| Add ip number or hostname, make sure that it can be reached from all servers | ||
| you can also add optional attributes to force a protocol or port number. | ||
| Examples: | ||
| <server>127.0.0.1</server> | ||
| <server forceProtocol="http|https" forcePortnumber="80|443">127.0.0.1</server> | ||
| Generally when setting up load balancing you will designate a 'master' server, | ||
| Umbraco will always assume that the FIRST server listed in this list is the 'master'. | ||
| (NOTE: Not all load balancing scenarios have a 'master', depends on how you are setting it up) | ||
| In order for scheduled tasks (including scheduled publishing) to work properly when load balancing, each | ||
| server in the load balanced environment needs to know if it is the 'master'. In order for servers | ||
| to know this or not, they need to compare some values against the servers listed. These values | ||
| are either: serverName or appId. You should not enter both values but appId will always supersede serverName. | ||
| The serverName is the easiest and will work so long as you are not load balancing your site on the same server. | ||
| If you are doing this, then you will need to use appId which is equivalent to the value returned from | ||
| HttpRuntime.AppDomainAppId. It is recommended that you set either the serverName or appId for all servers | ||
| registered here if possible, not just the first one. | ||
| Examples: | ||
| <server serverName="MyServer">server1.mysite.com</server> | ||
| <server appId="/LM/W3SVC/69/ROOT">server1.mysite.com</server> | ||
| --> | ||
|
|
||
| </servers> | ||
| </distributedCall> | ||
|
|
||
| <!-- | ||
| web.routing | ||
| @trySkipIisCustomErrors | ||
| Tries to skip IIS custom errors. | ||
| Starting with IIS 7.5, this must be set to true for Umbraco 404 pages to show. Else, IIS will take | ||
| over and render its build-in error page. See MS doc for HttpResponseBase.TrySkipIisCustomErrors. | ||
| The default value is false, for backward compatibility reasons, which means that IIS _will_ take | ||
| over, and _prevent_ Umbraco 404 pages to show. | ||
| @internalRedirectPreservesTemplate | ||
| By default as soon as we're not displaying the initial document, we reset the template set by the | ||
| finder or by the alt. template. Set this option to true to preserve the template set by the finder | ||
| or by the alt. template, in case of an internal redirect. | ||
| (false by default, and in fact should remain false unless you know what you're doing) | ||
| @disableAlternativeTemplates | ||
| By default you can add a altTemplate querystring or append a template name to the current URL which | ||
| will make Umbraco render the content on the current page with the template you requested, for example: | ||
| http://mysite.com/about-us/?altTemplate=Home and http://mysite.com/about-us/Home would render the | ||
| "About Us" page with a template with the alias Home. Setting this setting to true stops that behavior | ||
| @disableFindContentByIdPath | ||
| By default you can call any content Id in the url and show the content with that id, for example: | ||
| http://mysite.com/1092 or http://mysite.com/1092.aspx would render the content with id 1092. Setting | ||
| this setting to true stops that behavior | ||
| --> | ||
| <web.routing | ||
| trySkipIisCustomErrors="true" | ||
| internalRedirectPreservesTemplate="false" disableAlternativeTemplates="false" disableFindContentByIdPath="false"> | ||
| </web.routing> | ||
|
|
||
| </settings> |
| @@ -0,0 +1 @@ | ||
| /* EDITOR PROPERTIES - PLEASE DON'T DELETE THIS LINE TO AVOID DUPLICATE PROPERTIES */ |
| @@ -0,0 +1,2 @@ | ||
| /* Go crazy with your own styles here */ | ||
| /* EDITOR PROPERTIES - PLEASE DON'T DELETE THIS LINE TO AVOID DUPLICATE PROPERTIES */ |
| @@ -0,0 +1,2 @@ | ||
| <%@ Application Inherits="Umbraco.Web.UmbracoApplication" Language="C#" %> | ||
|
|
| @@ -0,0 +1,35 @@ | ||
| using System.Reflection; | ||
| using System.Runtime.CompilerServices; | ||
| using System.Runtime.InteropServices; | ||
|
|
||
| // General Information about an assembly is controlled through the following | ||
| // set of attributes. Change these attribute values to modify the information | ||
| // associated with an assembly. | ||
| [assembly: AssemblyTitle("Bro.JustRent.Website")] | ||
| [assembly: AssemblyDescription("")] | ||
| [assembly: AssemblyConfiguration("")] | ||
| [assembly: AssemblyCompany("")] | ||
| [assembly: AssemblyProduct("Bro.JustRent.Website")] | ||
| [assembly: AssemblyCopyright("Copyright © 2015")] | ||
| [assembly: AssemblyTrademark("")] | ||
| [assembly: AssemblyCulture("")] | ||
|
|
||
| // Setting ComVisible to false makes the types in this assembly not visible | ||
| // to COM components. If you need to access a type in this assembly from | ||
| // COM, set the ComVisible attribute to true on that type. | ||
| [assembly: ComVisible(false)] | ||
|
|
||
| // The following GUID is for the ID of the typelib if this project is exposed to COM | ||
| [assembly: Guid("2bbbfcd6-6daf-404f-bad5-c98748f7b730")] | ||
|
|
||
| // Version information for an assembly consists of the following four values: | ||
| // | ||
| // Major Version | ||
| // Minor Version | ||
| // Build Number | ||
| // Revision | ||
| // | ||
| // You can specify all the values or you can default the Revision and Build Numbers | ||
| // by using the '*' as shown below: | ||
| [assembly: AssemblyVersion("1.0.0.0")] | ||
| [assembly: AssemblyFileVersion("1.0.0.0")] |
| @@ -0,0 +1,87 @@ | ||
| (function($) { | ||
|
|
||
| // Making elements equal height | ||
| var equalheight = function(container){ | ||
|
|
||
| var currentTallest = 0, | ||
| currentRowStart = 0, | ||
| rowDivs = new Array(), | ||
| $el, | ||
| topPosition = 0; | ||
|
|
||
| $(container).find('.equal').each(function() { | ||
|
|
||
| $el = $(this); | ||
| $($el).height('auto') | ||
| topPostion = $el.position().top; | ||
|
|
||
| if (currentRowStart != topPostion) { | ||
| for (currentDiv = 0 ; currentDiv < rowDivs.length ; currentDiv++) { | ||
| rowDivs[currentDiv].height(currentTallest); | ||
| } | ||
| rowDivs.length = 0; // empty the array | ||
| currentRowStart = topPostion; | ||
| currentTallest = $el.height(); | ||
| rowDivs.push($el); | ||
| } else { | ||
| rowDivs.push($el); | ||
| currentTallest = (currentTallest < $el.height()) ? ($el.height()) : (currentTallest); | ||
| } | ||
| for (currentDiv = 0 ; currentDiv < rowDivs.length ; currentDiv++) { | ||
| rowDivs[currentDiv].height(currentTallest); | ||
| } | ||
| }); | ||
| }; | ||
|
|
||
| // Check for window width before resizing | ||
| function equalHeightChecker () { | ||
| if ( window.innerWidth > 767 && !heightIsSet ) { | ||
| $('.equalizer') | ||
| .each(function(){ | ||
| equalheight(this); | ||
| heightIsSet = true; | ||
| }); | ||
| } | ||
| else if (window.innerWidth<768 && heightIsSet) { | ||
| $('.equalizer') | ||
| .each(function(){ | ||
| $(this).find('.equal').each(function () { | ||
| this.style.height = 'auto'; | ||
| }); | ||
| heightIsSet = false; | ||
| }); | ||
| } | ||
| } | ||
|
|
||
| // Initialize equal height script | ||
| var heightIsSet; | ||
|
|
||
| // On load | ||
| $(window).load(function() { | ||
| equalHeightChecker(); | ||
| }); | ||
|
|
||
| // and on resize | ||
| $(window).resize(function(){ | ||
| equalHeightChecker(); | ||
| }); | ||
|
|
||
| // Navigation | ||
| $('#toggle').click(function(){ | ||
| $('.has-child').removeClass('selected'); | ||
| $('nav').toggleClass('open'); | ||
| $('.cross').toggleClass('open'); | ||
| }); | ||
|
|
||
| $('.has-child').click(function(){ | ||
| if ( window.innerWidth < 768 ) { | ||
| if ( $( this ).hasClass('selected')){ | ||
| $('.has-child').removeClass('selected'); | ||
| } else { | ||
| $('.has-child').removeClass('selected'); | ||
| $(this).toggleClass('selected'); | ||
| } | ||
| } | ||
| }); | ||
|
|
||
| })(jQuery); |
| @@ -0,0 +1,28 @@ | ||
| @inherits Umbraco.Web.Mvc.UmbracoTemplatePage | ||
| @{ | ||
| Layout = "Master.cshtml"; | ||
| } | ||
|
|
||
| <div role="content"> | ||
|
|
||
| <section class="light blogarchive equalizer"> | ||
| <div class="container"> | ||
|
|
||
| <div class="row"> | ||
| @foreach(var post in CurrentPage.Children) | ||
| { | ||
| <div class="col-sm-6"> | ||
| <div class="content equal"> | ||
| <a href="@post.Url"> | ||
| <div class="date">@post.CreateDate.ToLongDateString()</div> | ||
| <h2>@post.Name</h2> | ||
| <p>@Umbraco.Truncate(post.Introduction, 240, true)</p> | ||
| </a> | ||
| </div> | ||
| </div> | ||
| } | ||
| </div> | ||
| </div> | ||
| </section> | ||
|
|
||
| </div> |
| @@ -0,0 +1,6 @@ | ||
| @inherits Umbraco.Web.Mvc.UmbracoTemplatePage | ||
| @{ | ||
| Layout = "Master.cshtml"; | ||
| } | ||
|
|
||
| @CurrentPage.GetGridHtml("content", "fanoe") |
| @@ -0,0 +1,6 @@ | ||
| @inherits Umbraco.Web.Mvc.UmbracoTemplatePage | ||
| @{ | ||
| Layout = "Master.cshtml"; | ||
| } | ||
|
|
||
| @CurrentPage.GetGridHtml("content", "fanoe") |
| @@ -0,0 +1,77 @@ | ||
| @inherits Umbraco.Web.Mvc.UmbracoTemplatePage | ||
| @{ | ||
| Layout = null; | ||
| var home = @CurrentPage.Site(); | ||
| } | ||
|
|
||
| <!DOCTYPE html> | ||
| <html lang="en"> | ||
| <head> | ||
|
|
||
| <!-- Meta tags --> | ||
| <meta charset="utf-8"> | ||
| <meta http-equiv="X-UA-Compatible" content="IE=edge"> | ||
| <meta name="viewport" content="width=device-width, initial-scale=1"> | ||
| <meta name="description" content="@CurrentPage.siteDescription"> | ||
|
|
||
| <title>@CurrentPage.Name | @CurrentPage._siteTitle</title> | ||
|
|
||
| <!-- Fonts --> | ||
| <link href="//fonts.googleapis.com/css?family=Merriweather:400,700,300,900" rel="stylesheet" type="text/css"> | ||
| <link href="//fonts.googleapis.com/css?family=Lato:300,400,700,900" rel="stylesheet" type="text/css"> | ||
|
|
||
| <!-- CSS --> | ||
| <link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css"> | ||
| <link rel="stylesheet" type="text/css" href="/css/fanoe.css"> | ||
| <link rel="stylesheet" type="text/css" href="/css/style.css"> | ||
|
|
||
| <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> | ||
| <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> | ||
| <!--[if lt IE 9]> | ||
| <script src="//oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> | ||
| <script src="//oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> | ||
| <![endif]--> | ||
| </head> | ||
|
|
||
| <body> | ||
| <header> | ||
| <div class="container"> | ||
| <div class="row"> | ||
| <div class="col-xs-8 col-sm-12 col-md-4"> | ||
| <a href="@home.Url"> | ||
| <div class="brand" style="background-image:url('@(home.SiteLogo)?height=65&width=205&bgcolor=000')"></div> | ||
| </a> | ||
| </div> | ||
| <div class="col-sm-12 col-md-8"> | ||
| <nav> | ||
|
|
||
| @{ Html.RenderPartial("MainNavigation"); } | ||
|
|
||
| </nav> | ||
| </div> | ||
| </div> | ||
| </div> | ||
|
|
||
| <div id="toggle" class="toggle"> | ||
| <a href="#" class="cross"><span></span></a> | ||
| </div> | ||
| </header> | ||
|
|
||
| @RenderBody() | ||
|
|
||
| <footer class="field dark"> | ||
| <div class="container"> | ||
| <div class="row"> | ||
|
|
||
| @{ Html.RenderPartial("BottomNavigation"); } | ||
|
|
||
| </div> | ||
| </div> | ||
| </footer> | ||
|
|
||
| <!-- Javascripts --> | ||
| <script src="/js/jquery.min.js"></script> | ||
| <script src="/js/bootstrap.min.js"></script> | ||
| <script src="/scripts/fanoe.js"></script> | ||
| </body> | ||
| </html> |
| @@ -0,0 +1,50 @@ | ||
| @inherits Umbraco.Web.Mvc.UmbracoTemplatePage | ||
| @{ | ||
| var home = CurrentPage.Site(); | ||
| } | ||
|
|
||
| @if (home.Children.Where("Visible").Any()) | ||
| { | ||
| @* For each child page under the home node, where the property umbracoNaviHide is not True *@ | ||
| foreach (var childPage in home.Children.Where("Visible")) | ||
| { | ||
| <div class="col-xs-6 col-sm-3"> | ||
| @if (childPage.Children.Where("Visible").Any()) | ||
| { | ||
| <strong>@childPage.Name</strong> | ||
| @childPages(childPage.Children) | ||
| } | ||
| </div> | ||
| } | ||
| } | ||
|
|
||
| <div class="col-xs-6 col-sm-3"> | ||
| <strong>Find us</strong> | ||
| <ul> | ||
| <li> | ||
| <a href="https://twitter.com/umbracoproject" target="_blank">Twitter</a> | ||
| </li> | ||
| <li> | ||
| <a href="https://www.facebook.com/Umbraco" target="_blank">Facebook</a> | ||
| </li> | ||
| <li> | ||
| <a href="http://umbraco.com/?utm_source=core&utm_medium=starterkit&utm_content=topic-link&utm_campaign=fanoe" target="_blank">Umbraco.com</a> | ||
| </li> | ||
| </ul> | ||
| </div> | ||
|
|
||
| @helper childPages(dynamic pages) | ||
| { | ||
| @* Ensure that we have a collection of pages *@ | ||
| if (pages.Any()) | ||
| { | ||
| <ul> | ||
| @foreach (var page in pages.Where("Visible")) | ||
| { | ||
| <li> | ||
| <a href="@page.Url">@page.Name</a> | ||
| </li> | ||
| } | ||
| </ul> | ||
| } | ||
| } |
| @@ -0,0 +1,80 @@ | ||
| @inherits UmbracoViewPage<dynamic> | ||
| @using Umbraco.Web.Templates | ||
| @using Newtonsoft.Json.Linq | ||
|
|
||
| @if (Model != null && Model.sections != null) | ||
| { | ||
| var oneColumn = ((System.Collections.ICollection)Model.sections).Count == 1; | ||
|
|
||
| <div class="umb-grid"> | ||
| @if (oneColumn) | ||
| { | ||
| foreach (var section in Model.sections) { | ||
| <div class="grid-section"> | ||
| @foreach (var row in section.rows) { | ||
| @renderRow(row, true); | ||
| } | ||
| </div> | ||
| } | ||
| }else { | ||
| <div class="container"> | ||
| <div class="row clearfix"> | ||
| @foreach (var s in Model.sections) { | ||
| <div class="grid-section"> | ||
| <div class="@("span" + s.grid) column"> | ||
| @foreach (var row in s.rows) { | ||
| @renderRow(row, false); | ||
| } | ||
| </div> | ||
| </div> | ||
| } | ||
| </div> | ||
| </div> | ||
| } | ||
| </div> | ||
| } | ||
|
|
||
| @helper renderRow(dynamic row, bool singleColumn){ | ||
| <div @RenderElementAttributes(row)> | ||
| @Umbraco.If(singleColumn, "<div class='container'>") | ||
| <div class="row clearfix"> | ||
| @foreach ( var area in row.areas ) { | ||
| <div class="@("span" + area.grid) column"> | ||
| <div @RenderElementAttributes(area)> | ||
| @foreach (var control in area.controls) { | ||
| if (control !=null && control.editor != null && control.editor.view != null ) { | ||
| <text>@Html.Partial("grid/editors/base", (object)control)</text> | ||
| } | ||
| } | ||
| </div> | ||
| </div>} | ||
| </div> | ||
| @Umbraco.If(singleColumn, "</div>") | ||
| </div> | ||
| } | ||
|
|
||
| @functions { | ||
| public static MvcHtmlString RenderElementAttributes(dynamic contentItem) | ||
| { | ||
| var attrs = new List<string>(); | ||
| JObject cfg = contentItem.config; | ||
|
|
||
| if(cfg != null) | ||
| foreach (JProperty property in cfg.Properties()) { | ||
| attrs.Add(property.Name + "='" + property.Value.ToString() + "'"); | ||
| } | ||
|
|
||
| JObject style = contentItem.styles; | ||
|
|
||
| if (style != null) { | ||
| var cssVals = new List<string>(); | ||
| foreach (JProperty property in style.Properties()) | ||
| cssVals.Add(property.Name + ":" + property.Value.ToString() + ";"); | ||
|
|
||
| if (cssVals.Any()) | ||
| attrs.Add("style='" + string.Join(" ", cssVals) + "'"); | ||
| } | ||
|
|
||
| return new MvcHtmlString(string.Join(" ", attrs)); | ||
| } | ||
| } |
| @@ -0,0 +1,80 @@ | ||
| @inherits UmbracoViewPage<dynamic> | ||
| @using Umbraco.Web.Templates | ||
| @using Newtonsoft.Json.Linq | ||
|
|
||
| @if (Model != null && Model.sections != null) | ||
| { | ||
| var oneColumn = ((System.Collections.ICollection)Model.sections).Count == 1; | ||
|
|
||
| <div class="umb-grid"> | ||
| @if (oneColumn) | ||
| { | ||
| foreach (var section in Model.sections) { | ||
| <div class="grid-section"> | ||
| @foreach (var row in section.rows) { | ||
| @renderRow(row, true); | ||
| } | ||
| </div> | ||
| } | ||
| }else { | ||
| <div class="container"> | ||
| <div class="row clearfix"> | ||
| @foreach (var s in Model.sections) { | ||
| <div class="grid-section"> | ||
| <div class="col-md-@s.grid column"> | ||
| @foreach (var row in s.rows) { | ||
| @renderRow(row, false); | ||
| } | ||
| </div> | ||
| </div> | ||
| } | ||
| </div> | ||
| </div> | ||
| } | ||
| </div> | ||
| } | ||
|
|
||
| @helper renderRow(dynamic row, bool singleColumn){ | ||
| <div @RenderElementAttributes(row)> | ||
| @Umbraco.If(singleColumn, "<div class='container'>") | ||
| <div class="row clearfix"> | ||
| @foreach ( var area in row.areas ) { | ||
| <div class="col-md-@area.grid column"> | ||
| <div @RenderElementAttributes(area)> | ||
| @foreach (var control in area.controls) { | ||
| if (control !=null && control.editor != null && control.editor.view != null ) { | ||
| <text>@Html.Partial("grid/editors/base", (object)control)</text> | ||
| } | ||
| } | ||
| </div> | ||
| </div>} | ||
| </div> | ||
| @Umbraco.If(singleColumn, "</div>") | ||
| </div> | ||
| } | ||
|
|
||
| @functions { | ||
| public static MvcHtmlString RenderElementAttributes(dynamic contentItem) | ||
| { | ||
| var attrs = new List<string>(); | ||
| JObject cfg = contentItem.config; | ||
|
|
||
| if(cfg != null) | ||
| foreach (JProperty property in cfg.Properties()) { | ||
| attrs.Add(property.Name + "='" + property.Value.ToString() + "'"); | ||
| } | ||
|
|
||
| JObject style = contentItem.styles; | ||
|
|
||
| if (style != null) { | ||
| var cssVals = new List<string>(); | ||
| foreach (JProperty property in style.Properties()) | ||
| cssVals.Add(property.Name + ":" + property.Value.ToString() + ";"); | ||
|
|
||
| if (cssVals.Any()) | ||
| attrs.Add("style='" + string.Join(" ", cssVals) + "'"); | ||
| } | ||
|
|
||
| return new MvcHtmlString(string.Join(" ", attrs)); | ||
| } | ||
| } |
| @@ -0,0 +1,24 @@ | ||
| @model dynamic | ||
| @using Umbraco.Web.Templates | ||
|
|
||
| @functions { | ||
| public static string EditorView(dynamic contentItem) | ||
| { | ||
| string view = contentItem.editor.render != null ? contentItem.editor.render.ToString() : contentItem.editor.view.ToString(); | ||
| view = view.ToLower().Replace(".html", ".cshtml"); | ||
|
|
||
| if (!view.Contains("/")) { | ||
| view = "grid/editors/" + view; | ||
| } | ||
|
|
||
| return view; | ||
| } | ||
| } | ||
| @try | ||
| { | ||
| string editor = EditorView(Model); | ||
| <text>@Html.Partial(editor, (object)Model)</text> | ||
| } | ||
| catch (Exception ex) { | ||
| <pre>@ex.ToString()</pre> | ||
| } |
| @@ -0,0 +1,7 @@ | ||
| @model dynamic | ||
| @using Umbraco.Web.Templates | ||
|
|
||
|
|
||
| <div class="video-wrapper"> | ||
| @Html.Raw(Model.value) | ||
| </div> |
| @@ -0,0 +1,17 @@ | ||
| @inherits UmbracoViewPage<dynamic> | ||
| @using Umbraco.Web.Templates | ||
|
|
||
|
|
||
| @if (Model.value != null) | ||
| { | ||
| string macroAlias = Model.value.macroAlias.ToString(); | ||
| ViewDataDictionary parameters = new ViewDataDictionary(); | ||
| foreach (dynamic mpd in Model.value.macroParamsDictionary) | ||
| { | ||
| parameters.Add(mpd.Name, mpd.Value); | ||
| } | ||
|
|
||
| <text> | ||
| @Umbraco.RenderMacro(macroAlias, parameters) | ||
| </text> | ||
| } |
| @@ -0,0 +1,23 @@ | ||
| @model dynamic | ||
| @using Umbraco.Web.Templates | ||
|
|
||
| @if (Model.value != null) | ||
| { | ||
| var url = Model.value.image; | ||
| if(Model.editor.config != null && Model.editor.config.size != null){ | ||
| url += "?width=" + Model.editor.config.size.width; | ||
| url += "&height=" + Model.editor.config.size.height; | ||
|
|
||
| if(Model.value.focalPoint != null){ | ||
| url += "¢er=" + Model.value.focalPoint.top +"," + Model.value.focalPoint.left; | ||
| url += "&mode=crop"; | ||
| } | ||
| } | ||
|
|
||
| <img src="@url" alt="@Model.value.caption"> | ||
|
|
||
| if (Model.value.caption != null) | ||
| { | ||
| <p class="caption">@Model.value.caption</p> | ||
| } | ||
| } |
| @@ -0,0 +1,4 @@ | ||
| @model dynamic | ||
| @using Umbraco.Web.Templates | ||
|
|
||
| @Html.Raw(TemplateUtilities.ParseInternalLinks(Model.value.ToString())) |
| @@ -0,0 +1,20 @@ | ||
| @model dynamic | ||
| @using Umbraco.Web.Templates | ||
|
|
||
| @if (Model.editor.config.markup != null) | ||
| { | ||
| string markup = Model.editor.config.markup.ToString(); | ||
|
|
||
| markup = markup.Replace("#value#", Model.value.ToString()); | ||
| markup = markup.Replace("#style#", Model.editor.config.style.ToString()); | ||
|
|
||
| <text> | ||
| @Html.Raw(markup) | ||
| </text> | ||
| } | ||
| else | ||
| { | ||
| <text> | ||
| <div style="@Model.editor.config.style">@Model.value</div> | ||
| </text> | ||
| } |
| @@ -0,0 +1,96 @@ | ||
| @inherits UmbracoViewPage<dynamic> | ||
| @using Umbraco.Web.Templates | ||
| @using Newtonsoft.Json.Linq | ||
|
|
||
| @if (Model != null && Model.sections != null) | ||
| { | ||
| var oneColumn = ((System.Collections.ICollection)Model.sections).Count == 1; | ||
|
|
||
| <div class="umb-grid"> | ||
| @if (oneColumn) | ||
| { | ||
| foreach (var section in Model.sections) | ||
| { | ||
| <div class="grid-section"> | ||
| @foreach (var row in section.rows) | ||
| { | ||
| @renderRow(row, true); | ||
| } | ||
| </div> | ||
| } | ||
| } | ||
| else | ||
| { | ||
| <div class="container"> | ||
| <div class="row clearfix"> | ||
| @foreach (var s in Model.sections) | ||
| { | ||
| <div class="grid-section"> | ||
| <div class="col-md-@s.grid column"> | ||
| @foreach (var row in s.rows) | ||
| { | ||
| @renderRow(row, false); | ||
| } | ||
| </div> | ||
| </div> | ||
| } | ||
| </div> | ||
| </div> | ||
| } | ||
| </div> | ||
| } | ||
|
|
||
| @helper renderRow(dynamic row, bool singleColumn) | ||
| { | ||
| <div @RenderElementAttributes(row)> | ||
| @Umbraco.If(singleColumn, "<div class='container'>") | ||
| <div class="row clearfix"> | ||
| @foreach ( var area in row.areas ) { | ||
| <div class="col-md-@area.grid column"> | ||
| <div @RenderElementAttributes(area)> | ||
| @foreach (var control in area.controls) { | ||
| if (control !=null && control.editor != null && control.editor.view != null ) { | ||
| <text>@Html.Partial("grid/editors/base", (object)control)</text> | ||
| } | ||
| } | ||
| </div> | ||
| </div>} | ||
| </div> | ||
| @Umbraco.If(singleColumn, "</div>") | ||
| </div> | ||
| } | ||
|
|
||
| @functions | ||
| { | ||
| public static MvcHtmlString RenderElementAttributes(dynamic contentItem) | ||
| { | ||
| var attrs = new List<string>(); | ||
| JObject cfg = contentItem.config; | ||
|
|
||
| if(cfg != null) | ||
| { | ||
| foreach (JProperty property in cfg.Properties()) | ||
| { | ||
| attrs.Add(property.Name + "='" + property.Value.ToString() + "'"); | ||
| } | ||
| } | ||
|
|
||
| JObject style = contentItem.styles; | ||
|
|
||
| if (style != null) | ||
| { | ||
| var cssVals = new List<string>(); | ||
| foreach (JProperty property in style.Properties()) | ||
| { | ||
| cssVals.Add(property.Name + ":" + property.Value.ToString() + ";"); | ||
| } | ||
|
|
||
| if (cssVals.Any()) | ||
| { | ||
| attrs.Add("style='" + string.Join(" ", cssVals) + "'"); | ||
| } | ||
| } | ||
|
|
||
| return new MvcHtmlString(string.Join(" ", attrs)); | ||
| } | ||
| } |
| @@ -0,0 +1,61 @@ | ||
| @inherits Umbraco.Web.Mvc.UmbracoTemplatePage | ||
| @{ var home = CurrentPage.Site(); } | ||
|
|
||
| @if (home.Children.Any()) | ||
| { | ||
| @* Get the first page in the children *@ | ||
| var naviLevel = home.Children.First().Level; | ||
|
|
||
| @* Add in level for a CSS hook *@ | ||
| <ul class="level-@naviLevel"> | ||
| @* For each child page under the home node *@ | ||
| @foreach (var childPage in home.Children) | ||
| { | ||
| if (childPage.Children.Any()) | ||
| { | ||
| <li class="has-child @(childPage.IsAncestorOrSelf(CurrentPage) ? "selected" : null)"> | ||
| @if(childPage.DocumentTypeAlias == "LandingPage") | ||
| { | ||
| <span>@childPage.Name</span> | ||
| @childPages(childPage.Children) | ||
| } else { | ||
| <a href="@childPage.Url">@childPage.Name</a> | ||
| } | ||
| </li> | ||
| } | ||
| else | ||
| { | ||
| <li class="@(childPage.IsAncestorOrSelf(CurrentPage) ? "selected" : null)"> | ||
| <a href="@childPage.Url">@childPage.Name</a> | ||
| </li> | ||
| } | ||
| } | ||
| </ul> | ||
| } | ||
|
|
||
| @helper childPages(dynamic pages) | ||
| { | ||
| @* Ensure that we have a collection of pages *@ | ||
| if (pages.Any()) | ||
| { | ||
| @* Get the first page in pages and get the level *@ | ||
| var naviLevel = pages.First().Level; | ||
|
|
||
| @* Add in level for a CSS hook *@ | ||
| <ul class="sublevel level-@(naviLevel)"> | ||
| @foreach (var page in pages) | ||
| { | ||
| <li> | ||
| <a href="@page.Url">@page.Name</a> | ||
|
|
||
| @* if the current page has any children *@ | ||
| @if (page.Children.Any()) | ||
| { | ||
| @* Call our helper to display the children *@ | ||
| @childPages(page.Children) | ||
| } | ||
| </li> | ||
| } | ||
| </ul> | ||
| } | ||
| } |
| @@ -0,0 +1,18 @@ | ||
| @inherits Umbraco.Web.Mvc.UmbracoTemplatePage | ||
| @{ | ||
| Layout = "Master.cshtml"; | ||
| } | ||
| <div role="content"> | ||
| @Umbraco.Field("productName") | ||
| <br/> | ||
| @Umbraco.Field("productDescription") | ||
| <br/> | ||
| @if (CurrentPage.HasValue("productImage")) | ||
| { | ||
| <img src='@CurrentPage.GetCropUrl("productImage", "200x200")' /> | ||
| <!--<img src="@CurrentPage.productImage.src" alt="@CurrentPage.productName" />--> | ||
| } | ||
| @Umbraco.GetDictionaryValue("ProductPrice") | ||
| Город: @Umbraco.Field("productLocationCity") | ||
|
|
||
| </div> |
| @@ -0,0 +1,42 @@ | ||
| @inherits Umbraco.Web.Mvc.UmbracoTemplatePage | ||
| @{ | ||
| Layout = "Master.cshtml"; | ||
| } | ||
|
|
||
| @using Our.Umbraco.Vorto | ||
| @using Our.Umbraco.Vorto.Extensions | ||
|
|
||
| <div role="content"> | ||
| <section class="light blogarchive equalizer"> | ||
| <div class="container"> | ||
| <div class="row"> | ||
| @Umbraco.Field("productCategoryName")<br/> | ||
| @foreach(var category in CurrentPage.Children) | ||
| { | ||
| IPublishedContent ipcCategory = (IPublishedContent) category; | ||
| var categoryName = ipcCategory.GetVortoValue("productCategoryName"); | ||
|
|
||
| string categoryPageUrl = category.Url; | ||
| if (!string.IsNullOrEmpty(category.umbracoUrlAlias)) | ||
| { | ||
| var array = category.umbracoUrlAlias.Split(new Char [] {','}, StringSplitOptions.RemoveEmptyEntries); | ||
| categoryPageUrl = array[0]; | ||
| } | ||
|
|
||
| <div class="col-sm-6"> | ||
| <div class="content equal"> | ||
| <a href="@categoryPageUrl">@categoryName</a> | ||
|
|
||
| <br/> | ||
|
|
||
| @if(@category.HasValue("productCategoryLogo")) | ||
| { | ||
| <img src='@Umbraco.Media(@category.productCategoryLogo).Url' alt='@categoryName' /> | ||
| } | ||
| <br/> | ||
| </div> | ||
| </div> | ||
| } | ||
| </div> | ||
| </div> | ||
| </section> |
| @@ -0,0 +1,6 @@ | ||
| @inherits Umbraco.Web.Mvc.UmbracoTemplatePage | ||
| @{ | ||
| Layout = "Master.cshtml"; | ||
| } | ||
|
|
||
| @CurrentPage.GetGridHtml("content", "fanoe") |
| @@ -0,0 +1,64 @@ | ||
| <?xml version="1.0"?> | ||
| <configuration> | ||
|
|
||
| <configSections> | ||
| <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> | ||
| <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> | ||
| <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> | ||
| </sectionGroup> | ||
| </configSections> | ||
|
|
||
| <system.web.webPages.razor> | ||
| <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> | ||
| <pages pageBaseType="System.Web.Mvc.WebViewPage"> | ||
| <namespaces> | ||
| <add namespace="System.Web.Mvc" /> | ||
| <add namespace="System.Web.Mvc.Ajax" /> | ||
| <add namespace="System.Web.Mvc.Html" /> | ||
| <add namespace="System.Web.Routing" /> | ||
| <add namespace="Umbraco.Web" /> | ||
| <add namespace="Umbraco.Core" /> | ||
| <add namespace="Umbraco.Core.Models" /> | ||
| <add namespace="Umbraco.Web.Mvc" /> | ||
| <add namespace="umbraco" /> | ||
| <add namespace="Examine" /> | ||
| </namespaces> | ||
| </pages> | ||
| </system.web.webPages.razor> | ||
|
|
||
| <appSettings> | ||
| <add key="webpages:Enabled" value="false" /> | ||
| </appSettings> | ||
|
|
||
| <system.web> | ||
| <httpHandlers> | ||
| <add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/> | ||
| </httpHandlers> | ||
|
|
||
| <!-- | ||
| Enabling request validation in view pages would cause validation to occur | ||
| after the input has already been processed by the controller. By default | ||
| MVC performs request validation before a controller processes the input. | ||
| To change this behavior apply the ValidateInputAttribute to a | ||
| controller or action. | ||
| --> | ||
| <pages | ||
| validateRequest="false" | ||
| pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" | ||
| pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" | ||
| userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> | ||
| <controls> | ||
| <add assembly="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" /> | ||
| </controls> | ||
| </pages> | ||
| </system.web> | ||
|
|
||
| <system.webServer> | ||
| <validation validateIntegratedModeConfiguration="false" /> | ||
|
|
||
| <handlers> | ||
| <remove name="BlockViewHandler"/> | ||
| <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> | ||
| </handlers> | ||
| </system.webServer> | ||
| </configuration> |
| @@ -0,0 +1,30 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
|
|
||
| <!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 --> | ||
|
|
||
| <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> | ||
| <!-- | ||
| In the example below, the "SetAttributes" transform will change the value of | ||
| "connectionString" to use "ReleaseSQLServer" only when the "Match" locator | ||
| finds an attribute "name" that has a value of "MyDB". | ||
| <connectionStrings> | ||
| <add name="MyDB" | ||
| connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True" | ||
| xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/> | ||
| </connectionStrings> | ||
| --> | ||
| <system.web> | ||
| <!-- | ||
| In the example below, the "Replace" transform will replace the entire | ||
| <customErrors> section of your web.config file. | ||
| Note that because there is only one customErrors section under the | ||
| <system.web> node, there is no need to use the "xdt:Locator" attribute. | ||
| <customErrors defaultRedirect="GenericError.htm" | ||
| mode="RemoteOnly" xdt:Transform="Replace"> | ||
| <error statusCode="500" redirect="InternalError.htm"/> | ||
| </customErrors> | ||
| --> | ||
| </system.web> | ||
| </configuration> |
| @@ -0,0 +1,31 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
|
|
||
| <!-- For more information on using web.config transformation visit http://go.microsoft.com/fwlink/?LinkId=125889 --> | ||
|
|
||
| <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> | ||
| <!-- | ||
| In the example below, the "SetAttributes" transform will change the value of | ||
| "connectionString" to use "ReleaseSQLServer" only when the "Match" locator | ||
| finds an attribute "name" that has a value of "MyDB". | ||
| <connectionStrings> | ||
| <add name="MyDB" | ||
| connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True" | ||
| xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/> | ||
| </connectionStrings> | ||
| --> | ||
| <system.web> | ||
| <compilation xdt:Transform="RemoveAttributes(debug)" /> | ||
| <!-- | ||
| In the example below, the "Replace" transform will replace the entire | ||
| <customErrors> section of your web.config file. | ||
| Note that because there is only one customErrors section under the | ||
| <system.web> node, there is no need to use the "xdt:Locator" attribute. | ||
| <customErrors defaultRedirect="GenericError.htm" | ||
| mode="RemoteOnly" xdt:Transform="Replace"> | ||
| <error statusCode="500" redirect="InternalError.htm"/> | ||
| </customErrors> | ||
| --> | ||
| </system.web> | ||
| </configuration> |