Compare commits

...

254 Commits

Author SHA1 Message Date
Sebastiaan Janssen 243633365e Re-include ItemEditing javascripts 2012-10-23 10:46:26 -02:00
Sebastiaan Janssen dc7e18b97b Re-include splitbutton.js 2012-10-12 11:41:29 -02:00
Shannon Deminick d3c553c945 Fixes issue with wrapping the UmbEditor init in doc ready causing template editing not to work. 2012-10-12 09:15:33 +05:00
Casey Neehouse 05fc15d164 Wraps Code Editor initialization in a document ready call to correct an IE7
sizing bug.
2012-10-11 13:02:36 +04:00
tg@umbraco.com da8af696c5 Fixes U4-680: insert Macro split buttons not working 2012-10-08 08:42:47 -02:00
Sebastiaan Janssen 12f5df33da Add z-index too treePickerToolTip to get it on top when media picker preview is on 2012-10-23 08:24:33 -02:00
Sebastiaan Janssen f184276ef8 Moved tree picker tooltip style to default.css so it also works in editMacro (and elsewhere) 2012-10-07 11:45:22 -02:00
funka@WETWIRED c72ab927a6 Resolves redundant BaseTreePicker script initialization (U4-192) 2012-10-17 05:36:22 +07:00
Sebastiaan Janssen 7bc2375a77 Adds a nice tooltip when hovering over the content/media picker
#U4-192 Fixed
2012-10-06 11:46:37 -02:00
funka@WETWIRED 392fbb836f Resolves feature request U4-192 Add more meta data to Content and Media pickers 2012-10-06 01:26:56 +07:00
Sebastiaan Janssen 0cb8603c80 Updating version number to 4.9.1 2012-10-23 07:14:48 -02:00
Sebastiaan Janssen 20fc02053a Made CodeMirror 100% height again 2012-10-09 12:25:36 -02:00
Sebastiaan Janssen e389dc39a7 Upgrade to CodeMirror 2.34 2012-10-10 11:02:59 -02:00
Sebastiaan Janssen fbd4669da8 Unpublished icon in tree with published node
#U4-387 Fixed
2012-10-15 07:16:32 -02:00
dseefeld 51769847ad Error: Delete media item with upload property - empty recycle bin fails
Fixed #U4-771
2012-09-17 04:06:53 -02:00
Sebastiaan Janssen 918e7ad682 Fixed "inception" media tree bug due to recycle bin auto initializing when it shouldn't 2012-10-23 07:06:50 -02:00
sebastiaan 1581944661 Update to CodeMirror for U4-762 2012-09-07 07:10:02 -02:00
sebastiaan e0093d69f1 Merge 4.9.0 back into the default branch 2012-09-06 16:13:57 -02:00
sebastiaan af6693bb5a Close 4.9.0 branch 2012-09-06 16:08:09 -02:00
sebastiaan 0a37b90592 Added tag Release-4.9.0 for changeset de73e687ddf6 2012-09-06 16:07:52 -02:00
Morten Christensen@ThinkPadX220.ab-nat1.dk fa33563a36 Embed classes internal -> public.
Renaming Embed.config to EmbeddedMedia.config
2012-09-06 15:23:42 -02:00
sebastiaan acc985d1d9 Forgot to add the new script to the project, made folder structure consistent 2012-09-06 14:03:41 -02:00
sebastiaan 1b25920507 Forgot to add the new script to the project 2012-09-06 14:01:38 -02:00
sebastiaan 12c92aedcc Adding SQLAzure script needed to update the WebPI feed when there's database changes 2012-09-06 13:57:11 -02:00
sebastiaan 70a814a20c Fixes U4-741 - umbracoReservedPaths was not properly filtering after removing trailing slashes 2012-09-06 12:25:04 -02:00
Morten Christensen@ThinkPadX220 874faf6f83 Removing collation in total db script, as it was a strange mix of danish and latin1 general. 2012-09-06 10:26:25 -02:00
Morten Christensen@ThinkPadX220 040d09ec42 Merge 2012-09-06 08:12:20 -02:00
Morten Christensen@ThinkPadX220 73c5451ff7 Merge 2012-09-06 08:11:18 -02:00
sebastiaan 03865ba978 Re-included ItemEditing*.js for canvas, was removed after a merge with 4.10 2012-09-06 08:10:48 -02:00
Morten Christensen@ThinkPadX220 8692d0777f Changing classes to internal instead of public in Core project. The abstract classes in the Web project can be used to create providers. 2012-09-06 08:00:55 -02:00
sebastiaan 422d9a14b2 Changed the AutoSuggest to be disabled for IE globally instead of just for scripting files so future autosuggest additions won't show up in IE either 2012-09-06 07:49:04 -02:00
sebastiaan 36ad275037 Merge 2012-09-06 07:43:24 -02:00
sebastiaan 2ec35aa0fa Disable Codemirror code completion for IE as it doesn't work properly and mostly just gets in your way 2012-09-06 07:41:45 -02:00
Morten Christensen@ThinkPadX220 fff09caebf Adding a bat file as a shortcut to building nuget packages. Should be part of the build process tho. 2012-09-06 07:40:18 -02:00
Morten Christensen@ThinkPadX220 0e2bc2bc13 Making a few corrections to the embed plugin - primarily changing namespace in Core project. 2012-09-06 07:39:38 -02:00
netaddicts 2a6fc37dce Fixes U4-755 Increase width of Name field to match width of other text fields 2012-09-06 06:00:00 -02:00
sebastiaan 4e9783ed91 Fix iframe uploader (IE6-9) to get the response in the correct format 2012-09-06 04:42:03 -02:00
sebastiaan ae1eac4a7a Added < and > to the urlReplacing as they never actually work and cause errors (404 and 500) 2012-09-05 13:05:23 -02:00
sebastiaan a91d17d8b0 Added \ and | to the urlReplacing as they never actually work and cause errors (404 and 500) 2012-09-05 12:38:12 -02:00
sebastiaan b43a774d7f Found an install where somehow the div around propertyPane had z-index 1000, the same as the uploadpanel, therefore hiding it 2012-09-05 06:59:26 -02:00
sebastiaan 71b9691431 New media uploader now opens the folder in which you were uploading after upload. 2012-09-05 02:03:18 -02:00
sebastiaan 4d101a3a58 Only refresh the tree when all files are done uploading
Remove upload panel when all files are done
2012-09-04 14:37:11 -02:00
sebastiaan 8bab9d7fa5 Added node path to be able to refresh the tree + refreshing the tree after an upload succeeds 2012-09-04 14:27:54 -02:00
sebastiaan 0413b1fbca FileSystemProviders.Release.config shouldn't be content 2012-09-04 13:29:48 -02:00
sebastiaan 2089990769 Changed folderBrowser datatype to use the new MediaDashboardFolderBrowser control 2012-09-04 12:59:05 -02:00
sebastiaan 9843e2e15d Add razor highlighting for codemirror 2012-09-04 12:04:06 -02:00
tg@umbraco.com 25721afcf4 Also makes sure tinyMCE embed plugin is enabled by default on SQLCE 2012-09-04 10:34:35 -02:00
tg@umbraco.com cd75b4b1c9 Merge 2012-09-04 10:32:56 -02:00
tg@umbraco.com 30377f987f Makes sure tinyMCE embed plugin is enabled by default 2012-09-04 10:31:41 -02:00
tg@umbraco.com 644c42556b Updates icon of tinyMCE embed plugin so it's the same for both the toolbar and prevalue editor 2012-09-04 10:27:57 -02:00
Morten Christensen@ThinkPadX220 7eea48a55d Adding nuspec files for nuget packages 2012-09-04 09:19:00 -02:00
sebastiaan 062584de0e Put the ++ back instead of + 1 2012-09-04 08:57:56 -02:00
sebastiaan 57f9bd2846 Changes casing of /Media in FileSystemProvider.config for backwards compatibility (media protect pkg)
Included missing images for the installer
2012-09-04 08:35:15 -02:00
sebastiaan 673e040aa3 Fixed mediadashboard problem, ClientDependency doesn't like newlines in js using \ 2012-09-04 08:10:29 -02:00
sebastiaan f486ff6441 Improving fileUploader.js with jsLint suggestions 2012-09-04 07:44:23 -02:00
sebastiaan 73c6aaa995 Hide throbber when there's no files found
Few updates to make the folderbrowser js safer (as suggested by jslint)
2012-09-04 07:22:15 -02:00
sebastiaan f0dc50d406 Merge 2012-09-04 06:40:37 -02:00
sebastiaan 4e737f7a89 Include mediadashboard in release config, ignore kraftwerk web.config, include upload icon 2012-09-04 06:39:49 -02:00
Morten Christensen@ThinkPadX220 c98f29d462 Updating Danish and English language files with updates from github pull requests 2012-09-04 05:51:24 -02:00
sebastiaan 5beee157a5 Merge 2012-09-04 04:07:02 -02:00
sebastiaan 9171a0d080 Fixes U4-725 Image Cropper - Quality field does not save 2012-09-04 04:06:33 -02:00
leekelleher 6aeaa4ae92 FolderBrowser: Corrected typo on Upload button title attribute.
Small CSS tweak to filter input textbox - side padding.
2012-09-03 19:15:15 -01:00
leekelleher c345b9f47c Applied patch from uComponents for uQuery - GetContentIdByPropertyId 2012-09-03 18:57:54 -01:00
leekelleher 99cf1e9f6d Web.UI project - nested embed.Release.config file 2012-09-03 18:56:59 -01:00
Morten Christensen@ThinkPadX220 7259ad1ff1 Updating Chinese language file with pull request from localization project on github. 2012-09-03 12:39:15 -02:00
Morten Christensen@ThinkPadX220 7dfeae1d0e Minor adjustment to language files according to issue U4-385 2012-09-03 11:32:39 -02:00
Morten Christensen@ThinkPadX220 1121cfe534 Updating Dutch Language file 2012-09-03 10:05:52 -02:00
Morten Christensen@ThinkPadX220 a68c7e8f83 Updating German language file 2012-09-03 10:05:05 -02:00
Morten Christensen@ThinkPadX220 dd89af607f Updating swedish language file 2012-09-03 10:04:26 -02:00
tg@umbraco.com e6c2bf3d01 Adds vir dir support to tinyMCE embed plugin 2012-09-03 05:24:50 -02:00
tg@umbraco.com 917838c0ef Merge 2012-09-03 05:12:44 -02:00
tg@umbraco.com 68e96587f7 Adds vimeo provider to embed.config 2012-09-03 05:11:33 -02:00
tg@umbraco.com 2be79d68cd Updates umbraco embed tinyMCE plugin lang files 2012-08-31 11:42:59 -02:00
tg@umbraco.com 914f639afe Removes GetPreview method from IEmbedProvider 2012-08-31 11:32:38 -02:00
tg@umbraco.com 591a19920f Updates tinyMceConfig.Release.config with embed plugin stuff 2012-08-31 11:30:32 -02:00
tg@umbraco.com 0676d9fa7a Disables Tidy by default 2012-08-31 11:28:16 -02:00
tg@umbraco.com aa8f066f9a Merge 2012-08-31 11:25:14 -02:00
tg@umbraco.com 3e3789d468 Adds embed.Release.config 2012-08-31 11:24:16 -02:00
tg@umbraco.com 85dcf5002f Adds webservice method for embed plugin + embed config file 2012-08-31 11:23:18 -02:00
sebastiaan be0d843c86 Fixes U4-419 Improved editing xslt/razor/ruby/python files in subfolders a little bit (it now actually works)
Still needs more work to make it safer (especially entering backslashes will give YSODs and sometimes when you move to a different folder the old file stays behind)
2012-08-31 11:00:38 -02:00
janusschmidtDK 67c1435fb0 Fix for U4-727 - Small performance issue in backend when loading stylesheet properties. 2012-08-31 10:43:14 -02:00
tg@umbraco.com 85f7ed387f updates tinyMCE config with umbraco embed plugin 2012-08-31 09:43:24 -02:00
tg@umbraco.com f32f559ab7 Adds tinyMCE umbraco embed plugin 2012-08-31 09:37:35 -02:00
tg@umbraco.com b75ea3d589 Adds core components and providers for embed stuff 2012-08-31 09:28:19 -02:00
sebastiaan 06e84f4a98 D'oh! Apologies for bad testing, query had one too many AND's in there =) 2012-08-31 07:07:09 -02:00
sebastiaan 96f582f188 Fix for U4-650 was incorrect, removing ASCII filters out øåæ and probably other letters as well.
It's now very exact, just look if the first letter is not in a list of 26 letters.
2012-08-31 07:01:14 -02:00
sebastiaan 66cbfaf8a5 Merge fixes getnodeidbypathlevel regression
Original issue: http://ucomponents.codeplex.com/workitem/14727
2012-08-27 08:05:17 -02:00
sebastiaan a581dc18c8 Merge with 4.8.1 (2nd) 2012-08-14 07:21:18 -02:00
sebastiaan cff0d9dfbf Closing branch. 2012-08-14 07:15:32 -02:00
sebastiaan b8f7ea50f7 Added tag Release-4.8.1 for changeset 8f8a20385788 2012-08-14 07:06:26 -02:00
Michael Wulff Nielsen 11cf53d3ba Fixed GetNodeIdByPathLevel regression from uComponents 2012-08-02 07:24:18 -02:00
shannon@ShandemVaio 4368c8a015 Merge with 4.8.0 2012-08-01 07:04:30 +06:00
sitereactor 6870ea3ff5 Closed branch 4.8.0 2012-07-27 07:06:28 -02:00
agrath 1700516148 Another NRE that I missed 2012-07-26 16:05:44 -12:00
agrath 3654070f2e Merge 2012-07-26 15:47:50 -12:00
agrath a3b091758c Fixed a NRE in FileHandlerData when user has not updated umbracoSettings.config to add the new /settings/content/imaging/autoFillImageProperties node 2012-07-26 15:36:34 -12:00
Sebastiaan Janssen 908e8b40a2 Merge 2012-07-25 12:45:45 -02:00
slace af7faa42d4 Merging changes from PeterD/fix29140 2012-07-22 13:23:41 -10:00
slace 705e06af46 Merging changes from TomvE/UmbracoRequestHandlerOptimization 2012-07-20 18:06:37 -10:00
sitereactor 26315c1f92 Added tag Release-4.8.0 for changeset 096f20bb0575 2012-07-19 06:11:21 -02:00
TomvE 34b10f7499 Only call System.Web.Security.Membership.GetUser once and keep result locally to improve performance of request handler for protected pages.
Same thing for the currentPage attributes ID and Path.
2012-07-17 14:23:47 -01:00
Peter@KASSA01.lan 63d6b05460 modified 3 dialogs to escape language-items containing single quote when inserted in javascript 2012-07-15 10:53:34 -02:00
Peter@KASSA01.lan 0c9b239bd3 fixing #30477 and #29003 2012-07-14 08:04:58 -02:00
Floris Robbemont 290f01ea3e Fixed issue #30816 2012-05-17 15:31:36 -02:00
DMITRIY@Dmitriy-PC f0de2d3141 Fix 29-06-2012 - When edit tab name not in English, value saving wrong in the database, because old SQL query didn't use parameters,
so caption in database was ??????????
2012-06-29 07:39:58 -03:00
vnbaaij@hotmail.com b3aaef7d0e Fixes issue #30422 The textbox was filled with the physical path (i.e /parent/file) to the file. It only needs the loggical path (i.e. parent/file) 2011-12-29 11:49:16 -01:00
TomF@TOMF11.cp.local f740cf50c2 Fix for 26965 - Cannot delete member when login consist of digits 2011-12-15 20:38:35 +05:00
sebastiaan 9736e627c5 Fixes U4-650 Member section, the "Other" node does not work on SQL CE 2012-08-30 10:44:48 -02:00
sebastiaan a4bc45528a Fixes U4-514 - MediaType.GetByAlias throws if alias isn't found 2012-08-30 08:38:49 -02:00
DougM 9a19106b22 Fix for workitem #30553 'Umbraco unique naming issue' 2011-10-26 19:56:21 -01:00
indra_k af992cccfe work item 30487
will cause exception when Masterpages folder contain a directory without skin.xml
possibly caused by unclean skin uninstall
src/Umbraco.Web/umbraco.presentation/umbracoLiveEditing\Modules\SkinModule\SkinCustomizer.ascx.cs
2011-09-20 07:13:14 -07:00
sebastiaan 65af083996 U4-708 New document sort order only needs to be set in 1 place, no seperate update needed for documents in root
Changed the name of the method to GetNewDocumentSortOrder to be more accurate
2012-08-30 03:39:17 -02:00
sebastiaan 85d7d5e7cf Fixes U4-708 Sort order for new nodes is set wrong when the max sortorder != number of nodes 2012-08-29 13:48:34 -02:00
jholland@HQLT-JHolland.SCRIBEHQ.local a922272c67 Included swfobject.swf
Fixes: U4-624
2012-08-27 19:38:32 +04:00
jholland@HQLT-JHolland.SCRIBEHQ.local 3c7b5d7522 Widened content name field in backoffice
Fixes: U4-369
2012-08-27 23:33:06 +04:00
azzlack 33c07a2390 Updated AbstractDataEditor and AbstractDataEditorControl code comments. 2012-08-27 16:19:13 -02:00
"azzlack" d2210e9985 Updated AbstractDataEditor and AbstractDataEditorControl code comments. 2012-08-27 16:08:17 -02:00
Ove@EyeCatch-MPC 48e8e12877 Reverted some changes to AbstractDataEditorControl in 7260 to retain backwards compatibility. 2012-08-27 14:59:39 -02:00
sebastiaan 2b248e621c Merge in Azzlack/AbstractDataEditorFix 2012-08-27 11:14:06 -02:00
sebastiaan edfe6ed547 Merge uQuery dictionary fix from Azzlack/uQueryDictionaryFix 2012-08-27 10:48:13 -02:00
sebastiaan d08946c822 Merge 2012-08-27 08:07:50 -02:00
sebastiaan 7cecb01ffd Merge fixes getnodeidbypathlevel regression
http://ucomponents.codeplex.com/workitem/14727
2012-08-27 08:06:30 -02:00
Matt@MBP13-PC 38d3d6b575 Updated ImageMediaFactory to support png transparency
Updated UmbracoFile to remove '.' from gif extension check
2012-08-27 08:01:51 -01:00
Casey Neehouse f18e59575f Changed versionDate to be set from application as possibly related to u4-387 2012-08-24 21:58:53 +04:00
Shannon Deminick fbd20fd4b1 Removes 'OLD' root folder 2012-08-24 22:41:00 +07:00
leekelleher bf5c3bf5ae Fixes U4-688 - 4.8.1 can't upgrade using SQLCE
(Also preparation for resolving U4-677 - SQLCE Medium Trust)
2012-08-24 13:56:39 -01:00
leekelleher e9e598d32c Corrected typo (macro/xsltExtensions) 2012-08-24 13:14:52 -01:00
PerPloug b2eeb6a70d Script rename, fixes a couple of IE bugs, much more stable now, much better in
IE now, so with a bit of more thorough use, it could be included by default for
IE
2012-08-24 07:01:54 -02:00
PerPloug 9e4cf35370 Small script name change to reflect custom codearea script 2012-08-24 07:00:04 -02:00
leekelleher ebd87e0eaa Implemented U4-86 - Move EXSLT references from being predefined in core to xsltExtensions.config 2012-08-23 17:55:45 -01:00
Shannon Deminick f36a88384d Migrated UmbracoSettings, GlobalSettings, XmlHelper, IOHelper and supporting classes to Umbraco.Core.
This fixes the need for Umbraco.Core to reference business logic since business logic needs to reference
Umbraco.Core (Umbraco.Core should never reference any other project except for interfaces, it is the 'Core'
of the new codebase.
2012-08-23 22:28:22 +06:00
leekelleher 19f7ba1ef4 MNTP: Applied CSS fix to the header style. Bug raised on uComponents.
http://ucomponents.codeplex.com/workitem/14746
2012-08-23 14:19:00 -01:00
leekelleher 23532b0ec8 Nested a Web.config transform file 2012-08-23 11:01:31 -01:00
leekelleher 47042ed3d3 Implemented U4-193 - Feature Request: Add meta tag to enable use of Chrome Frame in IE 2012-08-23 10:49:50 -01:00
leekelleher 0c57e0e6eb Updated my web.config transforms for Medium Trust support 2012-08-23 10:49:19 -01:00
Hartvig@UMBRACOTESLA ace18acd7e Missing web.config.templates and a missing stylesheet for the codemirror 2012-08-22 19:01:14 -02:00
Casey Neehouse b91fa1a8f2 Fixes Issue U4-387 - HasPendingChanges method was added and the comparison was
converted from rounded seconds into milliseconds.  So effectively time was set
from 1.5 seconds lapse to .5 seconds lapse. Change to 2 seconds lapse.

May still occur on slow db connections or rather large document types.
//original code commented in the Tree:
Math.Round(new TimeSpan(dd.UpdateDate.Ticks - dd.VersionDate.Ticks).TotalSeconds, 0) > 1
2012-08-22 18:46:55 +04:00
PerPloug 7a84761810 Fixes build errror because method GetPropertyTypes() has been replaced with
GetAll() - this is a breaking change who the F* changed that?
2012-08-22 12:02:28 -02:00
PerPloug 18200aa997 Flet 2012-08-22 12:00:04 -02:00
PerPloug bd0ebeb092 Dublicate files in Umbraco.Web.UI 2012-08-22 11:59:42 -02:00
PerPloug 358610655b Changes to javascript and css editors 2012-08-22 11:58:32 -02:00
PerPloug fa3f79c0e4 Changes to Pythin (cshtml) xslt and template editors 2012-08-22 11:55:57 -02:00
PerPloug d25fae730d Custom umbraco code area wrapper changes around codemirror 2 2012-08-22 11:55:19 -02:00
PerPloug 5b150c74ac Codemirror 2 core files 2012-08-22 11:54:40 -02:00
PerPloug 83fcdcfd86 CodeArea Control to support Codemirror 2 options 2012-08-22 11:53:57 -02:00
hartvig bd058d649a Fixes U4-673 2012-08-22 11:05:25 -02:00
hartvig ec638b9c3e Fixes U4-672 2012-08-22 10:20:59 -02:00
Matt@MBP13-PC 7b4bf6e502 Fixed issue with file uploader not working in IE
Fixed issue with folder browser response getting cached
2012-08-22 07:03:50 -01:00
Matt@MBP13-PC f5d258b42d Added thumbnail size selector to folder browser 2012-08-21 08:59:10 -01:00
Matt@MBP13-PC c1278674c3 Added throbber to library to show progress whilst loading media items 2012-08-21 08:17:07 -01:00
Matt@MBP13-PC 605e66c159 Fixed issue with Media factories saving relative file path rather than URL
Added styling to file uploader to show errored and canceled uploads including tooltip message
2012-08-21 07:53:07 -01:00
Matt@MBP13-PC b86bbb0e82 Tweaked some file uploader styles 2012-08-21 07:06:07 -01:00
Matt@MBP13-PC 930dd74edb Merge 2012-08-21 06:54:52 -01:00
Matt@MBP13-PC d30b5b0b2c Updatedt TinyMCEWebControl.cs to use IFileSystem 2012-08-21 06:42:01 -01:00
leekelleher 8e785cc215 Resolved U4-385 Hard Coded word "Packages".
The tree alias was called "packager" instead of "packages".
(Will update the GitHub Localization project too!)
2012-08-20 21:16:27 -01:00
Matt@MBP13-PC efe0970245 Updated UmbracoMetaWeblogAPI.cs to use IFileSystem 2012-08-20 13:55:51 -01:00
Matt@MBP13-PC 15264d36f0 Removed unused method from TinyMCEWebControl 2012-08-20 12:37:30 -01:00
Matt@MBP13-PC 298e06974e Updated mediaService to use IFileSystem 2012-08-20 12:36:56 -01:00
Matt@MBP13-PC 91acf40b3b Updatedt tinyMCEImageHelper to use IFileSystem when creating scaled images 2012-08-20 11:56:16 -01:00
Matt@MBP13-PC 085f4a4fcf Updated Document code to use IFileSystem when copying
Added some helper extention methods for IFileSystem
2012-08-20 11:42:18 -01:00
Matt@MBP13-PC 3e2510cbda Added code to auto seek stream to begining when saving via IFileSystem just in case 2012-08-20 10:51:14 -01:00
Matt@MBP13-PC 2775d9bedc Removed AbstractFileSystem in favour of extension methods
Updated UmbracoFile to use IFileSystem
Updated UmbracoMediaFactories to use IFileSystem
2012-08-20 10:46:32 -01:00
Matt@MBP13-PC 7afbc8e7bf Merge 2012-08-20 09:43:19 -01:00
Matt@MBP13-PC 3a2ed918de Added dynamic wrapper support to IFileSystem to allow context specific implementations from which to hang extension methods upon (ie IMediaFileSystem) 2012-08-20 09:42:32 -01:00
Matt@MBP13-PC 847b3523a8 Made folder browser filtering client side 2012-08-20 09:41:28 -01:00
Casey Neehouse 3180b5c5b6 Additional RenderTemplate modification to reset context in error situations. 2012-08-19 11:25:44 +04:00
Casey Neehouse 480f73dba7 Corrections to RenderTemlate(pageId) method to reset context and remove
altTemplate from the rendering page.
2012-08-19 09:26:13 +04:00
Matt@MBP13-PC bd5182792e Added double click to edit support 2012-08-16 10:31:00 -01:00
Matt@MBP13-PC b057b6d68a Implemented media sorting 2012-08-16 10:03:37 -01:00
Matt@MBP13-PC 0bc1234a4e Fixes issue with missing master pages
Re-added missing build script
2012-08-16 07:06:46 -01:00
Casey Neehouse 8b76f2a893 Added hostname to title on login.aspx for support purposes. 2012-08-16 02:27:08 +04:00
Casey Neehouse 943e53f655 Adding config template. 2012-08-16 01:15:54 +04:00
hartvig 6093e4ff5e Adds CDT property to ContentType class 2012-08-15 09:07:28 -02:00
Matt@MBP13-PC 766a834f53 Updated the Image thumbnail provider to use IFileSystem 2012-08-14 12:24:51 -01:00
Matt@MBP13-PC 546b53f9b0 Merge 2012-08-14 09:12:36 -01:00
Matt@MBP13-PC e2274b7892 Hooked up IFileSystem to the file uploader / IFile 2012-08-14 09:11:49 -01:00
hartvig c11bc9559c Implements U4-165 2012-08-14 07:45:47 -02:00
leekelleher d329123cda U4-163 Picker Relations - reincluded data-type; previous fixes for U4-162 resolved issues. 2012-08-13 23:02:17 -01:00
leekelleher aceb5b0203 U4-162 Relation Types - Resolves MySQL issues; re-enabled Tree attribute.
Changed umbraco.DataLayer project to use .NET 4.0, (was previously using 3.5), reason being that we could use Guid.Parse.
Also resolves workitem:30434 - Error when copying node and keeping relation between original and copy.
2012-08-13 22:45:01 -01:00
Matt@MBP13-PC 524244d1ec Added FileSystemProviders config section
Added FileSystemProviderManager class for fetching a file system provider by alias (this should probably be moved into the Umbraco context in 4.10)
2012-08-13 13:26:06 -01:00
Matt@MBP13-PC ad291265f3 Added PhysicalFileSystem constructor overload to work out the rootPath / rootUrl from a virtualRoot path (Can only work with a valid HttpContext) 2012-08-13 10:23:45 -01:00
Matt@MBP13-PC d2ac9158c6 Added IFileSystem
Fixed issue with last merge
2012-08-13 10:04:31 -01:00
Matt@MBP13-PC f6e59e0264 Merge with 4.8.1 (2nd) 2012-08-13 06:38:43 -01:00
Matt@MBP13-PC 8afa6298e0 Merge with 4.8.1 (2nd) 2012-08-13 06:24:52 -01:00
Matt@MBP13-PC cd56882845 Media grid now refreshes after uploads have completed 2012-08-08 12:09:22 -01:00
Matt@MBP13-PC 37ddb9223f Added friendly name support to DMU webservice to allow uploaded files to set the media items friendly name 2012-08-08 11:54:52 -01:00
Matt@MBP13-PC 44a15900c7 Removed upload method from FolderBrowserService as re-using the DMU web service instead 2012-08-08 09:26:25 -01:00
Matt@MBP13-PC ccd56f5594 Hooked up support for overwriting
Made DMU web service check for logged in user if no credentials are passed in
2012-08-08 09:08:09 -01:00
Matt@MBP13-PC a989ea77ff Switched DMU web service to support XML and JSON so can be used by media dashboard aswell
Added dmu.ashx file in old plugin folder to add backwards compatability
2012-08-08 08:37:07 -01:00
Matt@MBP13-PC 872ef1fadc Added Multi-file delete support to media grid
Added file name change support to multi-file uploader
2012-08-07 09:30:11 -01:00
Matt@MBP13-PC 9b8d40ee2d Fixed broken noNodes page 2012-08-07 07:53:19 -01:00
Matt@MBP13-PC 1e271455e8 Added multi select / drag to re-order support 2012-08-06 10:57:41 -01:00
Matt@MBP13-PC 1ad7abcd69 Incremented global version number 2012-08-06 07:47:53 -01:00
Matt@MBP13-PC 7a93c108fb Merge with 4.8.1 (2nd) 2012-08-06 07:20:46 -01:00
sebastiaan c8ac04228e Workitem: 30933 - Missing language packs breaks TinyMCE (4.8) --> Language packs re-included 2012-08-04 17:32:21 -02:00
sebastiaan 082378815f Fixes issue 30965 - Pipe character in URL causes YSOD 2012-08-02 16:39:15 -02:00
sebastiaan f8bdb42a63 Fixes issue 30905 - Checkbox "Include unpublished child pages" for Dutch Language doesn't work 2012-08-02 16:34:05 -02:00
Matt@MBP13-PC 86be51f7ce Added missing files 2012-08-02 09:31:35 -01:00
Michael Wulff Nielsen 7a274bf429 Fixed GetNodeIdByPathLevel regression from uComponents 2012-08-02 07:26:21 -02:00
Matt@MBP13-PC 4049a77332 Made ThumbnailProviders internal for the time being. We'll make them public in 4.10 as this has a new / consistant way of loading plugins. 2012-08-01 08:37:18 -01:00
Matt@MBP13-PC cabe37014b Moved IThumbnailProvider interface to root of Umbraco.Core assembly 2012-08-01 08:13:45 -01:00
Matt@MBP13-PC 20fada8fd4 Converted ThumbnailProviderManager to singleton and made internal 2012-08-01 08:11:48 -01:00
Matt@MBP13-PC 69b3645e9c Added Edit / Download context menu support for media library 2012-07-31 13:31:31 -01:00
Matt@MBP13-PC 4e1e7fe657 Added context menu to media grid
Restructured folderBrowser js class to be less clutered
2012-07-31 12:56:51 -01:00
Matt@MBP13-PC 2481a8df98 Updated fileUploader to use face uploader progress bar when uploading using iFrames. 2012-07-31 08:15:42 -01:00
Matt@MBP13-PC 3b6508e534 Merge 2012-07-30 10:23:01 -01:00
Matt@MBP13-PC 60ec172d37 Tweak to file uploader so that if the upload is complete, it just removes the UI item 2012-07-30 10:22:35 -01:00
azzlack b226be4939 Split AbstractDataEditorControl to separate class file.
Cleaned up code in AbstractDataEditor and AbstractDataEditorControl.
Made AbstractDataEditorControl inherit from INamingContainer to help with control id issues.
Made the ID and DataTypeName fields of AbstractDataEditor abstract so they must be implemented.
2012-07-27 21:34:58 -02:00
azzlack 16127a378a Fixed uQuery GetDictionaryItem method so it doesnt throw exception if the requested item does not exist, and returns fallback string instead. 2012-07-27 21:04:23 -02:00
shannon@ShandemVaio 466d871ede Fixes Umbraco.Web reference in editorControls project 2012-07-26 22:34:56 +06:00
leekelleher 0eefbdc610 uQuery: Random never takes last element (applied from uComponents changeset 018bd63444b6) 2012-07-26 12:12:38 -01:00
Matt@MBP13-PC fe87f6b89f Added js file uploader code
Can now drag and drop files in, and trigger upload sequence.
2012-07-26 12:11:42 -01:00
Sebastiaan Janssen 514326adfe Merge with 4.8.0 2012-07-25 07:35:15 -02:00
Matt@MBP13-PC ef0f8b5282 Created ThumbnailProviders for folder browser to allow custom thumbnail generation based on file ext 2012-07-24 10:06:07 -01:00
Matt@MBP13-PC 135bfc6d94 Move FolderBrowser control to Umbraco.Web project 2012-07-24 06:19:30 -01:00
Matt@MBP13-PC 82ca2609ec Made a start on the folder browser control
Added base2 js library
2012-07-23 14:29:52 -01:00
Matt@MBP13-PC fdcc81003d Added knockout js library 2012-07-23 10:28:53 -01:00
Matt@MBP13-PC c51267136c Upgraded tags datatype to use jQuery tags input plugin gor a nicer UI (still works the same under the hood) 2012-07-23 10:05:29 -01:00
Matt@MBP13-PC 9f60e49a32 Added missing project reference 2012-07-23 06:59:26 -01:00
slace 74b8b4f147 merging two PRs into the 4.9.0 branch 2012-07-22 13:28:56 -10:00
shannon@ShandemVaio f83ae489db Fixes remaining circular dependencies and updates the build script to not have
to manually build these projects seperately :)
fixes: #U4-77
2012-07-19 22:48:09 +06:00
shannon@ShandemVaio 00c18fe764 Fixes first circular dependency with webservices (#U4-77) 2012-07-19 22:38:33 +06:00
shannon@ShandemVaio ce90e114df Update to use IISExpress #U4-75 with Aarons fixes 2012-07-19 22:15:15 +06:00
shannon@ShandemVaio c205197683 Fixes up build script to build Umbraco.Web.UI project 2012-07-19 22:01:36 +06:00
shannon@ShandemVaio b13c16ddc2 Moved remaining classes/files into "umbraco.presentation" folder 2012-07-19 21:49:42 +06:00
shannon@ShandemVaio 8c9e19c0b7 Ensures language files are included in solution 2012-07-19 21:45:55 +06:00
shannon@ShandemVaio 14dd4fcd68 Moved files in Umbraco.Web to "umbraco.presentation" folder to keep old 'legacy' stuff in one place
so its easier to move forward with the new namespaces/code.
2012-07-19 21:38:56 +06:00
shannon@ShandemVaio d82bb9bff1 Merge with 4.10.0 2012-07-19 21:18:51 +06:00
shannon@ShandemVaio 4b819c081e Merge with 4.9.0 2012-07-19 21:18:05 +06:00
shannon@ShandemVaio c91ef375ba Merge with 4.8.0 2012-07-19 21:17:25 +06:00
shannon@ShandemVaio 82d8e2854a updates ignore file so that it doesn't keep wanting to update the web.config 2012-07-19 02:25:59 +06:00
shannon@ShandemVaio 7e5f4c20bf Updates the circular reference projects post builds to build to Umbraco.Web.UI
(now we can actually look at fixing these references! :)
2012-07-19 02:25:13 +06:00
shannon@ShandemVaio 6e459a3afb Fixes namespace issues when changing default namesapce to Umbraco.Web as the autogen
classes namespaces were changed.
Removed post build and custom targets from Umbraco.Web
2012-07-19 02:19:32 +06:00
shannon@ShandemVaio 2e8ab316fe re-removing the presentation stuff that was merged back in. 2012-07-19 01:32:59 +06:00
shannon@ShandemVaio c4760e0593 manually merged in tinymce language changes. 2012-07-19 01:23:53 +06:00
shannon@ShandemVaio 0f8797096d Merged with 4.9.0 2012-07-19 01:22:22 +06:00
shannon@ShandemVaio 9a1935e6ea Fixes small merge issue 2012-07-19 01:06:39 +06:00
shannon@ShandemVaio 25bd7b8ad7 Merge with 4.8.0 2012-07-19 01:02:16 +06:00
shannon@ShandemVaio 7ca29b87f3 Removed all client side files as they now exist in Umbraco.Web.UI 2012-07-19 00:52:58 +06:00
shannon@ShandemVaio 9679d0f6df Renamed umbraco.presentation to Umbraco.Web and changed the folder it resides in.
Started removal of files/folder from Umbraco.Web that belong in Umbraco.Web.UI.
2012-07-18 23:54:20 +06:00
shannon@ShandemVaio 62f4db0b76 added Umbraco.Web.UI containing only web rendering files 2012-07-18 04:35:30 +06:00
shannon@ShandemVaio 8046a778bd Fixes the UmbracoRequest, UmbracoResponse, UmbracoServerUtility to use the Base classes
not the wrapper classes since this is incorrect, now they are at least abstracted so they
don't rely on the real HttpContext but these should be obsoleted and not used but thats
a different story
2012-07-18 02:59:00 +06:00
shannon@ShandemVaio 23b2899101 Imports many of the useful extension methods from v5 that are also used in umbraMVCo to begin the
MVC integration.
Imported the unit tests associated with each of these imported classes.
2012-07-17 03:51:34 +06:00
shannon@ShandemVaio 6c8d72576c Creating 4.10.0 branch 2012-07-17 03:29:25 +06:00
shannon@ShandemVaio 10f2d9b3ed Updated assembly info for Umbraco.Web proj 2012-07-17 03:28:15 +06:00
shannon@ShandemVaio dfe512ead8 Got ApplicationTreeTest working in new NUnit test project. 2012-07-17 03:23:06 +06:00
shannon@ShandemVaio ddbde6e15f Got ApplicationTests working with new unit test project.
Had to fix the ApplicationTree and Application classes to lazily call the Cache method
(which is no renamed to EnsureCache) so that we could set the config location in the unit tests.
This should also improve performance a teeny bit and allow for better error handling if required.
2012-07-17 03:14:22 +06:00
shannon@ShandemVaio 96cc9a1f35 Missing file updates 2012-07-17 01:33:14 +06:00
shannon@ShandemVaio 21203b8070 Renamed umbraco.Test to Umbraco.LegacyTests
Updated InternalsVisibleTo declarations.
Updated the ApplicationTest test to use a new base class as a test to install a local sqlce database
for testing against.
Added Umbraco.Core project.
Added Umbraco.Web project.
Created new sln folder Legacy
2012-07-17 01:32:46 +06:00
scarta 6e77a09008 Issue 30472 - Fixed exception where 'Item has already been added...' is thrown during umbraco.controls.ContentControl.CreateChildControls.
ContentTypes are cached, but contain a lazily-loaded list which could potentially be populated twice by two separate requests.
2011-09-14 12:47:08 -01:00
Dallas taylor f9a33b5471 Removed logging of the publish event from the presentation. The event is also logged in the publishWithResult() method, and was causing the Publish event to appear twice in the Audit Trail. 2012-08-03 06:10:16 +04:00
tom.fulton@Tom-PC.imulus.local 09184041b7 Fix U4-722 - Feature: Add TinyMCE email address detection (mailto) 2012-08-31 02:48:55 +06:00
sebastiaan 1118e1e3fd Have to duplicate previous fix in the Umbraco.Web project as Umbraco.Web.UI gets overwritten with it 2012-09-02 16:17:12 -02:00
abutland 6f64e480df U4-53: auto selections of allowed/default templates
- set default on selection of allow template if not already set
 - de-select default template if template set as not allowed
 - select allowed template if default template selected
2012-08-19 18:28:13 -02:00
3538 changed files with 75646 additions and 82365 deletions
+4
View File
@@ -41,3 +41,7 @@ _BuildOutput/*
build/UmbracoCms.AllBinaries.zip
build/UmbracoCms.WebPI.zip
build/UmbracoCms.zip
src/Umbraco.Tests/config/applications.config
src/Umbraco.Tests/config/trees.config
src/Umbraco.Web.UI/web.config
*.orig
+3
View File
@@ -7,3 +7,6 @@ ffc34b23e1a03785e4098afa4290d8c03cf10115 Release-4.5.2
d03fcffb8834a9583a56813bb44b6abbd9f042cc Release-4.6.0
1809f7b2593270c192cd47bdcfdb392100686f79 4.7.2
488779dec0ceb1d2874bcef906241b919325c904 4.8.0-beta
096f20bb0575d6199f20fcb3147b63554e765a74 Release-4.8.0
8f8a203857886b373148af29edd57460a42940be Release-4.8.1
de73e687ddf6086ed52b6554676c1632865d07f2 Release-4.9.0
-58
View File
@@ -1,58 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
//
// 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("")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
//
// 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.*")]
//
// In order to sign your assembly you must specify a key to use. Refer to the
// Microsoft .NET Framework documentation for more information on assembly signing.
//
// Use the attributes below to control which key is used for signing.
//
// Notes:
// (*) If no key is specified, the assembly is not signed.
// (*) KeyName refers to a key that has been installed in the Crypto Service
// Provider (CSP) on your machine. KeyFile refers to a file which contains
// a key.
// (*) If the KeyFile and the KeyName values are both specified, the
// following processing occurs:
// (1) If the KeyName can be found in the CSP, that key is used.
// (2) If the KeyName does not exist and the KeyFile does exist, the key
// in the KeyFile is installed into the CSP and used.
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
// When specifying the KeyFile, the location of the KeyFile should be
// relative to the project output directory which is
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
// located in the project directory, you would specify the AssemblyKeyFile
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
// documentation for more information on this.
//
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("")]
[assembly: AssemblyKeyName("")]
-94
View File
@@ -1,94 +0,0 @@
using System;
using System.Runtime.InteropServices;
// GPL Licensed work
// (c) Christian Palm + umbraco crew 2005
// Kudos to Christian Palm for finally making a
// Tidy solution that just works
// palmdk@gmail.com
namespace CPalmTidy
{
/// <summary>
/// Summary description for tidy.
/// </summary>
public class Tidy
{
public string error;
public string outputFile;
public string inputFile;
public string configFile;
public Tidy()
{
this.error = "";
this.outputFile = "";
this.inputFile = "";
this.configFile = "";
}
public bool Run()
{
int i = CallTidyMain(this.inputFile, this.outputFile, this.configFile);
this.error = i.ToString();
//this.error = "this.inputFile: " + this.inputFile + "<br>this.outputFile: " + this.outputFile + "<br>this.configFile: " + this.configFile;
return true;
}
[DllImport(@"TidyDll.dll")]
static extern int CallTidyMain(
[MarshalAs(UnmanagedType.LPStr)] string inFileName,
[MarshalAs(UnmanagedType.LPStr)] string outFileName,
[MarshalAs(UnmanagedType.LPStr)] string optionsFileName
);
public string ErrorValue
{
get
{
return this.error;
}
}
public string ConfigFile
{
get
{
return this.configFile;
}
set
{
this.configFile = value;
}
}
public string OutputFile
{
get
{
return this.outputFile;
}
set
{
this.outputFile = value;
}
}
public string InputFile
{
get
{
return this.inputFile;
}
set
{
this.inputFile = value;
}
}
}
}
-106
View File
@@ -1,106 +0,0 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
<PropertyGroup>
<ProjectType>Local</ProjectType>
<ProductVersion>8.0.50727</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{C584F126-315D-4136-A3EA-E87A108D27DA}</ProjectGuid>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ApplicationIcon>
</ApplicationIcon>
<AssemblyKeyContainerName>
</AssemblyKeyContainerName>
<AssemblyName>umbraco.CPalmTidy</AssemblyName>
<AssemblyOriginatorKeyFile>
</AssemblyOriginatorKeyFile>
<DefaultClientScript>JScript</DefaultClientScript>
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
<DefaultTargetSchema>IE50</DefaultTargetSchema>
<DelaySign>false</DelaySign>
<OutputType>Library</OutputType>
<RootNamespace>umbraco.CPalmTidy</RootNamespace>
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
<StartupObject>
</StartupObject>
<FileUpgradeFlags>
</FileUpgradeFlags>
<UpgradeBackupLocation>
</UpgradeBackupLocation>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
<OldToolsVersion>2.0</OldToolsVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<OutputPath>bin\Debug\</OutputPath>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DocumentationFile>bin\Debug\umbraco.CPalmTidy.XML</DocumentationFile>
<DebugSymbols>true</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<NoStdLib>false</NoStdLib>
<NoWarn>
</NoWarn>
<Optimize>false</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
<DebugType>full</DebugType>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<OutputPath>bin\Release\</OutputPath>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<BaseAddress>285212672</BaseAddress>
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
<ConfigurationOverrideFile>
</ConfigurationOverrideFile>
<DefineConstants>TRACE</DefineConstants>
<DocumentationFile>
</DocumentationFile>
<DebugSymbols>false</DebugSymbols>
<FileAlignment>4096</FileAlignment>
<NoStdLib>false</NoStdLib>
<NoWarn>
</NoWarn>
<Optimize>true</Optimize>
<RegisterForComInterop>false</RegisterForComInterop>
<RemoveIntegerChecks>false</RemoveIntegerChecks>
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningLevel>4</WarningLevel>
<DebugType>none</DebugType>
<ErrorReport>prompt</ErrorReport>
</PropertyGroup>
<ItemGroup>
<Reference Include="System">
<Name>System</Name>
</Reference>
<Reference Include="System.Data">
<Name>System.Data</Name>
</Reference>
<Reference Include="System.XML">
<Name>System.XML</Name>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="AssemblyInfo.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="tidy.cs">
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PreBuildEvent>
</PreBuildEvent>
<PostBuildEvent>
</PostBuildEvent>
</PropertyGroup>
</Project>
Binary file not shown.
-58
View File
@@ -1,58 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{6C9A6403-6457-4989-BF20-A575535B89AF}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>umbraco.Juno</RootNamespace>
<AssemblyName>umbraco.Juno</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Class1.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
-264
View File
@@ -1,264 +0,0 @@
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.Collections;
using System.Collections.Specialized;
using System.Globalization;
namespace umbraco.controls
{
/// <summary>
/// Summary description for datePicker.
/// </summary>
[DefaultProperty("Text"),
ToolboxData("<{0}:datePicker runat=server></{0}:datePicker>")]
public class datePicker_old : System.Web.UI.WebControls.WebControl
{
private DateTime _datetime = new DateTime(1900, 1, 1);
private bool _showTime = false;
private int _yearsBack = 100;
private string[] _minutes = {"00", "15", "30", "45"};
private string[] _hours = {"--", "00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"};
private string[] _days = {"--", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31"};
private ArrayList _months = new ArrayList();
private ArrayList _years = new ArrayList();
private string _globalAlias = "Da-dk";
public string CustomMinutes
{
set {_minutes = value.Split(", ".ToCharArray());}
}
public bool ShowTime
{
set {_showTime = value;}
get {return _showTime;}
}
public string GlobalizationAlias
{
set {_globalAlias = value;}
get {return _globalAlias;}
}
public int YearsBack
{
set {_yearsBack = value;}
get {return _yearsBack;}
}
[Bindable(true),
Category("Appearance"),
DefaultValue("")]
public DateTime DateTime
{
get
{
return _datetime;
}
set
{
try
{
_datetime = value;
}
catch {
}
}
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad (e);
if (Page.IsPostBack)
{
try
{
_datetime = DateTime.Parse(System.Web.HttpContext.Current.Request.Form[this.ClientID]);
}
catch {}
}
}
protected override void OnInit(EventArgs e)
{
base.OnInit (e);
}
/// <summary>
/// Render this control to the output parameter specified.
/// </summary>
/// <param name="output"> The HTML writer to write out to </param>
protected override void Render(HtmlTextWriter output)
{
System.Web.HttpContext.Current.Trace.Warn("rendering datetime control!");
DateTimeFormatInfo dtInfo = System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat;
string daySelect = "--", monthSelect = "--", yearSelect = "--", hourSelect = "--", minuteSelect = "--";
if (_datetime.Year > 1900)
{
daySelect = _datetime.Day.ToString();
monthSelect = dtInfo.MonthNames[_datetime.Month-1];
yearSelect = _datetime.Year.ToString();
hourSelect = _datetime.Hour.ToString();
if (hourSelect.Length < 2)
hourSelect = "0" + hourSelect;
minuteSelect = markMinute(_datetime.Minute);
}
_months.Add("--");
for (int i=0;i<12;i++)
{
_months.Add(dtInfo.MonthNames[i]);
}
_years.Add("--");
for (int i=DateTime.Now.Year-_yearsBack; i<DateTime.Now.Year+20;i++)
{
_years.Add(i);
}
ListBox Days = new ListBox();
Days.SelectionMode = ListSelectionMode.Single;
Days.Rows = 1;
Days.ID = this.ID + "_days";
Days.DataSource = _days;
try
{
Days.SelectedValue = daySelect;
}
catch {
}
Days.DataBind();
Days.Attributes.Add("onChange", "umbracoUpdateDatePicker('" + this.ClientID + "');");
ListBox Months = new ListBox();
Months.Attributes.Add("onChange", "umbracoUpdateDatePicker('" + this.ClientID + "');");
Months.SelectionMode = ListSelectionMode.Single;
Months.Rows = 1;
Months.ID = this.ID + "_months";
for (int i=0; i<_months.Count; i++)
{
ListItem li = new ListItem(_months[i].ToString(), (i).ToString());
Months.Items.Add(li);
if (_months[i].ToString() == monthSelect.ToString())
Months.SelectedIndex = i;
}
ListBox Years = new ListBox();
Years.SelectionMode = ListSelectionMode.Single;
Years.Rows = 1;
Years.ID = this.ID + "_years";
Years.DataSource = _years;
try
{
Years.SelectedValue = yearSelect;
}
catch {}
Years.DataBind();
Years.Attributes.Add("onChange", "umbracoUpdateDatePicker('" + this.ClientID + "');");
ListBox Hours = new ListBox();
Hours.SelectionMode = ListSelectionMode.Single;
Hours.Rows = 1;
Hours.ID = this.ID + "_hours";
Hours.DataSource = _hours;
try
{
Hours.SelectedValue = hourSelect;
}
catch {}
Hours.DataBind();
Hours.Attributes.Add("onChange", "umbracoUpdateDatePicker('" + this.ClientID + "');");
ListBox Minutes = new ListBox();
Minutes.SelectionMode = ListSelectionMode.Single;
Minutes.Rows = 1;
Minutes.ID = this.ID + "_minutes";
// Copy minutes
ArrayList minutesSource = new ArrayList();
foreach (string s in _minutes)
if (s.Trim() != "")
minutesSource.Add(s);
minutesSource.Insert(0, "--");
Minutes.DataSource = minutesSource;
try
{
Minutes.SelectedValue = minuteSelect;
}
catch {}
Minutes.DataBind();
Minutes.Attributes.Add("onChange", "umbracoUpdateDatePicker('" + this.ClientID + "');");
// add in the format
this.Controls.Add(Days);
this.Controls.Add(new LiteralControl(" "));
this.Controls.Add(Months);
this.Controls.Add(new LiteralControl(" "));
this.Controls.Add(Years);
if (this.ShowTime)
{
this.Controls.Add(new LiteralControl(" "));
this.Controls.Add(Hours);
this.Controls.Add(new LiteralControl(" : "));
this.Controls.Add(Minutes);
}
//this.Controls.Add(new LiteralControl(" <a href=\"#\"><img src=\"images/editor/calendar.gif\" alt=\"Pick a date\" class=\"clickImg\"/></a>"));
base.RenderChildren(output);
output.WriteLine("<input type=\"hidden\" id=\"" + this.ClientID + "\" name=\"" + this.ClientID + "\" value=\"" + _datetime.ToString() + "\"/>");
}
private string markMinute(int minute)
{
int _currentDiff = 100;
int _currentMinute = 0;
System.Collections.ArrayList _localMinutes = new ArrayList();
foreach (string s in _minutes)
{
_localMinutes.Add(s);
}
_localMinutes.Add("60");
foreach (string s in _localMinutes)
{
if (s.Trim() != "")
{
if (_currentDiff > Math.Abs(int.Parse(s)-minute))
{
_currentMinute = int.Parse(s);
_currentDiff = Math.Abs(int.Parse(s)-minute);
}
}
}
if (_currentMinute == 60)
return "00";
else
{
if (_currentMinute.ToString().Length == 1)
return "0" + _currentMinute.ToString();
else
return _currentMinute.ToString();
}
}
}
}
@@ -1,240 +0,0 @@
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.Collections;
using System.Collections.Specialized;
using System.Globalization;
using ClientDependency.Core;
using umbraco.IO;
namespace umbraco.controls
{
/// <summary>
/// Summary description for datePicker.
/// </summary>
[DefaultProperty("Text"),
ToolboxData("<{0}:datePicker runat=server></{0}:datePicker>")]
[ClientDependency(200, ClientDependencyType.Javascript, "datepicker/cal_s.js", "UmbracoClient")]
[ClientDependency(201, ClientDependencyType.Javascript, "datepicker/cal_set_s.js", "UmbracoClient")]
[ClientDependency(202, ClientDependencyType.Javascript, "datepicker/lang/calendar-en.js", "UmbracoClient")]
[ClientDependency(ClientDependencyType.Css, "datepicker/aqua/theme.css", "UmbracoClient")]
public class datePicker : TextBox
{
private DateTime _datetime = DateTime.Now;
private bool _showTime = false;
private bool _emptyDateAsDefault = false;
private int _yearsBack = 100;
private string[] _minutes = { "00", "15", "30", "45" };
private string[] _hours = { "--", "00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23" };
private string[] _days = { "--", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31" };
private ArrayList _months = new ArrayList();
private ArrayList _years = new ArrayList();
private string _globalAlias = "Da-dk";
private string dateFormatJs = "%Y-%m-%d";
private string dateFormatNet = "yyyy-MM-dd";
private string dateFormatJsSelect = "";
private string dateTimeVisibleValue = "";
public string CustomMinutes
{
set { _minutes = value.Split(", ".ToCharArray()); }
}
public bool EmptyDateAsDefault
{
set { _emptyDateAsDefault = value; }
}
public bool ShowTime
{
set { _showTime = value; }
get { return _showTime; }
}
public string GlobalizationAlias
{
set { _globalAlias = value; }
get { return _globalAlias; }
}
public int YearsBack
{
set { _yearsBack = value; }
get { return _yearsBack; }
}
[Bindable(true),
Category("Appearance"),
DefaultValue("")]
public DateTime DateTime
{
get
{
return _datetime;
}
set
{
try
{
_datetime = value;
this.Text = _datetime.ToString();
}
catch
{
}
}
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (Page.IsPostBack)
{
try
{
string dateVal = this.Text;
DateTime tempDate;
tempDate = DateTime.Parse(dateVal);
if (_showTime)
{
tempDate = new DateTime(
int.Parse(dateVal.Substring(0, 4)),
int.Parse(dateVal.Substring(5, 2)),
int.Parse(dateVal.Substring(8, 2)),
int.Parse(dateVal.Substring(11, 2)),
int.Parse(dateVal.Substring(14, 2)), 0);
}
else
tempDate = new DateTime(
int.Parse(dateVal.Substring(0, 4)),
int.Parse(dateVal.Substring(5, 2)),
int.Parse(dateVal.Substring(8, 2)), 0, 0, 0);
_datetime = tempDate;
}
catch
{
_datetime = new DateTime(1, 1, 1, 0, 0, 0);
}
}
else
{
if (this.Text != "")
_datetime = DateTime.Parse(this.Text);
}
}
protected override void OnInit(EventArgs e)
{
if (this.ShowTime)
{
dateFormatJs += " %H:%M";
dateFormatNet += " HH:mm";
dateFormatJsSelect = ",\n" +
" showsTime : true,\n" +
" timeFormat : 24 \n";
}
base.OnInit(e);
}
protected override void OnPreRender(EventArgs e)
{
if (!_emptyDateAsDefault)
{
if (_datetime.Year != 1 || _datetime.Month != 1 || _datetime.Day != 1)
{
this.Text = _datetime.ToString(dateFormatNet);
dateTimeVisibleValue = _datetime.ToString(dateFormatNet);
}
else
{
this.Text = "";
dateTimeVisibleValue = ui.Text("noDate");
}
}
base.OnPreRender(e);
}
/// <summary>
/// Render this control to the output parameter specified.
/// </summary>
/// <param name="output"> The HTML writer to write out to </param>
///
protected override void Render(HtmlTextWriter output)
{
// DateTimeFormatInfo dtInfo = System.Threading.Thread.CurrentThread.CurrentCulture.DateTimeFormat;
base.Render(output);
//output.WriteLine("<input type=\"text\" id=\"" + this.ClientID + "\" name=\"" + this.ClientID + "\" value=\"" + dateTimeValue + "\"/>");
output.WriteLine("<span id=\"" + this.ClientID + "_show_e\">" + dateTimeVisibleValue + "</span> ");
output.WriteLine("<img src=\"" + IOHelper.ResolveUrl( SystemDirectories.Umbraco_client ) + "/datePicker/images/calPickerIcon.png\" onMouseOver=\"this.src='" + IOHelper.ResolveUrl(SystemDirectories.Umbraco_client) + "/datePicker/images/calPickerIconHover.png'\" onMouseOut=\"this.src='/umbraco_client/datePicker/images/calPickerIcon.png'\" id=\"" + this.ClientID + "_f_trigger_e\" style=\"cursor: pointer; border: 1px solid #CCC\" title=\"" + ui.Text("choose") + " " + ui.Text("date") + "...\" align=\"absmiddle\"/>");
output.WriteLine("<a href=\"javascript:void(0);\" onClick=\"document.forms[0]['" + this.ClientID + "'].value = ''; document.getElementById('" + this.ClientID + "_show_e').innerHTML = '" + ui.Text("noDate") + "';\">" + ui.Text("removeDate") + "</a>");
string strSetup = " Calendar.setup({" +
" inputField : \"" + this.ClientID + "\",\n" +
" ifFormat : \"" + dateFormatJs + "\",\n" +
" displayArea : \"" + this.ClientID + "_show_e\",\n" +
" daFormat : \"" + dateFormatJs + "\",\n" +
" button : \"" + this.ClientID + "_f_trigger_e\",\n" +
" singleClick : true\n" +
dateFormatJsSelect +
" });";
try
{
if (ScriptManager.GetCurrent(Page).IsInAsyncPostBack)
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "Calendar.Setup_" + this.ClientID, strSetup, true);
else
Page.ClientScript.RegisterStartupScript(this.GetType(), "Calendar.Setup_" + this.ClientID, strSetup, true);
}
catch
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "Calendar.Setup_" + this.ClientID, strSetup, true);
}
}
private string markMinute(int minute)
{
int _currentDiff = 100;
int _currentMinute = 0;
System.Collections.ArrayList _localMinutes = new ArrayList();
foreach (string s in _minutes)
{
_localMinutes.Add(s);
}
_localMinutes.Add("60");
foreach (string s in _localMinutes)
{
if (s.Trim() != "")
{
if (_currentDiff > Math.Abs(int.Parse(s) - minute))
{
_currentMinute = int.Parse(s);
_currentDiff = Math.Abs(int.Parse(s) - minute);
}
}
}
if (_currentMinute == 60)
return "00";
else
{
if (_currentMinute.ToString().Length == 1)
return "0" + _currentMinute.ToString();
else
return _currentMinute.ToString();
}
}
}
}
@@ -1,70 +0,0 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace umbraco.controls {
public class calendar : PlaceHolder {
public bool ShowTime { get; set; }
public DateTime? SelectedDateTime { get; set; }
private DateTime _date;
public TextBox tb_hours = new TextBox();
public TextBox tb_minutes = new TextBox();
public TextBox tb_date = new TextBox();
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
}
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
_date = System.DateTime.Now;
if (SelectedDateTime.HasValue)
_date = SelectedDateTime.Value;
if (ShowTime) {
tb_minutes.Columns = 2;
tb_hours.Columns = 2;
tb_hours.Text = _date.Hour.ToString();
tb_minutes.Text = fixTime(_date.Minute);
Literal lit = new Literal();
lit.Text = ":";
this.Controls.Add(tb_hours);
this.Controls.Add(lit);
this.Controls.Add(tb_minutes);
}
tb_date.ID = base.ID + "_datePickField";
this.Controls.Add(tb_date);
AjaxControlToolkit.CalendarExtender cal = new AjaxControlToolkit.CalendarExtender();
cal.TargetControlID = tb_date.UniqueID;
cal.SelectedDate = _date;
this.Controls.Add(cal);
}
private static string fixTime(int input){
if (input.ToString().Length == 1)
return "0" + input.ToString();
else
return input.ToString();
}
}
}
@@ -1,506 +0,0 @@
using System;
using System.Collections;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.UI;
using umbraco.BasePages;
using umbraco.BusinessLogic;
using umbraco.cms.businesslogic.web;
using umbraco.editorControls.wysiwyg;
using umbraco.interfaces;
using umbraco.uicontrols;
namespace umbraco.editorControls.tinymce {
public class TinyMCE : webcontrol.TinyMCE, IDataEditor, IMenuElement {
private IData _data;
private bool _enableContextMenu = false;
private string _editorButtons = "";
private string _advancedUsers = "";
private bool _fullWidth = false;
private int _width = 0;
private int _height = 0;
private bool _showLabel = false;
private string _plugins = "";
private ArrayList _stylesheets = new ArrayList();
private ArrayList _menuIcons = new ArrayList();
private SortedList _buttons = new SortedList();
private SortedList _mceButtons = new SortedList();
private bool _isInitialized = false;
private string _activateButtons = "";
private string _disableButtons = "help,visualaid,";
private int m_maxImageWidth = 500;
public virtual string Plugins {
get { return _plugins; }
set { _plugins = value; }
}
public TinyMCE(IData Data, string Configuration) {
_data = Data;
string[] configSettings = Configuration.Split("|".ToCharArray());
if (configSettings.Length > 0) {
_editorButtons = configSettings[0];
if (configSettings.Length > 1)
if (configSettings[1] == "1")
_enableContextMenu = true;
if (configSettings.Length > 2)
_advancedUsers = configSettings[2];
if (configSettings.Length > 3) {
if (configSettings[3] == "1")
_fullWidth = true;
else if (configSettings[4].Split(',').Length > 1) {
_width = int.Parse(configSettings[4].Split(',')[0]);
_height = int.Parse(configSettings[4].Split(',')[1]);
}
}
// default width/height
if (_width < 1)
_width = 500;
if (_height < 1)
_height = 400;
// add stylesheets
if (configSettings.Length > 4) {
foreach (string s in configSettings[5].Split(",".ToCharArray()))
_stylesheets.Add(s);
}
if (configSettings.Length > 6 && configSettings[6] != "")
_showLabel = bool.Parse(configSettings[6]);
if (configSettings.Length > 7 && configSettings[7] != "")
m_maxImageWidth = int.Parse(configSettings[7].ToString());
// sizing
if (!_fullWidth) {
config.Add("width", _width.ToString());
config.Add("height", _height.ToString());
}
if (_enableContextMenu)
_plugins += ",contextmenu";
// config.Add("theme_advanced_statusbar_location", "none");
// If the editor is used in umbraco, use umbraco's own toolbar
bool onFront = false;
if (HttpContext.Current.Request.Path.ToLower().IndexOf(GlobalSettings.Path.ToLower()) > -1)
config.Add("theme_advanced_toolbar_location", "external");
else {
onFront = true;
config.Add("theme_advanced_toolbar_location", "top");
}
// load plugins
IDictionaryEnumerator pluginEnum = tinyMCEConfiguration.Plugins.GetEnumerator();
while (pluginEnum.MoveNext()) {
tinyMCEPlugin plugin = (tinyMCEPlugin)pluginEnum.Value;
if (plugin.UseOnFrontend || (!onFront && !plugin.UseOnFrontend))
_plugins += "," + plugin.Name;
}
if (_plugins.StartsWith(","))
_plugins = _plugins.Substring(1, _plugins.Length - 1);
if (_plugins.EndsWith(","))
_plugins = _plugins.Substring(0, _plugins.Length - 1);
config.Add("plugins", _plugins);
// Check advanced settings
if (("," + _advancedUsers + ",").IndexOf("," + UmbracoEnsuredPage.CurrentUser.UserType.Id + ",") > -1)
config.Add("umbracoAdvancedMode", "true");
else
config.Add("umbracoAdvancedMode", "false");
// Check maximum image width
config.Add("umbracoMaximumDefaultImageWidth", m_maxImageWidth.ToString());
// Styles
string cssFiles = String.Empty;
string styles = string.Empty;
foreach (string styleSheetId in _stylesheets) {
if (styleSheetId.Trim() != "")
try {
StyleSheet s = StyleSheet.GetStyleSheet(int.Parse(styleSheetId), false, false);
cssFiles += GlobalSettings.Path + "/../css/" + s.Text + ".css";
foreach (StylesheetProperty p in s.Properties) {
if (styles != string.Empty) {
styles += ";";
}
if (p.Alias.StartsWith("."))
styles += p.Text + "=" + p.Alias;
else
styles += p.Text + "=" + p.Alias;
}
cssFiles += ",";
} catch (Exception ee) {
Log.Add(LogTypes.Error, -1,
string.Format(
string.Format("Error adding stylesheet to tinymce (id: {{0}}). {0}", ee),
styleSheetId));
}
}
config.Add("content_css", cssFiles);
config.Add("theme_advanced_styles", styles);
// Add buttons
IDictionaryEnumerator ide = tinyMCEConfiguration.Commands.GetEnumerator();
while (ide.MoveNext()) {
tinyMCECommand cmd = (tinyMCECommand)ide.Value;
if (_editorButtons.IndexOf("," + cmd.Alias + ",") > -1)
_activateButtons += cmd.Alias + ",";
else
_disableButtons += cmd.Alias + ",";
}
if (_activateButtons.Length > 0)
_activateButtons = _activateButtons.Substring(0, _activateButtons.Length - 1);
if (_disableButtons.Length > 0)
_disableButtons = _disableButtons.Substring(0, _disableButtons.Length - 1);
// Add buttons
initButtons();
_activateButtons = "";
int separatorPriority = 0;
ide = _mceButtons.GetEnumerator();
while (ide.MoveNext()) {
string mceCommand = ide.Value.ToString();
int curPriority = (int)ide.Key;
// Check priority
if (separatorPriority > 0 &&
Math.Floor(decimal.Parse(curPriority.ToString()) / 10) >
Math.Floor(decimal.Parse(separatorPriority.ToString()) / 10))
_activateButtons += "separator,";
_activateButtons += mceCommand + ",";
separatorPriority = curPriority;
}
config.Add("theme_advanced_buttons1", _activateButtons);
config.Add("theme_advanced_buttons2", "");
config.Add("theme_advanced_buttons3", "");
config.Add("theme_advanced_toolbar_align", "left");
config.Add("theme_advanced_disable", _disableButtons);
config.Add("theme_advanced_path ", "true");
config.Add("extended_valid_elements", "div[*]");
config.Add("document_base_url", "/");
config.Add("event_elements", "div");
if (HttpContext.Current.Request.Path.IndexOf(GlobalSettings.Path) > -1)
config.Add("language", User.GetUser(BasePage.GetUserId(BasePage.umbracoUserContextID)).Language);
else
config.Add("language", System.Threading.Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName);
if (_fullWidth) {
config.Add("auto_resize", "true");
base.Cols = 30;
base.Rows = 30;
} else {
base.Cols = 0;
base.Rows = 0;
}
}
}
#region IDataEditor Members
#region TreatAsRichTextEditor
public virtual bool TreatAsRichTextEditor {
get { return false; }
}
#endregion
#region ShowLabel
public virtual bool ShowLabel {
get { return _showLabel; }
}
#endregion
#region Editor
public Control Editor {
get { return this; }
}
#endregion
#region Save()
public virtual void Save() {
string parsedString = base.Text.Trim();
if (parsedString != string.Empty) {
parsedString = replaceMacroTags(parsedString).Trim();
// clean macros and add paragraph element for tidy
bool removeParagraphs = false;
if (parsedString.Length > 16 && parsedString.ToLower().Substring(0, 17) == "|||?umbraco_macro") {
removeParagraphs = true;
parsedString = "<p>" + parsedString + "</p>";
}
// tidy html
if (UmbracoSettings.TidyEditorContent) {
string tidyTxt = library.Tidy(parsedString, false);
if (tidyTxt != "[error]") {
// compensate for breaking macro tags by tidy
parsedString = tidyTxt.Replace("/?>", "/>");
if (removeParagraphs) {
if (parsedString.Length - parsedString.Replace("<", "").Length == 2)
parsedString = parsedString.Replace("<p>", "").Replace("</p>", "");
}
} else {
// TODO
// How to log errors? _data.NodeId does not exist?
//BusinessLogic.Log.Add(BusinessLogic.LogTypes.Error, BusinessLogic.User.GetUser(0), _data.NodeId, "Error tidying txt from property: " + _data.PropertyId.ToString());
}
}
// rescue umbraco tags
parsedString = parsedString.Replace("|||?", "<?").Replace("/|||", "/>").Replace("|*|", "\"");
// fix images
parsedString = tinyMCEImageHelper.cleanImages(parsedString);
// parse current domain and instances of slash before anchor (to fix anchor bug)
// NH 31-08-2007
if (HttpContext.Current.Request.ServerVariables != null) {
parsedString = parsedString.Replace(helper.GetBaseUrl(HttpContext.Current) + "/#", "#");
parsedString = parsedString.Replace(helper.GetBaseUrl(HttpContext.Current), "");
}
// if text is an empty parargraph, make it all empty
if (parsedString.ToLower() == "<p></p>")
parsedString = "";
}
_data.Value = parsedString;
// update internal webcontrol value with parsed result
base.Text = parsedString;
}
#endregion
protected override void OnLoad(EventArgs e) {
base.OnLoad(e);
try {
base.NodeId = ((cms.businesslogic.datatype.DefaultData)_data).NodeId;
base.VersionId = ((cms.businesslogic.datatype.DefaultData)_data).Version;
config.Add("umbraco_toolbar_id",
ElementIdPreFix + ((cms.businesslogic.datatype.DefaultData)_data).PropertyId.ToString());
} catch {
// Empty catch as this is caused by the document doesn't exists yet,
// like when using this on an autoform
}
Page.ClientScript.RegisterClientScriptBlock(GetType(), "tinymce",
"<script language=\"javascript\" type=\"text/javascript\" src=\"" +
JavascriptLocation + CoreFile + "\"></script>");
Page.ClientScript.RegisterClientScriptBlock(GetType(), "tinymceUmbPasteCheck",
"<script language=\"javascript\" type=\"text/javascript\" src=\"" +
JavascriptLocation +
"/plugins/umbracoAdditions/umbPasteCheck.js\"></script>");
}
protected override void Render(HtmlTextWriter output) {
base.JavascriptLocation = GlobalSettings.ClientPath + "/tinymce/tiny_mce.js";
base.Render(output);
}
protected override void OnInit(EventArgs e) {
base.OnInit(e);
if (!Page.IsPostBack) {
if (_data != null && _data.Value != null)
base.Text = _data.Value.ToString();
}
}
private string replaceMacroTags(string text) {
while (findStartTag(text) > -1) {
string result = text.Substring(findStartTag(text), findEndTag(text) - findStartTag(text));
text = text.Replace(result, generateMacroTag(result));
}
return text;
}
private string generateMacroTag(string macroContent) {
string macroAttr = macroContent.Substring(5, macroContent.IndexOf(">") - 5);
string macroTag = "|||?UMBRACO_MACRO ";
Hashtable attributes = ReturnAttributes(macroAttr);
IDictionaryEnumerator ide = attributes.GetEnumerator();
while (ide.MoveNext()) {
if (ide.Key.ToString().IndexOf("umb_") != -1) {
// Hack to compensate for Firefox adding all attributes as lowercase
string orgKey = ide.Key.ToString();
if (orgKey == "umb_macroalias")
orgKey = "umb_macroAlias";
macroTag += orgKey.Substring(4, orgKey.ToString().Length - 4) + "=|*|" +
ide.Value.ToString() + "|*| ";
}
}
macroTag += "/|||";
return macroTag;
}
public static Hashtable ReturnAttributes(String tag) {
Hashtable ht = new Hashtable();
MatchCollection m =
Regex.Matches(tag, "(?<attributeName>\\S*)=\"(?<attributeValue>[^\"]*)\"",
RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
foreach (Match attributeSet in m)
ht.Add(attributeSet.Groups["attributeName"].Value.ToString(),
attributeSet.Groups["attributeValue"].Value.ToString());
return ht;
}
private int findStartTag(string text) {
string temp = "";
text = text.ToLower();
if (text.IndexOf("ismacro=\"true\"") > -1) {
temp = text.Substring(0, text.IndexOf("ismacro=\"true\""));
return temp.LastIndexOf("<");
}
return -1;
}
private int findEndTag(string text) {
string find = "<!-- endumbmacro -->";
int endMacroIndex = text.ToLower().IndexOf(find);
string tempText = text.ToLower().Substring(endMacroIndex + find.Length, text.Length - endMacroIndex - find.Length);
int finalEndPos = 0;
while (tempText.Length > 5)
if (tempText.Substring(finalEndPos, 6) == "</div>")
break;
else
finalEndPos++;
return endMacroIndex + find.Length + finalEndPos + 6;
}
#endregion
#region IDataFieldWithButtons Members
public object[] MenuIcons {
get {
initButtons();
object[] tempIcons = new object[_menuIcons.Count];
for (int i = 0; i < _menuIcons.Count; i++)
tempIcons[i] = _menuIcons[i];
return tempIcons;
}
}
private void initButtons() {
if (!_isInitialized) {
_isInitialized = true;
// Add icons for the editor control:
// Html
// Preview
// Style picker, showstyles
// Bold, italic, Text Gen
// Align: left, center, right
// Lists: Bullet, Ordered, indent, undo indent
// Link, Anchor
// Insert: Image, macro, table, formular
foreach (string button in _activateButtons.Split(',')) {
if (button.Trim() != "") {
try {
tinyMCECommand cmd = (tinyMCECommand)tinyMCEConfiguration.Commands[button];
string appendValue = "";
if (cmd.Value != "")
appendValue = ", '" + cmd.Value + "'";
_mceButtons.Add(cmd.Priority, cmd.Command);
_buttons.Add(cmd.Priority,
new editorButton(cmd.Alias, ui.Text("buttons", cmd.Alias, null), cmd.Icon,
"tinyMCE.execInstanceCommand('" + ClientID + "', '" +
cmd.Command + "', " + cmd.UserInterface + appendValue + ")"));
} catch (Exception ee) {
Log.Add(LogTypes.Error, User.GetUser(0), -1,
string.Format("TinyMCE: Error initializing button '{0}': {1}", button, ee.ToString()));
}
}
}
// add save icon
int separatorPriority = 0;
IDictionaryEnumerator ide = _buttons.GetEnumerator();
while (ide.MoveNext()) {
object buttonObj = ide.Value;
int curPriority = (int)ide.Key;
// Check priority
if (separatorPriority > 0 &&
Math.Floor(decimal.Parse(curPriority.ToString()) / 10) >
Math.Floor(decimal.Parse(separatorPriority.ToString()) / 10))
_menuIcons.Add("|");
try {
editorButton e = (editorButton)buttonObj;
MenuIconI menuItem = new MenuIconClass();
menuItem.OnClickCommand = e.onClickCommand;
menuItem.ImageURL = e.imageUrl;
menuItem.AltText = e.alttag;
menuItem.ID = e.id;
_menuIcons.Add(menuItem);
} catch {
}
separatorPriority = curPriority;
}
}
}
#endregion
#region IMenuElement Members
public string ElementName {
get { return "div"; }
}
public string ElementIdPreFix {
get { return "umbTinymceMenu"; }
}
public string ElementClass {
get { return "tinymceMenuBar"; }
}
public int ExtraMenuWidth {
get {
initButtons();
return _buttons.Count * 40 + 300;
}
}
#endregion
}
}
@@ -1,205 +0,0 @@
using System;
using System.Collections;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Text.RegularExpressions;
using System.Web;
using umbraco.BusinessLogic;
using umbraco.IO;
namespace umbraco.editorControls.tinymce
{
internal class tinyMCEImageHelper
{
public static string cleanImages(string html)
{
string[] allowedAttributes = UmbracoSettings.ImageAllowedAttributes.ToLower().Split(',');
string pattern = @"<img [^>]*>";
MatchCollection tags =
Regex.Matches(html + " ", pattern, RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
foreach (Match tag in tags)
{
if (tag.Value.ToLower().IndexOf("umbraco_macro") == -1)
{
string cleanTag = "<img";
int orgWidth = 0, orgHeight = 0;
// gather all attributes
// TODO: This should be replaced with a general helper method - but for now we'll wanna leave umbraco.dll alone for this patch
Hashtable ht = new Hashtable();
MatchCollection m =
Regex.Matches(tag.Value.Replace(">", " >"),
"(?<attributeName>\\S*)=\"(?<attributeValue>[^\"]*)\"|(?<attributeName>\\S*)=(?<attributeValue>[^\"|\\s]*)\\s",
RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
foreach (Match attributeSet in m)
{
ht.Add(attributeSet.Groups["attributeName"].Value.ToString().ToLower(),
attributeSet.Groups["attributeValue"].Value.ToString());
if (attributeSet.Groups["attributeName"].Value.ToString().ToLower() == "width")
orgWidth = int.Parse(attributeSet.Groups["attributeValue"].Value.ToString());
else if (attributeSet.Groups["attributeName"].Value.ToString().ToLower() == "height")
orgHeight = int.Parse(attributeSet.Groups["attributeValue"].Value.ToString());
}
// If rel attribute exists and if it's different from current sizing we should resize the image!
if (helper.FindAttribute(ht, "rel") != "")
{
int newWidth = 0, newHeight = 0;
// if size has changed resize image serverside
string[] newDims = helper.FindAttribute(ht, "rel").Split(",".ToCharArray());
if (newDims.Length > 0 &&
(newDims[0] != helper.FindAttribute(ht, "width") ||
newDims[1] != helper.FindAttribute(ht, "height")))
{
try
{
cleanTag += doResize(ht, out newWidth, out newHeight);
}
catch (Exception err)
{
cleanTag += " src=\"" + helper.FindAttribute(ht, "src") + "\"";
if (helper.FindAttribute(ht, "width") != "")
{
cleanTag += " width=\"" + helper.FindAttribute(ht, "width") + "\"";
cleanTag += " height=\"" + helper.FindAttribute(ht, "height") + "\"";
}
Log.Add(LogTypes.Error, User.GetUser(0), -1,
"Error resizing image in editor: " + err.ToString());
}
} else
{
cleanTag = StripSrc(cleanTag, ht);
if (helper.FindAttribute(ht, "width") != "")
{
cleanTag += " width=\"" + helper.FindAttribute(ht, "width") + "\"";
cleanTag += " height=\"" + helper.FindAttribute(ht, "height") + "\"";
}
}
}
else
{
// Add src, width and height properties
cleanTag = StripSrc(cleanTag, ht);
if (helper.FindAttribute(ht, "width") != "")
{
cleanTag += " width=\"" + helper.FindAttribute(ht, "width") + "\"";
cleanTag += " height=\"" + helper.FindAttribute(ht, "height") + "\"";
}
}
// Build image tag
foreach (string attr in allowedAttributes)
{
if (helper.FindAttribute(ht, attr) != "")
{
string attrValue = helper.FindAttribute(ht, attr);
cleanTag += " " + attr + "=\"" + attrValue + "\"";
}
}
if (bool.Parse(GlobalSettings.EditXhtmlMode))
cleanTag += "/";
cleanTag += ">";
html = html.Replace(tag.Value, cleanTag);
}
}
return html;
}
private static string StripSrc(string cleanTag, Hashtable ht)
{
string src = helper.FindAttribute(ht, "src");
// update orgSrc to remove umbraco reference
if (src.IndexOf("/media/") > -1)
src = src.Substring(src.IndexOf("/media/"), src.Length - src.IndexOf("/media/"));
cleanTag += " src=\"" + src + "\"";
return cleanTag;
}
private static string doResize(Hashtable attributes, out int finalWidth, out int finalHeight)
{
string resizeDim = helper.FindAttribute(attributes, "width") + "," +
helper.FindAttribute(attributes, "height");
string[] resizeDimSplit = resizeDim.Split(',');
string orgSrc = HttpContext.Current.Server.HtmlDecode(helper.FindAttribute(attributes, "src").Replace("%20", " "));
string[] orgDim = helper.FindAttribute(attributes, "rel").Split(",".ToCharArray());
float orgWidth = float.Parse(orgDim[0]);
float orgHeight = float.Parse(orgDim[1]);
string newSrc = "";
int newWidth = int.Parse(resizeDimSplit[0]);
int newHeight = int.Parse(resizeDimSplit[1]);
if (orgHeight > 0 && orgWidth > 0 && resizeDim != "" && orgSrc != "")
{
// Check dimensions
if (Math.Abs(orgWidth/newWidth) > Math.Abs(orgHeight/newHeight))
{
newHeight = (int) Math.Round((float) newWidth*(orgHeight/orgWidth));
}
else
{
newWidth = (int) Math.Round((float) newHeight*(orgWidth/orgHeight));
}
// update orgSrc to remove umbraco reference
if (orgSrc.IndexOf("/media/") > -1)
orgSrc = orgSrc.Substring(orgSrc.IndexOf("/media/"), orgSrc.Length - orgSrc.IndexOf("/media/"));
string ext = orgSrc.Substring(orgSrc.LastIndexOf(".") + 1, orgSrc.Length - orgSrc.LastIndexOf(".") - 1);
newSrc = orgSrc.Replace("." + ext, "_" + newWidth.ToString() + "x" + newHeight.ToString() + ".jpg");
string fullSrc = IOHelper.MapPath(orgSrc);
string fullSrcNew = IOHelper.MapPath(newSrc);
// Load original image
Image image = Image.FromFile(fullSrc);
// Create new image with best quality settings
Bitmap bp = new Bitmap(newWidth, newHeight);
Graphics g = Graphics.FromImage(bp);
g.SmoothingMode = SmoothingMode.HighQuality;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
// Copy the old image to the new and resized
Rectangle rect = new Rectangle(0, 0, newWidth, newHeight);
g.DrawImage(image, rect, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel);
// Copy metadata
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
ImageCodecInfo codec = null;
for (int i = 0; i < codecs.Length; i++)
{
if (codecs[i].MimeType.Equals("image/jpeg"))
codec = codecs[i];
}
// Set compresion ratio to 90%
EncoderParameters ep = new EncoderParameters();
ep.Param[0] = new EncoderParameter(Encoder.Quality, 90L);
// Save the new image
bp.Save(fullSrcNew, codec, ep);
}
// return the new width and height
finalWidth = newWidth;
finalHeight = newHeight;
return
" src=\"" + newSrc + "\" width=\"" + newWidth.ToString() + "\" height=\"" + newHeight.ToString() +
"\"";
}
}
}
@@ -1,403 +0,0 @@
using System;
using System.Collections;
using System.Collections.Specialized;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using umbraco.BusinessLogic;
using umbraco.cms.businesslogic.macro;
using umbraco.cms.businesslogic.media;
using umbraco.cms.businesslogic.property;
using Content = umbraco.cms.businesslogic.Content;
namespace umbraco.editorControls.tinymce.webcontrol {
public class TinyMCE : WebControl, IPostBackDataHandler {
private string _javascriptLocation = GlobalSettings.ClientPath + "/tinymce";
private string _coreFile = "/tiny_mce.js";
private int _rows = 13;
private int _cols = 60;
public NameValueCollection config;
private string temp;
private int _nodeId = -1;
private Guid _versionId;
public int NodeId {
set { _nodeId = value; }
}
public Guid VersionId {
set { _versionId = value; }
}
public string CoreFile {
get { return _coreFile; }
}
public TinyMCE() {
config = new NameValueCollection();
config.Add("mode", "exact");
config.Add("theme", "advanced");
//content_css : "/mycontent.css"
temp = string.Empty;
//this._config.SetStringParam(TinyMCEConfig.StringParameter.mode, "exact");
//this._config.SetStringParam(TinyMCEConfig.StringParameter.theme, "advanced");
//this._config.SetStringParam(TinyMCEConfig.StringParameter.plugins, "advlink,noneditable,advimage,flash");
//this._config.SetStringParam(TinyMCEConfig.StringParameter.theme_advanced_buttons3_add, "flash");
}
// <summary>
/// The text of the editor
/// </summary>
public string Text {
get { return (string)ViewState["text"]; }
set { ViewState["text"] = value; }
}
// <summary>
/// The number of rows in the textarea that gets converted to the editor.
/// This affects the size of the editor. Default is 10
/// </summary>
public int Rows {
get { return _rows; }
set { _rows = value; }
}
// <summary>
/// The number of columns in the textarea that gets converted to the editor.
/// This affects the size of the editor. Default is 40.
/// </summary>
public int Cols {
get { return _cols; }
set { _cols = value; }
}
// <summary>
/// Path to the TinyMCE javascript, default is "jscripts/tiny_mce/tiny_mce.js"
/// </summary>
public string JavascriptLocation {
get { return _javascriptLocation; }
set { _javascriptLocation = value; }
}
/// <summary>
/// Draws the editor
/// </summary>
/// <param name="outWriter">The writer to draw the editor to</param>
protected override void Render(HtmlTextWriter writer) {
writer.WriteLine("<!-- tinyMCE -->\n");
writer.WriteLine("<script language=\"javascript\" type=\"text/javascript\">");
writer.WriteLine("tinyMCE.init({");
for (int i = 0; i < config.Count; i++) {
writer.WriteLine(config.GetKey(i) + " : \"" + config.Get(i) + "\",");
}
writer.WriteLine("theme_advanced_resizing : true,");
writer.WriteLine("theme_advanced_resize_horizontal : false,");
writer.WriteLine("apply_source_formatting : true,");
writer.WriteLine("relative_urls : false,");
writer.WriteLine("valid_elements : {0},", tinyMCEConfiguration.ValidElements);
writer.WriteLine("invalid_elements : \"{0}\",", tinyMCEConfiguration.InvalidElements);
writer.WriteLine("elements : \"" + UniqueID + "\",");
writer.WriteLine("umbracoPath: \"" + GlobalSettings.Path + "\"");
writer.WriteLine("});");
// write a message that this is deprecated
writer.WriteLine("alert('This page use an old version of the Richtext Editor (TinyMCE2), which is deprecated and no longer supported in Umbraco 4. \\n\\nPlease upgrade by going to\\n- Developer\\n- Data Types\\n- Richtext editor\\n- And choose \\'TinyMCE3 wysiwyg\\' as the rendercontrol\\n\\nIf you don\\'t have administrative priviledges in umbraco, you should contact your administrator');");
writer.WriteLine("</script>\n");
writer.WriteLine("<!-- /tinyMCE -->\n");
if (Cols > 0)
writer.Write("<textarea class=\"tinymce" + UniqueID + "\" id=\"" + UniqueID + "\" name=\"" + UniqueID + "\" cols=\"" + Cols + "\" rows=\"" +
Rows + "\" style=\"width: 100%\">\n");
else
writer.Write("<textarea class=\"tinymce" + UniqueID + "\" id=\"" + UniqueID + "\" name=\"" + UniqueID + "\">\n");
// if the document exists, parse it for macros
if (_nodeId != -1)
writer.Write(parseMacrosToHtml(formatMedia(Text)));
else
writer.Write(Text);
writer.WriteLine("</textarea>");
}
private string formatMedia(string html) {
// Local media path
string localMediaPath = getLocalMediaPath();
// Find all media images
string pattern = "<img [^>]*src=\"(?<mediaString>/media[^\"]*)\" [^>]*>";
MatchCollection tags =
Regex.Matches(html, pattern, RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
foreach (Match tag in tags)
if (tag.Groups.Count > 0) {
// Replace /> to ensure we're in old-school html mode
string tempTag = "<img";
string orgSrc = tag.Groups["mediaString"].Value;
// gather all attributes
// TODO: This should be replaced with a general helper method - but for now we'll wanna leave umbraco.dll alone for this patch
Hashtable ht = new Hashtable();
MatchCollection m =
Regex.Matches(tag.Value.Replace(">", " >"),
"(?<attributeName>\\S*)=\"(?<attributeValue>[^\"]*)\"|(?<attributeName>\\S*)=(?<attributeValue>[^\"|\\s]*)\\s",
RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
foreach (Match attributeSet in m) {
if (attributeSet.Groups["attributeName"].Value.ToString().ToLower() != "src")
ht.Add(attributeSet.Groups["attributeName"].Value.ToString(),
attributeSet.Groups["attributeValue"].Value.ToString());
}
// build the element
// Build image tag
IDictionaryEnumerator ide = ht.GetEnumerator();
while (ide.MoveNext())
tempTag += " " + ide.Key.ToString() + "=\"" + ide.Value.ToString() + "\"";
// Find the original filename, by removing the might added width and height
orgSrc =
orgSrc.Replace(
"_" + helper.FindAttribute(ht, "width") + "x" + helper.FindAttribute(ht, "height"), "").
Replace("%20", " ");
// Check for either id or guid from media
string mediaId = getIdFromSource(orgSrc, localMediaPath);
Media imageMedia = null;
try {
int mId = int.Parse(mediaId);
Property p = new Property(mId);
imageMedia = new Media(Content.GetContentFromVersion(p.VersionId).Id);
} catch {
try {
imageMedia = new Media(Content.GetContentFromVersion(new Guid(mediaId)).Id);
} catch {
}
}
// Check with the database if any media matches this url
if (imageMedia != null) {
try {
// Check extention
if (imageMedia.getProperty("umbracoExtension").Value.ToString() != orgSrc.Substring(orgSrc.LastIndexOf(".") + 1, orgSrc.Length - orgSrc.LastIndexOf(".") - 1))
orgSrc = orgSrc.Substring(0, orgSrc.LastIndexOf(".") + 1) +
imageMedia.getProperty("umbracoExtension").Value.ToString();
// Format the tag
tempTag = tempTag + " rel=\"" +
imageMedia.getProperty("umbracoWidth").Value.ToString() + "," +
imageMedia.getProperty("umbracoHeight").Value.ToString() + "\" src=\"" + orgSrc +
"\"";
tempTag += "/>";
// Replace the tag
html = html.Replace(tag.Value, tempTag);
} catch (Exception ee) {
Log.Add(LogTypes.Error, User.GetUser(0), -1,
"Error reading size data from media: " + imageMedia.Id.ToString() + ", " +
ee.ToString());
}
} else
Log.Add(LogTypes.Error, User.GetUser(0), -1,
"Error reading size data from media (not found): " + orgSrc);
}
return html;
}
private string getIdFromSource(string src, string localMediaPath) {
// important - remove out the umbraco path + media!
src = src.Replace(localMediaPath, "");
string _id = "";
// Check for directory id naming
if (src.Length - src.Replace("/", "").Length > 0) {
string[] dirSplit = src.Split("/".ToCharArray());
string tempId = dirSplit[0];
try {
// id
_id = int.Parse(tempId).ToString();
} catch {
// guid
_id = tempId;
}
} else {
string[] fileSplit = src.Replace("/media/", "").Split("-".ToCharArray());
// guid or id
if (fileSplit.Length > 3) {
for (int i = 0; i < 5; i++)
_id += fileSplit[i] + "-";
_id = _id.Substring(0, _id.Length - 1);
} else
_id = fileSplit[0];
}
return _id;
}
private string getLocalMediaPath() {
string[] umbracoPathSplit = GlobalSettings.Path.Split("/".ToCharArray());
string umbracoPath = "";
for (int i = 0; i < umbracoPathSplit.Length - 1; i++)
umbracoPath += umbracoPathSplit[i] + "/";
return umbracoPath + "media/";
}
private string parseMacrosToHtml(string input) {
int nodeId = _nodeId;
Guid versionId = _versionId;
string content = input;
string pattern = @"(<\?UMBRACO_MACRO\W*[^>]*/>)";
MatchCollection tags =
Regex.Matches(content, pattern, RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
// Page for macro rendering
page p = new page(nodeId, versionId);
HttpContext.Current.Items["macrosAdded"] = 0;
HttpContext.Current.Items["pageID"] = nodeId.ToString();
foreach (Match tag in tags) {
try {
// Create div
Hashtable attributes = helper.ReturnAttributes(tag.Groups[1].Value);
string div = macro.renderMacroStartTag(attributes, nodeId, versionId).Replace("&quot;", "&amp;quot;");
// Insert macro contents here...
macro m;
if (helper.FindAttribute(attributes, "macroID") != "")
m = new macro(int.Parse(helper.FindAttribute(attributes, "macroID")));
else {
// legacy: Check if the macroAlias is typed in lowercasing
string macroAlias = helper.FindAttribute(attributes, "macroAlias");
if (macroAlias == "") {
macroAlias = helper.FindAttribute(attributes, "macroalias");
attributes.Remove("macroalias");
attributes.Add("macroAlias", macroAlias);
}
if (macroAlias != "")
m = new macro(Macro.GetByAlias(macroAlias).Id);
else
throw new ArgumentException("umbraco is unable to identify the macro. No id or macroalias was provided for the macro in the macro tag.", tag.Groups[1].Value);
}
if (helper.FindAttribute(attributes, "macroAlias") == "")
attributes.Add("macroAlias", m.Alias);
try {
div += macro.MacroContentByHttp(nodeId, versionId, attributes);
} catch {
div += "<span style=\"color: green\">No macro content available for WYSIWYG editing</span>";
}
div += macro.renderMacroEndTag();
content = content.Replace(tag.Groups[1].Value, div);
} catch (Exception ee) {
Log.Add(LogTypes.Error, this._nodeId, "Macro Parsing Error: " + ee.ToString());
string div = "<div class=\"umbMacroHolder mceNonEditable\"><p style=\"color: red\"><strong>umbraco was unable to parse a macro tag, which means that parts of this content might be corrupt.</strong> <br /><br />Best solution is to rollback to a previous version by right clicking the node in the tree and then try to insert the macro again. <br/><br/>Please report this to your system administrator as well - this error has been logged.</p></div>";
content = content.Replace(tag.Groups[1].Value, div);
}
}
return content;
}
private static readonly object TextChangedEvent = new object();
/// <summary>
/// Raises an event when the text in the editor changes.
/// </summary>
public event EventHandler TextChanged {
add { Events.AddHandler(TextChangedEvent, value); }
remove { Events.RemoveHandler(TextChangedEvent, value); }
}
/// <summary>
/// Event for text change.
/// </summary>
/// <param name="e"></param>
protected virtual void OnTextChanged(EventArgs e) {
if (Events != null) {
EventHandler oEventHandler = (EventHandler)Events[TextChangedEvent];
if (oEventHandler != null) {
oEventHandler(this, e);
}
}
}
/// <summary>
/// Called when a postback occurs on the page the control is placed at
/// </summary>
/// <param name="postDataKey">The key of the editor data</param>
/// <param name="postCollection">All the posted data</param>
/// <returns></returns>
bool IPostBackDataHandler.LoadPostData(string postDataKey, NameValueCollection postCollection) {
string newText = postCollection[postDataKey];
if (newText != Text) {
Text = newText;
return true;
}
return false;
}
/// <summary>
/// Raises an event when postback occurs
/// </summary>
void IPostBackDataHandler.RaisePostDataChangedEvent() {
OnTextChanged(EventArgs.Empty);
}
}
public enum TinyMceButtons {
code,
bold,
italic,
underline,
strikethrough,
justifyleft,
justifycenter,
justifyright,
justifyfull,
bullist,
numlist,
outdent,
indent,
cut,
copy,
pasteword,
undo,
redo,
link,
unlink,
image,
table,
hr,
removeformat,
sub,
sup,
charmap,
anchor,
umbracomacro
}
}
@@ -1,56 +0,0 @@
using System;
namespace umbraco.editorControls.wysiwyg
{
/// <summary>
/// Summary description for WysiwygDataType.
/// </summary>
public class WysiwygDataType : cms.businesslogic.datatype.BaseDataType,interfaces.IDataType
{
private editor _Editor;
private cms.businesslogic.datatype.DefaultData _baseData;
private interfaces.IDataPrevalue _prevalueeditor;
public override interfaces.IDataEditor DataEditor
{
get
{
if (_Editor == null)
{
_Editor = new editor((cms.businesslogic.datatype.DefaultData)Data);
}
return _Editor;
}
}
public override interfaces.IData Data
{
get
{
if (_baseData == null)
_baseData = new cms.businesslogic.datatype.DefaultData(this);
return _baseData;
}
}
public override Guid Id
{
get {return new Guid("a3776494-0574-4d93-b7de-efdfdec6f2d1");}
}
public override string DataTypeName
{
get {return "Editor";}
}
public override interfaces.IDataPrevalue PrevalueEditor
{
get
{
if (_prevalueeditor == null)
_prevalueeditor = new DefaultPrevalueEditor(this,false);
return _prevalueeditor;
}
}
}
}
@@ -1,563 +0,0 @@
using System;
using System.Collections;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using umbraco.BusinessLogic;
using umbraco.interfaces;
using umbraco.uicontrols;
namespace umbraco.editorControls.wysiwyg
{
/// <summary>
/// Generates a field for typing numeric data
/// </summary>
public class editor : HiddenField, IDataFieldWithButtons
{
private ArrayList _buttons = new ArrayList();
private bool _isInitialized = false;
private String _text;
private ArrayList _menuIcons = new ArrayList();
private bool _browserIsCompatible = false;
private cms.businesslogic.datatype.DefaultData _data;
public editor(cms.businesslogic.datatype.DefaultData Data)
{
_data = Data;
if (HttpContext.Current.Request.Browser.Win32 &&
HttpContext.Current.Request.Browser.Browser == "IE")
_browserIsCompatible = true;
}
public virtual bool TreatAsRichTextEditor
{
get { return true; }
}
public bool ShowLabel
{
get { return false; }
}
public Control Editor
{
get { return this; }
}
public String Text
{
get
{
if (_text == null) return "";
HttpContext.Current.Trace.Warn("return text", _text);
return _text;
}
set
{
_text = " " + value + " ";
if (_text.Trim() != "")
{
// Check for umbraco tags
string pattern = @"[^'](<\?UMBRACO_MACRO\W*[^>]*/>)[^']";
MatchCollection tags =
Regex.Matches(_text, pattern, RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
foreach (Match tag in tags)
{
_text =
_text.Replace(tag.Groups[1].Value,
"<IMG alt='" + tag.Groups[1].Value + "' src=\"/imagesmacroo.gif\">");
}
// Clean urls
// _text = _text.Replace("http://" + System.Web.HttpContext.Current.Request.ServerVariables["SERVER_NAME"], "").Replace("HTTP://" + System.Web.HttpContext.Current.Request.ServerVariables["SERVER_NAME"], "");
}
base.Value = _text.Trim();
}
}
public virtual object[] MenuIcons
{
get
{
initButtons();
object[] tempIcons = new object[_menuIcons.Count];
for (int i = 0; i < _menuIcons.Count; i++)
tempIcons[i] = _menuIcons[i];
return tempIcons;
}
}
public override string Value
{
get { return base.Value; }
set
{
base.Value = " " + value + " ";
// Check for umbraco tags
string pattern = @"[^'](<\?UMBRACO_MACRO\W*[^>]*/>)[^']";
MatchCollection tags =
Regex.Matches(base.Value + " ", pattern,
RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
foreach (Match tag in tags)
{
base.Value =
base.Value.Replace(tag.Groups[1].Value,
"<IMG alt='" + tag.Groups[1].Value + "' src=\"/imagesmacroo.gif\">");
}
Text = base.Value.Trim();
}
}
private string cleanImages(string html)
{
string[] allowedAttributes = UmbracoSettings.ImageAllowedAttributes.ToLower().Split(',');
string pattern = @"<img [^>]*>";
MatchCollection tags =
Regex.Matches(html + " ", pattern, RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
foreach (Match tag in tags)
{
if (tag.Value.ToLower().IndexOf("umbraco_macro") == -1)
{
string cleanTag = "<img";
// gather all attributes
// TODO: This should be replaced with a general helper method - but for now we'll wanna leave umbraco.dll alone for this patch
Hashtable ht = new Hashtable();
MatchCollection m =
Regex.Matches(tag.Value.Replace(">", " >"),
"(?<attributeName>\\S*)=\"(?<attributeValue>[^\"]*)\"|(?<attributeName>\\S*)=(?<attributeValue>[^\"|\\s]*)\\s",
RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
foreach (Match attributeSet in m)
ht.Add(attributeSet.Groups["attributeName"].Value.ToString().ToLower(),
attributeSet.Groups["attributeValue"].Value.ToString());
// Build image tag
foreach (string attr in allowedAttributes)
{
if (helper.FindAttribute(ht, attr) != "")
cleanTag += " " + attr + "=\"" + helper.FindAttribute(ht, attr) + "\"";
}
// If umbracoResizeImage attribute exists we should resize the image!
if (helper.FindAttribute(ht, "umbracoresizeimage") != "")
{
try
{
cleanTag += doResize(ht);
}
catch (Exception err)
{
cleanTag += " src=\"" + helper.FindAttribute(ht, "src") + "\"";
if (helper.FindAttribute(ht, "width") != "")
{
cleanTag += " width=\"" + helper.FindAttribute(ht, "width") + "\"";
cleanTag += " height=\"" + helper.FindAttribute(ht, "height") + "\"";
}
Log.Add(LogTypes.Error, User.GetUser(0), -1,
"Error resizing image in editor: " + err.ToString());
}
}
else
{
// Add src, width and height properties
cleanTag += " src=\"" + helper.FindAttribute(ht, "src") + "\"";
if (helper.FindAttribute(ht, "width") != "")
{
cleanTag += " width=\"" + helper.FindAttribute(ht, "width") + "\"";
cleanTag += " height=\"" + helper.FindAttribute(ht, "height") + "\"";
}
}
if (bool.Parse(GlobalSettings.EditXhtmlMode))
cleanTag += "/";
cleanTag += ">";
html = html.Replace(tag.Value, cleanTag);
}
}
return html;
}
private string doResize(Hashtable attributes)
{
string resizeDim = helper.FindAttribute(attributes, "umbracoresizeimage");
string[] resizeDimSplit = resizeDim.Split(',');
string orgSrc = helper.FindAttribute(attributes, "src").Replace("%20", " ");
int orgHeight = int.Parse(helper.FindAttribute(attributes, "umbracoorgheight"));
int orgWidth = int.Parse(helper.FindAttribute(attributes, "umbracoorgwidth"));
string beforeWidth = helper.FindAttribute(attributes, "umbracobeforeresizewidth");
string beforeHeight = helper.FindAttribute(attributes, "umbracobeforeresizeheight");
string newSrc = "";
if (orgHeight > 0 && orgWidth > 0 && resizeDim != "" && orgSrc != "")
{
// Check filename
if (beforeHeight != "" && beforeWidth != "")
{
orgSrc = orgSrc.Replace("_" + beforeWidth + "x" + beforeHeight, "");
}
string ext = orgSrc.Substring(orgSrc.LastIndexOf(".") + 1, orgSrc.Length - orgSrc.LastIndexOf(".") - 1);
newSrc = orgSrc.Replace("." + ext, "_" + resizeDimSplit[0] + "x" + resizeDimSplit[1] + ".jpg");
string fullSrc = HttpContext.Current.Server.MapPath(orgSrc);
string fullSrcNew = HttpContext.Current.Server.MapPath(newSrc);
// Load original image
System.Drawing.Image image = System.Drawing.Image.FromFile(fullSrc);
// Create new image with best quality settings
Bitmap bp = new Bitmap(int.Parse(resizeDimSplit[0]), int.Parse(resizeDimSplit[1]));
Graphics g = Graphics.FromImage(bp);
g.SmoothingMode = SmoothingMode.HighQuality;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.PixelOffsetMode = PixelOffsetMode.HighQuality;
// Copy the old image to the new and resized
Rectangle rect = new Rectangle(0, 0, int.Parse(resizeDimSplit[0]), int.Parse(resizeDimSplit[1]));
g.DrawImage(image, rect, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel);
// Copy metadata
ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();
ImageCodecInfo codec = null;
for (int i = 0; i < codecs.Length; i++)
{
if (codecs[i].MimeType.Equals("image/jpeg"))
codec = codecs[i];
}
// Set compresion ratio to 90%
EncoderParameters ep = new EncoderParameters();
ep.Param[0] = new EncoderParameter(Encoder.Quality, 90L);
// Save the new image
bp.Save(fullSrcNew, codec, ep);
orgSrc = newSrc;
}
return " src=\"" + newSrc + "\" width=\"" + resizeDimSplit[0] + "\" height=\"" + resizeDimSplit[1] + "\"";
}
public void Save()
{
if (Text.Trim() != "")
{
// Parse for servername
if (HttpContext.Current.Request.ServerVariables != null)
{
_text = _text.Replace(helper.GetBaseUrl(HttpContext.Current) + GlobalSettings.Path + "/", "");
_text = _text.Replace(helper.GetBaseUrl(HttpContext.Current), "");
}
// Parse for editing scriptname
string pattern2 = GlobalSettings.Path + "/richTextHolder.aspx?[^#]*#";
MatchCollection tags2 =
Regex.Matches(_text, pattern2, RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
foreach (Match tag in tags2)
{
_text = _text.Replace(tag.Value, "");
HttpContext.Current.Trace.Warn("editor-match", tag.Value);
}
// Parse for macros inside images
string pattern = @"<IMG\W*alt='(<?[^>]*>)'[^>]*>";
MatchCollection tags =
Regex.Matches(_text, pattern, RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
foreach (Match tag in tags)
if (tag.Groups.Count > 0)
{
string umbTag = tag.Groups[1].Value;
// Check for backwards compliance with old macro-tag format (<?UMBRACO_MACRO xxxx> vs. new format with closed tags: <?UMBRACO_MACRO xxxx/>)
if (umbTag.IndexOf("/>") < 0)
umbTag = umbTag.Substring(0, umbTag.Length - 1) + "/>";
_text = _text.Replace(tag.Value, umbTag);
}
// check for image tags
_text = cleanImages(_text);
_text = replaceMacroTags(_text).Trim();
// clean macros and add paragraph element for tidy
bool removeParagraphs = false;
if (_text.Length > 15 && _text.ToLower().Substring(0, 17) == "|||?umbraco_macro")
{
removeParagraphs = true;
_text = "<p>" + _text + "</p>";
}
// tidy html
if (UmbracoSettings.TidyEditorContent)
{
string tidyTxt = library.Tidy(_text, false);
if (tidyTxt != "[error]")
{
// compensate for breaking macro tags by tidy
_text = tidyTxt.Replace("/?>", "/>");
if (removeParagraphs)
{
if (_text.Length - _text.Replace("<", "").Length == 2)
_text = _text.Replace("<p>", "").Replace("</p>", "");
}
}
else
Log.Add(LogTypes.Error, User.GetUser(0), _data.NodeId,
"Error tidying txt from property: " + _data.PropertyId.ToString());
}
// rescue umbraco tags
_text = _text.Replace("|||?", "<?").Replace("/|||", "/>").Replace("|*|", "\"");
// if text is an empty parargraph, make it all empty
if (_text.ToLower() == "<p></p>")
_text = "";
}
// cms.businesslogic.Content.GetContentFromVersion(_version).getProperty(_alias).Value = Text;
_data.Value = Text;
}
private string replaceMacroTags(string text)
{
while (findStartTag(text) > -1)
{
string result = text.Substring(findStartTag(text), findEndTag(text) - findStartTag(text));
text = text.Replace(result, generateMacroTag(result));
}
return text;
}
private string generateMacroTag(string macroContent)
{
string macroAttr = macroContent.Substring(5, macroContent.IndexOf(">") - 5);
string macroTag = "|||?UMBRACO_MACRO ";
Hashtable attributes = ReturnAttributes(macroAttr);
IDictionaryEnumerator ide = attributes.GetEnumerator();
while (ide.MoveNext())
{
if (ide.Key.ToString().IndexOf("umb_") != -1)
macroTag += ide.Key.ToString().Substring(4, ide.Key.ToString().Length - 4) + "=|*|" +
ide.Value.ToString() + "|*| ";
}
macroTag += "/|||";
return macroTag;
}
public static Hashtable ReturnAttributes(String tag)
{
Hashtable ht = new Hashtable();
MatchCollection m =
Regex.Matches(tag, "(?<attributeName>\\S*)=\"(?<attributeValue>[^\"]*)\"",
RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
foreach (Match attributeSet in m)
ht.Add(attributeSet.Groups["attributeName"].Value.ToString(),
attributeSet.Groups["attributeValue"].Value.ToString());
return ht;
}
private int findStartTag(string text)
{
string temp = "";
text = text.ToLower();
if (text.IndexOf("ismacro=\"true\"") > -1)
{
temp = text.Substring(0, text.IndexOf("ismacro=\"true\""));
return temp.LastIndexOf("<");
}
return -1;
}
private int findEndTag(string text)
{
string find = "<!-- endumbmacro --></div>";
return text.ToLower().IndexOf("<!-- endumbmacro --></div>") + find.Length;
}
private void initButtons()
{
if (!_isInitialized)
{
_isInitialized = true;
// Test for browser compliance
if (_browserIsCompatible)
{
// Add icons for the editor control:
// Html
// Preview
// Style picker, showstyles
// Bold, italic, Text Gen
// Align: left, center, right
// Lists: Bullet, Ordered, indent, undo indent
// Link, Anchor
// Insert: Image, macro, table, formular
_buttons.Add(
new editorButton("html", ui.Text("buttons", "htmlEdit", null),
GlobalSettings.Path + "/images/editor/html.gif", "viewHTML('" + ClientID + "')"));
_buttons.Add("split");
_buttons.Add(
new editorButton("showstyles", ui.Text("buttons", "styleShow", null) + " (CTRL+SHIFT+V)",
GlobalSettings.Path + "/images/editor/showStyles.gif",
"umbracoShowStyles('" + ClientID + "')"));
_buttons.Add("split");
_buttons.Add(
new editorButton("bold", ui.Text("buttons", "bold", null) + " (CTRL+B)",
GlobalSettings.Path + "/images/editor/bold.gif",
"umbracoEditorCommand('" + ClientID + "', 'bold', '')"));
_buttons.Add(
new editorButton("italic", ui.Text("buttons", "italic", null) + " (CTRL+I)",
GlobalSettings.Path + "/images/editor/italic.gif",
"umbracoEditorCommand('" + ClientID + "', 'italic', '')"));
_buttons.Add(
new editorButton("graphicheadline", ui.Text("buttons", "graphicHeadline", null) + "(CTRL+B)",
GlobalSettings.Path + "/images/editor/umbracoTextGen.gif",
"umbracoTextGen('" + ClientID + "')"));
_buttons.Add("split");
_buttons.Add(
new editorButton("justifyleft", ui.Text("buttons", "justifyLeft", null),
GlobalSettings.Path + "/images/editor/left.gif",
"umbracoEditorCommand('" + ClientID + "', 'justifyleft', '')"));
_buttons.Add(
new editorButton("justifycenter", ui.Text("buttons", "justifyCenter", null),
GlobalSettings.Path + "/images/editor/center.gif",
"umbracoEditorCommand('" + ClientID + "', 'justifycenter', '')"));
_buttons.Add(
new editorButton("justifyright", ui.Text("buttons", "justifyRight", null),
GlobalSettings.Path + "/images/editor/right.gif",
"umbracoEditorCommand('" + ClientID + "', 'justifyright', '')"));
_buttons.Add("split");
_buttons.Add(
new editorButton("listBullet", ui.Text("buttons", "listBullet", null),
GlobalSettings.Path + "/images/editor/bullist.gif",
"umbracoEditorCommand('" + ClientID + "', 'insertUnorderedList', '')"));
_buttons.Add(
new editorButton("listNumeric", ui.Text("buttons", "listNumeric", null),
GlobalSettings.Path + "/images/editor/numlist.gif",
"umbracoEditorCommand('" + ClientID + "', 'insertOrderedList', '')"));
_buttons.Add(
new editorButton("deindent", ui.Text("buttons", "deindent", null),
GlobalSettings.Path + "/images/editor/deindent.gif",
"umbracoEditorCommand('" + ClientID + "', 'Outdent', '')"));
_buttons.Add(
new editorButton("indent", ui.Text("buttons", "indent", null),
GlobalSettings.Path + "/images/editor/inindent.gif",
"umbracoEditorCommand('" + ClientID + "', 'Indent', '')"));
_buttons.Add("split");
_buttons.Add(
new editorButton("linkInsert", ui.Text("buttons", "linkInsert", null),
GlobalSettings.Path + "/images/editor/link.gif",
"umbracoLink('" + ClientID + "')"));
_buttons.Add(
new editorButton("linkLocal", ui.Text("buttons", "linkLocal", null),
GlobalSettings.Path + "/images/editor/anchor.gif",
"umbracoAnchor('" + ClientID + "')"));
_buttons.Add("split");
_buttons.Add(
new editorButton("pictureInsert", ui.Text("buttons", "pictureInsert", null),
GlobalSettings.Path + "/images/editor/image.gif",
"umbracoImage('" + ClientID + "')"));
_buttons.Add(
new editorButton("macroInsert", ui.Text("buttons", "macroInsert", null),
GlobalSettings.Path + "/images/editor/insMacro.gif",
"umbracoInsertMacro('" + ClientID + "', '" + GlobalSettings.Path + "')"));
_buttons.Add(
new editorButton("tableInsert", ui.Text("buttons", "tableInsert", null),
GlobalSettings.Path + "/images/editor/instable.gif",
"umbracoInsertTable('" + ClientID + "', '" + GlobalSettings.Path + "')"));
_buttons.Add(
new editorButton("formFieldInsert", ui.Text("buttons", "formFieldInsert", null),
GlobalSettings.Path + "/images/editor/form.gif",
"umbracoInsertForm('" + ClientID + "', '" + GlobalSettings.Path + "')"));
// add save icon
foreach (object o in _buttons)
{
try
{
MenuIconI menuItem = new MenuIconClass();
editorButton e = (editorButton)o;
menuItem.OnClickCommand = e.onClickCommand;
menuItem.ImageURL = e.imageUrl;
menuItem.AltText = e.alttag;
menuItem.ID = e.id;
_menuIcons.Add(menuItem);
}
catch
{
_menuIcons.Add("|");
}
}
}
}
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
Page.ClientScript.RegisterClientScriptInclude(Page.GetType(), "UMBRACO_EDITOR", GlobalSettings.Path + "/js/editorBarFunctions.js");
}
/// <summary>
/// Render this control to the output parameter specified.
/// </summary>
/// <param name="output"> The HTML writer to write out to </param>
protected override void Render(HtmlTextWriter output)
{
if (_browserIsCompatible)
{
base.Render(output);
output.Write("<iframe name=\"" + ClientID + "_holder\" id=\"" + ClientID +
"_holder\" style=\"border: 0px; width: 100%; height: 100%\" frameborder=\"0\" src=\"" +
GlobalSettings.Path + "/richTextHolder.aspx?nodeId=" + _data.NodeId.ToString() +
"&versionId=" + _data.Version.ToString() + "&propertyId=" + _data.PropertyId.ToString() +
"\"></iframe>");
output.Write("<input type=\"hidden\" name=\"" + ClientID + "_source\" value=\"\">");
string strScript = "function umbracoRichTextSave" + ClientID + "() {\nif (document.frames[\"" +
ClientID + "_holder\"].document.getElementById(\"holder\")) document.getElementById(\"" +
ClientID + "\").value = document.frames[\"" + ClientID +
"_holder\"].document.getElementById(\"holder\").innerHTML;\n}" +
"addSaveHandler('umbracoRichTextSave" + ClientID + "();');";
try
{
if (ScriptManager.GetCurrent(Page).IsInAsyncPostBack)
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "umbracoRichTextSave" + this.ClientID, strScript, true);
else
Page.ClientScript.RegisterStartupScript(this.GetType(), "umbracoRichTextSave" + this.ClientID, strScript, true);
}
catch
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "umbracoRichTextSave" + this.ClientID, strScript, true);
}
}
else
{
output.WriteLine("<textarea name=\"" + ClientID + "\" style=\"width: 100%; height: 95%\">" +
HttpContext.Current.Server.HtmlEncode(base.Value.Trim()) +
"</textarea>");
output.WriteLine(
"<p class=\"guiDialogTiny\"><i>(Unfortunately WYSIWYG editing is only useLiveEditing in Internet Explorer on Windows. <a href=\"http://umbraco.org/various/cross-platform.aspx\" target=\"_blank\">More info</a>)</i></p>");
}
}
}
}
File diff suppressed because it is too large Load Diff
@@ -1,52 +0,0 @@
<%@ Page language="c#" Codebehind="edit.aspx.cs" AutoEventWireup="True" Inherits="umbraco.cms.presentation.edit" %>
<HTML>
<HEAD>
<script>
function resizeTabView(TabPageArr, TabViewName) {
var clientHeight =(document.compatMode=="CSS1Compat")?document.documentElement.clientHeight : document.body.clientHeight;
var clientWidth = document.body.clientWidth;
var leftWidth = parseInt(clientWidth*0.28);
var rightWidth = clientWidth; // leftWidth - 40;
newWidth = rightWidth; //-20;
newHeight = clientHeight-37;
document.getElementById(TabViewName + "_container").style.width = newWidth + "px";
document.getElementById(TabViewName + "_container").style.height = newHeight + "px";
//document.getElementById(TabViewName + "_container").style.border = "1px solid";
for (i=0;i<TabPageArr.length;i++) {
scrollwidth = newWidth - 32;
document.getElementById(TabPageArr[i] +"layer").style.height = (newHeight-100) + "px";
document.getElementById(TabPageArr[i] +"layer_menu").style.width = scrollwidth + "px";
document.getElementById(TabPageArr[i] +"layer_menu_slh").style.width = scrollwidth + "px";
}
}
// Save handlers for IDataFields
var saveHandlers = new Array()
function addSaveHandler(handler) {
saveHandlers[saveHandlers.length] = handler;
}
function invokeSaveHandlers() {
for (var i=0;i<saveHandlers.length;i++) {
eval(saveHandlers[i]);
}
}
</script>
<LINK href="css/umbracoGui.css" type="text/css" rel="stylesheet">
</HEAD>
<body ms_positioning="GridLayout" onload="resizeTabView(TabView1_tabs, 'TabView1')" onresize="resizeTabView(TabView1_tabs, 'TabView1')"
bgColor="#f2f2e9">
<form runat=server id=contentForm>
<INPUT id="doSave" type="hidden" name="doSave" runat="server">
<INPUT id="doPublish" type="hidden" name="doPublish" runat="server">
<asp:PlaceHolder id="plc" Runat="server"></asp:PlaceHolder>
</form>
</body>
</HTML>
@@ -1,52 +0,0 @@
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace umbraco.cms.presentation
{
/// <summary>
/// Summary description for edit.
/// </summary>
public partial class edit : BasePages.UmbracoEnsuredPage
{
protected uicontrols.TabView TabView1;
protected System.Web.UI.WebControls.TextBox documentName;
private cms.businesslogic.media.Media _document;
controls.ContentControl tmp;
protected void Page_Load(object sender, System.EventArgs e)
{
_document = new cms.businesslogic.media.Media(int.Parse(Request.QueryString["id"]));
tmp = new controls.ContentControl(_document,controls.ContentControl.publishModes.NoPublish, "TabView1");
tmp.Width = Unit.Pixel(666);
tmp.Height = Unit.Pixel(666);
plc.Controls.Add(tmp);
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
}
#endregion
}
}
@@ -1,19 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.42
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace umbraco.cms.presentation {
public partial class edit {
protected System.Web.UI.HtmlControls.HtmlForm contentForm;
protected System.Web.UI.HtmlControls.HtmlInputHidden doSave;
protected System.Web.UI.HtmlControls.HtmlInputHidden doPublish;
protected System.Web.UI.WebControls.PlaceHolder plc;
}
}
@@ -1,109 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used forserialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.TrayAutoArrange" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
</root>
@@ -1,181 +0,0 @@
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
using umbraco.cms.presentation.Trees;
namespace umbraco.presentation.controls {
public class CheckboxTree : System.Web.UI.WebControls.TreeView {
protected override void OnInit(EventArgs e) {
base.OnInit(e);
if (ScriptManager.GetCurrent(this.Page) == null)
throw new Exception("This control requires a ScriptManager");
//RenderJS();
RenderJS();
}
protected override void Render(HtmlTextWriter writer) {
base.Render(writer);
}
/// <summary>
/// Return the instance on the loadContent class. This lazily instantiates the loadContent object and if it is
/// already created, it will return the already created instance.
/// </summary>
private loadContent ContentTree {
get {
if (m_contentTree != null)
return m_contentTree;
m_contentTree = new loadContent("content");
m_contentTree.FunctionToCall = m_clientNodeClicked;
m_contentTree.IsDialog = true;
m_contentTree.DialogMode = TreeDialogModes.id;
return m_contentTree;
}
}
private loadContent m_contentTree;
private string m_clientNodeChecked = "void(0);";
private string m_clientNodeClicked = "void(0);";
private bool m_showCheckBoxes = true;
private string m_imagesRootPath = GlobalSettings.Path + "/images/umbraco/";
private string m_unpublishedColor = "#999999";
/// <summary>
/// The JavaScript method to call when a node is clicked. The method will receive a node ID as it's parameter.
/// </summary>
public string OnClientNodeClicked {
get { return m_clientNodeClicked; }
set { m_clientNodeClicked = value; }
}
/// <summary>
/// The JavaScript method to call when a node is checked. The method will receive a comma seperated list of node IDs that are checked.
/// </summary>
public string OnClientNodeChecked {
get { return m_clientNodeChecked; }
set { m_clientNodeChecked = value; }
}
public bool ShowCheckBoxes {
get { return m_showCheckBoxes; }
set { m_showCheckBoxes = value; }
}
public string ImagesRootPath {
get { return m_imagesRootPath; }
set { m_imagesRootPath = value; }
}
public string UnpublishedColor {
get { return m_unpublishedColor; }
set { m_unpublishedColor = value; }
}
/// <summary>
/// The JavaScript function that is called when a node is checked
/// </summary>
protected const string JSSelectNode = "ContentTreeControl_CheckedNode";
/// <summary>
/// Registers JavaScript for the contentTree
/// </summary>
private void RenderJS() {
StringBuilder sb = new StringBuilder();
ContentTree.RenderJS(ref sb);
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "treeJS", sb.ToString(), true);
}
/// <summary>
/// Get the XmlTree for the Content Tree for the node ID passed in.
/// </summary>
/// <param name="nodeID"></param>
/// <returns></returns>
public static XmlTree GetNodeData(int? nodeID, CheckboxTree cbTree) {
XmlTree xTree = new XmlTree();
cbTree.ContentTree.id = (nodeID == null ? cbTree.ContentTree.StartNodeID : nodeID.Value);
cbTree.ContentTree.Render(ref xTree);
return xTree;
}
/// <summary>
/// Converts an XmlTree to a TreeNodeCollection
/// </summary>
/// <param name="xTree"></param>
/// <param name="parentNode"></param>
/// <returns></returns>
public static TreeNodeCollection FromXmlTree(XmlTree xTree, TreeNode parentNode, CheckboxTree cbTree) {
TreeNodeCollection nodes = new TreeNodeCollection(parentNode);
foreach (XmlTreeNode xNode in xTree) {
if (xNode != null) {
TreeNode node = FromXmlTreeNode(xNode, cbTree);
nodes.Add(node);
}
}
return nodes;
}
/// <summary>
/// Converts an XmlTreeNode to a TreeNode
/// </summary>
/// <param name="xNode"></param>
/// <returns></returns>
public static TreeNode FromXmlTreeNode(XmlTreeNode xNode, CheckboxTree cbTree) {
TreeNode node = new TreeNode(xNode.Text, xNode.NodeID, cbTree.ImagesRootPath + xNode.Icon, xNode.Action, "");
node.ImageUrl = "";
node.PopulateOnDemand = (string.IsNullOrEmpty(xNode.Source) ? false : true);
//node.SelectAction = (string.IsNullOrEmpty(xNode.Source) ? TreeNodeSelectAction.Select : TreeNodeSelectAction.Expand);
node.SelectAction = TreeNodeSelectAction.None;
string nodeMarkup = "";
//add our custom checkbox
if (cbTree.ShowCheckBoxes)
nodeMarkup += string.Format("<span class=\"treeCheckBox\"><input type='checkbox' id='{0}' name='{0}' value='{1}' onclick='{2}(this);' /></span>",
"chk" + node.Value, node.Value, cbTree.OnClientNodeChecked);
if (xNode.Icon.StartsWith(".")) {
nodeMarkup += "<div class=\"sprTree " + xNode.Icon.TrimStart('.') + "\"><img class=\"webfx-tree-icon\" src=\"../images/nada.gif\"/> </div>";
} else {
nodeMarkup += "<span class=\"treeIcon\"><img src=\"" + cbTree.ImagesRootPath + xNode.Icon + "\"/></span>";
}
//show the node as being not published
if (xNode.NotPublished.Value)
nodeMarkup += string.Format("<span class=\"treeText\" style='color:{0};'>{1}</span>", cbTree.UnpublishedColor, node.Text);
else {
nodeMarkup += string.Format("<span class=\"treeText\">{0}</span>", node.Text);
}
node.Text = nodeMarkup;
return node;
}
/*
/// <summary>
/// Populates child nodes on demand
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void objTree_TreeNodePopulate(object sender, TreeNodeEventArgs e) {
XmlTree xTree = GetNodeData(int.Parse(e.Node.Value));
TreeNodeCollection nodes = FromXmlTree(xTree, e.Node);
foreach (TreeNode node in nodes)
e.Node.ChildNodes.Add(node);
} */
}
}
@@ -1,23 +0,0 @@
using System;
namespace umbraco.controls
{
/// <summary>
/// Summary description for progressBar.
/// </summary>
public class progressBar : System.Web.UI.WebControls.WebControl
{
public progressBar()
{
}
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
writer.WriteLine("<div class=\"progressBar\"><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div class=\"progressContainerLeft\" id=\"progressBar" + this.ClientID + "\" style=\"width: " + ((int) this.Width.Value+10).ToString() + "px\"><div class=\"progressIndicator\" style=\"width: 0px\"><img src=\"/umbraco/images/nada.gif\" id=\"progressBar" + this.ClientID + "_indicator\" width=\"0\" height=\"0\"/></div></div><div class=\"progressContainerRight\"><img src=\"/umbraco/images/nada.gif\" width=\"1\" height=\"1\"/></div><br style=\"clear: both\"/><span id=\"progressBar" + this.ClientID + "_text\" class=\"guiDialogTiny\" style=\"margin-top: 2px; width: 100%; text-align: center\"></span></td></tr></table><br class=\"guiDialogTiny\" style=\"clear: both\"/></div>");
}
}
}
@@ -1,80 +0,0 @@
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
namespace umbraco.controls
{
/// <summary>
/// Summary description for windowCloser.
/// </summary>
[DefaultProperty("Text"),
ToolboxData("<{0}:windowCloser runat=server></{0}:windowCloser>")]
public class windowCloser : System.Web.UI.WebControls.WebControl
{
private string text;
private string secondText;
private string seconds;
[Bindable(true),
Category("Appearance"),
DefaultValue("")]
public string Text
{
get
{
return text;
}
set
{
text = value;
}
}
[Bindable(true),
Category("Appearance"),
DefaultValue("")]
public string SecondText
{
get
{
return secondText;
}
set
{
secondText = value;
}
}
[Bindable(true),
Category("Appearance"),
DefaultValue("")]
public string Seconds
{
get
{
return seconds;
}
set
{
seconds = value;
}
}
protected override void OnInit(EventArgs e)
{
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "windowCloser", "<script language=\"javascript\">\nfunction windowCloser(elementId, sec) {\n if (sec < 2) \n window.close();\n else {\n sec--;\n document.getElementById(elementId).innerHTML = sec;\n setTimeout('windowCloser(\\'' + elementId + '\\', ' + sec + ');', 1000);\n }\n}\n</script>");
base.OnInit (e);
}
/// <summary>
/// Render this control to the output parameter specified.
/// </summary>
/// <param name="output"> The HTML writer to write out to </param>
protected override void Render(HtmlTextWriter output)
{
output.Write(text + " <span id=\"timer\">" + seconds + "</span> " + secondText + "...\n</form>\n<script>\n windowCloser('timer', " + seconds + ");\n</script>");
}
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 B

-89
View File
@@ -1,89 +0,0 @@
#MB_overlay {
position: absolute;
margin: auto;
top: 0; left: 0;
width: 100%; height: 100%;
z-index: 9999;
background-color: #000!important;
}
#MB_overlay[id] { position: fixed; }
#MB_window {
position: absolute;
top: 0;
border: 0 solid;
text-align: left;
z-index: 10000;
}
#MB_window[id] { position: fixed!important; }
#MB_frame {
position: relative;
background-color: #fff;
height: 100%;
}
#MB_header {
margin: 0;
padding: 0;
}
#MB_content {
padding: 0px;
overflow: hidden;
height: 100%;
}
#MB_caption {
font: bold 100% "Lucida Grande", Arial, sans-serif;
text-shadow: #FFF 0 1px 0;
padding: .5em 2em .5em .75em;
margin: 0;
text-align: left;
}
#MB_close {
display: block;
position: absolute;
right: 5px; top: 4px;
padding: 2px 3px;
font-weight: bold;
text-decoration: none;
font-size: 13px;
}
#MB_close:hover {
background: transparent;
}
#MB_loading {
padding: 1.5em;
text-indent: -10000px;
background: transparent url(spinner.gif) 50% 0 no-repeat;
}
/* Color scheme */
#MB_frame {
padding-bottom: 0px;
}
#MB_window {
background-color: #EFEFEF;
color: #000;
}
#MB_content {border-top: 1px solid #F9F9F9; }
#MB_header {
background: url(../images/modalGradiant.gif) repeat-x bottom #fff;
border-bottom: 1px solid #CCC;
}
#MB_caption { color: #378080 }
#MB_close { color: #777 }
#MB_close:hover { color: #000 }
/* Alert message */
.MB_alert {
margin: 10px 0;
text-align: center;
}
-267
View File
@@ -1,267 +0,0 @@
/* menu body */
.menu-body {
color: Black;
margin: 0;
padding: 0;
overflow: hidden;
border: 0;
cursor: default;
}
.menu-body .outer-border {
border: 1px solid #666666;
margin: 0;
padding: 0;
}
.menu-body .inner-border {
width: 100%;
border: 1px solid #f9f8f7;
border-width: 1px 0 1px 0;
padding: 0 1px 0 1px;
margin: 0;
background: #f9f8f7 url("background.gif") repeat-y;
}
/* menu body */
/*****************************************************************************/
/* menu items */
.menu-body td {
font: Menu;
color: Black;
}
.menu-body .hover td {
background-color: #FFEEC2;
}
.menu-body .disabled-hover td {
background-color: white;
}
.menu-body td.empty-icon-cell {
padding: 2px;
border: 0;
}
.menu-body td.empty-icon-cell span {
width: 16px;
}
.menu-body td.icon-cell {
padding: 2px;
border: 0;
}
.menu-body td.icon-cell img {
width: 16px;
height: 16px;
margin: 0;
}
.menu-body .hover td.icon-cell img {
filter: none;
position: relative;
left: 0px;
top: 0px;
}
.menu-body .disabled-hover td.icon-cell img,
.menu-body .disabled td.icon-cell img {
display: static;
filter: Gray() Alpha(Opacity=40);
}
.menu-body .disabled-hover td.empty-icon-cell,
.menu-body .hover td.empty-icon-cell,
.menu-body .disabled-hover td.icon-cell,
.menu-body .hover td.icon-cell {
border: 1px solid #0A246A;
border-right: 0;
padding: 1px 2px 1px 1px;
}
.menu-body td.label-cell {
width: 100%;
padding: 2px 5px 2px 5px;
border: 0;
}
.menu-body .disabled-hover td.label-cell,
.menu-body .hover td.label-cell,
.menu-body .disabled-hover td.shortcut-cell,
.menu-body .hover td.shortcut-cell {
padding: 1px 5px 1px 5px;
border: 1px solid #0A246A;
border-left: 0;
border-right: 0;
}
.menu-body td.shortcut-cell {
padding: 2px 5px 2px 5px;
}
.menu-body td.arrow-cell {
width: 20px;
padding: 2px 2px 2px 0px;
font-family: Webdings,Lucida Grande;
}
/* end menu items */
/*****************************************************************************/
/* disabled items */
.menu-body .disabled-hover td.arrow-cell,
.menu-body .hover td.arrow-cell {
padding: 1px 1px 1px 0px;
border: 1px solid #0A246A;
border-left: 0;
}
.menu-body #scroll-up-item td,
.menu-body #scroll-down-item td {
font-family: Webdings !important;
text-align: center;
padding: 10px;
}
.menu-body .disabled td {
color: #cccccc;
}
.menu-body .disabled-hover td {
background-color: white;
color: #cccccc;
}
/* end disabled items */
/*****************************************************************************/
/* separator */
.menu-body .separator td {
font-size: 0.001mm;
padding: 1px 0px 1px 27px;
}
.menu-body .separator-line {
overflow: hidden;
border-top: 1px solid #dbd8d1;
height: 1px;
}
/* end separator */
/*****************************************************************************/
/* Scroll buttons */
.menu-body #scroll-up-item,
.menu-body #scroll-down-item {
width: 100%;
}
.menu-body #scroll-up-item td,
.menu-body #scroll-down-item td {
font-family: Webdings;
text-align: center;
padding: 1px 5px 1px 5px;
}
.menu-body #scroll-up-item .disabled-hover td,
.menu-body #scroll-up-item .hover td,
.menu-body #scroll-down-item .disabled-hover td,
.menu-body #scroll-down-item .hover td {
border: 1px solid #0A246A;
padding: 0px 4px 0px 4px;
}
/* End scroll buttons */
/*****************************************************************************/
/* radio and check box items */
.menu-body .checked {
padding: 0px;
}
.menu-body .checked.hover {
padding: 0px;
}
.menu-body .checked .check-box,
.menu-body .checked .radio-button {
display: inline-block;
font-family: Webdings;
overflow: hidden;
color: MenuText;
text-align: center;
vertical-align: center;
background-color: #b6bdd2;
border: 1px solid #0A246A;
}
.menu-body .check-box {
width: 19px;
height: 19px;
font-size: 133%;
padding-bottom: 5px;
padding-left: 1px;
}
.menu-body .radio-button {
width: 19px;
height: 19px;
font-size: 50%;
padding: 5px;
}
/* end radio and check box items */
/*****************************************************************************/
/* Menu Bar */
.menu-bar {
background: ButtonFace;
cursor: default;
padding: 1px;
}
.menu-bar .menu-button {
background: ButtonFace;
color: ButtonText;
font: Menu;
padding: 3px 7px 3px 7px;
border: 0;
margin: 0;
display: inline-block;
white-space: nowrap;
cursor: default;
}
.menu-bar .menu-button.active {
background: #dbd8d1;
padding: 2px 6px 3px 6px;
border: 1px solid #666666;
border-bottom: 0;
}
.menu-bar .menu-button.hover {
background: #b6bdd2;
padding: 2px 6px 2px 6px;
border-width: 1px;
border-style: solid;
@@ -1,131 +0,0 @@
#cmenu
{
background: #f0f0f0 url(../images/contextMenuBg.gif) repeat-y left;
border:1px solid #979797;
padding: 3px;
width: 180px;
}
.menuicon,.menuiconon
{
cursor:pointer;
font-family:Arial,Lucida Grande;
font-size:11px;
height:20px;
margin:1px;
color: #1a1818;
}
.menuicon {
padding:2px;
}
.menuiconon {
padding:1px;
background:#dcecf3;
border: 1px solid #a8d8eb;
}
#cmenu img {
height:16px;
width:16px;
margin:1px 10px 0 2px;
}
#cmenu .splitter {
border-top: 1px solid #e0e0e0;
border-bottom: 1px solid #fff;
height:0px;
margin:4px 0px 4px 28px;
padding: 0px;
display:block;
width: 150px;
}
/* css sprites */
.menuSpr {
float: left;
background-image: url(../images/actions/sprites.png);
background-position: -7px -8px;
margin: 1px 13px 1px 0px;
margin-top: 1px;
width: 17px;
height: 16px;
}
.sprNew {
background-position: -7px -339px;
}
.sprCreateFolder {
background-position: -7px -108px;
}
.sprSendToTranslate {
background-position: -7px -636px;
}
.sprBinEmpty {
background-position: -7px -42px;
}
.sprTranslate {
background-position: -7px -636px;
}
.sprSave {
background-position: -7px -603px;
}
.sprImportDocumentType {
background-position: -7px -273px;
}
.sprExportDocumentType {
background-position: -7px -240px;
}
.sprAudit {
background-position: -7px -8px;
}
.sprPackage2 {
background-position: -7px -405px;
}
.sprDelete {
background-position: -7px -174px;
}
.sprMove {
background-position: -7px -141px;
}
.sprCopy {
background-position: -7px -75px;
}
.sprSort {
background-position: -7px -670px;
}
.sprPermission {
background-position: -7px -438px;
}
.sprProtect {
background-position: -7px -471px;
}
.sprRollback {
background-position: -7px -570px;
}
.sprRefresh {
background-position: -7px -537px;
}
.sprNotify {
background-position: -7px -372px;
}
.sprUpdate {
background-position: -7px -603px;
}
.sprPublish {
background-position: -7px -504px;
}
.sprToPublish {
background-position: -7px -504px;
}
.sprLogout {
background-position: -7px -306px;
}
.sprDomain {
background-position: -7px -207px;
}
.sprLiveEdit {
background-position: -7px -706px;
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 343 B

@@ -1,39 +0,0 @@
.dynamic-tab-pane-control .tab-page {
height: 90%;
}
.dynamic-tab-pane-control .tab-page .dynamic-tab-pane-control .tab-page {
height: 100px;
}
html, body {
background: ThreeDFace;
}
form {
margin: 0;
padding: 0;
}
/* over ride styles from webfxlayout */
body {
margin: 10px;
width: auto;
height: auto;
}
.dynamic-tab-pane-control h2 {
text-align: center;
width: auto;
}
.dynamic-tab-pane-control h2 a {
display: inline;
width: auto;
}
.dynamic-tab-pane-control a:hover {
background: transparent;
}
-120
View File
@@ -1,120 +0,0 @@
.overlayHolder
{
position: relative;
display: inline;
}
.treeOverlay
{
filter: Alpha(Opacity=80);
position: absolute;
z-index: 500;
left: 8;
top: 6;
}
.newVersionOverlay
{
position: absolute;
z-index: 500;
left: 0px;
top: 0px;
width: 8px;
height: 8px;
background: no-repeat url(../images/newVersion_overlay.png);
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/newVersion_overlay.png');
}
.newProtectOverlay
{
position: absolute;
z-index: 500;
left: 6px;
top: 9px;
width: 8px;
height: 8px;
background: no-repeat url(../images/protect_overlay.gif);
_filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/protect_overlay.gif');
}
.webfx-tree-container
{
margin: 0px;
padding: 0px;
font: icon;
white-space: nowrap;
}
.webfx-tree-item
{
padding: 0px 0px 4px 0px;
margin: 0px;
font: icon;
color: WindowText;
white-space: nowrap;
height: 16px;
}
.webfx-tree-item a, .webfx-tree-item a:active, .webfx-tree-item a:hover
{
}
.webfx-tree-item a
{
color: #2f2f2f;
text-decoration: none;
outline: none;
}
.webfx-tree-item a:hover
{
text-decoration: underline;
}
.webfx-tree-item a:active
{
text-decoration: none;
}
.webfx-tree-item img
{
vertical-align: middle;
border: 0px;
}
.webfx-tree-icon
{
width: 16px;
height: 16px;
padding-right: 7px;
}
.umbraco-tree-icon-grey
{
filter: Alpha(Opacity=30);
}
/*
keep strong focus instead of different selector colors on inactive/active
.webfx-tree-item a.selected-inactive, .webfx-tree-item a.selected {
color: windowtext;
background: #e5e5e5;
border: 1px solid #d9d9d9;
padding: 2px;
}
*/
.webfx-tree-item a.selected-inactive, .webfx-tree-item a.selected
{
color: windowtext;
background: #d5effc;
border: 1px solid #99defd;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
padding: 1px;
}
@@ -1,71 +0,0 @@
<%@ Page language="c#" Codebehind="editCell.aspx.cs" AutoEventWireup="True" Inherits="umbraco.dialogs.editCell" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>umbraco :: <%=umbraco.ui.Text("defaultdialogs", "insertformfield", this.getUser())%> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<LINK href="../css/umbracoGui.css" type="text/css" rel="stylesheet">
<style>body {margin: 2px;}</style>
<SCRIPT LANGUAGE="JavaScript">
<!--
function editCell()
{
window.returnValue = document.forms[0].cellWidth.value + ',\'' +
document.forms[0].tableAlign[document.forms[0].tableAlign.selectedIndex].text + '\', \'' +
document.forms[0].tableVAlign[document.forms[0].tableVAlign.selectedIndex].text + '\', \'\'';
window.close();
}
function undoCell()
{
window.returnValue = '<%=umbraco.helper.Request("width")%>';
window.close();
}
//-->
</SCRIPT>
</HEAD>
<body MS_POSITIONING="GridLayout">
<h3><%=umbraco.ui.Text("defaultdialogs", "insertlink", this.getUser())%></h3>
<form id="Form1" method="post" runat="server">
<TABLE class="propertyPane" id="macroProperties" cellSpacing="0" cellPadding="4" width="98%"
border="0" runat="server">
<TBODY>
<TR>
<TD class="guiDialogForm">
<%=umbraco.ui.Text("width")%>
</td>
<td>
<input type="text" size="4" maxlength="10" class="guiInputText" name="cellWidth" value="<%=umbraco.helper.Request("width")%>">
</td>
</tr>
<TR>
<TD class="guiDialogForm">
<%=umbraco.ui.Text("justify")%>
</td>
<td>
<asp:DropDownList Runat="server" id="tableAlign" CssClass="guiInputText"></asp:DropDownList>
</td>
</tr>
<TR>
<TD class="guiDialogForm">
<%=umbraco.ui.Text("justifyVertical")%>
</td>
<td>
<asp:DropDownList Runat="server" id="tableVAlign" CssClass="guiInputText"></asp:DropDownList>
</select><br/><br/>
<input type="button" class="guiInputButton" onClick="undoCell()" value="Fortryd"> &nbsp;
<input type="button" class="guiInputButton" onClick="editCell()" value="Opdatér">
</td>
</tr>
</tbody>
</TABLE>
</form>
</body>
</HTML>
@@ -1,61 +0,0 @@
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace umbraco.dialogs
{
/// <summary>
/// Summary description for editCell.
/// </summary>
public partial class editCell : BasePages.UmbracoEnsuredPage
{
protected void Page_Load(object sender, System.EventArgs e)
{
string[] aligns = {"", "left", "center", "right"};
string[] valigns = {"", "top", "middle", "bottom"};
foreach(string s in aligns)
{
ListItem li = new ListItem(s, s);
if (s == helper.Request("align").ToLower())
li.Selected = true;
tableAlign.Items.Add(li);
}
foreach(string s in valigns)
{
ListItem li = new ListItem(s, s);
if (s == helper.Request("valign").ToLower())
li.Selected = true;
tableVAlign.Items.Add(li);
}
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
}
#endregion
}
}
@@ -1,52 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.3082
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace umbraco.dialogs {
public partial class editCell {
/// <summary>
/// Form1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm Form1;
/// <summary>
/// macroProperties control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlTable macroProperties;
/// <summary>
/// tableAlign control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.DropDownList tableAlign;
/// <summary>
/// tableVAlign control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.DropDownList tableVAlign;
}
}
@@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="ResMimeType">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="Version">
<value>1.0.0.0</value>
</resheader>
<resheader name="Reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="Writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
@@ -1,52 +0,0 @@
<%@ Page language="c#" Codebehind="insertAnchor.aspx.cs" AutoEventWireup="True" Inherits="umbraco.dialogs.insertAnchor" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html>
<head>
<title>umbraco :: <%=umbraco.ui.Text("defaultdialogs", "insertAnchor", this.getUser())%> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name=vs_defaultClientScript content="JavaScript">
<meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
<LINK href="../css/umbracoGui.css" type="text/css" rel="stylesheet">
<style>body {margin: 2px;}</style>
<SCRIPT LANGUAGE="JavaScript">
<!--
function insertAnchor()
{
window.returnValue = document.forms[0].anchorName.value;
window.close();
}
function doSubmit() {insertAnchor();}
var functionsFrame = this;
var tabFrame = this;
var isDialog = true;
var submitOnEnter = true;
-->
</script>
<script type="text/javascript" src="../js/umbracoCheckKeys.js"></script>
</head>
<body MS_POSITIONING="GridLayout">
<h3><%=umbraco.ui.Text("defaultdialogs", "insertAnchor", this.getUser())%></h3>
<form id="Form1" method="post" runat="server">
<TABLE WIDTH="100%" CELLPADDING=4 CELLSPACING=0 class="propertyPane">
<TR>
<TD class="propertyHeader">
<%=umbraco.ui.Text("defaultdialogs", "anchorInsert", this.getUser())%>
</td>
<td class="propertyContent">
<input type="text" size="30" maxlength="100" class="guiInputText" name="anchorName" value="<%=Request.QueryString["anchorName"]%>"><br/><br/>
<input type="button" class="guiInputButton" onClick="insertAnchor()" value="<%=umbraco.ui.Text("general", "insert", this.getUser())%>">
&nbsp; <input type="button" class="guiInputButton" onClick="if (confirm('<%=umbraco.ui.Text("general", "areyousure", this.getUser())%>')) window.close();" value="<%=umbraco.ui.Text("general", "cancel", this.getUser())%>">
</td>
</tr>
</table><br />
</form>
</body>
</html>
@@ -1,43 +0,0 @@
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace umbraco.dialogs
{
/// <summary>
/// Summary description for insertAnchor.
/// </summary>
public partial class insertAnchor : BasePages.UmbracoEnsuredPage
{
protected void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
}
#endregion
}
}
@@ -1,25 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.3082
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace umbraco.dialogs {
public partial class insertAnchor {
/// <summary>
/// Form1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm Form1;
}
}
@@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="ResMimeType">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="Version">
<value>1.0.0.0</value>
</resheader>
<resheader name="Reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="Writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
@@ -1,165 +0,0 @@
<%@ Page language="c#" Codebehind="insertFormField.aspx.cs" AutoEventWireup="True" Inherits="umbraco.dialogs.insertFormField" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>umbraco :: <%=umbraco.ui.Text("buttons", "formFieldInsert", this.getUser())%> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<LINK href="../css/umbracoGui.css" type="text/css" rel="stylesheet">
<style>body {margin: 2px;}</style>
<SCRIPT LANGUAGE="JavaScript">
<!--
function insertFormField() {
var formTypes = document.forms[0].formType
for (var i=0; i<formTypes.length; i++) {
if (formTypes[i].checked)
var formType = formTypes[i].value;
}
var hiddenFieldAdd = "style=\"width: 0px; height: 0px\"";
var formNavn = document.forms[0].formNavn.value;
var formSize = document.forms[0].formSize.value;
var formHeight = document.forms[0].formHeight.value;
var formValue = document.forms[0].formValue.value;
var formRedirect = document.forms[0].formRedirect.value;
if (formType == 'textarea')
var formElement = '<textarea name="umbForm' + formNavn + '" rows="' + formHeight + '" cols="' + formSize + '"></textarea>';
else {
if (formType == 'submit')
var formElement = '<input type="hidden" ' + hiddenFieldAdd + ' name="umbracoAction" value="mailForm"><input type="hidden" ' + hiddenFieldAdd + ' name="umbracoRedirect" value="' + formRedirect + '"><input type="hidden" ' + hiddenFieldAdd + ' name="sendTo" value="' + document.forms[0].formSendTo.value + '"><input type="' + formType + '" name="sbmt" size="' + formSize + '" value="' + formValue + '">';
else
var formElement = '<input type="' + formType + '" name="umbForm' + formNavn + '" size="' + formSize + '" value="' + formValue + '">';
}
window.returnValue = formElement;
window.close();
}
function formatForm(formType) {
formEnable('formNavn');
formDisable('formRedirect');
if (formType == 'radio' || formType == 'checkbox') {
formDisable('formSize');
formDisable('formHeight');
formDisable('formSendTo');
}
if (formType == 'text') {
formEnable('formSize');
formDisable('formHeight');
formDisable('formSendTo');
}
if (formType == 'textarea') {
formEnable('formSize');
formEnable('formHeight');
formDisable('formSendTo');
}
if (formType == 'submit') {
formDisable('formNavn');
formDisable('formSize');
formDisable('formHeight');
formEnable('formSendTo');
formEnable('formRedirect');
}
}
function formDisable(element) {
document.getElementById(element+ "Label").className = 'guiDialogDisabled';
document.forms[0][element].className = 'guiInputDisabled';
document.forms[0][element].disabled = true;
}
function formEnable(element) {
document.getElementById(element+ "Label").className = 'guiDialogNormal';
document.forms[0][element].className = 'guiInputText';
document.forms[0][element].disabled = false;
}
function doSubmit() {insertFormField();}
var functionsFrame = this;
var tabFrame = parent.parent.right;
var isDialog = true;
var submitOnEnter = true;
-->
</script>
<script type="text/javascript" src="js/umbracoCheckKeys.js"></script>
<script language="javascript">
function dialogHandler(id) {
document.forms[0].linkText.value = id;
}
</script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<h3><%=umbraco.ui.Text("buttons", "formFieldInsert", this.getUser())%></h3>
<form id="Form1" method="post" runat="server">
<TABLE class="propertyPane" id="macroProperties" cellSpacing="0" cellPadding="4" width="98%"
border="0" runat="server">
<TBODY>
<TR>
<TD class="propertyHeader" width="30%"><%=umbraco.ui.Text("type", this.getUser())%></TD>
<TD class="propertyContent">
<input type="radio" name="formType" value="submit" onClick="formatForm(this.value)"> <img src="../images/editor/formButton.gif">
<input type="radio" name="formType" value="checkbox" onClick="formatForm(this.value)"> <img src="../images/editor/formCheckbox.gif">
<input type="radio" name="formType" value="radio" onClick="formatForm(this.value)"> <img src="../images/editor/formRadio.gif">
<input type="radio" name="formType" value="select" onClick="formatForm(this.value)"> <img src="../images/editor/formSelect.gif">
<input type="radio" name="formType" value="text" onClick="formatForm(this.value)"> <img src="../images/editor/formText.gif">
<input type="radio" name="formType" value="textarea" onClick="formatForm(this.value)"> <img src="../images/editor/formTextarea.gif"><br />
</td>
</TR>
<TR>
<TD class="propertyHeader" width="30%"><%=umbraco.ui.Text("name", this.getUser())%>
</TD>
<TD class="propertyContent" id="formNavnLabel">
<input type="text" name="formNavn" value="<%=umbraco.helper.Request("formNavn")%>" size="40" class="guiInputText"><br />
</TD>
</TR>
<TR>
<TD class="propertyHeader" id="formSizeLabel" width="30%"><%=umbraco.ui.Text("width", this.getUser())%></TD>
<TD class="propertyContent">
<input type="text" name="formSize" value="<%=umbraco.helper.Request("formSize")%>" size="6" class="guiInputText" disabled><br />
</TD>
</TR>
<TR>
<TD class="propertyHeader" id="formHeightLabel" width="30%"><%=umbraco.ui.Text("height", this.getUser())%></TD>
<TD class="propertyContent">
<input type="text" name="formHeight" value="<%=umbraco.helper.Request("formHeight")%>" size="6" class="guiInputText" disabled><br />
</TD>
</TR>
<TR>
<TD class="propertyHeader" id="formValueLabel" width="30%"><%=umbraco.ui.Text("value", this.getUser())%></TD>
<TD class="propertyContent">
<input type="text" name="formValue" value="<%=umbraco.helper.Request("formValue")%>" size="20" class="guiInputText"><br />
</TD>
</TR>
<TR>
<TD class="propertyHeader" id="formSendToLabel" width="30%"><%=umbraco.ui.Text("reciept", this.getUser())%></TD>
<TD class="propertyContent">
<input type="text" name="formSendTo" value="<%=umbraco.helper.Request("formSendTo")%>" size="20" class="guiInputText" disabled><br />
</TD>
</TR>
<TR>
<TD class="propertyHeader" id="formRedirectLabel" width="30%"><%=umbraco.ui.Text("showPageOnSend", this.getUser())%></TD>
<TD class="propertyContent">
<input type="text" name="formRedirect" value="<%=umbraco.helper.Request("formRedirect")%>" size="20" class="guiInputText" disabled><br />
</TD>
</TR>
<TR>
<TD class="propertyHeader" width="30%"></TD>
<TD class="propertyContent">
<input type="button" value=" <%=umbraco.ui.Text("insert")%> " class="inpButton" onClick="insertFormField();"><br />
</TD>
</TR>
</tbody>
</TABLE>
</form>
</body>
</HTML>
@@ -1,43 +0,0 @@
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace umbraco.dialogs
{
/// <summary>
/// Summary description for insertFormField.
/// </summary>
public partial class insertFormField : BasePages.UmbracoEnsuredPage
{
protected void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
}
#endregion
}
}
@@ -1,88 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.3082
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace umbraco.dialogs {
public partial class insertFormField {
/// <summary>
/// Form1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm Form1;
/// <summary>
/// macroProperties control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlTable macroProperties;
/// <summary>
/// formNavnLabel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlTableCell formNavnLabel;
/// <summary>
/// formSizeLabel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlTableCell formSizeLabel;
/// <summary>
/// formHeightLabel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlTableCell formHeightLabel;
/// <summary>
/// formValueLabel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlTableCell formValueLabel;
/// <summary>
/// formSendToLabel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlTableCell formSendToLabel;
/// <summary>
/// formRedirectLabel control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlTableCell formRedirectLabel;
}
}
@@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="ResMimeType">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="Version">
<value>1.0.0.0</value>
</resheader>
<resheader name="Reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="Writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
@@ -1,98 +0,0 @@
<%@ Page language="c#" Codebehind="insertImage.aspx.cs" AutoEventWireup="True" Inherits="umbraco.dialogs.insertImage" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>umbraco ::
<%=umbraco.ui.Text("defaultdialogs", "insertimage", this.getUser())%>
</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<LINK href="../css/umbracoGui.css" type="text/css" rel="stylesheet">
<style>BODY { MARGIN: 2px }
label {
width:100px;
}
</style>
<script language="javascript">
function dialogHandler(id) {
document.frames.imageViewer.document.location.href = 'dialogs/imageViewer.aspx?id=' + id;
}
function updateImageSource(src, alt, width, height) {
document.getElementById("imageSrc").value = src;
document.getElementById("imageAlt").value = alt;
document.getElementById("imageWidth").value = width;
document.getElementById("imageHeight").value = height;
}
function insertImage()
{
var imageName = document.getElementById("imageAlt").value;
var imageWidth = document.getElementById("imageWidth").value;
var imageHeight = document.getElementById("imageHeight").value;
var imageSource = document.getElementById("imageSrc").value.replace("thumb.jpg", ".jpg");
var imageTitle = document.getElementById("imageTitle").value;
var orgHeight = imageHeight;
var orgWidth = imageWidth;
if (imageWidth != '' && imageWidth > 500) {
if (imageWidth > imageHeight)
orgRatio = parseFloat(imageHeight/imageWidth).toFixed(2)
else
orgRatio = parseFloat(imageWidth/imageHeight).toFixed(2)
imageHeight = Math.round(500 * parseFloat(imageHeight/imageWidth).toFixed(2));
imageWidth = 500;
}
window.returnValue = imageName + '|||' + imageSource + '|||' + imageWidth + '|||' + imageHeight + '|||' + imageTitle + '|||' + orgWidth + '|||' + orgHeight;
window.close();
}
function doSubmit() {}
var functionsFrame = this;
var tabFrame = this;
var isDialog = true;
var submitOnEnter = true;
</script>
<script type="text/javascript" src="../js/umbracoCheckKeys.js"></script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<h3><%=umbraco.ui.Text("defaultdialogs", "insertimage",this.getUser())%></h3>
<form id="Form1" method="post" runat="server">
<input type="hidden" name="imageHeight"> <input type="hidden" name="imageWidth">
<input type="hidden" name="imageSrc">
<TABLE class="propertyPane" cellSpacing="0" cellPadding="4" width="98%" border="0" runat="server" ID="Table1">
<TBODY>
<tr>
<TD class="propertyHeader" width="30%">
<asp:PlaceHolder ID="PlaceHolder1" Runat="server" />
</TD>
</tr>
</TBODY>
</TABLE>
<TABLE class="propertyPane" cellSpacing="0" cellPadding="4" width="98%" border="0" runat="server" ID="Table2">
<TBODY>
<tr>
<td>
<label for="imageAlt"><%=umbraco.ui.Text("alternativeText")%>:</label> <input type="text" id="imageAlt" name="imageAlt" value="" style="width:150px"/> <small><%=umbraco.ui.Text("alternativeTextHelp")%></small>
<br />
<label for="imageTitle"><%=umbraco.ui.Text("titleOptional")%></label> <input type="text" name="imageTitle" value="" style="width:150px"/>
</td>
</tr>
<tr>
<td>
<input type="button" onClick="insertImage();" value="<%=umbraco.ui.Text("defaultdialogs", "insertimage", this.getUser())%>"/>
</td>
</tr>
</tbody>
</table>
</form>
</body>
</HTML>
@@ -1,56 +0,0 @@
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace umbraco.dialogs
{
public partial class insertImage : BasePages.UmbracoEnsuredPage
{
protected uicontrols.TabView tbv = new uicontrols.TabView();
protected void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
uicontrols.TabPage tp = tbv.NewTabPage(ui.Text("choose"));
tp.HasMenu = false;
tp.Controls.Add(new LiteralControl("<div style=\"padding: 5px;\"><iframe src=\"../TreeInit.aspx?app=media&amp;isDialog=true&amp;dialogMode=id&amp;contextMenu=false\" style=\"LEFT: 9px; OVERFLOW: auto; WIDTH: 200px; POSITION: relative; TOP: 0px; HEIGHT: 250px; BACKGROUND-COLOR: white\"></iframe>&nbsp;<iframe src=\"imageViewer.aspx\" id=\"imageViewer\" style=\"LEFT: 9px; OVERFLOW: auto; WIDTH: 250px; POSITION: relative; TOP: 0px; HEIGHT: 250px; BACKGROUND-COLOR: white\"></iframe></div>"));
uicontrols.TabPage tp2 = tbv.NewTabPage(ui.Text("create") + " " + ui.Text("new"));
tp2.HasMenu = false;
tp2.Controls.Add(new LiteralControl("<iframe frameborder=\"0\" src=\"uploadImage.aspx\" style=\"LEFT: 0px; OVERFLOW: auto; WIDTH: 500px; POSITION: relative; TOP: 0px; HEIGHT: 220px; BACKGROUND-COLOR: white; border: none\"></iframe>"));
PlaceHolder1.Controls.Add(tbv);
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
tbv.ID="tabview1";
tbv.Width = 500;
tbv.Height = 290;
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
}
#endregion
}
}
@@ -1,52 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.3082
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace umbraco.dialogs {
public partial class insertImage {
/// <summary>
/// Form1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm Form1;
/// <summary>
/// Table1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlTable Table1;
/// <summary>
/// PlaceHolder1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.PlaceHolder PlaceHolder1;
/// <summary>
/// Table2 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlTable Table2;
}
}
@@ -1,109 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used forserialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.TrayAutoArrange" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
</root>
@@ -1,92 +0,0 @@
<%@ Page language="c#" Codebehind="insertLink.aspx.cs" AutoEventWireup="True" Inherits="umbraco.dialogs.insertLink" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>umbraco :: <%=umbraco.ui.Text("defaultdialogs", "insertlink", this.getUser())%> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<LINK href="../css/umbracoGui.css" type="text/css" rel="stylesheet">
<style>body {margin: 2px;}</style>
<script language="javascript">
var linkToInsert = "";
function dialogHandler(id) {
// Find link
document.forms[0].linkText.value = id;
// document.forms[0].linkText.value = linkToInsert.substr(linkToInsert.indexOf(",")+1, linkToInsert.length-2-linkToInsert.indexOf(","));
}
function doLink()
{
var linkName = document.forms[0].linkText.value;
if (linkName.indexOf('@') > 0 && linkName.indexOf('mailto:') < 0)
linkName = 'mailto:' + linkName;
else {
if (linkName.length - replaceChars(linkName, ".", "").length > 1 && linkName.toLowerCase().indexOf('http') < 0 )
linkName = 'http://' + linkName;
}
window.returnValue = document.forms[0].linkNewWindow.checked + '|'+linkName.replace(/\+/g,'\%2b').replace(/\?/g,'\%3f');
window.close();
}
function replaceChars(entry, out, add) {
temp = "" + entry;
while (temp.indexOf(out)>-1) {
pos= temp.indexOf(out);
temp = "" + (temp.substring(0, pos) + add +
temp.substring((pos + out.length), temp.length));
}
return temp;
}
function doSubmit() {doLink();}
var functionsFrame = this;
var tabFrame = this;
var isDialog = true;
var submitOnEnter = true;
</script>
<script type="text/javascript" src="../js/umbracoCheckKeys.js"></script>
</HEAD>
<body onload="this.focus();">
<h3><%=umbraco.ui.Text("defaultdialogs", "insertlink", this.getUser())%></h3>
<form id="Form1" method="post" runat="server">
<TABLE class="propertyPane" id="macroProperties" cellSpacing="0" cellPadding="4" width="98%"
border="0" runat="server">
<TBODY>
<TR>
<TD class="propertyHeader" width="30%"><%=umbraco.ui.Text("defaultdialogs", "link", this.getUser())%></TD>
<TD class="propertyContent">
<asp:TextBox id="linkText" runat="server" Width="252px"></asp:TextBox>&nbsp;&nbsp;
<input type="hidden" id="actualLink" runat="server" />
<input type="button" onClick="doLink()" Value="<%=umbraco.ui.Text("general", "ok", this.getUser())%>"/></TD>
</TR>
<TR>
<TD class="propertyHeader" width="30%"><%=umbraco.ui.Text("defaultdialogs", "linknewwindow", this.getUser())%>
</TD>
<TD class="propertyContent">
<asp:CheckBox id="linkNewWindow" runat="server"></asp:CheckBox>
<%=umbraco.ui.Text("general", "yes", this.getUser())%>
</TD>
</TR>
<TR>
<TD class="propertyHeader" width="30%"><%=umbraco.ui.Text("defaultdialogs", "linkinternal", this.getUser())%></TD>
<TD class="propertyContent">
<asp:PlaceHolder ID="ph" Runat="server"></asp:PlaceHolder>
</TD>
</TR>
</tbody>
</TABLE>
</form>
</body>
</HTML>
@@ -1,76 +0,0 @@
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace umbraco.dialogs
{
/// <summary>
/// Summary description for insertLink.
/// </summary>
public partial class insertLink : BasePages.UmbracoEnsuredPage
{
protected uicontrols.TabView tbv = new uicontrols.TabView();
protected void Page_Load(object sender, System.EventArgs e)
{
if (Request.QueryString["linkName"] != null)
{
string link = Request.QueryString["linkName"];
// actualLink.Value = link;
// if (link.IndexOf("{#") > -1)
// linkText.Text = link.Substring(link.IndexOf(",")+1, link.Length-2-link.IndexOf(","));
// else
linkText.Text = link;
}
if (helper.Request("linkNewWindow") == "_blank")
linkNewWindow.Checked = true;
uicontrols.TabPage tp = tbv.NewTabPage(ui.Text("content"));
tp.HasMenu = false;
tp.Controls.Add(new LiteralControl("<iframe frameborder=\"0\" src=\"../TreeInit.aspx?app=content&amp;isDialog=true&amp;contextMenu=false\" style=\"LEFT: 0px; OVERFLOW: auto; WIDTH: 280px; POSITION: relative; TOP: 0px; HEIGHT: 220px; BACKGROUND-COLOR: white; border: none\"></iframe>"));
uicontrols.TabPage tp2 = tbv.NewTabPage(ui.Text("media"));
tp2.HasMenu = false;
tp2.Controls.Add(new LiteralControl("<iframe frameborder=\"0\" src=\"../TreeInit.aspx?app=media&amp;isDialog=true&amp;contextMenu=false\" style=\"LEFT: 0px; OVERFLOW: auto; WIDTH: 280px; POSITION: relative; TOP: 0px; HEIGHT: 220px; BACKGROUND-COLOR: white; border: none\"></iframe>"));
ph.Controls.Add(tbv);
}
public BusinessLogic.User GetUser()
{
return base.getUser();
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
tbv.ID="tabview1";
tbv.Width = 300;
tbv.Height = 250;
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
}
#endregion
}
}
@@ -1,70 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.3082
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace umbraco.dialogs {
public partial class insertLink {
/// <summary>
/// Form1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm Form1;
/// <summary>
/// macroProperties control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlTable macroProperties;
/// <summary>
/// linkText control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox linkText;
/// <summary>
/// actualLink control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlInputHidden actualLink;
/// <summary>
/// linkNewWindow control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox linkNewWindow;
/// <summary>
/// ph control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.PlaceHolder ph;
}
}
@@ -1,109 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used forserialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.TrayAutoArrange" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
</root>
@@ -1,96 +0,0 @@
<%@ Page language="c#" Codebehind="insertTextGen.aspx.cs" AutoEventWireup="True" Inherits="umbraco.dialogs.insertTextGen" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>umbraco :: <%=umbraco.ui.Text("defaultdialogs", "insertgraphicheadline", this.getUser())%> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<LINK href="../css/umbracoGui.css" type="text/css" rel="stylesheet">
<style>BODY { MARGIN: 2px }
</style>
<script language="javascript">
function doTextGen() {
var theForm = document.Form1;
var bgColor = theForm.pickerBgColor.value;
var fgColor = theForm.pickerColor.value;
var isBold = theForm.isBold.checked;
if (isBold)
isBold = '1';
else
isBold = '0';
if (fgColor == '')
fgColor = '000000'
if (bgColor == '')
bgColor = 'FFFFFF'
var textGen = '<img src="<%=umbraco.GlobalSettings.Path%>/TextGen.aspx?text=' + theForm.Text.value.replace(/\&/gi,"\&amp;") + '&font=' +
theForm.fontList[theForm.fontList.selectedIndex].value + '&size='+
theForm.fontSizeList[theForm.fontSizeList.selectedIndex].text + '&color=' + fgColor + '&bgColor=' + bgColor + '&bold=' + isBold + '" border="0" alt="' + theForm.Text.value.replace(/\&/gi,"\&amp;") + '"/>';
window.returnValue = textGen;
window.close();
}
function doSubmit() {doTextGen();}
var functionsFrame = this;
var tabFrame = this;
var isDialog = true;
var submitOnEnter = true;
</script>
<script type="text/javascript" src="../js/umbracoCheckKeys.js"></script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<h3><%=umbraco.ui.Text("defaultdialogs", "insertgraphicheadline", this.getUser())%></h3>
<form id="Form1" method="post" runat="server">
<TABLE class="propertyPane" id="macroProperties" cellSpacing="0" cellPadding="4" width="98%"
border="0" runat="server">
<TBODY>
<TR>
<TD class="propertyHeader" width="30%"><%=umbraco.ui.Text("graphicheadline", "text", this.getUser())%></TD>
<TD class="propertyContent">
<asp:TextBox id="Text" runat="server" Width="252px"></asp:TextBox>&nbsp;&nbsp;
</TD>
</TR>
<TR>
<TD class="propertyHeader" width="30%"><%=umbraco.ui.Text("graphicheadline", "font", this.getUser())%>
</TD>
<TD class="propertyContent">
<asp:DropDownList Runat="server" ID="fontList"></asp:DropDownList>
:
<asp:DropDownList ID="fontSizeList" Runat="server"></asp:DropDownList><br />
<asp:CheckBox ID="isBold" Runat="server" />
<%=umbraco.ui.Text("graphicheadline", "bold", this.getUser())%>
</TD>
</TR>
<TR>
<TD class="propertyHeader" width="30%"><%=umbraco.ui.Text("graphicheadline", "color", this.getUser())%></TD>
<TD class="propertyContent">
<asp:PlaceHolder id="PlaceholderColor" runat="server"></asp:PlaceHolder>
</TD>
</TR>
<TR>
<TD class="propertyHeader" width="30%"><%=umbraco.ui.Text("graphicheadline", "backgroundcolor", this.getUser())%></TD>
<TD class="propertyContent">
<asp:PlaceHolder id="PlaceHolderBgColor" runat="server"></asp:PlaceHolder>
</TD>
</TR>
<TR>
<TD class="propertyHeader" width="30%"></TD>
<TD class="propertyContent">
<input type="button" onclick="doSubmit()" value=" OK "/>
</TD>
</TR>
</TBODY>
</TABLE>
</form>
</body>
</HTML>
@@ -1,82 +0,0 @@
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Xml;
namespace umbraco.dialogs
{
/// <summary>
/// Summary description for insertTextGen.
/// </summary>
public partial class insertTextGen : BasePages.UmbracoEnsuredPage
{
protected void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
// Load form config file
XmlDocument fontConfig = new XmlDocument();
fontConfig.Load(IO.IOHelper.MapPath(IO.SystemDirectories.Umbraco + "/config/fonts/fonts.xml"));
foreach (XmlNode font in fontConfig.SelectSingleNode("//fonts"))
fontList.Items.Add(new ListItem(font.FirstChild.Value, font.Attributes.GetNamedItem("filename").Value));
foreach (XmlNode fontSize in fontConfig.SelectSingleNode("//sizes"))
fontSizeList.Items.Add(new ListItem(fontSize.FirstChild.Value));
ArrayList _colors = new ArrayList();
ArrayList _bgColors = new ArrayList();
foreach (XmlNode color in fontConfig.SelectSingleNode("//colors"))
_colors.Add(new ListItem(color.FirstChild.Value));
foreach (XmlNode bgColor in fontConfig.SelectSingleNode("//bgcolors"))
_bgColors.Add(new ListItem(bgColor.FirstChild.Value));
PlaceholderColor.Controls.Add(colorRange(_colors, "pickerColor"));
PlaceHolderBgColor.Controls.Add(colorRange(_bgColors, "pickerBgColor"));
}
private Control colorRange(ArrayList Colors, string Alias)
{
Control _colors = new Control();
_colors.Controls.Add(new LiteralControl("<input type=\"hidden\" name=\"" + Alias + "\" value=\"FFFFFF\"/>"));
_colors.Controls.Add(new LiteralControl("<span id=\"" + Alias + "holder\" style=\"border: 1px solid black; background-color: #FFFFFF\"><img src=\"../images/nada.gif\" width=15 height=15 border=0></span>&nbsp; " + ui.Text("choose") + ": "));
foreach (object color in Colors)
{
_colors.Controls.Add(
new LiteralControl("<span style=\"margin: 2px; border: 1px solid black; background-color: #" + color.ToString() + "\"><a href=\"#\" onClick=\"document.forms[0]['" + Alias + "'].value = '" + color.ToString() + "'; document.all['" + Alias + "holder'].style.backgroundColor = '#" + color.ToString() + "'\"><img src=\"../images/nada.gif\" width=15 height=15 border=0></a></span>"));
}
return _colors;
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
}
#endregion
}
}
@@ -1,88 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.3082
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace umbraco.dialogs {
public partial class insertTextGen {
/// <summary>
/// Form1 control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm Form1;
/// <summary>
/// macroProperties control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlTable macroProperties;
/// <summary>
/// Text control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox Text;
/// <summary>
/// fontList control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.DropDownList fontList;
/// <summary>
/// fontSizeList control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.DropDownList fontSizeList;
/// <summary>
/// isBold control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox isBold;
/// <summary>
/// PlaceholderColor control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.PlaceHolder PlaceholderColor;
/// <summary>
/// PlaceHolderBgColor control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.PlaceHolder PlaceHolderBgColor;
}
}
@@ -1,109 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 1.3
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">1.3</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1">this is my long string</data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
[base64 mime encoded serialized .NET Framework object]
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
[base64 mime encoded string representing a byte array form of the .NET Framework object]
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used forserialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>1.3</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="$this.TrayLargeIcon" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</data>
<data name="$this.TrayAutoArrange" type="System.Boolean, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</data>
<data name="$this.DefaultModifiers" type="System.CodeDom.MemberAttributes, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>Private</value>
</data>
</root>
@@ -1,16 +0,0 @@
<%@ Page language="c#" MasterPageFile="../masterpages/umbracoDialog.Master" Codebehind="modalHolder.aspx.cs" AutoEventWireup="True" Inherits="umbraco.dialogs.modalHolder" %>
<asp:Content ContentPlaceHolderID="head" runat="server">
<style type="text/css">
body{
border: 0px;
height: 100%;
margin: 0px;
padding: 0px;
}
</style>
</asp:Content>
<asp:Content ContentPlaceHolderID="body" runat="server">
<iframe frameborder="1" src="<%=umbraco.helper.Request("url")%>?<%=umbraco.helper.Request("params").Replace("|", "&")%>" scrolling="auto" width="100%" height="100%"></iframe>
</asp:Content>
@@ -1,43 +0,0 @@
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace umbraco.dialogs
{
/// <summary>
/// Summary description for modalHolder.
/// </summary>
public partial class modalHolder : System.Web.UI.Page
{
protected void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
}
#endregion
}
}
@@ -1,16 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.3053
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace umbraco.dialogs {
public partial class modalHolder {
}
}
@@ -1,59 +0,0 @@
<%@ Page language="c#" Codebehind="paste.aspx.cs" AutoEventWireup="True" Inherits="umbraco.dialogs.paste" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html>
<head>
<title>umbraco :: <%=umbraco.ui.Text("defaultdialogs", "paste", this.getUser())%> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name=vs_defaultClientScript content="JavaScript">
<meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
<LINK href="../css/umbracoGui.css" type="text/css" rel="stylesheet">
<style>body {margin: 2px;}</style>
<SCRIPT LANGUAGE="JavaScript">
<!--
function returnPasteValue()
{
for (var i=0;i<document.forms[0].length;i++) {
if(document.forms[0][i].name = "action") {
if (document.forms[0][i].checked) {
window.returnValue = document.forms[0][i].value;
break;
}
}
}
window.close();
}
function doSubmit() {returnPasteValue();}
var functionsFrame = this;
var tabFrame = this;
var isDialog = true;
var submitOnEnter = true;
-->
</script>
<script type="text/javascript" src="../js/umbracoCheckKeys.js"></script>
</head>
<body MS_POSITIONING="GridLayout">
<h3><%=umbraco.ui.Text("defaultdialogs", "paste", this.getUser())%></h3>
<form method="post">
<TABLE WIDTH="100%" CELLPADDING=4 CELLSPACING=0 class="propertyPane">
<tr><td colspan="2" class="propertyHeader">
<span style="color: #666">
<%=umbraco.ui.Text("paste", "errorMessage", this.getUser())%><br/><br/></span>
<input type="radio" name="action" id="removeSpecial" value="removeSpecial" checked> <label for="removeSpecial"><%=umbraco.ui.Text("paste", "removeSpecialFormattering", this.getUser())%></label><br/>
<input type="radio" name="action" id="removeAll" value="removeAll"> <label for="removeAll"><%=umbraco.ui.Text("paste", "removeAll", this.getUser())%></label><br/>
<input type="radio" name="action" id="doNothing" value="doNothing"> <label for="doNothing"><%=umbraco.ui.Text("paste", "doNothing", this.getUser())%></label><br/>
<br/>
<input type="button" class="guiInputButton" onClick="returnPasteValue()" value="<%=umbraco.ui.Text("general", "ok", this.getUser())%>">
</td>
</tr>
</table><br />
</form>
</body>
</html>
@@ -1,43 +0,0 @@
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace umbraco.dialogs
{
/// <summary>
/// Summary description for paste.
/// </summary>
public partial class paste : BasePages.UmbracoEnsuredPage
{
protected void Page_Load(object sender, System.EventArgs e)
{
// Put user code to initialize the page here
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
}
#endregion
}
}
@@ -1,16 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.3082
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace umbraco.dialogs {
public partial class paste {
}
}
@@ -1,42 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="ResMimeType">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="Version">
<value>1.0.0.0</value>
</resheader>
<resheader name="Reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="Writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 90 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 124 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 438 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 281 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 409 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 409 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 330 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 596 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 549 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 540 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 540 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 574 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 197 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 589 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 158 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 201 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 574 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 590 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 586 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 182 B

Some files were not shown because too many files have changed in this diff Show More