Dotclear


Ignore:
Timestamp:
01/07/15 12:55:08 (11 years ago)
Author:
Dsls
Branch:
twig
Parents:
2715:a87ddf7dbfb5 (diff), 2910:69efb1571e90 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge with default

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • inc/admin/lib.dc.page.php

    r2650 r2911  
    1717{ 
    1818     private static $loaded_js = array(); 
     19     private static $xframe_loaded = false; 
    1920     private static $N_TYPES = array( 
    2021          "success" => "success",  
     
    5455 
    5556     # Top of admin page 
    56      public static function open($title='',$head='',$breadcrumb='') 
     57     public static function open($title='',$head='',$breadcrumb='',$options=array()) 
    5758     { 
    5859          global $core; 
     
    6667 
    6768               if ($core->auth->getBlogCount() > 20) { 
    68                     $blog_box .= ' - <a href="blogs.php">'.__('Change blog').'</a>'; 
     69                    $blog_box .= ' - <a href="'.$core->adminurl->get("admin.blogs").'">'.__('Change blog').'</a>'; 
    6970               } 
    7071               $blog_box .= '</p>'; 
     
    8990          # Display 
    9091          header('Content-Type: text/html; charset=UTF-8'); 
    91           echo 
    92           '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" '. 
    93           ' "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'."\n". 
    94           '<html xmlns="http://www.w3.org/1999/xhtml" '. 
    95           'xml:lang="'.$core->auth->getInfo('user_lang').'" '. 
    96           'lang="'.$core->auth->getInfo('user_lang').'">'."\n". 
     92 
     93          // Prevents Clickjacking as far as possible 
     94          if (isset($options['x-frame-allow'])) { 
     95               self::setXFrameOptions($options['x-frame-allow']); 
     96          } else { 
     97               self::setXFrameOptions(); 
     98          } 
     99          echo 
     100          '<!DOCTYPE html>'. 
     101          '<html lang="'.$core->auth->getInfo('user_lang').'">'."\n". 
    97102          "<head>\n". 
    98           '  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />'."\n". 
     103          '  <meta charset="UTF-8" />'."\n". 
    99104          '  <meta name="ROBOTS" content="NOARCHIVE,NOINDEX,NOFOLLOW" />'."\n". 
    100105          '  <meta name="GOOGLEBOT" content="NOSNIPPET" />'."\n". 
     
    137142          '<li><a href="#help">'.__('Go to help').'</a></li>'. 
    138143          '</ul>'."\n". 
    139           '<div id="header">'. 
    140           '<h1><a href="index.php"><span class="hidden">'.DC_VENDOR_NAME.'</span></a></h1>'."\n"; 
    141  
    142           echo 
    143           '<form action="index.php" method="post" id="top-info-blog">'. 
     144          '<div id="header" role="banner">'. 
     145          '<h1><a href="'.$core->adminurl->get("admin.home").'"><span class="hidden">'.DC_VENDOR_NAME.'</span></a></h1>'."\n"; 
     146 
     147          echo 
     148          '<form action="'.$core->adminurl->get("admin.home").'" method="post" id="top-info-blog">'. 
    144149          $blog_box. 
    145150          '<p><a href="'.$core->blog->url.'" class="outgoing" title="'.__('Go to site'). 
     
    147152          '</p></form>'. 
    148153          '<ul id="top-info-user">'. 
    149           '<li><a class="'.(preg_match('/index.php$/',$_SERVER['REQUEST_URI']) ? ' active' : '').'" href="index.php">'.__('My dashboard').'</a></li>'. 
    150           '<li><a class="smallscreen'.(preg_match('/preferences.php(\?.*)?$/',$_SERVER['REQUEST_URI']) ? ' active' : ''). 
    151           '" href="preferences.php">'.__('My preferences').'</a></li>'. 
    152           '<li><a href="index.php?logout=1" class="logout"><span class="nomobile">'.sprintf(__('Logout %s'),$core->auth->userID()). 
     154          '<li><a class="'.(preg_match('/'.preg_quote($core->adminurl->get('admin.home')).'$/',$_SERVER['REQUEST_URI']) ? ' active' : '').'" href="'.$core->adminurl->get("admin.home").'">'.__('My dashboard').'</a></li>'. 
     155          '<li><a class="smallscreen'.(preg_match('/'.preg_quote($core->adminurl->get('admin.user.preferences')).'(\?.*)?$/',$_SERVER['REQUEST_URI']) ? ' active' : ''). 
     156          '" href="'.$core->adminurl->get("admin.user.preferences").'">'.__('My preferences').'</a></li>'. 
     157          '<li><a href="'.$core->adminurl->get("admin.home",array('logout' => 1)).'" class="logout"><span class="nomobile">'.sprintf(__('Logout %s'),$core->auth->userID()). 
    153158          '</span><img src="images/logout.png" alt="" /></a></li>'. 
    154159          '</ul>'. 
     
    161166          '<img class="expand-mm" src="images/collapser-show.png" alt="'.__('Show main menu').'" />'. 
    162167          '</a></div>'. 
    163           '<div id="main">'."\n". 
     168          '<div id="main" role="main">'."\n". 
    164169          '<div id="content" class="clearfix">'."\n"; 
    165170 
     
    168173          { 
    169174               echo 
    170                '<div class="warning"><h3>'.__('Safe mode').'</h3>'. 
     175               '<div class="warning" role="alert"><h3>'.__('Safe mode').'</h3>'. 
    171176               '<p>'.__('You are in safe mode. All plugins have been temporarily disabled. Remind to log out then log in again normally to get back all functionalities').'</p>'. 
    172177               '</div>'; 
     
    246251               $ts = dt::str(__('[%H:%M:%S]'),$n['ts'],$core->auth->getInfo('user_tz')).' '; 
    247252          } 
    248           $res = '<'.$tag.' class="'.$n['class'].'">'.$ts.$n['text'].'</'.$tag.'>'; 
     253          $res = '<'.$tag.' class="'.$n['class'].'" role="alert">'.$ts.$n['text'].'</'.$tag.'>'; 
    249254          return $res; 
    250255     } 
     
    256261          if (!$GLOBALS['__resources']['ctxhelp']) { 
    257262               echo 
    258                '<p id="help-button"><a href="help.php" class="outgoing" title="'. 
     263               '<p id="help-button"><a href="'.$core->adminurl->get("admin.help").'" class="outgoing" title="'. 
    259264               __('Global help').'">'.__('Global help').'</a></p>'; 
    260265          } 
     
    266271          "</div>\n".         // End of #main 
    267272 
    268           '<div id="main-menu">'."\n". 
    269  
    270           '<form id="search-menu" action="search.php" method="get">'. 
     273          '<div id="main-menu" role="navigation">'."\n". 
     274 
     275          '<form id="search-menu" action="'.$core->adminurl->get("admin.search").'" method="get" role="search">'. 
    271276          '<p><label for="qx" class="hidden">'.__('Search:').' </label>'.form::field('qx',30,255,''). 
    272277          '<input type="submit" value="'.__('OK').'" /></p>'. 
     
    291296 
    292297          echo 
    293           '<div id="footer">'. 
     298          '<div id="footer" role="contentinfo">'. 
    294299          '<a href="http://dotclear.org/" title="'.$text.'">'. 
    295300          '<img src="style/dc_logos/w-dotclear90.png" alt="'.$text.'" /></a></div>'."\n". 
    296         "<!-- \n                  \n               ,;:'`'::\n". 
    297           "            __||\n      _____/LLLL\_\n      \__________\"|\n". 
    298         "    ~^~^~^~^~^~^~^~^~^~\n -->\n"; 
     301          "<!-- "."\n". 
     302          "( \\"."\n". 
     303          " ) )"."\n". 
     304          "( (  .-\"\"-.  A.-.A"."\n". 
     305          " \ \/      \/ , , \\"."\n". 
     306          "  \   \    =;  t  /="."\n". 
     307          "   \   |\"\".  ',--'"."\n". 
     308          "    / //  | ||"."\n". 
     309          "   /_,))  |_,))"."\n". 
     310          " -->"."\n"; 
    299311 
    300312          if (defined('DC_DEV') && DC_DEV === true) { 
     
    312324          # Display 
    313325          header('Content-Type: text/html; charset=UTF-8'); 
    314           echo 
    315           '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" '. 
    316           ' "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">'."\n". 
    317           '<html xmlns="http://www.w3.org/1999/xhtml" '. 
    318           'xml:lang="'.$core->auth->getInfo('user_lang').'" '. 
    319           'lang="'.$core->auth->getInfo('user_lang').'">'."\n". 
     326 
     327          // Prevents Clickjacking as far as possible 
     328          header('X-Frame-Options: SAMEORIGIN'); // FF 3.6.9+ Chrome 4.1+ IE 8+ Safari 4+ Opera 10.5+ 
     329 
     330          echo 
     331          '<!DOCTYPE html>'. 
     332          '<html lang="'.$core->auth->getInfo('user_lang').'">'."\n". 
    320333          "<head>\n". 
     334          '  <meta charset="UTF-8" />'."\n". 
    321335          '  <meta name="viewport" content="width=device-width, initial-scale=1.0" />'."\n". 
    322           '  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />'."\n". 
    323336          '  <title>'.$title.' - '.html::escapeHTML($core->blog->name).' - '.html::escapeHTML(DC_VENDOR_NAME).' - '.DC_VERSION.'</title>'."\n". 
    324337 
     
    349362          echo 
    350363          '<div id="wrapper">'."\n". 
    351           '<div id="main">'."\n". 
     364          '<div id="main" role="main">'."\n". 
    352365          '<div id="content">'."\n"; 
    353366 
     
    357370          if ($core->error->flag()) { 
    358371               echo 
    359                '<div class="error"><strong>'.__('Errors:').'</strong>'. 
     372               '<div class="error" role="alert"><strong>'.__('Errors:').'</strong>'. 
    360373               $core->error->toHTML(). 
    361374               '</div>'; 
     
    369382          "</div>\n".         // End of #main 
    370383          "</div>\n".         // End of #wrapper 
    371           '<div id="footer"><p>&nbsp;</p></div>'."\n". 
     384          '<div id="footer" role="contentinfo"><p>&nbsp;</p></div>'."\n". 
    372385          '</body></html>'; 
    373386     } 
     
    375388     public static function breadcrumb($elements=null,$options=array()) 
    376389     { 
     390          global $core; 
    377391          $with_home_link = isset($options['home_link'])?$options['home_link']:true; 
    378392          $hl = isset($options['hl'])?$options['hl']:true; 
     
    380394          // First item of array elements should be blog's name, System or Plugins 
    381395          $res = '<h2>'.($with_home_link ? 
    382                '<a class="go_home" href="index.php"><img src="style/dashboard.png" alt="'.__('Go to dashboard').'" /></a>' : 
     396               '<a class="go_home" href="'.$core->adminurl->get("admin.home").'"><img src="style/dashboard.png" alt="'.__('Go to dashboard').'" /></a>' : 
    383397               '<img src="style/dashboard-alt.png" alt="" />'); 
    384398          $index = 0; 
     
    474488     public static function helpBlock() 
    475489     { 
     490          global $core; 
    476491          $args = func_get_args(); 
    477492 
     
    527542          '<div id="helplink"><hr />'. 
    528543          '<p>'. 
    529           sprintf(__('See also %s'),sprintf('<a href="help.php">%s</a>',__('the global help'))). 
     544          sprintf(__('See also %s'),sprintf('<a href="'.$core->adminurl->get("admin.help").'">%s</a>',__('the global help'))). 
    530545          '.</p>'. 
    531546          '</div></div>'; 
     
    823838 
    824839     "datePicker.prototype.img_src = 'images/date-picker.png'; ". 
     840          "datePicker.prototype.img_alt = '".html::escapeJS(__('Choose date'))."'; ". 
    825841 
    826842     "datePicker.prototype.close_msg = '".html::escapeJS(__('close'))."'; ". 
     
    905921     '<script type="text/javascript" src="js/meta-editor.js"></script>'; 
    906922     } 
     923 
     924     public static function getPF($file) { 
     925          return $GLOBALS['core']->adminurl->get('load.plugin.file',array('pf' => $file)); 
     926     } 
     927 
     928     public static function setXFrameOptions($origin=null) { 
     929          if (self::$xframe_loaded) { 
     930               return; 
     931          } 
     932          if ($origin !== null) { 
     933               $url = parse_url($origin); 
     934               header(sprintf('X-Frame-Options: %s', is_array($url)?($url['scheme'].'://'.$url['host']):'SAMEORIGIN')); 
     935          } else { 
     936               header('X-Frame-Options: SAMEORIGIN'); // FF 3.6.9+ Chrome 4.1+ IE 8+ Safari 4+ Opera 10.5+ 
     937          } 
     938          self::$xframe_loaded = true; 
     939 
     940     } 
    907941} 
  • inc/admin/lib.dc.page.php

    r2909 r2911  
    1919     private static $xframe_loaded = false; 
    2020     private static $N_TYPES = array( 
    21           "success" => "success", 
    22           "warning" => "warning-msg", 
    23           "error" => "error", 
    24           "message" => "message", 
     21          "success" => "success",  
     22          "warning" => "warning-msg",  
     23          "error" => "error",  
     24          "message" => "message",  
    2525          "static" => "static-msg"); 
    2626 
     
    109109 
    110110          self::jsLoadIE7(). 
    111           '  <link rel="stylesheet" href="style/default.css" type="text/css" media="screen" />'."\n"; 
     111          '    <link rel="stylesheet" href="style/default.css" type="text/css" media="screen" />'."\n"; 
    112112          if (l10n::getTextDirection($GLOBALS['_lang']) == 'rtl') { 
    113113               echo 
    114                '  <link rel="stylesheet" href="style/default-rtl.css" type="text/css" media="screen" />'."\n"; 
     114               '    <link rel="stylesheet" href="style/default-rtl.css" type="text/css" media="screen" />'."\n"; 
    115115          } 
    116116 
     
    118118          $user_ui_hide_std_favicon = $core->auth->user_prefs->interface->hide_std_favicon; 
    119119          if (!$user_ui_hide_std_favicon) { 
    120                echo 
     120               echo  
    121121               '<link rel="icon" type="image/png" href="images/favicon96-login.png" />'. 
    122122               '<link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />'; 
    123123          } 
     124 
    124125          echo 
    125126          self::jsCommon(). 
     
    217218               $notifications = array(); 
    218219          } 
    219  
     220           
    220221          $n = array_merge($options,array('class' => $class,'ts' => time(), 'text' => $message)); 
    221222          if ($type != "static") { 
     
    339340 
    340341          self::jsLoadIE7(). 
    341           '    <link rel="stylesheet" href="style/default.css" type="text/css" media="screen" />'."\n"; 
     342          '    <link rel="stylesheet" href="style/default.css" type="text/css" media="screen" />'."\n"; 
    342343          if (l10n::getTextDirection($GLOBALS['_lang']) == 'rtl') { 
    343344               echo 
    344                '    <link rel="stylesheet" href="style/default-rtl.css" type="text/css" media="screen" />'."\n"; 
     345               '    <link rel="stylesheet" href="style/default-rtl.css" type="text/css" media="screen" />'."\n"; 
    345346          } 
    346347 
     
    580581                    "</script>\n"; 
    581582     } 
    582  
     583      
    583584     public static function jsCommon() 
    584585     { 
     
    606607          'jsToolBar = {}, jsToolBar.prototype = { elements : {} };'."\n". 
    607608          self::jsVar('dotclear.nonce',$GLOBALS['core']->getNonce()). 
     609 
    608610          self::jsVar('dotclear.img_plus_src','images/expand.png'). 
    609611          self::jsVar('dotclear.img_plus_alt',__('uncover')). 
     
    725727          self::jsVar('dotclear.msg.module_tags', 
    726728               __('Tags:')). 
    727                "\n//]]>\n". 
     729          "\n//]]>\n". 
    728730          "</script>\n"; 
    729731     } 
     
    787789     public static function jsModal() 
    788790     { 
    789           return 
    790           '<link rel="stylesheet" type="text/css" href="style/modal/modal.css" />'."\n". 
    791           self::jsLoad('js/jquery/jquery.modal.js'). 
    792           '<script type="text/javascript">'."\n". 
    793           "//<![CDATA[\n". 
    794           self::jsVar('$.modal.prototype.params.loader_img','style/modal/loader.gif'). 
    795           self::jsVar('$.modal.prototype.params.close_img','style/modal/close.png'). 
    796           "\n//]]>\n". 
    797           "</script>\n"; 
     791     return 
     792     '<link rel="stylesheet" type="text/css" href="style/modal/modal.css" />'."\n". 
     793     self::jsLoad('js/jquery/jquery.modal.js'). 
     794     '<script type="text/javascript">'."\n". 
     795     "//<![CDATA[\n". 
     796     self::jsVar('$.modal.prototype.params.loader_img','style/modal/loader.gif'). 
     797     self::jsVar('$.modal.prototype.params.close_img','style/modal/close.png'). 
     798     "\n//]]>\n". 
     799     "</script>\n"; 
    798800     } 
    799801 
    800802     public static function jsColorPicker() 
    801803     { 
    802           return 
    803           '<link rel="stylesheet" type="text/css" href="style/farbtastic/farbtastic.css" />'."\n". 
    804           self::jsLoad('js/jquery/jquery.farbtastic.js'). 
    805           self::jsLoad('js/color-picker.js'); 
     804     return 
     805     '<link rel="stylesheet" type="text/css" href="style/farbtastic/farbtastic.css" />'."\n". 
     806     self::jsLoad('js/jquery/jquery.farbtastic.js'). 
     807     self::jsLoad('js/color-picker.js'); 
    806808     } 
    807809 
    808810     public static function jsDatePicker() 
    809811     { 
    810           return 
    811           '<link rel="stylesheet" type="text/css" href="style/date-picker.css" />'."\n". 
    812           self::jsLoad('js/date-picker.js'). 
    813           '<script type="text/javascript">'."\n". 
    814           "//<![CDATA[\n". 
    815  
    816           "datePicker.prototype.months[0] = '".html::escapeJS(__('January'))."'; ". 
    817           "datePicker.prototype.months[1] = '".html::escapeJS(__('February'))."'; ". 
    818           "datePicker.prototype.months[2] = '".html::escapeJS(__('March'))."'; ". 
    819           "datePicker.prototype.months[3] = '".html::escapeJS(__('April'))."'; ". 
    820           "datePicker.prototype.months[4] = '".html::escapeJS(__('May'))."'; ". 
    821           "datePicker.prototype.months[5] = '".html::escapeJS(__('June'))."'; ". 
    822           "datePicker.prototype.months[6] = '".html::escapeJS(__('July'))."'; ". 
    823           "datePicker.prototype.months[7] = '".html::escapeJS(__('August'))."'; ". 
    824           "datePicker.prototype.months[8] = '".html::escapeJS(__('September'))."'; ". 
    825           "datePicker.prototype.months[9] = '".html::escapeJS(__('October'))."'; ". 
    826           "datePicker.prototype.months[10] = '".html::escapeJS(__('November'))."'; ". 
    827           "datePicker.prototype.months[11] = '".html::escapeJS(__('December'))."'; ". 
    828  
    829           "datePicker.prototype.days[0] = '".html::escapeJS(__('Monday'))."'; ". 
    830           "datePicker.prototype.days[1] = '".html::escapeJS(__('Tuesday'))."'; ". 
    831           "datePicker.prototype.days[2] = '".html::escapeJS(__('Wednesday'))."'; ". 
    832           "datePicker.prototype.days[3] = '".html::escapeJS(__('Thursday'))."'; ". 
    833           "datePicker.prototype.days[4] = '".html::escapeJS(__('Friday'))."'; ". 
    834           "datePicker.prototype.days[5] = '".html::escapeJS(__('Saturday'))."'; ". 
    835           "datePicker.prototype.days[6] = '".html::escapeJS(__('Sunday'))."'; ". 
    836  
    837           "datePicker.prototype.img_src = 'images/date-picker.png'; ". 
     812     return 
     813     '<link rel="stylesheet" type="text/css" href="style/date-picker.css" />'."\n". 
     814     self::jsLoad('js/date-picker.js'). 
     815     '<script type="text/javascript">'."\n". 
     816     "//<![CDATA[\n". 
     817 
     818     "datePicker.prototype.months[0] = '".html::escapeJS(__('January'))."'; ". 
     819     "datePicker.prototype.months[1] = '".html::escapeJS(__('February'))."'; ". 
     820     "datePicker.prototype.months[2] = '".html::escapeJS(__('March'))."'; ". 
     821     "datePicker.prototype.months[3] = '".html::escapeJS(__('April'))."'; ". 
     822     "datePicker.prototype.months[4] = '".html::escapeJS(__('May'))."'; ". 
     823     "datePicker.prototype.months[5] = '".html::escapeJS(__('June'))."'; ". 
     824     "datePicker.prototype.months[6] = '".html::escapeJS(__('July'))."'; ". 
     825     "datePicker.prototype.months[7] = '".html::escapeJS(__('August'))."'; ". 
     826     "datePicker.prototype.months[8] = '".html::escapeJS(__('September'))."'; ". 
     827     "datePicker.prototype.months[9] = '".html::escapeJS(__('October'))."'; ". 
     828     "datePicker.prototype.months[10] = '".html::escapeJS(__('November'))."'; ". 
     829     "datePicker.prototype.months[11] = '".html::escapeJS(__('December'))."'; ". 
     830 
     831     "datePicker.prototype.days[0] = '".html::escapeJS(__('Monday'))."'; ". 
     832     "datePicker.prototype.days[1] = '".html::escapeJS(__('Tuesday'))."'; ". 
     833     "datePicker.prototype.days[2] = '".html::escapeJS(__('Wednesday'))."'; ". 
     834     "datePicker.prototype.days[3] = '".html::escapeJS(__('Thursday'))."'; ". 
     835     "datePicker.prototype.days[4] = '".html::escapeJS(__('Friday'))."'; ". 
     836     "datePicker.prototype.days[5] = '".html::escapeJS(__('Saturday'))."'; ". 
     837     "datePicker.prototype.days[6] = '".html::escapeJS(__('Sunday'))."'; ". 
     838 
     839     "datePicker.prototype.img_src = 'images/date-picker.png'; ". 
    838840          "datePicker.prototype.img_alt = '".html::escapeJS(__('Choose date'))."'; ". 
    839841 
    840           "datePicker.prototype.close_msg = '".html::escapeJS(__('close'))."'; ". 
    841           "datePicker.prototype.now_msg = '".html::escapeJS(__('now'))."'; ". 
    842  
    843           "\n//]]>\n". 
    844           "</script>\n"; 
    845      } 
    846  
    847  
     842     "datePicker.prototype.close_msg = '".html::escapeJS(__('close'))."'; ". 
     843     "datePicker.prototype.now_msg = '".html::escapeJS(__('now'))."'; ". 
     844 
     845     "\n//]]>\n". 
     846     "</script>\n"; 
     847     } 
     848 
     849      
    848850     public static function jsToolBar() 
    849851     { 
     
    853855     public static function jsUpload($params=array(),$base_url=null) 
    854856     { 
    855           if (!$base_url) { 
    856                $base_url = path::clean(dirname(preg_replace('/(\?.*$)?/','',$_SERVER['REQUEST_URI']))).'/'; 
    857           } 
    858  
    859           $params = array_merge($params,array( 
    860                'sess_id='.session_id(), 
    861                'sess_uid='.$_SESSION['sess_browser_uid'], 
    862                'xd_check='.$GLOBALS['core']->getNonce() 
     857     if (!$base_url) { 
     858          $base_url = path::clean(dirname(preg_replace('/(\?.*$)?/','',$_SERVER['REQUEST_URI']))).'/'; 
     859     } 
     860 
     861     $params = array_merge($params,array( 
     862          'sess_id='.session_id(), 
     863          'sess_uid='.$_SESSION['sess_browser_uid'], 
     864          'xd_check='.$GLOBALS['core']->getNonce() 
    863865          )); 
    864866 
    865           return 
    866           '<script type="text/javascript">'."\n". 
    867           "//<![CDATA[\n". 
    868           "dotclear.jsUpload = {};\n". 
    869           "dotclear.jsUpload.msg = {};\n". 
    870           self::jsVar('dotclear.msg.enhanced_uploader_activate',__('Temporarily activate enhanced uploader')). 
    871           self::jsVar('dotclear.msg.enhanced_uploader_disable',__('Temporarily disable enhanced uploader')). 
    872           self::jsVar('dotclear.jsUpload.msg.limit_exceeded',__('Limit exceeded.')). 
    873           self::jsVar('dotclear.jsUpload.msg.size_limit_exceeded',__('File size exceeds allowed limit.')). 
    874           self::jsVar('dotclear.jsUpload.msg.canceled',__('Canceled.')). 
    875           self::jsVar('dotclear.jsUpload.msg.http_error',__('HTTP Error:')). 
    876           self::jsVar('dotclear.jsUpload.msg.error',__('Error:')). 
    877           self::jsVar('dotclear.jsUpload.msg.choose_file',__('Choose file')). 
    878           self::jsVar('dotclear.jsUpload.msg.choose_files',__('Choose files')). 
    879           self::jsVar('dotclear.jsUpload.msg.cancel',__('Cancel')). 
    880           self::jsVar('dotclear.jsUpload.msg.clean',__('Clean')). 
    881           self::jsVar('dotclear.jsUpload.msg.upload',__('Upload')). 
     867     return 
     868     '<script type="text/javascript">'."\n". 
     869     "//<![CDATA[\n". 
     870     "dotclear.jsUpload = {};\n". 
     871     "dotclear.jsUpload.msg = {};\n". 
     872     self::jsVar('dotclear.msg.enhanced_uploader_activate',__('Temporarily activate enhanced uploader')). 
     873     self::jsVar('dotclear.msg.enhanced_uploader_disable',__('Temporarily disable enhanced uploader')). 
     874     self::jsVar('dotclear.jsUpload.msg.limit_exceeded',__('Limit exceeded.')). 
     875     self::jsVar('dotclear.jsUpload.msg.size_limit_exceeded',__('File size exceeds allowed limit.')). 
     876     self::jsVar('dotclear.jsUpload.msg.canceled',__('Canceled.')). 
     877     self::jsVar('dotclear.jsUpload.msg.http_error',__('HTTP Error:')). 
     878     self::jsVar('dotclear.jsUpload.msg.error',__('Error:')). 
     879     self::jsVar('dotclear.jsUpload.msg.choose_file',__('Choose file')). 
     880     self::jsVar('dotclear.jsUpload.msg.choose_files',__('Choose files')). 
     881     self::jsVar('dotclear.jsUpload.msg.cancel',__('Cancel')). 
     882     self::jsVar('dotclear.jsUpload.msg.clean',__('Clean')). 
     883     self::jsVar('dotclear.jsUpload.msg.upload',__('Upload')). 
    882884          self::jsVar('dotclear.jsUpload.msg.send',__('Send')). 
    883885          self::jsVar('dotclear.jsUpload.msg.file_successfully_uploaded',__('File successfully uploaded.')). 
    884           self::jsVar('dotclear.jsUpload.msg.no_file_in_queue',__('No file in queue.')). 
    885           self::jsVar('dotclear.jsUpload.msg.file_in_queue',__('1 file in queue.')). 
    886           self::jsVar('dotclear.jsUpload.msg.files_in_queue',__('%d files in queue.')). 
    887           self::jsVar('dotclear.jsUpload.msg.queue_error',__('Queue error:')). 
    888           self::jsVar('dotclear.jsUpload.base_url',$base_url). 
    889           "\n//]]>\n". 
     886     self::jsVar('dotclear.jsUpload.msg.no_file_in_queue',__('No file in queue.')). 
     887     self::jsVar('dotclear.jsUpload.msg.file_in_queue',__('1 file in queue.')). 
     888     self::jsVar('dotclear.jsUpload.msg.files_in_queue',__('%d files in queue.')). 
     889     self::jsVar('dotclear.jsUpload.msg.queue_error',__('Queue error:')). 
     890     self::jsVar('dotclear.jsUpload.base_url',$base_url). 
     891     "\n//]]>\n". 
    890892          "</script>\n". 
    891893 
     
    904906     public static function jsToolMan() 
    905907     { 
    906           return 
    907           '<script type="text/javascript" src="js/tool-man/core.js"></script>'. 
    908           '<script type="text/javascript" src="js/tool-man/events.js"></script>'. 
    909           '<script type="text/javascript" src="js/tool-man/css.js"></script>'. 
    910           '<script type="text/javascript" src="js/tool-man/coordinates.js"></script>'. 
    911           '<script type="text/javascript" src="js/tool-man/drag.js"></script>'. 
    912           '<script type="text/javascript" src="js/tool-man/dragsort.js"></script>'. 
    913           '<script type="text/javascript" src="js/dragsort-tablerows.js"></script>'; 
     908     return 
     909     '<script type="text/javascript" src="js/tool-man/core.js"></script>'. 
     910     '<script type="text/javascript" src="js/tool-man/events.js"></script>'. 
     911     '<script type="text/javascript" src="js/tool-man/css.js"></script>'. 
     912     '<script type="text/javascript" src="js/tool-man/coordinates.js"></script>'. 
     913     '<script type="text/javascript" src="js/tool-man/drag.js"></script>'. 
     914     '<script type="text/javascript" src="js/tool-man/dragsort.js"></script>'. 
     915     '<script type="text/javascript" src="js/dragsort-tablerows.js"></script>'; 
    914916     } 
    915917 
    916918     public static function jsMetaEditor() 
    917919     { 
    918           return 
    919           '<script type="text/javascript" src="js/meta-editor.js"></script>'; 
     920     return 
     921     '<script type="text/javascript" src="js/meta-editor.js"></script>'; 
    920922     } 
    921923 
Note: See TracChangeset for help on using the changeset viewer.

Sites map