Work items: 30072

This commit is contained in:
hartvig
2011-03-09 09:23:08 -01:00
parent ddcf34b80c
commit 5fdfc0d1f8
3 changed files with 109 additions and 71 deletions

View File

@@ -796,6 +796,25 @@ namespace umbraco.cms.businesslogic.member
{
value = StateHelper.Cookies.Member.GetValue();
}
// compatibility with .NET Memberships
else if (HttpContext.Current.User.Identity.IsAuthenticated)
{
int _currentMemberId = 0;
if (int.TryParse(Membership.GetUser().ProviderUserKey.ToString(), out _currentMemberId))
{
if (memberExists(_currentMemberId))
{
// current member is always in the cache, else add it!
Member m = GetMemberFromCache(_currentMemberId);
if (m == null)
{
m = new Member(_currentMemberId);
AddMemberToCache(m);
}
return new MemberState(m.Id, m.UniqueId, m.LoginName);
}
}
}
else
{
var context = HttpContext.Current;

View File

@@ -1,17 +1,14 @@
<%@ Page MasterPageFile="../masterpages/umbracoPage.Master" Language="c#" Codebehind="editTemplate.aspx.cs" ValidateRequest="false"
AutoEventWireup="True" Inherits="umbraco.cms.presentation.settings.editTemplate" %>
<%@ Page MasterPageFile="../masterpages/umbracoPage.Master" Language="c#" CodeBehind="editTemplate.aspx.cs"
ValidateRequest="false" AutoEventWireup="True" Inherits="umbraco.cms.presentation.settings.editTemplate" %>
<%@ Register TagPrefix="cc1" Namespace="umbraco.uicontrols" Assembly="controls" %>
<%@ Register TagPrefix="umb" Namespace="ClientDependency.Core.Controls" Assembly="ClientDependency.Core" %>
<asp:Content ContentPlaceHolderID="head" runat="server">
<umb:CssInclude ID="CssInclude1" runat="server" FilePath="splitbutton/splitbutton.css" PathNameAlias="UmbracoClient" />
<umb:JsInclude ID="JsInclude" runat="server" FilePath="splitbutton/jquery.splitbutton.js" PathNameAlias="UmbracoClient"
Priority="1" />
<script language="javascript" type="text/javascript">
<umb:CssInclude ID="CssInclude1" runat="server" FilePath="splitbutton/splitbutton.css"
PathNameAlias="UmbracoClient" />
<umb:JsInclude ID="JsInclude" runat="server" FilePath="splitbutton/jquery.splitbutton.js"
PathNameAlias="UmbracoClient" Priority="1" />
<script language="javascript" type="text/javascript">
jQuery(document).ready(function() {
@@ -192,8 +189,17 @@
function insertCodeBlock()
{
var cp = 'umbraco:Macro runat="server" language="cshtml"';
UmbEditor.Insert('\n<' + cp +'>\n','\n</umbraco:Macro' + '>\n', '<%= editorSource.ClientID %>');
var snip = umbracoInsertSnippet();
UmbEditor.Insert(snip.BeginTag, snip.EndTag, '<%= editorSource.ClientID %>');
}
function umbracoInsertSnippet() {
var snip = new UmbracoCodeSnippet();
var cp = 'umbraco:Macro runat="server" language="cshtml"';
snip.BeginTag = '\n<' + cp + '>\n';
snip.EndTag = '\n<' + '/umbraco:Macro' + '>\n';
snip.TargetId = "<%= editorSource.ClientID %>";
return snip;
}
function insertCodeBlockFromTemplate(templateId)
@@ -235,64 +241,55 @@
UmbClientMgr.openModalWindow('<%= umbraco.IO.IOHelper.ResolveUrl(umbraco.IO.SystemDirectories.Umbraco) %>/dialogs/editMacro.aspx?objectId=<%= editorSource.ClientID %>' + t, 'Insert Macro', true, 470, 530, 0, 0, '', '');
}
</script>
</script>
</asp:Content>
<asp:Content ContentPlaceHolderID="body" runat="server">
<cc1:UmbracoPanel ID="Panel1" runat="server" Width="608px" Height="336px" hasMenu="true">
<cc1:Pane ID="Pane7" runat="server" Height="44px" Width="528px">
<cc1:PropertyPanel ID="pp_name" runat="server">
<asp:TextBox ID="NameTxt" Width="350px" runat="server"></asp:TextBox>
</cc1:PropertyPanel>
<cc1:PropertyPanel id="pp_alias" runat="server">
<asp:TextBox ID="AliasTxt" Width="350px" runat="server"></asp:TextBox>
</cc1:PropertyPanel>
<cc1:PropertyPanel ID="pp_masterTemplate" runat="server">
<asp:DropDownList ID="MasterTemplate" Width="350px" runat="server" />
</cc1:PropertyPanel>
<cc1:PropertyPanel id="pp_source" runat="server">
<cc1:CodeArea ID="editorSource" runat="server" CodeBase="HTML" ClientSaveMethod="doSubmit" AutoResize="true" OffSetX="37" OffSetY="54" CssClass="codepress html" />
</cc1:PropertyPanel>
</cc1:Pane>
<cc1:UmbracoPanel ID="Panel1" runat="server" Width="608px" Height="336px" hasMenu="true">
<cc1:Pane ID="Pane7" runat="server" Height="44px" Width="528px">
<cc1:PropertyPanel ID="pp_name" runat="server">
<asp:TextBox ID="NameTxt" Width="350px" runat="server"></asp:TextBox>
</cc1:PropertyPanel>
<cc1:PropertyPanel ID="pp_alias" runat="server">
<asp:TextBox ID="AliasTxt" Width="350px" runat="server"></asp:TextBox>
</cc1:PropertyPanel>
<cc1:PropertyPanel ID="pp_masterTemplate" runat="server">
<asp:DropDownList ID="MasterTemplate" Width="350px" runat="server" />
</cc1:PropertyPanel>
<cc1:PropertyPanel ID="pp_source" runat="server">
<cc1:CodeArea ID="editorSource" runat="server" CodeBase="HTML" ClientSaveMethod="doSubmit"
AutoResize="true" OffSetX="37" OffSetY="54" CssClass="codepress html" />
</cc1:PropertyPanel>
</cc1:Pane>
</cc1:UmbracoPanel>
<div id="splitButton" style="display:inline;height:23px;vertical-align:top;">
<div id="splitButton" style="display: inline; height: 23px; vertical-align: top;">
<a href="javascript:insertCodeBlock();" id="sb" class="sbLink">
<img alt="Insert Inline Razor Macro" src="../images/editor/insRazorMacro.png" title="Insert Inline Razor Macro" style="vertical-align:top;">
<img alt="Insert Inline Razor Macro" src="../images/editor/insRazorMacro.png" title="Insert Inline Razor Macro"
style="vertical-align: top;">
</a>
</div>
<div id="codeTemplateMenu" style="width:285px;">
<div id="codeTemplateMenu" style="width: 285px;">
<asp:Repeater ID="rpt_codeTemplates" runat="server">
<ItemTemplate>
<div class="codeTemplate" rel="<%# DataBinder.Eval(Container, "DataItem.Key") %>">
<%# DataBinder.Eval(Container, "DataItem.Value") %>
</div>
</ItemTemplate>
</asp:Repeater>
</div>
<div id="splitButtonMacro" style="display:inline;height:23px;vertical-align:top;">
<a href="javascript:openMacroModal();" id="sbMacro" class="sbLink">
<img alt="Insert Macro" src="../images/editor/insMacroSB.png" title="Insert Macro" style="vertical-align:top;">
</a>
</div>
<div id="macroMenu" style="width:285px">
<asp:Repeater ID="rpt_macros" runat="server">
<ItemTemplate>
<div class="macro" rel="<%# DataBinder.Eval(Container, "DataItem.macroAlias")%>" params="<%# DoesMacroHaveSettings(DataBinder.Eval(Container, "DataItem.id").ToString()) %>">
<%# DataBinder.Eval(Container, "DataItem.macroName")%>
<div class="codeTemplate" rel="<%# DataBinder.Eval(Container, "DataItem.Key") %>">
<%# DataBinder.Eval(Container, "DataItem.Value") %>
</div>
</ItemTemplate>
</asp:Repeater>
</asp:Repeater>
</div>
<div id="splitButtonMacro" style="display: inline; height: 23px; vertical-align: top;">
<a href="javascript:openMacroModal();" id="sbMacro" class="sbLink">
<img alt="Insert Macro" src="../images/editor/insMacroSB.png" title="Insert Macro"
style="vertical-align: top;">
</a>
</div>
<div id="macroMenu" style="width: 285px">
<asp:Repeater ID="rpt_macros" runat="server">
<ItemTemplate>
<div class="macro" rel="<%# DataBinder.Eval(Container, "DataItem.macroAlias")%>"
params="<%# DoesMacroHaveSettings(DataBinder.Eval(Container, "DataItem.id").ToString()) %>">
<%# DataBinder.Eval(Container, "DataItem.macroName")%>
</div>
</ItemTemplate>
</asp:Repeater>
</div>
</asp:Content>

View File

@@ -8,6 +8,13 @@ function resizeTextArea(textEditor, offsetX, offsetY) {
}
}
function UmbracoCodeSnippet() {
this.BeginTag = "";
this.EndTag = "";
this.TargetId = "";
this.CursorPos = 0;
}
// Ctrl + S support
var ctrlDown = false;
@@ -29,6 +36,21 @@ function shortcutCheckKeysDown(e) {
return false;
}
//snippet
if (ctrlDown && keycode == 77) {
if (window.umbracoInsertSnippet) {
var snippetCode = umbracoInsertSnippet();
if (window.UmbEditor) {
UmbEditor.Insert(snippetCode.BeginTag, snippetCode.EndTag, snippetCode.TargetId);
if (window.addEventListener) {
e.preventDefault();
} else
return false;
}
}
}
//load the insert value dialog: ctrl + g
if (ctrlDown && keycode == 71) {
umbracoInsertField('', 'xsltInsertValueOf', '', 'felt', 750, 230, '');
@@ -66,14 +88,14 @@ var tab = {
tosp: true,
watching: {},
results: {},
$: function(id) {
$: function (id) {
return document.getElementById(id);
},
watch: function(obj) {
watch: function (obj) {
if (obj && this.$(obj)) {
this.watching["_" + obj] = this.$(obj);
this.addEvent(this.$(obj), "keydown", function(evt) {
this.addEvent(this.$(obj), "keydown", function (evt) {
var sct = tab.$(obj).scrollTop;
var l = tab.$(obj).value.length;
var evt = (evt) ? evt : ((window.event) ? event : null);
@@ -118,9 +140,9 @@ var tab = {
}
},
click: function(obj, fn) {
click: function (obj, fn) {
if (obj && this.$(obj)) {
this.addEvent(this.$(obj), "click", function() {
this.addEvent(this.$(obj), "click", function () {
tab.results["_" + this.id.split("_")[1]] = tab.parse(tab.watching["_" + this.id.split("_")[1]].value);
if (fn && fn.constructor == Function) {
@@ -130,13 +152,13 @@ var tab = {
}
},
get: function(obj) {
get: function (obj) {
if (obj && this.$(obj)) {
return this.results["_" + obj];
}
},
parse: function(str) {
parse: function (str) {
var str = (str) ? str : "";
if (str.length) {
@@ -152,10 +174,10 @@ var tab = {
return str;
},
addEvent: function(obj, type, fn) {
addEvent: function (obj, type, fn) {
if (obj.attachEvent) {
obj["e" + type + fn] = fn;
obj[type + fn] = function() {
obj[type + fn] = function () {
obj["e" + type + fn](window.event);
}