typo
[lhc/web/wiklou.git] / includes / Skin.php
index 2e23733..1ac1d97 100644 (file)
@@ -63,6 +63,9 @@ class Skin {
        {
                return 'wikistandard.css';
        }
+       function getSkinName() {
+               return "standard";
+       }
 
        function qbSetting()
        {
@@ -152,20 +155,45 @@ class Skin {
        }
 
        function getHeadScripts() {
-               global $wgStylePath;
+               global $wgStylePath, $wgUser, $wgLang;
                $r = "<script type=\"text/javascript\" src=\"{$wgStylePath}/wikibits.js\"></script>\n";
+               if( $wgUser->getID() != 0 ) { # logged in       
+                       $userpage = $wgLang->getNsText( Namespace::getUser() ) . ":" . $wgUser->getName();
+                       $userjs = htmlspecialchars($this->makeUrl($userpage.'/'.$this->getSkinName().'.js', 'action=raw&ctype=text/javascript'));
+                       $r .= '<script type="text/javascript" src="'.$userjs."\"></script>\n";
+               }
                return $r;
        }
 
+       # get the user/site-specific stylesheet, SkinPHPTal called from RawPage.php (settings are cached that way)
+       function getUserStylesheet() {
+               global $wgOut, $wgStylePath, $wgLang, $wgUser, $wgRequest, $wgTitle;
+               $sheet = $this->getStylesheet();
+               $action = $wgRequest->getText('action');
+               $s = "@import \"$wgStylePath/$sheet\";\n";
+               if($wgLang->isRTL()) $s .= "@import \"$wgStylePath/common_rtl.css\";\n";
+               if( $wgUser->getID() != 0 ) { # logged in       
+                       if($wgTitle->isCssSubpage() and $action == 'submit' and  $wgTitle->userCanEditCssJsSubpage()) {
+                               $s .= $wgRequest->getText('wpTextbox1');
+                       } else {
+                               $userpage = $wgLang->getNsText( Namespace::getUser() ) . ":" . $wgUser->getName();
+                               $s.= '@import "'.$this->makeUrl($userpage.'/'.$this->getSkinName(), 'action=raw&ctype=text/css').'";'."\n";
+                       }
+               }
+               $s .= $this->doGetUserStyles();
+               return $s."\n"; 
+       }
+       # placeholder, returns generated js in monobook
+       function getUserJs() {
+               return;
+       }
+       
        function getUserStyles()
        {
                global $wgOut, $wgStylePath, $wgLang;
-               $sheet = $this->getStylesheet();
                $s = "<style type='text/css'>\n";
                $s .= "/*/*/\n"; # <-- Hide the styles from Netscape 4 without hiding them from IE/Mac
-               $s .= "@import url(\"$wgStylePath/$sheet\");\n";
-               if($wgLang->isRTL()) $s .= "@import url(\"$wgStylePath/common_rtl.css\");\n";
-               $s .= $this->doGetUserStyles();
+               $s .= $this->getUserStylesheet();
                $s .= "/* */\n";
                $s .= "</style>\n";
                return $s;
@@ -2107,9 +2135,9 @@ class Skin {
                $rci = 'RCI'.$this->rcCacheIndex ;
                $rcl = 'RCL'.$this->rcCacheIndex ;
                $rcm = 'RCM'.$this->rcCacheIndex ;
-               $toggleLink = 'javascript:toggleVisibility("'.$rci.'","'.$rcm.'","'.$rcl.'")' ;
+               $toggleLink = "javascript:toggleVisibility('$rci','$rcm','$rcl')" ;
                $arrowdir = $wgLang->isRTL() ? 'l' : 'r';
-               $tl  = '<span id="'.$rcm.'"><a href="'.$toggleLink.'"><img src="'.$wgStylePath.'"/images/Arr_'.$arrowdir.png.'" width="12" height="12" /></a></span>' ;
+               $tl  = '<span id="'.$rcm.'"><a href="'.$toggleLink.'"><img src="'.$wgStylePath.'/images/Arr_'.$arrowdir.'.png" width="12" height="12" /></a></span>' ;
                $tl .= '<span id="'.$rcl.'" style="display:none"><a href="'.$toggleLink.'"><img src="'.$wgStylePath.'/images/Arr_d.png" width="12" height="12" /></a></span>' ;
                $r .= $tl ;
 
@@ -2577,7 +2605,7 @@ class Skin {
                        return $head;
                }
                $url = $wgTitle->escapeLocalURL( 'action=edit&section='.$section );
-               return '<span oncontextmenu="document.location="'.$url.'";return false;">'.$head.'</span>';
+               return '<span oncontextmenu=\'document.location="'.$url.'";return false;\'>'.$head.'</span>';
        }
 
        function editSectionLink( $section ) {