Try placing the code in a seperate file and referencing it in a single line. This works for me:
function renderRandomQuote( $input ) { $output = '<script type="text/javascript" src="http://www.chiefdelphi.com/forums/xml/spotlight_js.php"></script> <a href="http://www.chiefdelphi.com/" title="http://www.chiefdelphi.com/"><img src="http://furc.zapto.org/wiki/stylesheets/monobook/external.png"></a><span class="urlexpansion"> (<i>http://www.chiefdelphi.com/</i>)</span>'; return $output; }
(This is actually in use on "http://furc.zapto.org/wiki/", using the tag <randomquote>) I think the code that handles the output doesn't preserve things within <script> tags, but it will preserve attributes.
On Tue, 7 Dec 2004 13:26:19 +1300, Alistair Johnson johnsona@rembrandt.co.nz wrote:
Hi Jamie,
I have done exactly that, but to no avail - the code I have that is called by a custom tag <CalendarPopUp> is: function renderCalendarPopUp( $input ) { $output = "<pre>" . "<script language="JavaScript" type="text/JavaScript">\n<!--\nfunction popupEvent(ev, w, h) {\n var winl = (screen.width - w) / 2;\n var wint = (screen.height - h) / 2;\n win = window.open(\"/escal/popups/escalEV.php?ev=\" + ev + \"&readFile=1&readSQL=0\",\"ESCalendar\",\"scrollbars=yes,status=no,location =no,toolbar=no,menubar=no,directories=no,resizable=yes,width=\" + w + \",height=\" + h + \",top=\" + wint + \",left=\" + winl + \"\");\n if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }\n }\n//-->\n</script>" . "</pre>"; return $output; }
If I remove the <pre> </pre> tags from this code then when it is passed back to mediawiki it gets mangled as outlined below. Am I taking an incorrect approach?
Regards,
al.
-----Original Message----- From: Jamie Bliss [mailto:astronouth7303@gmail.com]
MediaWiki, for obvious security reasons, will treat scripts as random text (meaning it will mangle it). What you have to do is make a tag (say <popup>) that is translated by a simple extension into the needed code. so
<popup> is replaced by <script language="JavaScript" type="text/JavaScript"> <!-- function popupEvent(ev, w, h) { [code here] } //--> </script>
This is too protect wikis from more serious attacks than they already are.
johnsona@rembrandt.co.nz wrote:
We're using MediaWiki for a corporate Intranet and have developed a number of extensions which display dynamic data. I'm currently having a couple
of
problems integrating a php calendar (www.easilysimplecalendar.com/):
- I have to include the following code in the page:
<script language="JavaScript" type="text/JavaScript"> <!-- function popupEvent(ev, w, h) { [code here] } //--> </script>
However MediaWiki is converting this to:
<script language="JavaScript" type="text/JavaScript"> <p><!-- function popupEvent(ev, w, h) { </p> <pre> [code here] } </pre> <p>//--> </script>
</p>
If I manually wrap the code in the <pre> tags I can get it processed by MediaWiki in a non-mangled state, but then I end up with an ugly box on
the
screen:
|
Any idea how I can work around this problem? I'm probably missing
something
obvious ...
MediaWiki-l mailing list MediaWiki-l@Wikimedia.org http://mail.wikipedia.org/mailman/listinfo/mediawiki-l