Example #1
0
        public override void Initialize(ContentRepository.Content context, string backUri, Application application, object parameters)
        {
            base.Initialize(context, backUri, application, parameters);

            if (!context.IsContentListItem)
            {
                this.Visible = false;
            }
        }
Example #2
0
        public override void Initialize(ContentRepository.Content context, string backUri, Application application, object parameters)
        {
            base.Initialize(context, backUri, application, parameters);

            object rtb;

            if (this.GetParameters().TryGetValue("RedirectToBackUrl", out rtb))
            {
                this.RedirectToBackUrl = Convert.ToBoolean(rtb);
            }
        }
Example #3
0
        public override void Initialize(ContentRepository.Content context, string backUri, Application application, object parameters)
        {
            base.Initialize(context, backUri, application, parameters);

            //if (string.Compare(PortalContext.Current.AuthenticationMode, "windows", StringComparison.CurrentCultureIgnoreCase) != 0)
            //    this.Forbidden = true;

            if (!Repository.WebdavEditExtensions.Any(extension => context.Name.EndsWith(extension)))
            {
                this.Visible = false;
            }
        }
Example #4
0
        public override object Execute(ContentRepository.Content content, params object[] parameters)
        {
            var aspect = content.ContentHandler as Aspect;

            if (aspect == null)
            {
                throw new InvalidOperationException("This action only works with Aspect content items.");
            }

            var result = aspect.FieldSettings.Select(x => x.ToFieldInfo()).ToArray();

            return(result);
        }
Example #5
0
        protected override string CreateEmailBody(bool isHtml)
        {
            string emailText = "";

            ContentRepository.Content c = ContentRepository.Content.Create(this);
            bool first = true;

            foreach (var kvp in c.Fields)
            {
                Field f = kvp.Value;

                if (!f.Name.StartsWith("#") || f.Name == "Email")
                {
                    continue;
                }

                if (first)
                {
                    first = false;
                }
                else
                {
                    emailText = isHtml ? string.Concat(emailText, "<br/>") : string.Concat(emailText, "\n\r\n");
                }

                emailText = string.Concat(emailText, f.DisplayName, ": ");
                foreach (string b in f.FieldSetting.Bindings)
                {
                    emailText = string.Concat(emailText, Convert.ToString(this[b]));
                }
            }
            emailText = isHtml ? string.Concat(emailText, "<br/>") : string.Concat(emailText, "\n\r\n");
            emailText = string.Concat(emailText, SenseNetResourceManager.Current.GetString("EventRegistration", "ToCancel"));
            emailText = isHtml ? string.Concat(emailText, "<br/>") : string.Concat(emailText, "\n\r\n");
            emailText = isHtml
                             ? string.Concat(emailText, "<a href=", GenerateCancelLink(), @""">", GenerateCancelLink(), "</a>")
                             : string.Concat(emailText, GenerateCancelLink());

            if (_admin)
            {
                emailText = isHtml ? string.Concat(emailText, "<br/>") : string.Concat(emailText, "\n\r\n");
                emailText = string.Concat(emailText, SenseNetResourceManager.Current.GetString("EventRegistration", "ToApprove"));
                emailText = isHtml ? string.Concat(emailText, "<br/>") : string.Concat(emailText, "\n\r\n");
                emailText = isHtml
                                 ? string.Concat(emailText, "<a href=", GenerateApproveLink(), @""">", GenerateApproveLink(), "</a>")
                                 : string.Concat(emailText, GenerateApproveLink());
            }
            return(emailText);
        }
Example #6
0
 public override object Execute(ContentRepository.Content content, params object[] parameters)
 {
     ContentRepository.Storage.Node.Copy(content.Path, (string)parameters[0]);
     return(null);
 }
Example #7
0
        private void CreateContent(HttpContext context)
        {
            try
            {
                //---- content type

                var contentTypeName = GetRequestParameter("contenttype");
                if (String.IsNullOrEmpty(contentTypeName))
                {
                    WriteError("Parameter 'contenttype' cannot be null or empty.", context);
                    return;
                }

                var contentType = ContentType.GetByName(contentTypeName);
                if (contentType == null)
                {
                    WriteError("Content type not found: " + contentTypeName, context);
                    return;
                }
                //---- create content

                var snPath = GetRequestParameter("snpath");
                if (String.IsNullOrEmpty(snPath))
                {
                    WriteError("Parameter 'snpath' cannot be null or empty.", context);
                    return;
                }

                using (new ContentRepository.Storage.Security.SystemAccount())
                {
                    BenchmarkCounter.Reset();
                    benchmarkTimer = Stopwatch.StartNew();
                    benchmarkTimer.Restart();

                    var parentPath = RepositoryPath.GetParentPath(snPath);

                    BenchmarkCounter.IncrementBy(BenchmarkCounter.CounterName.GetParentPath, benchmarkTimer.ElapsedTicks);
                    benchmarkTimer.Restart();

                    var parent = Node.LoadNode(parentPath);
                    if (parent == null)
                    {
                        WriteError("Cannot load the parent: " + snPath, context);
                        return;
                    }

                    BenchmarkCounter.IncrementBy(BenchmarkCounter.CounterName.LoadParent, benchmarkTimer.ElapsedTicks);
                    benchmarkTimer.Restart();



                    var contentName = RepositoryPath.GetFileName(snPath);
                    var content     = SnContent.CreateNew(contentTypeName, parent, contentName);

                    BenchmarkCounter.IncrementBy(BenchmarkCounter.CounterName.ContentCreate, benchmarkTimer.ElapsedTicks);
                    benchmarkTimer.Restart();

                    //---- create binary

                    if (contentTypeName == "File")
                    {
                        var fsPath = GetRequestParameter("fspath");
                        if (String.IsNullOrEmpty(snPath))
                        {
                            WriteError("Parameter 'fspath' cannot be null or empty if the content type is 'File'.", context);
                            return;
                        }

                        using (var stream = context.Request.InputStream)
                        {
                            var binaryData = new BinaryData();
                            binaryData.FileName = fsPath; //.Replace("$amp;", "&");
                            binaryData.SetStream(stream);

                            content["Binary"] = binaryData;
                            BenchmarkCounter.IncrementBy(BenchmarkCounter.CounterName.BinarySet, benchmarkTimer.ElapsedTicks);
                            benchmarkTimer.Restart();


                            using (new ContentRepository.Storage.Security.SystemAccount())
                                content.Save();
                        }
                    }
                    else
                    {
                        BenchmarkCounter.IncrementBy(BenchmarkCounter.CounterName.BinarySet, benchmarkTimer.ElapsedTicks);
                        benchmarkTimer.Restart();

                        content.Save();
                    }

                    BenchmarkCounter.IncrementBy(BenchmarkCounter.CounterName.FullSave, benchmarkTimer.ElapsedTicks);
                    benchmarkTimer.Restart();
                }
            }
            catch (Exception e)
            {
                //WriteError(String.Concat(e.Message, "\r", e.StackTrace), context);
                Logger.WriteException(e);
                WriteError(e, context);
                return;
            }

            WriteCounters(context);

            context.Response.StatusCode = 200;
            context.Response.Write("ok");
        }
Example #8
0
 public static bool isof(ContentRepository.Content c, string type)
 {
     return(c.ContentType.IsInstaceOfOrDerivedFrom(type));
 }