Compare commits
840 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 00a625fb7f | |||
| e9ae11ff2b | |||
| bd4e6eaa62 | |||
| b2e4489e66 | |||
| d27e32e918 | |||
| 3a6dae9d0d | |||
| 9f95c48242 | |||
| e2934bb036 | |||
| 664a0ff4ec | |||
| 715f0ddac1 | |||
| 4d5f142a30 | |||
| f4dc045561 | |||
| ca55372f89 | |||
| 29c96c2c64 | |||
| 1a969d76e1 | |||
| fba31a0a6a | |||
| 5132d66924 | |||
| 36f367f9d6 | |||
| 67d9e578f5 | |||
| 306f0f9679 | |||
| b9d53ceac8 | |||
| 1bceb746fa | |||
| d390a4c0a9 | |||
| e4f8b5c586 | |||
| 869915f991 | |||
| 0cb4a9ad9c | |||
| 8c7dbd7207 | |||
| 0110cf01f2 | |||
| fee1a0dd9e | |||
| 315e8b27a0 | |||
| fb0c9c3fbb | |||
| f80fa2f373 | |||
| 55ac779bf2 | |||
| f8732cd70b | |||
| ff5c5c8a03 | |||
| 7df9921441 | |||
| 329431e6df | |||
| 292ded852e | |||
| a4a9b26d93 | |||
| e4d4aa935a | |||
| b337f4e5e4 | |||
| 6f5689004d | |||
| ed5a0be20e | |||
| 4e82d282bf | |||
| fe003edd02 | |||
| 17f326dc89 | |||
| 2c38f7ce7f | |||
| 3ba31cc82c | |||
| e502ce4ff9 | |||
| 8fff66dcb7 | |||
| bc47e0c4a6 | |||
| 85c110bad5 | |||
| 8866607582 | |||
| 0db6c2cc11 | |||
| c3795d7e5a | |||
| 36eea348ba | |||
| be3f95610b | |||
| f9aa4b28af | |||
| 232c2292cb | |||
| 80dca1e3f2 | |||
| 47b6f7f4d5 | |||
| 03af54b1d5 | |||
| bbd62f20a9 | |||
| 9738227189 | |||
| 6bf3a7a74a | |||
| 07f8f79620 | |||
| f0690ec55f | |||
| e4bfccf974 | |||
| 51d08a353c | |||
| 982825dd56 | |||
| c8c4e2437b | |||
| 1970b20eb9 | |||
| a5499cff26 | |||
| d9c37a03b9 | |||
| e17b93bcfe | |||
| 6ffc231be0 | |||
| 99d8aca0c5 | |||
| 3c2ac0e90e | |||
| 7af10e3b67 | |||
| 62a48df421 | |||
| f146b8f6af | |||
| 946f905885 | |||
| 707eca930f | |||
| e4a002c976 | |||
| e731afadc9 | |||
| a006a480f7 | |||
| 674923468d | |||
| afafcfbb7a | |||
| c489d910b8 | |||
| 6e226ef995 | |||
| 0b1c479428 | |||
| 3f2ca8a823 | |||
| 78d57e89d5 | |||
| d9049864f3 | |||
| 21632d2ffc | |||
| da3d20a5bb | |||
| c0f0dcca3a | |||
| 22f7d8797c | |||
| 25da44825e | |||
| 55d4a7e367 | |||
| 33e73ab965 | |||
| 05db49c66d | |||
| 4cf2035039 | |||
| 27f059bf58 | |||
| aee8730315 | |||
| b517d59bee | |||
| e4f3081da2 | |||
| 5cca506d20 | |||
| e3f9375fd2 | |||
| cbd8085675 | |||
| a9d6c7872a | |||
| d4d4272b1b | |||
| e9aef79747 | |||
| 3b5a1ddcdd | |||
| 14ad9f571c | |||
| 258d19df22 | |||
| 8261fa2aea | |||
| c434790b2f | |||
| 4397319ac3 | |||
| 7309c7c02f | |||
| 12e9ab050a | |||
| d0fd7c1374 | |||
| f7ccad4269 | |||
| 1bf20b9c97 | |||
| f03d861942 | |||
| c0eb3e256b | |||
| 41d7571e29 | |||
| c2f420be7a | |||
| b0e083e8fc | |||
| 04197a5900 | |||
| d2fd02315a | |||
| f654c67540 | |||
| 9b28214c3e | |||
| 6a665efd7e | |||
| 5aee883bd2 | |||
| c0f7493e70 | |||
| 7d8524dd55 | |||
| 4c667a6a3e | |||
| ce06a30e64 | |||
| 1be891d05f | |||
| e85f594b84 | |||
| a3278be3fe | |||
| 90aa8c3b5a | |||
| ea217edaae | |||
| 3cf9a45724 | |||
| 38fc6c980d | |||
| cc34208871 | |||
| 6f778c26d1 | |||
| 29b978c1cd | |||
| 346a2d4fc9 | |||
| 02cc7e69ec | |||
| acb66f45ac | |||
| 487fdea34e | |||
| 0e0c4fcb1f | |||
| f7868b2cf1 | |||
| 0368f2846e | |||
| ee94652a0c | |||
| a1da12f033 | |||
| ea406d2d7c | |||
| 093a33e495 | |||
| 7a4ccc825d | |||
| a22efcdb2b | |||
| 1b71c66256 | |||
| f6c51205fc | |||
| d45b5a3139 | |||
| 15dd774229 | |||
| b248604c0f | |||
| f01a195369 | |||
| 75af1e9d7c | |||
| 689fe2a44f | |||
| 06519ab238 | |||
| 65d5bc9155 | |||
| a3b87a1d8b | |||
| b6f7d99039 | |||
| c1aa60c1ac | |||
| a2988a30c0 | |||
| 23f2382947 | |||
| 4d94909782 | |||
| 422a2a685c | |||
| c4f1235f0b | |||
| ce4828d678 | |||
| 8e914e751c | |||
| 7fefde4c8a | |||
| 29614d6b03 | |||
| 16b47539b4 | |||
| 83c53333c6 | |||
| 77db6cad01 | |||
| a10daaab52 | |||
| 3ddb9785c7 | |||
| 585eea1c6b | |||
| 10095a4ee7 | |||
| 8f4ccc53d5 | |||
| f04db8c52c | |||
| e2283c2310 | |||
| 635f09fb75 | |||
| 9022894d23 | |||
| 747675816d | |||
| 2833a8c5c7 | |||
| 75a686bc07 | |||
| 76a521dd8b | |||
| 8fa36f3f22 | |||
| 18aef90017 | |||
| 82bb410f4f | |||
| caa937a4ef | |||
| d7103a3b83 | |||
| e555520ddf | |||
| ed3f715988 | |||
| 26aca92337 | |||
| 406e3663f6 | |||
| 775b2192ff | |||
| 458de6296e | |||
| b55ce96d85 | |||
| 8ae867389d | |||
| 5fc3d8e248 | |||
| 227d910722 | |||
| a356552d2d | |||
| 5c6a595e48 | |||
| c1cfcaf9ea | |||
| 40a413cd70 | |||
| c7c10b8ab6 | |||
| 2da0728b78 | |||
| a71f3f8412 | |||
| b21423efe2 | |||
| 5895858e6e | |||
| cd38123fbd | |||
| 842d7120e6 | |||
| cae2183ab4 | |||
| 07e75dab15 | |||
| 5cebbd8a91 | |||
| db59b08f58 | |||
| 2b2c75f5e4 | |||
| 8c7b06fe2b | |||
| 540db7137a | |||
| 079aae7e63 | |||
| 6183e01642 | |||
| cf91933791 | |||
| d10c3a960f | |||
| 4d6d89dbe7 | |||
| 9e113564fa | |||
| f8848086fd | |||
| 261a6af60a | |||
| c66d70fbd8 | |||
| e8c7af8b25 | |||
| 8804d912f2 | |||
| 54e5140d6a | |||
| c0102f1c71 | |||
| 831d1966dc | |||
| ef5525e67f | |||
| f3e04ac871 | |||
| ba98f587b2 | |||
| 2753dbe5b4 | |||
| 56c93891a8 | |||
| 6bd005775d | |||
| 73c79e8528 | |||
| 827d4dd6c0 | |||
| ffd14c839b | |||
| f8d8b767b8 | |||
| 4f011e0390 | |||
| 053df24640 | |||
| 45c335702d | |||
| bc04d4f8da | |||
| be5076783f | |||
| 5c20f4f6ec | |||
| 42da98e020 | |||
| eeb305c740 | |||
| c19541cb11 | |||
| dea22f22cb | |||
| 656c61d1e2 | |||
| bac038b82d | |||
| dd6d0e380e | |||
| b40dbf73ca | |||
| 0808665342 | |||
| 7623746f64 | |||
| 3152427ff7 | |||
| 85e88e5640 | |||
| ea3d2f893f | |||
| 3cddc5e4dc | |||
| 8cd49749ec | |||
| e45bf57632 | |||
| 3e99dd0d55 | |||
| be2ed3762b | |||
| e3abd49276 | |||
| d76f6c1cdb | |||
| 840109dc58 | |||
| 1aebce7ad6 | |||
| 11fd6553e9 | |||
| 690c4a165c | |||
| 8fb159ddc2 | |||
| b3ca264af1 | |||
| 34e71027b3 | |||
| 926427ff68 | |||
| abe4944843 | |||
| 5f12767f48 | |||
| 04e0b35c7d | |||
| d82cbfccc5 | |||
| 3ed1b4c77d | |||
| 6c4869f931 | |||
| b0e336e01f | |||
| 05bdd42567 | |||
| d8c2a71531 | |||
| a469e3dbe3 | |||
| b8b951f094 | |||
| c409cfa421 | |||
| 9f7814591e | |||
| 2c995f7fa7 | |||
| 7e5db90b3b | |||
| f7f83bc057 | |||
| 530e7ae44e | |||
| 126044cd48 | |||
| f76e90990f | |||
| 587542ace7 | |||
| d3676b376d | |||
| 53a3ad24e6 | |||
| 05add96294 | |||
| 9b5fd3d67b | |||
| 5ece0b5af0 | |||
| 332b42aa49 | |||
| 97472c6ce6 | |||
| 48a3a920d2 | |||
| 7b7e3b82f1 | |||
| 0b7f04ab37 | |||
| 083b18139a | |||
| 1bc3943f33 | |||
| 449613de3e | |||
| 7d8ec2678c | |||
| 12c0ce258b | |||
| 42317ec207 | |||
| 343c14db48 | |||
| 2fcb9d7b30 | |||
| ccbcb991b1 | |||
| 33f4da875a | |||
| 0549e39a00 | |||
| 6fb0fc643b | |||
| 8824579dac | |||
| 94b6a9df8d | |||
| cb8a8b997f | |||
| fe99c22022 | |||
| 0225047a52 | |||
| d89a24d96b | |||
| c5535ddbc2 | |||
| 3a21d48dbc | |||
| ea8ff709c2 | |||
| eb9937c33a | |||
| 777c7dd683 | |||
| 10963fe3c4 | |||
| 3e5d684333 | |||
| 6a9b2b260b | |||
| 7a38d7f845 | |||
| 745707dc4b | |||
| 1f4ceaa75c | |||
| a16f28eb26 | |||
| fa36ff3662 | |||
| ae4cb00bbc | |||
| fd166389c4 | |||
| a48b996571 | |||
| 6e4929b84d | |||
| f912d465c5 | |||
| 3e292b77ad | |||
| dc000ea33c | |||
| aaa8cafd0b | |||
| ce0923cfc6 | |||
| 7473557580 | |||
| 982ba0f4b0 | |||
| 278c1fefaa | |||
| 71b2137513 | |||
| 2952992ffe | |||
| 0dbd214b00 | |||
| 90ca566e53 | |||
| aa633bbbb2 | |||
| 2c204d9d9e | |||
| 8307da1a87 | |||
| d339f74e95 | |||
| 59fe173933 | |||
| ca55579982 | |||
| b5099c37c7 | |||
| 2826fbd807 | |||
| b5d209677e | |||
| b15d03a54d | |||
| 247aa08d57 | |||
| 394078d470 | |||
| 91834e8f53 | |||
| 201bc2d1ab | |||
| 29ed7bf8ae | |||
| 26f32bab8e | |||
| 1566b16f0f | |||
| 0a8b1cc784 | |||
| c441887a96 | |||
| 32d76cc143 | |||
| 4340df53fd | |||
| f6c6f4f0c0 | |||
| 18713fe513 | |||
| a1edad4e08 | |||
| 1c040912f6 | |||
| 458f1d3b8f | |||
| 9e5f2f3c9a | |||
| f6022c8dda | |||
| 0ed15db408 | |||
| c742c6c249 | |||
| b06a4d2e13 | |||
| 89cd2772dc | |||
| 48c69b9335 | |||
| e8d6f694e7 | |||
| 253b58aafb | |||
| a864fc1fe8 | |||
| 8a5cd21603 | |||
| f2a7b3b255 | |||
| d5ca5e32b4 | |||
| 37969909ca | |||
| fe92947d72 | |||
| b9165a8b70 | |||
| 27bcea78d2 | |||
| ce9be79ec6 | |||
| d83887e314 | |||
| 59fa733156 | |||
| 534c28046a | |||
| 4056b47d32 | |||
| 1581944661 | |||
| 5e9d791523 | |||
| 9127061194 | |||
| 9563526108 | |||
| 61d7dba2c0 | |||
| e0093d69f1 | |||
| af6693bb5a | |||
| 0a37b90592 | |||
| fa33563a36 | |||
| acc985d1d9 | |||
| 1b25920507 | |||
| 12c92aedcc | |||
| 70a814a20c | |||
| 874faf6f83 | |||
| 040d09ec42 | |||
| 73c5451ff7 | |||
| 03865ba978 | |||
| 8692d0777f | |||
| 422d9a14b2 | |||
| 36ad275037 | |||
| 2ec35aa0fa | |||
| fff09caebf | |||
| 0e2bc2bc13 | |||
| 2a6fc37dce | |||
| 4e9783ed91 | |||
| 8081d1d97b | |||
| ae1eac4a7a | |||
| a91d17d8b0 | |||
| b43a774d7f | |||
| 71b9691431 | |||
| 36c6dbb6be | |||
| 56b7f8d98b | |||
| bba5e6a59a | |||
| 4dc181b4de | |||
| 792860a7bb | |||
| 4d101a3a58 | |||
| 8bab9d7fa5 | |||
| 0413b1fbca | |||
| 2089990769 | |||
| 9843e2e15d | |||
| 25721afcf4 | |||
| cd75b4b1c9 | |||
| 30377f987f | |||
| 644c42556b | |||
| 7eea48a55d | |||
| 062584de0e | |||
| 57f9bd2846 | |||
| 673e040aa3 | |||
| f486ff6441 | |||
| 73c6aaa995 | |||
| f0dc50d406 | |||
| 4e737f7a89 | |||
| c98f29d462 | |||
| 5beee157a5 | |||
| 9171a0d080 | |||
| 6aeaa4ae92 | |||
| c345b9f47c | |||
| 99cf1e9f6d | |||
| 7259ad1ff1 | |||
| 7dfeae1d0e | |||
| 1121cfe534 | |||
| a68c7e8f83 | |||
| dd89af607f | |||
| e6c2bf3d01 | |||
| 917838c0ef | |||
| 68e96587f7 | |||
| c3747d70ce | |||
| 2fc0fe574b | |||
| a293f53438 | |||
| 85b7574f43 | |||
| c961eb368c | |||
| 529c52844d | |||
| 6949178f4b | |||
| 30ec9406de | |||
| 2be79d68cd | |||
| 914f639afe | |||
| 591a19920f | |||
| 0676d9fa7a | |||
| aa8f066f9a | |||
| 3e3789d468 | |||
| 85dcf5002f | |||
| be0d843c86 | |||
| 67c1435fb0 | |||
| 85f7ed387f | |||
| f32f559ab7 | |||
| b75ea3d589 | |||
| 06e84f4a98 | |||
| 96f582f188 | |||
| 04f49d42cf | |||
| f0148ae833 | |||
| 4ced9cf8b2 | |||
| d0ab7e505d | |||
| b511ae3a1a | |||
| 85d7d5e7cf | |||
| 05ebc8d2f9 | |||
| b86d513aff | |||
| c251c9f0d3 | |||
| 7be4480254 | |||
| 3cd1592abc | |||
| bc3a5122dd | |||
| 4d2b145369 | |||
| 32350fd35a | |||
| a922272c67 | |||
| 3c7b5d7522 | |||
| 33c07a2390 | |||
| d2210e9985 | |||
| 48e8e12877 | |||
| 2b248e621c | |||
| edfe6ed547 | |||
| 6cffa06bd6 | |||
| d08946c822 | |||
| 6892c1afb8 | |||
| 7cecb01ffd | |||
| 66cbfaf8a5 | |||
| 38d3d6b575 | |||
| 528b06f692 | |||
| 92602e3480 | |||
| f18e59575f | |||
| 64c9d97e53 | |||
| 71fd352ea5 | |||
| fbd20fd4b1 | |||
| b0f77a38f0 | |||
| bf5c3bf5ae | |||
| e9e598d32c | |||
| b2eeb6a70d | |||
| 9e4cf35370 | |||
| ebd87e0eaa | |||
| d369567f3f | |||
| ba0b0ea52d | |||
| f36a88384d | |||
| 7fb89da4db | |||
| 19f7ba1ef4 | |||
| 23532b0ec8 | |||
| 47042ed3d3 | |||
| 0c57e0e6eb | |||
| ace18acd7e | |||
| b91fa1a8f2 | |||
| 7a84761810 | |||
| 18200aa997 | |||
| bd0ebeb092 | |||
| 358610655b | |||
| fa3f79c0e4 | |||
| d25fae730d | |||
| 5b150c74ac | |||
| 83fcdcfd86 | |||
| bd058d649a | |||
| ec638b9c3e | |||
| 7b4bf6e502 | |||
| d7f8214d24 | |||
| 22c0350a4a | |||
| 3222d39808 | |||
| 33c339a724 | |||
| e9c793cede | |||
| 1cbd355a2a | |||
| bee73cce12 | |||
| f5d258b42d | |||
| c1278674c3 | |||
| 605e66c159 | |||
| b86bbb0e82 | |||
| 930dd74edb | |||
| d30b5b0b2c | |||
| 8e785cc215 | |||
| efe0970245 | |||
| 15264d36f0 | |||
| 298e06974e | |||
| 91acf40b3b | |||
| 085f4a4fcf | |||
| 3e2510cbda | |||
| 2775d9bedc | |||
| 7afbc8e7bf | |||
| 3a2ed918de | |||
| 847b3523a8 | |||
| 72ac3532d2 | |||
| e24e3af955 | |||
| 3180b5c5b6 | |||
| 480f73dba7 | |||
| 56a13c5e0c | |||
| 7175860ae0 | |||
| 9177257952 | |||
| 3da387591d | |||
| 5213d6de5c | |||
| bd5182792e | |||
| b057b6d68a | |||
| 0bc1234a4e | |||
| 8b76f2a893 | |||
| 943e53f655 | |||
| 9846d6dc4d | |||
| 4e9f9b77f4 | |||
| 91e9392992 | |||
| 6093e4ff5e | |||
| 2f4a18087d | |||
| f52ae8c46b | |||
| ce53f400a8 | |||
| b9b24990b6 | |||
| b596b3584e | |||
| 05f8778e40 | |||
| ed4de4465f | |||
| 766a834f53 | |||
| 546b53f9b0 | |||
| e2274b7892 | |||
| c11bc9559c | |||
| a581dc18c8 | |||
| cff0d9dfbf | |||
| b8f7ea50f7 | |||
| 13558b77dc | |||
| d15cc4308a | |||
| d95b688a7f | |||
| d329123cda | |||
| aceb5b0203 | |||
| 524244d1ec | |||
| ad291265f3 | |||
| d2ac9158c6 | |||
| 26671a405c | |||
| f6e59e0264 | |||
| 8afa6298e0 | |||
| a79d11aad7 | |||
| f6436d2eee | |||
| 813fcf5903 | |||
| c522ad6e30 | |||
| a858712bcc | |||
| e131011667 | |||
| 3415554142 | |||
| 61c4a9e68d | |||
| c4214a7ee9 | |||
| 3acfb2a9ea | |||
| bb4f4822d4 | |||
| 9531a3f37a | |||
| 28722be34c | |||
| 324c5474f2 | |||
| 39d0f95c2e | |||
| 7280dbc66e | |||
| 67e921f862 | |||
| e75aebc4fd | |||
| 2e5db72a09 | |||
| 739de3ef78 | |||
| 626b9ceefa | |||
| 4111298b00 | |||
| a47fd08ae5 | |||
| cd56882845 | |||
| 37ddb9223f | |||
| 44a15900c7 | |||
| ccd56f5594 | |||
| a989ea77ff | |||
| 493e5c7734 | |||
| f97c171a97 | |||
| c104121ff1 | |||
| 9e611ba8f4 | |||
| 6f8b016728 | |||
| d92d309c61 | |||
| 872ef1fadc | |||
| 9b8d40ee2d | |||
| d9eb8b426c | |||
| ef0d7821eb | |||
| b68bcba85e | |||
| fbf94bbf01 | |||
| 19205f1435 | |||
| 1e271455e8 | |||
| 1ad7abcd69 | |||
| 7a93c108fb | |||
| c8ac04228e | |||
| 11a6b2a31f | |||
| 58dec4774d | |||
| 7235141f02 | |||
| 32bef227b7 | |||
| 29ec45d9e2 | |||
| 082378815f | |||
| f8bdb42a63 | |||
| c5adb6a2e1 | |||
| 2a55868846 | |||
| 90fffd3216 | |||
| f6beeab813 | |||
| 3fe9a63957 | |||
| e43d4e4081 | |||
| 86be51f7ce | |||
| 5e720ec965 | |||
| 7a274bf429 | |||
| 11cf53d3ba | |||
| a539fd2554 | |||
| 8a192a0065 | |||
| 923f4f517f | |||
| d644b44d80 | |||
| 2115146fdb | |||
| 646e96ab15 | |||
| 4049a77332 | |||
| cabe37014b | |||
| 20fada8fd4 | |||
| dff3905e85 | |||
| c2ee1e63bb | |||
| d4806895a9 | |||
| bee357ffdc | |||
| a0a99e8f12 | |||
| 4368c8a015 | |||
| ddc2619511 | |||
| 69b3645e9c | |||
| 4e1e7fe657 | |||
| 2481a8df98 | |||
| 76c99d3f47 | |||
| 2fd8d17be9 | |||
| 5b8057f063 | |||
| c9a4b708aa | |||
| 2537925350 | |||
| 5a3534bc52 | |||
| 5da0445c32 | |||
| 352d817fc1 | |||
| e55e688dc7 | |||
| ec22d985ef | |||
| 3b6508e534 | |||
| 60ec172d37 | |||
| 95451e99a7 | |||
| 1aa70c4bb8 | |||
| 750f5b18d3 | |||
| b7cea05f18 | |||
| b226be4939 | |||
| 16127a378a | |||
| b09422ed5e | |||
| b186d5f8e4 | |||
| c4d578442b | |||
| 83f76ed4a4 | |||
| 6870ea3ff5 | |||
| 74dd444506 | |||
| 573c5a3387 | |||
| 872fb9d8f3 | |||
| da0217d330 | |||
| 507b6ab773 | |||
| 960dd52750 | |||
| 5576f65ef0 | |||
| 1823cce4f6 | |||
| 09a68f9376 | |||
| fffbd960c1 | |||
| 1700516148 | |||
| 3654070f2e | |||
| 5f95575141 | |||
| a3b091758c | |||
| 58fbe9f4ab | |||
| 92f983a569 | |||
| 8082abc27a | |||
| 373fdd324b | |||
| dbe43a0918 | |||
| a6b9aca45a | |||
| 1731ad45f5 | |||
| 32e8a1a5dc | |||
| 466d871ede | |||
| 25037ed9c8 | |||
| 53f6577b32 | |||
| a78b5f50dd | |||
| 15c5b5de57 | |||
| 62d6db935d | |||
| fec2e0eb6e | |||
| 0eefbdc610 | |||
| fe87f6b89f | |||
| a08c698c77 | |||
| 6b4fff176a | |||
| 908e8b40a2 | |||
| 514326adfe | |||
| ef0f8b5282 | |||
| 135bfc6d94 | |||
| 5fcd8b1d52 | |||
| 82ca2609ec | |||
| fdcc81003d | |||
| c51267136c | |||
| 9f60e49a32 | |||
| 74b8b4f147 | |||
| af7faa42d4 | |||
| 3546b3e954 | |||
| 705e06af46 | |||
| 533cc91a68 | |||
| 5fbf4379cc | |||
| d9faea49ec | |||
| 36e3857643 | |||
| fa469416a2 | |||
| c60abf747c | |||
| be51bfa67f | |||
| 8f278bcaa5 | |||
| 6c872e8a65 | |||
| 1b9e226f61 | |||
| 25b06a88ab | |||
| f2c084feda | |||
| f83ae489db | |||
| 00c18fe764 | |||
| ce90e114df | |||
| c205197683 | |||
| b13c16ddc2 | |||
| 8c9e19c0b7 | |||
| 14dd4fcd68 | |||
| d82bb9bff1 | |||
| 4b819c081e | |||
| c91ef375ba | |||
| 26315c1f92 | |||
| 82d8e2854a | |||
| 7e5f4c20bf | |||
| 6e459a3afb | |||
| 2e8ab316fe | |||
| c4760e0593 | |||
| 0f8797096d | |||
| 9a1935e6ea | |||
| 25bd7b8ad7 | |||
| 7ca29b87f3 | |||
| 9679d0f6df | |||
| 62f4db0b76 | |||
| 8046a778bd | |||
| 34b10f7499 | |||
| 23b2899101 | |||
| 6c8d72576c | |||
| 10f2d9b3ed | |||
| dfe512ead8 | |||
| ddbde6e15f | |||
| 96cc9a1f35 | |||
| 21203b8070 | |||
| 63d6b05460 | |||
| 0c9b239bd3 | |||
| 290f01ea3e | |||
| f0de2d3141 | |||
| b3aaef7d0e | |||
| f740cf50c2 | |||
| 9736e627c5 | |||
| a4bc45528a | |||
| 9a19106b22 | |||
| af992cccfe | |||
| 65af083996 | |||
| 6e77a09008 | |||
| f9a33b5471 | |||
| 09184041b7 | |||
| 1118e1e3fd | |||
| 6f64e480df |
@@ -27,12 +27,15 @@ umbraco\presentation\usercontrols\*
|
||||
umbraco\presentation\scripts\*
|
||||
umbraco\presentation\fonts\*
|
||||
umbraco\presentation\css\*
|
||||
glob:*App_Code\*
|
||||
glob:*App_Data\*
|
||||
glob:*media\*
|
||||
glob:*masterpages\*
|
||||
glob:*macroScripts\*
|
||||
glob:*xslt\*
|
||||
|
||||
src\Umbraco.Web.UI\css\*
|
||||
src\Umbraco.Web.UI\App_Code\*
|
||||
src\Umbraco.Web.UI\App_Data\*
|
||||
src\Umbraco.Tests\App_Data\*
|
||||
src\Umbraco.Web.UI\media\*
|
||||
src\Umbraco.Web.UI\masterpages\*
|
||||
src\Umbraco.Web.UI\macroScripts\*
|
||||
src\Umbraco.Web.UI\xslt\*
|
||||
|
||||
umbraco\presentation\umbraco\plugins\uComponents\uComponentsInstaller.ascx
|
||||
umbraco\presentation\packages\uComponents\MultiNodePicker\CustomTreeService.asmx
|
||||
@@ -41,3 +44,16 @@ _BuildOutput/*
|
||||
build/UmbracoCms.AllBinaries.zip
|
||||
build/UmbracoCms.WebPI.zip
|
||||
build/UmbracoCms.zip
|
||||
build/*.nupkg
|
||||
src/Umbraco.Tests/config/applications.config
|
||||
src/Umbraco.Tests/config/trees.config
|
||||
src/Umbraco.Web.UI/web.config
|
||||
*.orig
|
||||
src/Umbraco.Tests/config/404handlers.config
|
||||
src/Umbraco.Web.UI/Views/*.cshtml
|
||||
src/Umbraco.Web.UI/Views/*.vbhtml
|
||||
src/Umbraco.Tests/config/umbracoSettings.config
|
||||
src/Umbraco.Web.UI/App_Plugins/*
|
||||
src/Umbraco.Web.UI/Views/*
|
||||
|
||||
src\Umbraco.Web.UI\[W]eb.config
|
||||
@@ -7,3 +7,10 @@ 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
|
||||
de73e687ddf6086ed52b6554676c1632865d07f2 Release-4.9.0
|
||||
0000000000000000000000000000000000000000 Release-4.9.0
|
||||
0000000000000000000000000000000000000000 Release-4.9.0
|
||||
09f5a69cf19ebf7ddd9501e5258bee1e6a125391 Release-4.9.0
|
||||
|
||||
@@ -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("")]
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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>
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("umbraco.Juno")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Microsoft")]
|
||||
[assembly: AssemblyProduct("umbraco.Juno")]
|
||||
[assembly: AssemblyCopyright("Copyright © Microsoft 2010")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("6a24821f-2031-4e6b-af37-c045c9de9ce3")]
|
||||
|
||||
// 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 Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
@@ -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>
|
||||
@@ -1,19 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("umbraco.Legacy")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyProduct("umbraco.Legacy")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("3d5900ae-111a-45be-96b3-d9e4606ca793")]
|
||||
@@ -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;");
|
||||
|
||||
// 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>");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -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>");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 44 B |
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
|
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;
|
||||
}
|
||||
|
||||
@@ -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())%> </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">
|
||||
<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())%> </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())%>">
|
||||
<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())%> </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&isDialog=true&dialogMode=id&contextMenu=false\" style=\"LEFT: 9px; OVERFLOW: auto; WIDTH: 200px; POSITION: relative; TOP: 0px; HEIGHT: 250px; BACKGROUND-COLOR: white\"></iframe> <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())%> </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>
|
||||
<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&isDialog=true&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&isDialog=true&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())%> </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,"\&") + '&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,"\&") + '"/>';
|
||||
|
||||
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>
|
||||
</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> " + 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())%> </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>
|
||||
|
Before Width: | Height: | Size: 45 B |
|
Before Width: | Height: | Size: 90 B |
|
Before Width: | Height: | Size: 124 B |
|
Before Width: | Height: | Size: 438 B |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 281 B |
|
Before Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 205 B |
|
Before Width: | Height: | Size: 209 B |
|
Before Width: | Height: | Size: 409 B |
|
Before Width: | Height: | Size: 409 B |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 209 B |
|
Before Width: | Height: | Size: 330 B |
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 66 B |
|
Before Width: | Height: | Size: 67 B |
|
Before Width: | Height: | Size: 61 B |
|
Before Width: | Height: | Size: 66 B |
|
Before Width: | Height: | Size: 596 B |
|
Before Width: | Height: | Size: 549 B |
|
Before Width: | Height: | Size: 540 B |
|
Before Width: | Height: | Size: 540 B |
|
Before Width: | Height: | Size: 574 B |
|
Before Width: | Height: | Size: 197 B |
|
Before Width: | Height: | Size: 589 B |
|
Before Width: | Height: | Size: 158 B |
|
Before Width: | Height: | Size: 201 B |
|
Before Width: | Height: | Size: 208 B |
|
Before Width: | Height: | Size: 574 B |
|
Before Width: | Height: | Size: 590 B |
|
Before Width: | Height: | Size: 102 B |
|
Before Width: | Height: | Size: 57 B |
|
Before Width: | Height: | Size: 84 KiB |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 586 B |
|
Before Width: | Height: | Size: 149 B |