| 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
|---|
| 2 | <!-- |
|---|
| 3 | * FCKeditor - The text editor for Internet - http://www.fckeditor.net |
|---|
| 4 | * Copyright (C) 2003-2007 Frederico Caldeira Knabben |
|---|
| 5 | * |
|---|
| 6 | * == BEGIN LICENSE == |
|---|
| 7 | * |
|---|
| 8 | * Licensed under the terms of any of the following licenses at your |
|---|
| 9 | * choice: |
|---|
| 10 | * |
|---|
| 11 | * - GNU General Public License Version 2 or later (the "GPL") |
|---|
| 12 | * http://www.gnu.org/licenses/gpl.html |
|---|
| 13 | * |
|---|
| 14 | * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") |
|---|
| 15 | * http://www.gnu.org/licenses/lgpl.html |
|---|
| 16 | * |
|---|
| 17 | * - Mozilla Public License Version 1.1 or later (the "MPL") |
|---|
| 18 | * http://www.mozilla.org/MPL/MPL-1.1.html |
|---|
| 19 | * |
|---|
| 20 | * == END LICENSE == |
|---|
| 21 | * |
|---|
| 22 | * Link dialog window. |
|---|
| 23 | --> |
|---|
| 24 | <html> |
|---|
| 25 | <head> |
|---|
| 26 | <title>Template Properties</title> |
|---|
| 27 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
|---|
| 28 | <meta name="robots" content="noindex, nofollow" /> |
|---|
| 29 | <script src="common/fck_dialog_common.js" type="text/javascript"></script> |
|---|
| 30 | <link href="common/fck_dialog_common.css" rel="stylesheet" type="text/css" /> |
|---|
| 31 | <script type="text/javascript"> |
|---|
| 32 | |
|---|
| 33 | var oEditor = window.parent.InnerDialogLoaded() ; |
|---|
| 34 | var FCK = oEditor.FCK ; |
|---|
| 35 | var FCKLang = oEditor.FCKLang ; |
|---|
| 36 | var FCKConfig = oEditor.FCKConfig ; |
|---|
| 37 | var FCKRegexLib = oEditor.FCKRegexLib ; |
|---|
| 38 | var FCKTools = oEditor.FCKTools ; |
|---|
| 39 | |
|---|
| 40 | document.write( '<script src="' + FCKConfig.BasePath + 'dialog/common/fck_dialog_common.js" type="text/javascript"><\/script>' ) ; |
|---|
| 41 | |
|---|
| 42 | </script> |
|---|
| 43 | <script type="text/javascript"> |
|---|
| 44 | |
|---|
| 45 | //#### Dialog Tabs |
|---|
| 46 | |
|---|
| 47 | // Set the dialog tabs. |
|---|
| 48 | window.parent.AddTab( 'Edit', 'Edit' ) ; |
|---|
| 49 | window.parent.AddTab( 'Manual', 'Manual' ) ; |
|---|
| 50 | |
|---|
| 51 | function OnDialogTabChange( tabCode ) |
|---|
| 52 | { |
|---|
| 53 | ShowE('divEdit' , ( tabCode == 'Edit' ) ) ; |
|---|
| 54 | ShowE('divManual' , ( tabCode == 'Manual' ) ) ; |
|---|
| 55 | } |
|---|
| 56 | |
|---|
| 57 | // Get the selected flash embed (if available). |
|---|
| 58 | var oFakeImage = FCK.Selection.GetSelectedElement() ; |
|---|
| 59 | var oTemplateSpan ; |
|---|
| 60 | |
|---|
| 61 | if ( oFakeImage ) |
|---|
| 62 | { |
|---|
| 63 | if ( oFakeImage.tagName == 'IMG' && oFakeImage.getAttribute('_fck_mw_template') ) |
|---|
| 64 | oTemplateSpan = FCK.GetRealElement( oFakeImage ) ; |
|---|
| 65 | else |
|---|
| 66 | oFakeImage = null ; |
|---|
| 67 | } |
|---|
| 68 | |
|---|
| 69 | window.onload = function() |
|---|
| 70 | { |
|---|
| 71 | // Translate the dialog box texts. |
|---|
| 72 | oEditor.FCKLanguageManager.TranslatePage(document) ; |
|---|
| 73 | |
|---|
| 74 | // Load the selected link information (if any). |
|---|
| 75 | LoadSelection() ; |
|---|
| 76 | |
|---|
| 77 | // Activate the "OK" button. |
|---|
| 78 | window.parent.SetOkButton( true ) ; |
|---|
| 79 | window.parent.SetAutoSize( true ) ; |
|---|
| 80 | } |
|---|
| 81 | |
|---|
| 82 | function LoadSearchResults( result ) |
|---|
| 83 | { |
|---|
| 84 | var results = result.responseText.Trim().split( '\n' ) ; |
|---|
| 85 | var select = GetE( 'xWikiResults' ) ; |
|---|
| 86 | |
|---|
| 87 | if ( results.length > 0 && !( results.length == 1 && results[0].length == 0 ) ) |
|---|
| 88 | { |
|---|
| 89 | for ( var i = 0 ; i < results.length ; i++ ) |
|---|
| 90 | FCKTools.AddSelectOption( select, 'Template:' + results[i], results[i] ) ; |
|---|
| 91 | } |
|---|
| 92 | } |
|---|
| 93 | |
|---|
| 94 | function LoadSelection() |
|---|
| 95 | { |
|---|
| 96 | // Make an Ajax search for the pages. |
|---|
| 97 | var empty = ''; |
|---|
| 98 | oEditor.window.parent.sajax_request_type = 'GET' ; |
|---|
| 99 | oEditor.window.parent.sajax_do_call( 'wfSajaxSearchTemplateFCKeditor',[empty], LoadSearchResults ) ; |
|---|
| 100 | |
|---|
| 101 | if ( !oTemplateSpan ) return ; |
|---|
| 102 | |
|---|
| 103 | var inputText = FCKTools.HTMLDecode(oTemplateSpan.innerHTML); |
|---|
| 104 | if (inputText.length>0 && inputText.indexOf('{{#')<0 && inputText.indexOf('{{:')<0 ) |
|---|
| 105 | { |
|---|
| 106 | var templateName = inputText.substring(2,inputText.indexOf('fckLR')); |
|---|
| 107 | if (inputText.indexOf('fckLR')<1) |
|---|
| 108 | templateName = inputText.substring(2,inputText.indexOf('|')); |
|---|
| 109 | if (inputText.indexOf('|')<1) |
|---|
| 110 | templateName = inputText.substring(2,inputText.indexOf('}}')); |
|---|
| 111 | |
|---|
| 112 | SetUrl(templateName.charAt(0).toUpperCase() + templateName.substr(1)); |
|---|
| 113 | } |
|---|
| 114 | GetE('xTemplateRaw').value = inputText.replace(/fckLR/g,'\r\n').replace( /"/g, '"' ) ; |
|---|
| 115 | } |
|---|
| 116 | |
|---|
| 117 | function SetUrl(link) |
|---|
| 118 | { |
|---|
| 119 | var urlTemplate = '/wiki/index.php?title=Template:' + link + '&printable=yes'; |
|---|
| 120 | SetAttribute(GetE('xTemplateManual'),'src',urlTemplate); |
|---|
| 121 | } |
|---|
| 122 | |
|---|
| 123 | //#### The OK button was hit. |
|---|
| 124 | function Ok() |
|---|
| 125 | { |
|---|
| 126 | if ( !oTemplateSpan ) |
|---|
| 127 | { |
|---|
| 128 | oTemplateSpan = FCK.EditorDocument.createElement( 'SPAN' ) ; |
|---|
| 129 | oTemplateSpan.className = 'fck_mw_template' ; |
|---|
| 130 | } |
|---|
| 131 | |
|---|
| 132 | var templateData = FCKTools.HTMLEncode(GetE('xTemplateRaw').value.Trim().replace(/(\r\n|\n)/g, 'fckLR')).replace( /"/g, '"' ) ; |
|---|
| 133 | |
|---|
| 134 | if ( !( /^{{[\s\S]+}}$/.test( templateData ) ) ) |
|---|
| 135 | { |
|---|
| 136 | alert( 'Templates must start with {{ and end with }}. Please check it.' ) ; |
|---|
| 137 | return false ; |
|---|
| 138 | } |
|---|
| 139 | |
|---|
| 140 | oTemplateSpan.innerHTML = templateData ; |
|---|
| 141 | |
|---|
| 142 | if ( !oFakeImage ) |
|---|
| 143 | { |
|---|
| 144 | oFakeImage = oEditor.FCKDocumentProcessor_CreateFakeImage( 'FCK__MWTemplate', oTemplateSpan ) ; |
|---|
| 145 | oFakeImage.setAttribute( '_fck_mw_template', 'true', 0 ) ; |
|---|
| 146 | oFakeImage = FCK.InsertElement( oFakeImage ) ; |
|---|
| 147 | } |
|---|
| 148 | |
|---|
| 149 | //GetE('xTestSpan').innerHTML = GetE('xTemplateRaw').value.Trim().replace( /"/g, '"' ).replace(/(\r\n|\n)/g, '___') ; |
|---|
| 150 | return true ; |
|---|
| 151 | } |
|---|
| 152 | |
|---|
| 153 | </script> |
|---|
| 154 | </head> |
|---|
| 155 | <body style="overflow: hidden"> |
|---|
| 156 | <div id="divEdit"> |
|---|
| 157 | <table cellpadding="0" cellspacing="0" border="0" width="100%" height="100%"> |
|---|
| 158 | <tr> |
|---|
| 159 | <td> |
|---|
| 160 | <span>Template raw definition (from {{ to }})</span><br /> |
|---|
| 161 | </td> |
|---|
| 162 | </tr> |
|---|
| 163 | <tr> |
|---|
| 164 | <td height="100%"> |
|---|
| 165 | <textarea id="xTemplateRaw" style="width: 100%; height: 100%; font-family: Monospace" |
|---|
| 166 | cols="50" rows="10" wrap="off"></textarea> |
|---|
| 167 | </td> |
|---|
| 168 | </tr> |
|---|
| 169 | <tr> |
|---|
| 170 | <td> |
|---|
| 171 | <span id="xTestSpan" class="fck_mw_template"></span> |
|---|
| 172 | </td> |
|---|
| 173 | </tr> |
|---|
| 174 | </table> |
|---|
| 175 | </div> |
|---|
| 176 | <div id="divManual" style="display: none"> |
|---|
| 177 | <table cellpadding="0" cellspacing="0" border="0" width="100%" height="100%"> |
|---|
| 178 | <tr> |
|---|
| 179 | <select id="xWikiResults" style="width: 100%;" onchange="SetUrl( this.value );"> |
|---|
| 180 | <option value=""><Pick up a template manual here></option> |
|---|
| 181 | </select> |
|---|
| 182 | </tr> |
|---|
| 183 | <tr> |
|---|
| 184 | <td> |
|---|
| 185 | <iframe id="xTemplateManual" width="100%" scrolling="yes" height="100%" src=""></iframe> |
|---|
| 186 | </td> |
|---|
| 187 | </tr> |
|---|
| 188 | </table> |
|---|
| 189 | </div> |
|---|
| 190 | </body> |
|---|
| 191 | </html> |
|---|